QI-Core Implementation Guide
6.0.0 - STU6 United States of America flag

This page is part of the Quality Improvement Core Framework (v6.0.0: STU6 (v6.0.0)) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: QICore Procedure

Official URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure Version: 6.0.0
Active as of 2018-08-22 Computable Name: QICoreProcedure

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

Usage

To create an expression specifically requesting information that a procedure intentionally did not occur for a medical, patient or system reason, use the profile QICore-Procedurenotdone.

The following example illustrates the use of the Procedure profile:

define "Application of Intermittent Pneumatic Compression Devices":
  ["Procedure": "Application of Intermittent Pneumatic Compression Devices (IPC)"] DeviceApplied
    where DeviceApplied.status = 'completed'

See the patterns page for implementation and usage patterns.

Examples

Appendectomy Example

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from USCoreProcedureProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure USCoreProcedureProfile
... implicitRules 0..1uri(QI-Core) A set of rules under which this content was created
... recorded 0..1dateTime(QI-Core) When the procedure was first captured in the subject's record
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-recorded
... basedOn Σ0..*Reference(QICore CarePlan | QICore ServiceRequest)(QI-Core)(USCDI) A request for this procedure
... subject 1..1Reference(QICore Patient)(QI-Core)(USCDI) Who the procedure was performed on
... performer
.... actor 1..1Reference(QICore Practitioner | QICore Organization | QICore Patient | QICore RelatedPerson)The reference to the practitioner
... reasonCode 0..*CodeableConcept(QI-Core) Coded reason procedure performed
Binding: ProcedureReasonCodes (preferred): A code that identifies the reason a procedure is required.

... reasonReference 0..*Reference(QICore Condition Encounter Diagnosis | QICore Condition Problems Health Concerns | QICore DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile)(QI-Core) The justification that the procedure was performed

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Procedure.statusrequiredNonNegativeEventStatus
http://hl7.org/fhir/us/qicore/ValueSet/qicore-non-negative-event-status
from this IG
Procedure.reasonCodepreferredProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C0..*USCoreProcedureProfileAn action that is being or was performed on a patient
us-core-7: Performed SHALL be present if the status is 'completed' or 'in-progress'
... implicitRules ?!Σ0..1uri(QI-Core) A set of rules under which this content was created
... recorded 0..1dateTime(QI-Core) When the procedure was first captured in the subject's record
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-recorded
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!SΣC1..1code(QI-Core)(USCDI) preparation | in-progress | ​on-hold​ | stopped​ | completed | entered-in-error​ | unknown​
Binding: Non-Negative Event Status (required)
... code SΣ1..1CodeableConcept(USCDI) Identification of the procedure
Binding: US Core Procedure Codes (extensible): Codes describing the type of Procedure

... subject SΣ1..1Reference(QICore Patient)(QI-Core)(USCDI) Who the procedure was performed on
... performed[x] SΣC0..1(USCDI) When the procedure was performed
.... performedDateTimedateTime
... reasonCode Σ0..*CodeableConcept(QI-Core) Coded reason procedure performed
Binding: ProcedureReasonCodes (preferred): A code that identifies the reason a procedure is required.


... reasonReference Σ0..*Reference(QICore Condition Encounter Diagnosis | QICore Condition Problems Health Concerns | QICore DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile)(QI-Core) The justification that the procedure was performed

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.statusrequiredNonNegativeEventStatus
http://hl7.org/fhir/us/qicore/ValueSet/qicore-non-negative-event-status
from this IG
Procedure.codeextensibleUSCoreProcedureCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-procedure-code
Procedure.reasonCodepreferredProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
us-core-7errorProcedurePerformed SHALL be present if the status is 'completed' or 'in-progress'
: (status='completed' or status='in-progress') implies performed.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C0..*USCoreProcedureProfileAn action that is being or was performed on a patient
us-core-7: Performed SHALL be present if the status is 'completed' or 'in-progress'
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uri(QI-Core) A set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... recorded 0..1dateTime(QI-Core) When the procedure was first captured in the subject's record
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-recorded
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Identifiers for this procedure
... instantiatesCanonical Σ0..*canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn Σ0..*Reference(QICore CarePlan | QICore ServiceRequest)(QI-Core)(USCDI) A request for this procedure
... partOf Σ0..*Reference(Procedure | Observation | MedicationAdministration)Part of referenced event
... status ?!SΣC1..1code(QI-Core)(USCDI) preparation | in-progress | ​on-hold​ | stopped​ | completed | entered-in-error​ | unknown​
Binding: Non-Negative Event Status (required)
... statusReason Σ0..1CodeableConceptReason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.

... category Σ0..1CodeableConceptClassification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.

... code SΣ1..1CodeableConcept(USCDI) Identification of the procedure
Binding: US Core Procedure Codes (extensible): Codes describing the type of Procedure

