US Quality Core Implementation Guide
1.0.0-ballot - STU 1 - ballot United States of America flag

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

Resource Profile: US Quality Core Procedure

Official URL: http://hl7.org/fhir/us/quality-core/StructureDefinition/us-quality-core-procedure Version: 1.0.0-ballot
Standards status: Trial-use Maturity Level: 4 Computable Name: USQualityCoreProcedure
Other Identifiers: OID:2.16.840.1.113883.4.642.40.78.42.42

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

The Procedure profile defines the conformance expectations for a Procedure, regardless of whether it is a positive or negative statement. The ProcedureDone and ProcedureNotDone profiles represent the positive and negative statements for a procedure.

To create an expression indicating existence of a procedure, use the profile USQualityCoreProcedureDone; to specifically request information that a procedure intentionally did not occur for a medical, patient or system reason, use the profile USQualityCoreProcedureNotDone.

USCDI+ Quality Element Support Expectations

Systems are expected to support this profile as part of implementing USCDI+ Quality V2 in FHIR and meeting the conformance requirements of this guide.

The following elements are specifically relevant to USCDI+ Quality V2 data classes and elements. Systems are expected to support these elements as applicable to their role in US Quality Core data exchange. See the Must Support section of this guide for more information. These elements are flagged as (USCDI+ Quality) in the formal profile views.

USCDI+ Quality Elements:

Profile element Description USCDI+ Quality Data Element(s)
code What procedure Pregnancy Information: Delivery Procedures, Procedures: Procedure Type, Procedures: Procedures, Procedures: SDOH Interventions
partOf Part of referenced event Procedures: Procedures
performed[x] When the procedure was performed Procedures: Performance Time
performer.actor π—”π——π——π—œπ—§π—œπ—’π—‘π—”π—Ÿ π—¨π—¦π—–π——π—œ: The reference to the practitioner Provenance: Author
reasonCode Coded reason procedure performed Procedures: Procedure Reason Code, Procedures: Reason for Referral
reasonReference The justification that the procedure was performed Procedures: Procedure Reason Code, Procedures: Reason for Referral
status preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Procedures: Procedure Status
statusReason Reason for current status Procedures: Procedure Status

Because this profile is derived directly or indirectly from US Core, systems are also expected to support the Must Support and Additional USCDI requirements specified by the US Core profile this profile inherits from. For more information about those requirements, refer to the US Core Procedure Profile. The Formal Views section also provides the formal summary, definitions, terminology requirements, and mandatory element requirements.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* USCoreProcedureProfile(9.0.0) An action that is being or was performed on a patient
Constraints: us-core-7, prc-1
... 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
.... extension:recorded 1..1 dateTime When the procedure was first captured in the subject's record
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Procedure.recorded
Constraints: ext-1
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... partOf Ξ£ 0..* Reference(Procedure | Observation | MedicationAdministration) (USCDI+ Quality) Part of referenced event
... status ?!SΞ£C 1..1 code (USCDI+ Quality) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
... statusReason Ξ£ 0..1 CodeableConcept (USCDI+ Quality) Reason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.
... code SΞ£C 1..1 CodeableConcept (USCDI+ Quality) What procedure
Binding: US Core Procedure Codes (extensible): Codes describing the type of Procedure
.... Slices for extension Content/Rules for all slices
..... extension:codeOptions C 0..1 canonical(ValueSet) Url of a value set of candidate procedures
URL: http://hl7.org/fhir/StructureDefinition/codeOptions
... subject SΞ£ 1..1 Reference(US Quality Core Patient) Who the procedure was performed on
... encounter SΞ£ 0..1 Reference(US Core Encounter Profile) Encounter associated with the procedure
... performed[x] SΞ£C 0..1 (USCDI+ Quality) When the procedure was performed
.... performedDateTime dateTime S
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... reasonCode Ξ£ 0..* CodeableConcept (USCDI+ Quality) Coded reason procedure performed
Binding: US Core Condition Codes (extensible)
... reasonReference Ξ£ 0..* Reference(US Quality Core Condition Encounter Diagnosis | US Quality Core Condition Problems Health Concerns | US Quality Core DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile(9.0.0) | US Core DocumentReference Profile(9.0.0)) (USCDI+ Quality) The justification that the procedure was performed

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.status Base required EventStatus 📦4.0.1 FHIR Std.
Procedure.statusReason Base example Procedure Not Performed Reason (SNOMED-CT) 📍4.0.1 FHIR Std.
Procedure.code Base extensible US Core Procedure Codes 📦9.0.0 US Core v9.0
Procedure.reasonCode Base extensible US Core Condition Codes 📦9.0.0 US Core v9.0

