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

QI-Core Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 6.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-qi-core/ and changes regularly. See the Directory of published versions

Resource Profile: QICore Procedure Not Done

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

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

Usage

The Procedure and ProcedureNotDone profiles represent the positive and negative statements for a procedure.

The following example illustrates the use of the ProcedureNotDone profile:

define "Intermittent Pneumatic Compression Devices Not Applied":
  [ProcedureNotDone: "Application of Intermittent Pneumatic Compression Devices (IPC)"] DeviceNotApplied
    where DeviceNotApplied.statusReason in "Medical Reason" 
      or DeviceNotApplied.statusReason in "Patient Refusal"

See the patterns page for implementation and usage patterns.

Examples

Negation Example with valusetProcedure not performed due to complications; indicates that none of the procedures in the given not done value set were performed.
Negation Example with codeProcedure not performed due to complications; indicates that a specific procedure, by code, was not performed.

For a more complete discussion of representation of negation within QI-Core and quality improvement artifacts, see the Negation in QI-Core topic.

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 C 0..* USCoreProcedureProfile An action that is being or was performed on a patient
pnd-1: to indicate what procedure was not performed, either at least one coding in the code or a notDoneValueSet extension shall be provided
... Slices for extension Content/Rules for all slices
.... recorded 1..1 dateTime (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
... status 1..1 code (QI-Core)(USCDI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Fixed Value: not-done
... code C 1..1 CodeableConcept (QI-Core)(USCDI) Identification of the procedure
.... Slices for extension Content/Rules for all slices
..... notDoneValueSet C 0..1 canonical(ValueSet) (QI-Core) What was not performed
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDoneValueSet
... subject 1..1 Reference(QICore Patient) (QI-Core)(USCDI) Who the procedure was performed on
... performed[x] 0..1 dateTime, Period, string, Age, Range (QI-Core)(USCDI) When the procedure was performed

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Procedure.statusReasonextensibleNegationReasonCodes
http://hl7.org/fhir/us/qicore/ValueSet/qicore-negation-reason
from this IG

Constraints

IdGradePath(s)DetailsRequirements
pnd-1errorProcedureto indicate what procedure was not performed, either at least one coding in the code or a notDoneValueSet extension shall be provided
: code.extension('http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDoneValueSet').exists() xor code.coding.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C 0..* USCoreProcedureProfile An 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'
pnd-1: to indicate what procedure was not performed, either at least one coding in the code or a notDoneValueSet extension shall be provided
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... recorded 1..1 dateTime (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..* Extension Extensions that cannot be ignored
... status ?!SΣC 1..1 code (QI-Core)(USCDI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
Fixed Value: not-done
... statusReason Σ 1..1 CodeableConcept (QI-Core) Reason for the current status
Binding: QICore Negation Reason Codes (extensible): The reason the procedure was not done

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

.... Slices for extension Content/Rules for all slices
..... notDoneValueSet C 0..1 canonical(ValueSet) (QI-Core) What was not performed
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDoneValueSet
... subject SΣ 1..1 Reference(QICore Patient) (QI-Core)(USCDI) Who the procedure was performed on
... performed[x] SΣC 0..1 (QI-Core)(USCDI) When the procedure was performed
.... performedDateTime dateTime

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Procedure.statusrequiredFixed Value: not-done
http://hl7.org/fhir/ValueSet/event-status
from the FHIR Standard
Procedure.statusReasonextensibleNegationReasonCodes
http://hl7.org/fhir/us/qicore/ValueSet/qicore-negation-reason
from this IG
Procedure.codeextensibleUSCoreProcedureCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-procedure-code

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()
pnd-1errorProcedureto indicate what procedure was not performed, either at least one coding in the code or a notDoneValueSet extension shall be provided
: code.extension('http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDoneValueSet').exists() xor code.coding.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 C 0..* USCoreProcedureProfile An 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'
pnd-1: to indicate what procedure was not performed, either at least one coding in the code or a notDoneValueSet extension shall be provided
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... recorded 1..1 dateTime (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..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Identifiers for this procedure
... instantiatesCanonical Σ 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates 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ΣC 1..1 code (QI-Core)(USCDI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
Fixed Value: not-done
... statusReason Σ 1..1 CodeableConcept (QI-Core) Reason for the current status
Binding: QICore Negation Reason Codes (extensible): The reason the procedure was not done

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

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

.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... notDoneValueSet C 0..1 canonical(ValueSet) (QI-Core) What was not performed
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDoneValueSet
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(QICore Patient) (QI-Core)(USCDI) Who the procedure was performed on
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... performed[x] SΣC 0..1 (QI-Core)(USCDI) When the procedure was performed
.... performedDateTime dateTime S
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Person who asserts this procedure
... performer Σ 0..* BackboneElement The people who performed the procedure
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... function Σ 0..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) The reference to the practitioner
.... onBehalfOf 0..1 Reference(Organization) Organization the device or practitioner was acting for
... location Σ 0..1 Reference(Location) Where the procedure happened
... reasonCode Σ 0..* CodeableConcept Coded reason procedure performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.


... reasonReference Σ 0..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) The justification that the procedure was performed
... bodySite Σ 0..* CodeableConcept Target body sites
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... outcome Σ 0..1 CodeableConcept The 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..* CodeableConcept Complication 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..* CodeableConcept Instructions for follow up
Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures.


... note 0..* Annotation Additional information about the procedure
... focalDevice 0..* BackboneElement Manipulated, implanted, or removed device
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... action 0..1 CodeableConcept Kind of change to device
Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure.

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



doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Procedure.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Procedure.statusrequiredFixed Value: not-done
http://hl7.org/fhir/ValueSet/event-status
from the FHIR Standard
Procedure.statusReasonextensibleNegationReasonCodes
http://hl7.org/fhir/us/qicore/ValueSet/qicore-negation-reason
from this IG
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.reasonCodeexampleProcedureReasonCodes
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()
pnd-1errorProcedureto indicate what procedure was not performed, either at least one coding in the code or a notDoneValueSet extension shall be provided
: code.extension('http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDoneValueSet').exists() xor code.coding.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 C 0..* USCoreProcedureProfile An action that is being or was performed on a patient
pnd-1: to indicate what procedure was not performed, either at least one coding in the code or a notDoneValueSet extension shall be provided
... Slices for extension Content/Rules for all slices
.... recorded 1..1 dateTime (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
... status 1..1 code (QI-Core)(USCDI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Fixed Value: not-done
... code C 1..1 CodeableConcept (QI-Core)(USCDI) Identification of the procedure
.... Slices for extension Content/Rules for all slices
..... notDoneValueSet C 0..1 canonical(ValueSet) (QI-Core) What was not performed
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDoneValueSet
... subject 1..1 Reference(QICore Patient) (QI-Core)(USCDI) Who the procedure was performed on
... performed[x] 0..1 dateTime, Period, string, Age, Range (QI-Core)(USCDI) When the procedure was performed

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Procedure.statusReasonextensibleNegationReasonCodes
http://hl7.org/fhir/us/qicore/ValueSet/qicore-negation-reason
from this IG

Constraints

IdGradePath(s)DetailsRequirements
pnd-1errorProcedureto indicate what procedure was not performed, either at least one coding in the code or a notDoneValueSet extension shall be provided
: code.extension('http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDoneValueSet').exists() xor code.coding.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C 0..* USCoreProcedureProfile An 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'
pnd-1: to indicate what procedure was not performed, either at least one coding in the code or a notDoneValueSet extension shall be provided
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... recorded 1..1 dateTime (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..* Extension Extensions that cannot be ignored
... status ?!SΣC 1..1 code (QI-Core)(USCDI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
Fixed Value: not-done
... statusReason Σ 1..1 CodeableConcept (QI-Core) Reason for the current status
Binding: QICore Negation Reason Codes (extensible): The reason the procedure was not done

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

.... Slices for extension Content/Rules for all slices
..... notDoneValueSet C 0..1 canonical(ValueSet) (QI-Core) What was not performed
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDoneValueSet
... subject SΣ 1..1 Reference(QICore Patient) (QI-Core)(USCDI) Who the procedure was performed on
... performed[x] SΣC 0..1 (QI-Core)(USCDI) When the procedure was performed
.... performedDateTime dateTime

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Procedure.statusrequiredFixed Value: not-done
http://hl7.org/fhir/ValueSet/event-status
from the FHIR Standard
Procedure.statusReasonextensibleNegationReasonCodes
http://hl7.org/fhir/us/qicore/ValueSet/qicore-negation-reason
from this IG
Procedure.codeextensibleUSCoreProcedureCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-procedure-code

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()
pnd-1errorProcedureto indicate what procedure was not performed, either at least one coding in the code or a notDoneValueSet extension shall be provided
: code.extension('http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDoneValueSet').exists() xor code.coding.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 C 0..* USCoreProcedureProfile An 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'
pnd-1: to indicate what procedure was not performed, either at least one coding in the code or a notDoneValueSet extension shall be provided
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... recorded 1..1 dateTime (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..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Identifiers for this procedure
... instantiatesCanonical Σ 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates 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ΣC 1..1 code (QI-Core)(USCDI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
Fixed Value: not-done
... statusReason Σ 1..1 CodeableConcept (QI-Core) Reason for the current status
Binding: QICore Negation Reason Codes (extensible): The reason the procedure was not done

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

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

.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... notDoneValueSet C 0..1 canonical(ValueSet) (QI-Core) What was not performed
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDoneValueSet
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(QICore Patient) (QI-Core)(USCDI) Who the procedure was performed on
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... performed[x] SΣC 0..1 (QI-Core)(USCDI) When the procedure was performed
.... performedDateTime dateTime S
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Person who asserts this procedure
... performer Σ 0..* BackboneElement The people who performed the procedure
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... function Σ 0..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) The reference to the practitioner
.... onBehalfOf 0..1 Reference(Organization) Organization the device or practitioner was acting for
... location Σ 0..1 Reference(Location) Where the procedure happened
... reasonCode Σ 0..* CodeableConcept Coded reason procedure performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.


... reasonReference Σ 0..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) The justification that the procedure was performed
... bodySite Σ 0..* CodeableConcept Target body sites
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... outcome Σ 0..1 CodeableConcept The 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..* CodeableConcept Complication 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..* CodeableConcept Instructions for follow up
Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures.


... note 0..* Annotation Additional information about the procedure
... focalDevice 0..* BackboneElement Manipulated, implanted, or removed device
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... action 0..1 CodeableConcept Kind of change to device
Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure.

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



doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Procedure.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Procedure.statusrequiredFixed Value: not-done
http://hl7.org/fhir/ValueSet/event-status
from the FHIR Standard
Procedure.statusReasonextensibleNegationReasonCodes
http://hl7.org/fhir/us/qicore/ValueSet/qicore-negation-reason
from this IG
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.reasonCodeexampleProcedureReasonCodes
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()
pnd-1errorProcedureto indicate what procedure was not performed, either at least one coding in the code or a notDoneValueSet extension shall be provided
: code.extension('http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDoneValueSet').exists() xor code.coding.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