... subject SΣ1..1Reference(QICore Patient)(QI-Core)(USCDI) Who the procedure was performed on
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... performed[x] SΣC0..1(USCDI) When the procedure was performed
.... performedDateTimedateTime S
.... performedPeriodPeriod
.... performedStringstring
.... performedAgeAge
.... performedRangeRange
... recorder Σ0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)Who recorded the procedure
... asserter Σ0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)Person who asserts this procedure
... performer Σ0..*BackboneElementThe people who performed the procedure
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function Σ0..1CodeableConceptType of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

.... 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(Location)Where the procedure happened
... reasonCode Σ0..*CodeableConcept(QI-Core) Coded reason procedure performed
Binding: ProcedureReasonCodes (preferred): A code that identifies the reason a procedure is required.


... reasonReference Σ0..*Reference(QICore Condition Encounter Diagnosis | QICore Condition Problems Health Concerns | QICore DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile)(QI-Core) The justification that the procedure was performed
... bodySite Σ0..*CodeableConceptTarget body sites
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... outcome Σ0..1CodeableConceptThe result of procedure
Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise.

... report 0..*Reference(DiagnosticReport | DocumentReference | Composition)Any report resulting from the procedure
... complication 0..*CodeableConceptComplication following the procedure
Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.


... complicationDetail 0..*Reference(Condition)A condition that is a result of the procedure
... followUp 0..*CodeableConceptInstructions for follow up
Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures.


... note 0..*AnnotationAdditional information about the procedure
... focalDevice 0..*BackboneElementManipulated, implanted, or removed device
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... action 0..1CodeableConceptKind of change to device
Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure.

.... manipulated 1..1Reference(Device)Device that was changed
... usedReference 0..*Reference(Device | Medication | Substance)Items used during procedure
... usedCode 0..*CodeableConceptCoded items used during the procedure
Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure.



doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Procedure.statusrequiredNonNegativeEventStatus
http://hl7.org/fhir/us/qicore/ValueSet/qicore-non-negative-event-status
from this IG
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
http://hl7.org/fhir/ValueSet/procedure-not-performed-reason
from the FHIR Standard
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-category
from the FHIR Standard
Procedure.codeextensibleUSCoreProcedureCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-procedure-code
Procedure.performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.reasonCodepreferredProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
Procedure.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Procedure.outcomeexampleProcedureOutcomeCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-outcome
from the FHIR Standard
Procedure.complicationexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
Procedure.followUpexampleProcedureFollowUpCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-followup
from the FHIR Standard
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes
http://hl7.org/fhir/ValueSet/device-action
from the FHIR Standard
Procedure.usedCodeexampleFHIRDeviceTypes
http://hl7.org/fhir/ValueSet/device-kind
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
us-core-7errorProcedurePerformed SHALL be present if the status is 'completed' or 'in-progress'
: (status='completed' or status='in-progress') implies performed.exists()

Differential View

This structure is derived from USCoreProcedureProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure USCoreProcedureProfile
... implicitRules 0..1uri(QI-Core) A set of rules under which this content was created
... recorded 0..1dateTime(QI-Core) When the procedure was first captured in the subject's record
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-recorded
... basedOn Σ0..*Reference(QICore CarePlan | QICore ServiceRequest)(QI-Core)(USCDI) A request for this procedure
... subject 1..1Reference(QICore Patient)(QI-Core)(USCDI) Who the procedure was performed on
... performer
.... actor 1..1Reference(QICore Practitioner | QICore Organization | QICore Patient | QICore RelatedPerson)The reference to the practitioner
... reasonCode 0..*CodeableConcept(QI-Core) Coded reason procedure performed
Binding: ProcedureReasonCodes (preferred): A code that identifies the reason a procedure is required.

... reasonReference 0..*Reference(QICore Condition Encounter Diagnosis | QICore Condition Problems Health Concerns | QICore DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile)(QI-Core) The justification that the procedure was performed

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Procedure.statusrequiredNonNegativeEventStatus
http://hl7.org/fhir/us/qicore/ValueSet/qicore-non-negative-event-status
from this IG
Procedure.reasonCodepreferredProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C0..*USCoreProcedureProfileAn action that is being or was performed on a patient
us-core-7: Performed SHALL be present if the status is 'completed' or 'in-progress'
... implicitRules ?!Σ0..1uri(QI-Core) A set of rules under which this content was created
... recorded 0..1dateTime(QI-Core) When the procedure was first captured in the subject's record
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-recorded
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!SΣC1..1code(QI-Core)(USCDI) preparation | in-progress | ​on-hold​ | stopped​ | completed | entered-in-error​ | unknown​
Binding: Non-Negative Event Status (required)
... code SΣ1..1CodeableConcept(USCDI) Identification of the procedure
Binding: US Core Procedure Codes (extensible): Codes describing the type of Procedure