Constraints

Id Grade Path(s) Description Expression
dom-2 error Procedure If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Procedure If 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-4 error Procedure If 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-5 error Procedure If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Procedure A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
prc-1 error Procedure to indicate what procedure, either at least one coding in the code or a codeOptions extension shall be provided code.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor code.coding.exists()
us-core-7 error Procedure Performed SHALL be present if the status is 'completed' or 'in-progress' (status='completed' or status='in-progress') implies performed.exists()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* USCoreProcedureProfile(9.0.0) An action that is being or was performed on a patient
Constraints: prc-1
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:recorded 1..1 dateTime When the procedure was first captured in the subject's record
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Procedure.recorded
... basedOn 0..* Reference(US Quality Core CarePlan | US Quality Core ServiceRequest) A request for this procedure
... partOf 0..* Reference(Procedure | Observation | MedicationAdministration) (USCDI+ Quality) Part of referenced event
... statusReason 0..1 CodeableConcept (USCDI+ Quality) Reason for current status
... code C 1..1 CodeableConcept (USCDI+ Quality) What procedure
.... Slices for extension Content/Rules for all slices
..... extension:codeOptions C 0..1 canonical(ValueSet) Url of a value set of candidate procedures
URL: http://hl7.org/fhir/StructureDefinition/codeOptions
... subject 1..1 Reference(US Quality Core Patient) Who the procedure was performed on
... performed[x] 0..1 dateTime, Period, string, Age, Range (USCDI+ Quality) When the procedure was performed
... performer
.... actor 1..1 Reference(US Quality Core Practitioner | US Quality Core Organization | US Quality Core Patient | US Quality Core RelatedPerson) (USCDI+ Quality) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The reference to the practitioner
... reasonCode 0..* CodeableConcept (USCDI+ Quality) Coded reason procedure performed
... reasonReference 0..* Reference(US Quality Core Condition Encounter Diagnosis | US Quality Core Condition Problems Health Concerns | US Quality Core DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile(9.0.0) | US Core DocumentReference Profile(9.0.0)) (USCDI+ Quality) The justification that the procedure was performed

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
prc-1 error Procedure to indicate what procedure, either at least one coding in the code or a codeOptions extension shall be provided code.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor code.coding.exists()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* USCoreProcedureProfile(9.0.0) An action that is being or was performed on a patient
Constraints: us-core-7, prc-1
... 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:recorded 1..1 dateTime When the procedure was first captured in the subject's record
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Procedure.recorded
Constraints: ext-1
... 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(US Quality Core CarePlan | US Quality Core ServiceRequest) A request for this procedure
... partOf Ξ£ 0..* Reference(Procedure | Observation | MedicationAdministration) (USCDI+ Quality) Part of referenced event
... status ?!SΞ£C 1..1 code (USCDI+ Quality) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
... statusReason Ξ£ 0..1 CodeableConcept (USCDI+ Quality) Reason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.
... 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 (USCDI+ Quality) What 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
..... extension:codeOptions C 0..1 canonical(ValueSet) Url of a value set of candidate procedures
URL: http://hl7.org/fhir/StructureDefinition/codeOptions
.... coding Ξ£ 0..* Coding Code defined by a terminology system
.... text Ξ£ 0..1 string Plain text representation of the concept
... subject SΞ£ 1..1 Reference(US Quality Core Patient) Who the procedure was performed on
... encounter SΞ£ 0..1 Reference(US Core Encounter Profile) Encounter associated with the procedure
... performed[x] SΞ£C 0..1 (USCDI+ Quality) 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(US Quality Core Practitioner | US Quality Core Organization | US Quality Core Patient | US Quality Core RelatedPerson) (USCDI+ Quality) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: 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 (USCDI+ Quality) Coded reason procedure performed
Binding: US Core Condition Codes (extensible)
... reasonReference Ξ£ 0..* Reference(US Quality Core Condition Encounter Diagnosis | US Quality Core Condition Problems Health Concerns | US Quality Core DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile(9.0.0) | US Core DocumentReference Profile(9.0.0)) (USCDI+ Quality) 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

