This page is part of the Quality Improvement Core Framework (v3.1.0: STU 3) based on FHIR R3. The current version which supercedes this version is 4.1.1. For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition-qicore-procedure

Examples:

Appendectomy Example

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure

Profile of Procedure for decision support/quality metrics. Defines the core set of elements and extensions for quality rule and measure authors.

This profile builds on US Core Procedure Profile.

This profile was published on Wed Aug 22 00:00:00 AEST 2018 as a draft by Health Level Seven, Inc. - CQI WG.

Description of Profiles, Differentials, and Snapshots.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure I0..*US Core Procedure Profile
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... procedure-approachBodySite I0..*Reference(BodySite)Extension
URL: http://hl7.org/fhir/StructureDefinition/procedure-approachBodySite
... procedure-incisionDateTime I0..1dateTimeExtension
URL: http://hl7.org/fhir/StructureDefinition/procedure-incisionDateTime
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Identifiers for this procedure
... definition Σ0..*Reference(PlanDefinition | ActivityDefinition | HealthcareService)Instantiates protocol or definition
... basedOn Σ0..*Reference(CarePlan | ProcedureRequest | ReferralRequest)A request for this procedure
... partOf Σ0..*Reference(Procedure | Observation | MedicationAdministration)Part of referenced event
... status ?!SΣ1..1codepreparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
Binding: EventStatus (required)
... notDone ?!Σ0..1booleanTrue if procedure was not performed as scheduled
... notDoneReason ΣI0..1CodeableConceptReason procedure was not performed
Binding: Procedure Not Performed Reason (SNOMED-CT) (example)
... category Σ0..1CodeableConceptClassification of the procedure
Binding: Procedure Category Codes (SNOMED CT) (example)
... code SΣ1..1CodeableConceptSNOMED-CT | ICD-10 | CPT-4
Binding: US Core Procedure Codes (preferred)
... subject SΣ1..1Reference(QICore-Patient | Group)Who the procedure was performed on
... context SΣ0..1Reference(QICore-Encounter | Group)Encounter or episode associated with the procedure
... performed[x] SΣ1..1dateTime, PeriodDate/Period the procedure was performed
... performer SΣI0..*BackboneElementThe people who performed the procedure
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ0..1CodeableConceptThe role the actor was in
Binding: Procedure Performer Role Codes (example)
.... actor Σ1..1Reference(QICore-Practitioner | QICore-Organization | QICore-Patient | QICore-RelatedPerson)The reference to the practitioner
.... onBehalfOf 0..1Reference(Organization)Organization the device or practitioner was acting for
... location Σ0..1Reference(QICore-Location)Where the procedure happened
... reasonCode SΣ0..*CodeableConceptCoded reason procedure performed
Binding: Procedure Reason Codes (example)
... reasonReference Σ0..*Reference(Condition | Observation)Condition that is the reason the procedure performed
... bodySite SΣ0..*CodeableConceptTarget body sites
Binding: SNOMED CT Body Structures (example)
... outcome Σ0..1CodeableConceptThe result of procedure
Binding: Procedure Outcome Codes (SNOMED CT) (example)
... report S0..*Reference(QICore-DiagnosticReport)Any report resulting from the procedure
... complication 0..*CodeableConceptComplication following the procedure
Binding: Condition/Problem/Diagnosis Codes (example)
... complicationDetail 0..*Reference(Condition)A condition that is a result of the procedure
... followUp 0..*CodeableConceptInstructions for follow up
Binding: Procedure Follow up Codes (SNOMED CT) (example)
... note 0..*AnnotationAdditional information about the procedure
... focalDevice I0..*BackboneElementDevice changed in procedure
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... action 0..1CodeableConceptKind of change to device
Binding: Procedure Device Action Codes (preferred)
.... manipulated 1..1Reference(QICore-Device)Device that was changed
... usedReference 0..*Reference(Device | Medication | Substance)Items used during procedure
... usedCode 0..*CodeableConceptCoded items used during the procedure
Binding: FHIR Device Types (example)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure I0..*US Core Procedure Profile
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... procedure-approachBodySite I0..*Reference(BodySite)Extension
URL: http://hl7.org/fhir/StructureDefinition/procedure-approachBodySite
... procedure-incisionDateTime I0..1dateTimeExtension
URL: http://hl7.org/fhir/StructureDefinition/procedure-incisionDateTime
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Identifiers for this procedure
... definition Σ0..*Reference(PlanDefinition | ActivityDefinition | HealthcareService)Instantiates protocol or definition
... basedOn Σ0..*Reference(CarePlan | ProcedureRequest | ReferralRequest)A request for this procedure
... partOf Σ0..*Reference(Procedure | Observation | MedicationAdministration)Part of referenced event
... status ?!SΣ1..1codepreparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
Binding: EventStatus (required)
... notDone ?!Σ0..1booleanTrue if procedure was not performed as scheduled
... notDoneReason ΣI0..1CodeableConceptReason procedure was not performed
Binding: Procedure Not Performed Reason (SNOMED-CT) (example)
... category Σ0..1CodeableConceptClassification of the procedure
Binding: Procedure Category Codes (SNOMED CT) (example)
... code SΣ1..1CodeableConceptSNOMED-CT | ICD-10 | CPT-4
Binding: US Core Procedure Codes (preferred)
... subject SΣ1..1Reference(QICore-Patient | Group)Who the procedure was performed on
... context SΣ0..1Reference(QICore-Encounter | Group)Encounter or episode associated with the procedure
... performed[x] SΣ1..1dateTime, PeriodDate/Period the procedure was performed
... performer SΣI0..*BackboneElementThe people who performed the procedure
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ0..1CodeableConceptThe role the actor was in
Binding: Procedure Performer Role Codes (example)
.... actor Σ1..1Reference(QICore-Practitioner | QICore-Organization | QICore-Patient | QICore-RelatedPerson)The reference to the practitioner
.... onBehalfOf 0..1Reference(Organization)Organization the device or practitioner was acting for
... location Σ0..1Reference(QICore-Location)Where the procedure happened
... reasonCode SΣ0..*CodeableConceptCoded reason procedure performed
Binding: Procedure Reason Codes (example)
... reasonReference Σ0..*Reference(Condition | Observation)Condition that is the reason the procedure performed
... bodySite SΣ0..*CodeableConceptTarget body sites
Binding: SNOMED CT Body Structures (example)
... outcome Σ0..1CodeableConceptThe result of procedure
Binding: Procedure Outcome Codes (SNOMED CT) (example)
... report S0..*Reference(QICore-DiagnosticReport)Any report resulting from the procedure
... complication 0..*CodeableConceptComplication following the procedure
Binding: Condition/Problem/Diagnosis Codes (example)
... complicationDetail 0..*Reference(Condition)A condition that is a result of the procedure
... followUp 0..*CodeableConceptInstructions for follow up
Binding: Procedure Follow up Codes (SNOMED CT) (example)
... note 0..*AnnotationAdditional information about the procedure
... focalDevice I0..*BackboneElementDevice changed in procedure
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... action 0..1CodeableConceptKind of change to device
Binding: Procedure Device Action Codes (preferred)
.... manipulated 1..1Reference(QICore-Device)Device that was changed
... usedReference 0..*Reference(Device | Medication | Substance)Items used during procedure
... usedCode 0..*CodeableConceptCoded items used during the procedure
Binding: FHIR Device Types (example)

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathNameConformanceValueSet
Procedure.languageCommon LanguagesextensibleCommon Languages
Procedure.statusEventStatusrequiredEventStatus
Procedure.notDoneReasonProcedure Not Performed Reason (SNOMED-CT)exampleProcedure Not Performed Reason (SNOMED-CT)
Procedure.categoryProcedure Category Codes (SNOMED CT)exampleProcedure Category Codes (SNOMED CT)
Procedure.codeUS Core Procedure CodespreferredUS Core Procedure Codes
Procedure.performer.roleProcedure Performer Role CodesexampleProcedure Performer Role Codes
Procedure.reasonCodeProcedure Reason CodesexampleProcedure Reason Codes
Procedure.bodySiteSNOMED CT Body StructuresexampleSNOMED CT Body Structures
Procedure.outcomeProcedure Outcome Codes (SNOMED CT)exampleProcedure Outcome Codes (SNOMED CT)
Procedure.complicationCondition/Problem/Diagnosis CodesexampleCondition/Problem/Diagnosis Codes
Procedure.followUpProcedure Follow up Codes (SNOMED CT)exampleProcedure Follow up Codes (SNOMED CT)
Procedure.focalDevice.actionProcedure Device Action CodespreferredProcedure Device Action Codes
Procedure.usedCodeFHIR Device TypesexampleFHIR Device Types

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2ProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1ProcedureIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4ProcedureIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-3ProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
pro-1ProcedureReason not done is only permitted if notDone indicator is true
: notDoneReason.empty() or notDone = true
ele-1Procedure.extensionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Procedure.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Procedure.extensionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Procedure.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Procedure.extensionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Procedure.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Procedure.performerAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Procedure.focalDeviceAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())