... subject SΣ1..1Reference(QICore Patient)(QI-Core)(USCDI) Who the procedure was performed on
... performed[x] SΣC0..1(USCDI) When the procedure was performed
.... performedDateTimedateTime
... reasonCode Σ0..*CodeableConcept(QI-Core) Coded reason procedure performed
Binding: ProcedureReasonCodes (preferred): A code that identifies the reason a procedure is required.


... reasonReference Σ0..*Reference(QICore Condition Encounter Diagnosis | QICore Condition Problems Health Concerns | QICore DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile)(QI-Core) The justification that the procedure was performed

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.statusrequiredNonNegativeEventStatus
http://hl7.org/fhir/us/qicore/ValueSet/qicore-non-negative-event-status
from this IG
Procedure.codeextensibleUSCoreProcedureCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-procedure-code
Procedure.reasonCodepreferredProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
us-core-7errorProcedurePerformed SHALL be present if the status is 'completed' or 'in-progress'
: (status='completed' or status='in-progress') implies performed.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C0..*USCoreProcedureProfileAn action that is being or was performed on a patient
us-core-7: Performed SHALL be present if the status is 'completed' or 'in-progress'
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uri(QI-Core) A set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... recorded 0..1dateTime(QI-Core) When the procedure was first captured in the subject's record
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-recorded
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Identifiers for this procedure
... instantiatesCanonical Σ0..*canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn Σ0..*Reference(QICore CarePlan | QICore ServiceRequest)(QI-Core)(USCDI) A request for this procedure
... partOf Σ0..*Reference(Procedure | Observation | MedicationAdministration)Part of referenced event
... status ?!SΣC1..1code(QI-Core)(USCDI) preparation | in-progress | ​on-hold​ | stopped​ | completed | entered-in-error​ | unknown​
Binding: Non-Negative Event Status (required)
... statusReason Σ0..1CodeableConceptReason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.

... category Σ0..1CodeableConceptClassification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.

... code SΣ1..1CodeableConcept(USCDI) Identification of the procedure
Binding: US Core Procedure Codes (extensible): Codes describing the type of Procedure

... subject SΣ1..1Reference(QICore Patient)(QI-Core)(USCDI) Who the procedure was performed on
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... performed[x] SΣC0..1(USCDI) When the procedure was performed
.... performedDateTimedateTime S
.... performedPeriodPeriod
.... performedStringstring
.... performedAgeAge
.... performedRangeRange
... recorder Σ0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)Who recorded the procedure
... asserter Σ0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)Person who asserts this procedure
... performer Σ0..*BackboneElementThe people who performed the procedure
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function Σ0..1CodeableConceptType of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

.... 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(Location)Where the procedure happened
... reasonCode Σ0..*CodeableConcept(QI-Core) Coded reason procedure performed
Binding: ProcedureReasonCodes (preferred): A code that identifies the reason a procedure is required.


... reasonReference Σ0..*Reference(QICore Condition Encounter Diagnosis | QICore Condition Problems Health Concerns | QICore DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile)(QI-Core) The justification that the procedure was performed
... bodySite Σ0..*CodeableConceptTarget body sites
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... outcome Σ0..1CodeableConceptThe result of procedure
Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise.

... report 0..*Reference(DiagnosticReport | DocumentReference | Composition)Any report resulting from the procedure
... complication 0..*CodeableConceptComplication following the procedure
Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.


... complicationDetail 0..*Reference(Condition)A condition that is a result of the procedure
... followUp 0..*CodeableConceptInstructions for follow up
Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures.


... note 0..*AnnotationAdditional information about the procedure
... focalDevice 0..*BackboneElementManipulated, implanted, or removed device
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... action 0..1CodeableConceptKind of change to device
Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure.

.... manipulated 1..1Reference(Device)Device that was changed
... usedReference 0..*Reference(Device | Medication | Substance)Items used during procedure
... usedCode 0..*CodeableConceptCoded items used during the procedure
Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure.



doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Procedure.statusrequiredNonNegativeEventStatus
http://hl7.org/fhir/us/qicore/ValueSet/qicore-non-negative-event-status
from this IG
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
http://hl7.org/fhir/ValueSet/procedure-not-performed-reason
from the FHIR Standard
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-category
from the FHIR Standard
Procedure.codeextensibleUSCoreProcedureCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-procedure-code
Procedure.performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.reasonCodepreferredProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
Procedure.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Procedure.outcomeexampleProcedureOutcomeCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-outcome
from the FHIR Standard
Procedure.complicationexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
Procedure.followUpexampleProcedureFollowUpCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-followup
from the FHIR Standard
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes
http://hl7.org/fhir/ValueSet/device-action
from the FHIR Standard
Procedure.usedCodeexampleFHIRDeviceTypes
http://hl7.org/fhir/ValueSet/device-kind
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
us-core-7errorProcedurePerformed SHALL be present if the status is 'completed' or 'in-progress'
: (status='completed' or status='in-progress') implies performed.exists()

 

Other representations of profile: CSV, Excel, Schematron