Path Status Usage ValueSet Version Source
Procedure.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Procedure.status Base required EventStatus 📦4.0.1 FHIR Std.
Procedure.statusReason Base example Procedure Not Performed Reason (SNOMED-CT) 📍4.0.1 FHIR Std.
Procedure.category Base example Procedure Category Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code Base extensible US Core Procedure Codes 📦9.0.0 US Core v9.0
Procedure.performer.​function Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
Procedure.reasonCode Base extensible US Core Condition Codes 📦9.0.0 US Core v9.0
Procedure.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Procedure.outcome Base example Procedure Outcome Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.complication Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.
Procedure.followUp Base example Procedure Follow up Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.focalDevice.​action Base preferred Procedure Device Action Codes 📍4.0.1 FHIR Std.
Procedure.usedCode Base example FHIR Device Types 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Procedure If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Procedure If 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-4 error Procedure If 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-5 error Procedure If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Procedure A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
prc-1 error Procedure to indicate what procedure, either at least one coding in the code or a codeOptions extension shall be provided code.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor code.coding.exists()
us-core-7 error Procedure Performed SHALL be present if the status is 'completed' or 'in-progress' (status='completed' or status='in-progress') implies performed.exists()

Summary

Mandatory: 2 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Maturity: 4

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* USCoreProcedureProfile(9.0.0) An action that is being or was performed on a patient
Constraints: us-core-7, prc-1
... 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
.... extension:recorded 1..1 dateTime When the procedure was first captured in the subject's record
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Procedure.recorded
Constraints: ext-1
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... partOf Ξ£ 0..* Reference(Procedure | Observation | MedicationAdministration) (USCDI+ Quality) Part of referenced event
... status ?!SΞ£C 1..1 code (USCDI+ Quality) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
... statusReason Ξ£ 0..1 CodeableConcept (USCDI+ Quality) Reason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.
... code SΞ£C 1..1 CodeableConcept (USCDI+ Quality) What procedure
Binding: US Core Procedure Codes (extensible): Codes describing the type of Procedure
.... Slices for extension Content/Rules for all slices
..... extension:codeOptions C 0..1 canonical(ValueSet) Url of a value set of candidate procedures
URL: http://hl7.org/fhir/StructureDefinition/codeOptions
... subject SΞ£ 1..1 Reference(US Quality Core Patient) Who the procedure was performed on
... encounter SΞ£ 0..1 Reference(US Core Encounter Profile) Encounter associated with the procedure
... performed[x] SΞ£C 0..1 (USCDI+ Quality) When the procedure was performed
.... performedDateTime dateTime S
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... reasonCode Ξ£ 0..* CodeableConcept (USCDI+ Quality) Coded reason procedure performed
Binding: US Core Condition Codes (extensible)
... reasonReference Ξ£ 0..* Reference(US Quality Core Condition Encounter Diagnosis | US Quality Core Condition Problems Health Concerns | US Quality Core DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile(9.0.0) | US Core DocumentReference Profile(9.0.0)) (USCDI+ Quality) The justification that the procedure was performed

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.status Base required EventStatus 📦4.0.1 FHIR Std.
Procedure.statusReason Base example Procedure Not Performed Reason (SNOMED-CT) 📍4.0.1 FHIR Std.
Procedure.code Base extensible US Core Procedure Codes 📦9.0.0 US Core v9.0
Procedure.reasonCode Base extensible US Core Condition Codes 📦9.0.0 US Core v9.0

Constraints

Id Grade Path(s) Description Expression
dom-2 error Procedure If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Procedure If 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-4 error Procedure If 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-5 error Procedure If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Procedure A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
prc-1 error Procedure to indicate what procedure, either at least one coding in the code or a codeOptions extension shall be provided code.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor code.coding.exists()
us-core-7 error Procedure Performed SHALL be present if the status is 'completed' or 'in-progress' (status='completed' or status='in-progress') implies performed.exists()

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* USCoreProcedureProfile(9.0.0) An action that is being or was performed on a patient
Constraints: prc-1
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:recorded 1..1 dateTime When the procedure was first captured in the subject's record
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Procedure.recorded
... basedOn 0..* Reference(US Quality Core CarePlan | US Quality Core ServiceRequest) A request for this procedure
... partOf 0..* Reference(Procedure | Observation | MedicationAdministration) (USCDI+ Quality) Part of referenced event
... statusReason 0..1 CodeableConcept (USCDI+ Quality) Reason for current status
... code C 1..1 CodeableConcept (USCDI+ Quality) What procedure
.... Slices for extension Content/Rules for all slices
..... extension:codeOptions C 0..1 canonical(ValueSet) Url of a value set of candidate procedures
URL: http://hl7.org/fhir/StructureDefinition/codeOptions
... subject 1..1 Reference(US Quality Core Patient) Who the procedure was performed on
... performed[x] 0..1 dateTime, Period, string, Age, Range (USCDI+ Quality) When the procedure was performed
... performer
.... actor 1..1 Reference(US Quality Core Practitioner | US Quality Core Organization | US Quality Core Patient | US Quality Core RelatedPerson) (USCDI+ Quality) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The reference to the practitioner
... reasonCode 0..* CodeableConcept (USCDI+ Quality) Coded reason procedure performed
... reasonReference 0..* Reference(US Quality Core Condition Encounter Diagnosis | US Quality Core Condition Problems Health Concerns | US Quality Core DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile(9.0.0) | US Core DocumentReference Profile(9.0.0)) (USCDI+ Quality) The justification that the procedure was performed

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
prc-1 error Procedure to indicate what procedure, either at least one coding in the code or a codeOptions extension shall be provided code.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor code.coding.exists()

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* USCoreProcedureProfile(9.0.0) An action that is being or was performed on a patient
Constraints: us-core-7, prc-1
... 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:recorded 1..1 dateTime When the procedure was first captured in the subject's record
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Procedure.recorded
Constraints: ext-1
... 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(US Quality Core CarePlan | US Quality Core ServiceRequest) A request for this procedure
... partOf Ξ£ 0..* Reference(Procedure | Observation | MedicationAdministration) (USCDI+ Quality) Part of referenced event
... status ?!SΞ£C 1..1 code (USCDI+ Quality) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
... statusReason Ξ£ 0..1 CodeableConcept (USCDI+ Quality) Reason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.
... 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 (USCDI+ Quality) What 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
..... extension:codeOptions C 0..1 canonical(ValueSet) Url of a value set of candidate procedures
URL: http://hl7.org/fhir/StructureDefinition/codeOptions
.... coding Ξ£ 0..* Coding Code defined by a terminology system
.... text Ξ£ 0..1 string Plain text representation of the concept
... subject SΞ£ 1..1 Reference(US Quality Core Patient) Who the procedure was performed on
... encounter SΞ£ 0..1 Reference(US Core Encounter Profile) Encounter associated with the procedure
... performed[x] SΞ£C 0..1 (USCDI+ Quality) 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(US Quality Core Practitioner | US Quality Core Organization | US Quality Core Patient | US Quality Core RelatedPerson) (USCDI+ Quality) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: 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 (USCDI+ Quality) Coded reason procedure performed
Binding: US Core Condition Codes (extensible)
... reasonReference Ξ£ 0..* Reference(US Quality Core Condition Encounter Diagnosis | US Quality Core Condition Problems Health Concerns | US Quality Core DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile(9.0.0) | US Core DocumentReference Profile(9.0.0)) (USCDI+ Quality) 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

Path Status Usage ValueSet Version Source
Procedure.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Procedure.status Base required EventStatus 📦4.0.1 FHIR Std.
Procedure.statusReason Base example Procedure Not Performed Reason (SNOMED-CT) 📍4.0.1 FHIR Std.
Procedure.category Base example Procedure Category Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code Base extensible US Core Procedure Codes 📦9.0.0 US Core v9.0
Procedure.performer.​function Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
Procedure.reasonCode Base extensible US Core Condition Codes 📦9.0.0 US Core v9.0
Procedure.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Procedure.outcome Base example Procedure Outcome Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.complication Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.
Procedure.followUp Base example Procedure Follow up Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.focalDevice.​action Base preferred Procedure Device Action Codes 📍4.0.1 FHIR Std.
Procedure.usedCode Base example FHIR Device Types 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Procedure If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Procedure If 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-4 error Procedure If 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-5 error Procedure If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Procedure A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
prc-1 error Procedure to indicate what procedure, either at least one coding in the code or a codeOptions extension shall be provided code.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor code.coding.exists()
us-core-7 error Procedure Performed SHALL be present if the status is 'completed' or 'in-progress' (status='completed' or status='in-progress') implies performed.exists()

Summary

Mandatory: 2 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Maturity: 4

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Element Conformance Indicators by Profile Layer

Badges identify the profile layer where each conformance indicator is first introduced. Indicators introduced in an earlier layer remain applicable in later derived profiles.

Element conformance indicators organized by the profile layer where they are first introduced
Profile element FHIR US Core US Quality Core
extension Mandatory
extension:recorded Mandatory
basedOn Additional USCDI
partOf USCDI+ Quality
status Mandatory Must Support USCDI+ Quality
statusReason USCDI+ Quality
code Mandatory Must Support USCDI+ Quality
subject Mandatory Must Support
encounter Must Support
performed[x] Must Support USCDI+ Quality
performer Additional USCDI
performer.actor Mandatory Additional USCDI USCDI+ Quality
reasonCode Additional USCDI USCDI+ Quality
reasonReference Additional USCDI USCDI+ Quality
focalDevice.manipulated Mandatory

Cardinality note: β€œMandatory” means the element has a minimum cardinality greater than zero. For nested elements, the cardinality indicator applies when the containing element is present.

Mandatory US Quality Core Server Search Parameters

The searches below are the focused set identified by US Quality Core as needed to retrieve USCDI+ Quality data for quality measurement and reporting. See the US Core FHIR RESTful Search API Requirements for detailed information on requirements by search parameter type.

Because this profile derives directly or indirectly from US Core, servers SHALL also support all mandatory searches described in the US Core Server CapabilityStatement requirements for Procedure. When possible, this guide reuses mandatory searches from US Core and notes them with the EXISTING US CORE REQUIREMENT flag. While US Quality Core may restate US Core requirements to highlight searches directly relevant to USCDI+ Quality data access, US Core requirements not restated here remain applicable.

See the US Quality Core Server CapabilityStatement for complete requirements for the underlying Procedure resource and Search Requirement Selection for how this focused set was selected.

Servers supporting this profile SHALL support the following search parameters and search parameter combinations:

  1. SHALL support searching for all Procedure resources for a patient using the patient search parameter. EXISTING US CORE REQUIREMENT

    GET [base]/Procedure?patient={Patient/}[id]

    Example:

    GET [base]/Procedure?patient=Patient/example

    Implementation Notes: Fetches a bundle of US Quality Core Procedure resources matching the specified search criteria. See how to search by reference.

    Rationale for inclusion: Supports patient-scoped retrieval of Procedure resources for USCDI+ Quality workflows.

  2. SHALL support searching for all Procedure resources for a patient using the combination of the patient and status search parameters.

    • Including support for OR search on status (e.g.status=[status],[status],...).

    GET [base]/Procedure?patient={Patient/}[id]&status=[status]

    Example:

    GET [base]/Procedure?patient=Patient/example&status=completed

    Implementation Notes: Fetches a bundle of US Quality Core Procedure resources matching the specified search criteria. See how to search by reference and how to search by token.

    Rationale for inclusion: Supports patient-scoped retrieval of Procedure resources filtered by status; status is used to indicate negation.

  3. SHALL support searching for all Procedure resources for a patient using the combination of the patient and date search parameters. EXISTING US CORE REQUIREMENT

    • Including optional support for AND search on date (e.g.date=[date]&date=[date]&...).

    • Including support for these date comparators: "gt", "lt", "ge", "le".

    GET [base]/Procedure?patient={Patient/}[id]&date={gt|lt|ge|le}[dateTime]

    Example:

    GET [base]/Procedure?patient=Patient/example&date=ge2020-01-01T00:00:00Z

    Implementation Notes: Fetches a bundle of US Quality Core Procedure resources matching the specified search criteria. See how to search by reference and how to search by date.

    Rationale for inclusion: Supports patient-scoped retrieval of Procedure resources filtered by date so quality workflows can constrain results to relevant reporting periods.