US Core Implementation Guide
10.0.0-ballot - STU 10 Ballot United States of America flag

US Core Implementation Guide, published by HL7 International / Cross-Group Projects. This guide is not an authorized publication; it is the continuous build for version 10.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/US-Core/ and changes regularly. See the Directory of published versions

Resource Profile: US Core Procedure Profile

Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-procedure Version: 10.0.0-ballot
Standards status: Trial-use Maturity Level: 5 Computable Name: USCoreProcedureProfile
Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.42.53

The US Core Procedure Profile inherits from the FHIR Procedure resource; refer to it for scope and usage definitions. This profile meets the requirements of the U.S. Core Data for Interoperability (USCDI) Procedures Data Class. It sets minimum expectations for the Procedure resource to record, search, and fetch procedure information associated with a patient. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption.

US Core Maturity: 5

Example Usage Scenarios:

The following are example usage scenarios for this profile:

  • Query for procedures performed on a Patient
  • Record or update a procedure performed on a Patient

Mandatory and Must Support Data Elements

The following data elements must always be present (Mandatory definition) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements.

Each Procedure Must Have:

  1. a status
  2. a code that identifies the type of procedure performed on the patient1
  3. a patient
  4. when the procedure was performed2

Each Procedure Must Support:

  1. the encounter associated with the procedure
  2. a statusReason if the procedure was not performed5

Additional USCDI Requirements:

These Additional USCDI Requirements elements are not Mandatory or Must Support but are required for ONC Health IT certification testing and are included in the formal definition of the profile and the Procedure examples.

  1. who was involved in the procedure3
  2. a reason or indication for referral or consultation4
  3. when the procedure was first captured in the patient's record6

1,2,3,4,5,6 see guidance below

Profile Specific Implementation Guidance

This section provides detailed implementation guidance for the US Core Profile to support implementation and certification.

  • A status code of "not-done" is used when a procedure was not performed.
    • 5Procedure.statusReason communicates why the procedure was not performed, such as patient refusal. Note that this binding is provisional, pending the review of the terminology aligned with the HL7 FHIR US Quality Core Implementation Guide.
    • 6Use the cross-version Procedure Recorded R5 Extension to record when the not-done procedure was captured in the patient's record, since Procedure.performed[x] is ambiguous when no procedure took place.
  • 2The Procedure.performed is mandatory if Procedure.status is "completed" or "in-progress".
  • 1Unless exchanging legacy or text-only data, procedure codes SHOULD be taken from SNOMED-CT, CPT, HCPCS II, ICD-10-PCS, CDT, or LOINC.§
    • Only LOINC concepts that reflect actual procedures SHOULD be used.§
  • A procedure including an implantable device SHOULD use Procedure.focalDevice referencing the US Core Device Profile.§
  • See the Screening and Assessments guidance page for more information when exchanging Social Determinants of Health (SDOH) Procedures
  • 4Servers and Clients SHALL support both US Core ServiceRequest and US Core Procedure Profiles for communicating the reason or justification for a referral as Additional USCDI Requirements.§,§ Typically, the reason or justification for a referral or consultation is communicated through Procedure.basedOn linking the Procedure to the US Core ServiceRequest Profile that includes either ServiceRequest.reasonCode or ServiceRequest.reasonReference. When the Procedure does not have an associated ServiceRequest, it is communicated through the US Core Procedure Profile's Procedure.reasonCode or Procedure.reasonReference. Depending on the procedure being documented, a Server will select the appropriate Profile to use.
    • Although both Procedure.reasonCode and Procedure.reasonReference are marked as Additional USCDI Requirements, the certifying Server system is not required to support both, but SHALL support at least one of these elements.§ The certifying Client application SHALL support both elements.§
      • when using Procedure.reasonReference:
        • Servers SHALL support at least one target resource in Procedure.reasonReference.§ Clients SHALL support all target resources in Procedure.reasonReference.§
        • The referenced resources SHOULD be a US Core Profile as documented in Referencing US Core Profiles.§
  • 3The profile elements Procedure.asserter and Procedure.performer.actor communicate the individual level provenance author data corresponding to the U.S. Core Data for Interoperability (USCDI) Provenance Author Data Elements.

  • For the USCDI Adverse Events Data Class, a procedure can be the intervention a change in a patient condition is associated with, recording the change that the USCDI Adverse Event Condition describes. Adverse events are recorded as ordinary clinical events and are not tagged as adverse events; see the Adverse Events: Clinical Records and Patient Safety Reporting page.

Usages:

You can also check for usages in the FHIR IG Statistics

Changes since version 9.0.0:

  • The data elements list has changed
  • Formal Views of Profile Content

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

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Procedure C 0..* Procedure An action that is being or was performed on a patient
    Constraints: us-core-7
    Procedure.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Procedure.Slices for extension Content/Rules for all slices
    Procedure.Slices for extension.extension:recorded 0..1 dateTime 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: When the procedure was first captured in the patient's record
    URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Procedure.recorded
    Constraints: ext-1
    Procedure.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Procedure.basedOn This element is included in summaries. 0..* Reference(US Core CarePlan Profile | US Core ServiceRequest Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: A request for this procedure
    Procedure.status This element is a modifier element. This element must be supported. This element is included in summaries. C 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
    Binding: EventStatus (required)
    Procedure.statusReason This element must be supported. This element is included in summaries. 0..1 CodeableConcept Reason the procedure was not performed
    Binding: ProcedureNotPerformedReason(SNOMED-CT) (extensible)
    Procedure.code This element must be supported. This element is included in summaries. 1..1 CodeableConcept Identification of the procedure
    Binding: US Core Procedure Codes (extensible): Codes describing the type of Procedure
    Procedure.subject This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile This type must be supported. | Group) Who the procedure was performed on
    Procedure.encounter This element must be supported. This element is included in summaries. 0..1 Reference(US Core Encounter Profile) Encounter associated with the procedure
    Procedure.performed[x] This element must be supported. This element is included in summaries. C 0..1 When the procedure was performed
    Procedure.performed[x].performedDateTime dateTime This target must be supported.
    Procedure.performed[x].performedPeriod Period
    Procedure.performed[x].performedString string
    Procedure.performed[x].performedAge Age
    Procedure.performed[x].performedRange Range
    Procedure.performer This element is included in summaries. 0..* BackboneElement 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The people who performed the procedure
    Procedure.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Procedure.performer.actor This element is included in summaries. 1..1 Reference(US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile | US Core Patient Profile | US Core RelatedPerson Profile | US Core Device Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The reference to the practitioner
    Procedure.reasonCode This element is included in summaries. 0..* CodeableConcept 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Coded reason procedure performed
    Binding: US Core Condition Codes (extensible)
    Procedure.reasonReference This element is included in summaries. 0..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile justifying the reason procedure 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 extensible Procedure Not Performed Reason (SNOMED-CT) 📦4.0.1 FHIR Std.
    Procedure.code Base extensible US Core Procedure Codes 📦10.0.0-ballot This IG
    Procedure.reasonCode Base extensible US Core Condition Codes 📦10.0.0-ballot This IG

    Constraints

    Id Grade Path(s) Description Expression
    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()

    This structure is derived from Procedure

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Procedure C 0..* Procedure An action that is being or was performed on a patient
    Constraints: us-core-7
    Procedure.Slices for extension Content/Rules for all slices
    Procedure.Slices for extension.extension:recorded 0..1 dateTime 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: When the procedure was first captured in the patient's record
    URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Procedure.recorded
    Procedure.basedOn 0..* Reference(US Core CarePlan Profile | US Core ServiceRequest Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: A request for this procedure
    Procedure.status This element must be supported. C 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
    Binding: EventStatus (required)
    Procedure.statusReason This element must be supported. 0..1 CodeableConcept Reason the procedure was not performed
    Binding: ProcedureNotPerformedReason(SNOMED-CT) (extensible)
    Procedure.code This element must be supported. 1..1 CodeableConcept Identification of the procedure
    Binding: US Core Procedure Codes (extensible): Codes describing the type of Procedure
    Procedure.subject This element must be supported. 1..1 Reference(US Core Patient Profile This type must be supported. | Group) Who the procedure was performed on
    Procedure.encounter This element must be supported. 0..1 Reference(US Core Encounter Profile) Encounter associated with the procedure
    Procedure.performed[x] This element must be supported. C 0..1 When the procedure was performed
    Procedure.performed[x].performedDateTime dateTime This target must be supported.
    Procedure.performed[x].performedPeriod Period
    Procedure.performed[x].performedString string
    Procedure.performed[x].performedAge Age
    Procedure.performed[x].performedRange Range
    Procedure.performer 0..* BackboneElement 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The people who performed the procedure
    Procedure.performer.actor 1..1 Reference(US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile | US Core Patient Profile | US Core RelatedPerson Profile | US Core Device Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The reference to the practitioner
    Procedure.reasonCode 0..* CodeableConcept 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Coded reason procedure performed
    Binding: US Core Condition Codes (extensible)
    Procedure.reasonReference 0..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile justifying the reason procedure performed

    doco Documentation for this format

    Terminology Bindings (Differential)

    Path Status Usage ValueSet Version Source
    Procedure.status Base required EventStatus 📦4.0.1 FHIR Std.
    Procedure.statusReason Base extensible Procedure Not Performed Reason (SNOMED-CT) 📦4.0.1 FHIR Std.
    Procedure.code Base extensible US Core Procedure Codes 📦10.0.0-ballot This IG
    Procedure.reasonCode Base extensible US Core Condition Codes 📦10.0.0-ballot This IG

    Constraints

    Id Grade Path(s) Description Expression
    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: doco
    Procedure C 0..* Procedure An action that is being or was performed on a patient
    Constraints: us-core-7
    Procedure.id This element is included in summaries. 0..1 id Logical id of this artifact
    Procedure.meta This element is included in summaries. 0..1 Meta Metadata about the resource
    Procedure.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Procedure.language 0..1 code Language of the resource content
    Binding: CommonLanguages (preferred): A human language.
    Additional BindingsPurpose
    AllLanguages Max Binding
    Procedure.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
    Procedure.contained 0..* Resource Contained, inline Resources
    Procedure.Slices for extension 0..* Extension Extension
    Slice: Unordered, Open by value:url
    Procedure.Slices for extension.extension:recorded 0..1 dateTime 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: When the procedure was first captured in the patient's record
    URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Procedure.recorded
    Constraints: ext-1
    Procedure.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Procedure.identifier This element is included in summaries. 0..* Identifier External Identifiers for this procedure
    Procedure.instantiatesCanonical This element is included in summaries. 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) Instantiates FHIR protocol or definition
    Procedure.instantiatesUri This element is included in summaries. 0..* uri Instantiates external protocol or definition
    Procedure.basedOn This element is included in summaries. 0..* Reference(US Core CarePlan Profile | US Core ServiceRequest Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: A request for this procedure
    Procedure.partOf This element is included in summaries. 0..* Reference(Procedure | Observation | MedicationAdministration) Part of referenced event
    Procedure.status This element is a modifier element. This element must be supported. This element is included in summaries. C 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
    Binding: EventStatus (required)
    Procedure.statusReason This element must be supported. This element is included in summaries. 0..1 CodeableConcept Reason the procedure was not performed
    Binding: ProcedureNotPerformedReason(SNOMED-CT) (extensible)
    Procedure.category This element is included in summaries. 0..1 CodeableConcept Classification of the procedure
    Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.
    Procedure.code This element must be supported. This element is included in summaries. 1..1 CodeableConcept Identification of the procedure
    Binding: US Core Procedure Codes (extensible): Codes describing the type of Procedure
    Procedure.subject This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile This type must be supported. | Group) Who the procedure was performed on
    Procedure.encounter This element must be supported. This element is included in summaries. 0..1 Reference(US Core Encounter Profile) Encounter associated with the procedure
    Procedure.performed[x] This element must be supported. This element is included in summaries. C 0..1 When the procedure was performed
    Procedure.performed[x].performedDateTime dateTime This target must be supported.
    Procedure.performed[x].performedPeriod Period
    Procedure.performed[x].performedString string
    Procedure.performed[x].performedAge Age
    Procedure.performed[x].performedRange Range
    Procedure.recorder This element is included in summaries. 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
    Procedure.asserter This element is included in summaries. 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Person who asserts this procedure
    Procedure.performer This element is included in summaries. 0..* BackboneElement 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The people who performed the procedure
    Procedure.performer.id 0..1 string Unique id for inter-element referencing
    Procedure.performer.extension 0..* Extension Additional content defined by implementations
    Procedure.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Procedure.performer.function This element is included in summaries. 0..1 CodeableConcept Type of performance
    Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.
    Procedure.performer.actor This element is included in summaries. 1..1 Reference(US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile | US Core Patient Profile | US Core RelatedPerson Profile | US Core Device Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The reference to the practitioner
    Procedure.performer.onBehalfOf 0..1 Reference(Organization) Organization the device or practitioner was acting for
    Procedure.location This element is included in summaries. 0..1 Reference(Location) Where the procedure happened
    Procedure.reasonCode This element is included in summaries. 0..* CodeableConcept 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Coded reason procedure performed
    Binding: US Core Condition Codes (extensible)
    Procedure.reasonReference This element is included in summaries. 0..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile justifying the reason procedure performed
    Procedure.bodySite This element is included in summaries. 0..* CodeableConcept Target body sites
    Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
    Procedure.outcome This element is included in summaries. 0..1 CodeableConcept The result of procedure
    Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise.
    Procedure.report 0..* Reference(DiagnosticReport | DocumentReference | Composition) Any report resulting from the procedure
    Procedure.complication 0..* CodeableConcept Complication following the procedure
    Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.
    Procedure.complicationDetail 0..* Reference(Condition) A condition that is a result of the procedure
    Procedure.followUp 0..* CodeableConcept Instructions for follow up
    Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures.
    Procedure.note 0..* Annotation Additional information about the procedure
    Procedure.focalDevice 0..* BackboneElement Manipulated, implanted, or removed device
    Procedure.focalDevice.id 0..1 string Unique id for inter-element referencing
    Procedure.focalDevice.extension 0..* Extension Additional content defined by implementations
    Procedure.focalDevice.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Procedure.focalDevice.action 0..1 CodeableConcept Kind of change to device
    Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure.
    Procedure.focalDevice.manipulated 1..1 Reference(Device) Device that was changed
    Procedure.usedReference 0..* Reference(Device | Medication | Substance) Items used during procedure
    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 extensible 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 📦10.0.0-ballot This IG
    Procedure.performer.​function Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
    Procedure.reasonCode Base extensible US Core Condition Codes 📦10.0.0-ballot This IG
    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
    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()

    Key Elements View

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Procedure C 0..* Procedure An action that is being or was performed on a patient
    Constraints: us-core-7
    Procedure.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Procedure.Slices for extension Content/Rules for all slices
    Procedure.Slices for extension.extension:recorded 0..1 dateTime 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: When the procedure was first captured in the patient's record
    URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Procedure.recorded
    Constraints: ext-1
    Procedure.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Procedure.basedOn This element is included in summaries. 0..* Reference(US Core CarePlan Profile | US Core ServiceRequest Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: A request for this procedure
    Procedure.status This element is a modifier element. This element must be supported. This element is included in summaries. C 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
    Binding: EventStatus (required)
    Procedure.statusReason This element must be supported. This element is included in summaries. 0..1 CodeableConcept Reason the procedure was not performed
    Binding: ProcedureNotPerformedReason(SNOMED-CT) (extensible)
    Procedure.code This element must be supported. This element is included in summaries. 1..1 CodeableConcept Identification of the procedure
    Binding: US Core Procedure Codes (extensible): Codes describing the type of Procedure
    Procedure.subject This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile This type must be supported. | Group) Who the procedure was performed on
    Procedure.encounter This element must be supported. This element is included in summaries. 0..1 Reference(US Core Encounter Profile) Encounter associated with the procedure
    Procedure.performed[x] This element must be supported. This element is included in summaries. C 0..1 When the procedure was performed
    Procedure.performed[x].performedDateTime dateTime This target must be supported.
    Procedure.performed[x].performedPeriod Period
    Procedure.performed[x].performedString string
    Procedure.performed[x].performedAge Age
    Procedure.performed[x].performedRange Range
    Procedure.performer This element is included in summaries. 0..* BackboneElement 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The people who performed the procedure
    Procedure.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Procedure.performer.actor This element is included in summaries. 1..1 Reference(US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile | US Core Patient Profile | US Core RelatedPerson Profile | US Core Device Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The reference to the practitioner
    Procedure.reasonCode This element is included in summaries. 0..* CodeableConcept 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Coded reason procedure performed
    Binding: US Core Condition Codes (extensible)
    Procedure.reasonReference This element is included in summaries. 0..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile justifying the reason procedure 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 extensible Procedure Not Performed Reason (SNOMED-CT) 📦4.0.1 FHIR Std.
    Procedure.code Base extensible US Core Procedure Codes 📦10.0.0-ballot This IG
    Procedure.reasonCode Base extensible US Core Condition Codes 📦10.0.0-ballot This IG

    Constraints

    Id Grade Path(s) Description Expression
    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

    This structure is derived from Procedure

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Procedure C 0..* Procedure An action that is being or was performed on a patient
    Constraints: us-core-7
    Procedure.Slices for extension Content/Rules for all slices
    Procedure.Slices for extension.extension:recorded 0..1 dateTime 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: When the procedure was first captured in the patient's record
    URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Procedure.recorded
    Procedure.basedOn 0..* Reference(US Core CarePlan Profile | US Core ServiceRequest Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: A request for this procedure
    Procedure.status This element must be supported. C 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
    Binding: EventStatus (required)
    Procedure.statusReason This element must be supported. 0..1 CodeableConcept Reason the procedure was not performed
    Binding: ProcedureNotPerformedReason(SNOMED-CT) (extensible)
    Procedure.code This element must be supported. 1..1 CodeableConcept Identification of the procedure
    Binding: US Core Procedure Codes (extensible): Codes describing the type of Procedure
    Procedure.subject This element must be supported. 1..1 Reference(US Core Patient Profile This type must be supported. | Group) Who the procedure was performed on
    Procedure.encounter This element must be supported. 0..1 Reference(US Core Encounter Profile) Encounter associated with the procedure
    Procedure.performed[x] This element must be supported. C 0..1 When the procedure was performed
    Procedure.performed[x].performedDateTime dateTime This target must be supported.
    Procedure.performed[x].performedPeriod Period
    Procedure.performed[x].performedString string
    Procedure.performed[x].performedAge Age
    Procedure.performed[x].performedRange Range
    Procedure.performer 0..* BackboneElement 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The people who performed the procedure
    Procedure.performer.actor 1..1 Reference(US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile | US Core Patient Profile | US Core RelatedPerson Profile | US Core Device Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The reference to the practitioner
    Procedure.reasonCode 0..* CodeableConcept 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Coded reason procedure performed
    Binding: US Core Condition Codes (extensible)
    Procedure.reasonReference 0..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile justifying the reason procedure performed

    doco Documentation for this format

    Terminology Bindings (Differential)

    Path Status Usage ValueSet Version Source
    Procedure.status Base required EventStatus 📦4.0.1 FHIR Std.
    Procedure.statusReason Base extensible Procedure Not Performed Reason (SNOMED-CT) 📦4.0.1 FHIR Std.
    Procedure.code Base extensible US Core Procedure Codes 📦10.0.0-ballot This IG
    Procedure.reasonCode Base extensible US Core Condition Codes 📦10.0.0-ballot This IG

    Constraints

    Id Grade Path(s) Description Expression
    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()

    Snapshot View

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Procedure C 0..* Procedure An action that is being or was performed on a patient
    Constraints: us-core-7
    Procedure.id This element is included in summaries. 0..1 id Logical id of this artifact
    Procedure.meta This element is included in summaries. 0..1 Meta Metadata about the resource
    Procedure.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Procedure.language 0..1 code Language of the resource content
    Binding: CommonLanguages (preferred): A human language.
    Additional BindingsPurpose
    AllLanguages Max Binding
    Procedure.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
    Procedure.contained 0..* Resource Contained, inline Resources
    Procedure.Slices for extension 0..* Extension Extension
    Slice: Unordered, Open by value:url
    Procedure.Slices for extension.extension:recorded 0..1 dateTime 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: When the procedure was first captured in the patient's record
    URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Procedure.recorded
    Constraints: ext-1
    Procedure.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Procedure.identifier This element is included in summaries. 0..* Identifier External Identifiers for this procedure
    Procedure.instantiatesCanonical This element is included in summaries. 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) Instantiates FHIR protocol or definition
    Procedure.instantiatesUri This element is included in summaries. 0..* uri Instantiates external protocol or definition
    Procedure.basedOn This element is included in summaries. 0..* Reference(US Core CarePlan Profile | US Core ServiceRequest Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: A request for this procedure
    Procedure.partOf This element is included in summaries. 0..* Reference(Procedure | Observation | MedicationAdministration) Part of referenced event
    Procedure.status This element is a modifier element. This element must be supported. This element is included in summaries. C 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
    Binding: EventStatus (required)
    Procedure.statusReason This element must be supported. This element is included in summaries. 0..1 CodeableConcept Reason the procedure was not performed
    Binding: ProcedureNotPerformedReason(SNOMED-CT) (extensible)
    Procedure.category This element is included in summaries. 0..1 CodeableConcept Classification of the procedure
    Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.
    Procedure.code This element must be supported. This element is included in summaries. 1..1 CodeableConcept Identification of the procedure
    Binding: US Core Procedure Codes (extensible): Codes describing the type of Procedure
    Procedure.subject This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile This type must be supported. | Group) Who the procedure was performed on
    Procedure.encounter This element must be supported. This element is included in summaries. 0..1 Reference(US Core Encounter Profile) Encounter associated with the procedure
    Procedure.performed[x] This element must be supported. This element is included in summaries. C 0..1 When the procedure was performed
    Procedure.performed[x].performedDateTime dateTime This target must be supported.
    Procedure.performed[x].performedPeriod Period
    Procedure.performed[x].performedString string
    Procedure.performed[x].performedAge Age
    Procedure.performed[x].performedRange Range
    Procedure.recorder This element is included in summaries. 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
    Procedure.asserter This element is included in summaries. 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Person who asserts this procedure
    Procedure.performer This element is included in summaries. 0..* BackboneElement 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The people who performed the procedure
    Procedure.performer.id 0..1 string Unique id for inter-element referencing
    Procedure.performer.extension 0..* Extension Additional content defined by implementations
    Procedure.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Procedure.performer.function This element is included in summaries. 0..1 CodeableConcept Type of performance
    Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.
    Procedure.performer.actor This element is included in summaries. 1..1 Reference(US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile | US Core Patient Profile | US Core RelatedPerson Profile | US Core Device Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The reference to the practitioner
    Procedure.performer.onBehalfOf 0..1 Reference(Organization) Organization the device or practitioner was acting for
    Procedure.location This element is included in summaries. 0..1 Reference(Location) Where the procedure happened
    Procedure.reasonCode This element is included in summaries. 0..* CodeableConcept 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Coded reason procedure performed
    Binding: US Core Condition Codes (extensible)
    Procedure.reasonReference This element is included in summaries. 0..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile justifying the reason procedure performed
    Procedure.bodySite This element is included in summaries. 0..* CodeableConcept Target body sites
    Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
    Procedure.outcome This element is included in summaries. 0..1 CodeableConcept The result of procedure
    Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise.
    Procedure.report 0..* Reference(DiagnosticReport | DocumentReference | Composition) Any report resulting from the procedure
    Procedure.complication 0..* CodeableConcept Complication following the procedure
    Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.
    Procedure.complicationDetail 0..* Reference(Condition) A condition that is a result of the procedure
    Procedure.followUp 0..* CodeableConcept Instructions for follow up
    Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures.
    Procedure.note 0..* Annotation Additional information about the procedure
    Procedure.focalDevice 0..* BackboneElement Manipulated, implanted, or removed device
    Procedure.focalDevice.id 0..1 string Unique id for inter-element referencing
    Procedure.focalDevice.extension 0..* Extension Additional content defined by implementations
    Procedure.focalDevice.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Procedure.focalDevice.action 0..1 CodeableConcept Kind of change to device
    Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure.
    Procedure.focalDevice.manipulated 1..1 Reference(Device) Device that was changed
    Procedure.usedReference 0..* Reference(Device | Medication | Substance) Items used during procedure
    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 extensible 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 📦10.0.0-ballot This IG
    Procedure.performer.​function Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
    Procedure.reasonCode Base extensible US Core Condition Codes 📦10.0.0-ballot This IG
    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
    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()

     

    Other representations of profile: CSV, Excel, Schematron

    Notes:


    Quick Start


    Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile's information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.

    • See the Scopes Format section for a description of the SMART scopes syntax.
    • See the Search Syntax section for a description of the US Core search syntax.
    • See the General Requirements section for additional rules and expectations when a Server requires status parameters.
    • See the General Guidance section for additional guidance on searching for multiple patients.

    US Core Scopes

    Servers providing access to procedure data SHALL support these US Core SMART Scopes:


    Mandatory Search Parameters:

    The following search parameters and search parameter combinations SHALL be supported:

    1. SHALL support searching for all procedures for a patient using the patient search parameter

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

      Example:

      1. GET [base]/Procedure?patient=Patient/1137192

      Implementation Notes: Fetches a bundle of all US Core Procedure Profile resources for the specified patient ( see how to search by reference).

    2. SHALL support searching for all procedures for a patient for a given status (for example all completed procedures) using the combination of the patient and status search parameters

      • Including support OR search on status (e.g.status={system|}[code],{system|}[code],...)

      GET [base]/Procedure?patient={Patient/}[id]&status={system|}[search_code]{,{system|}[code],...}

      Example:

      1. GET [base]/Procedure?patient=Patient/1137192&status=completed

      Implementation Notes: Fetches a bundle of all US Core Procedure Profile resources for the specified patient and status ( see how to search by reference and how to search by token).

    3. SHALL support searching for all procedures for a patient by date using the combination of the patient and date search parameters

      • 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]{&date={gt|lt|ge|le}[dateTime]&...}

      Example:

      1. GET [base]/Procedure?patient=Patient/1137192&date=ge2019-01-14

      Implementation Notes: Fetches a bundle of all US Core Procedure Profile resources for the specified patient and date ( see how to search by reference and how to search by date).

    Optional Search Parameters:

    The following search parameters and search parameter combinations SHOULD be supported

    1. SHOULD support searching for procedures for a patient by code and date using the combination of the patient and code and date search parameters

      • Including optional support OR search on code (e.g.code={system|}[code],{system|}[code],...)

      • 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]&code={system|}[search_code]{,{system|}[code],...}&date={gt|lt|ge|le}[dateTime]{&date={gt|lt|ge|le}[dateTime]&...}

      Example:

      1. GET [base]/Procedure?patient=Patient/1137192&date=ge2019-01-14T00:00:00Z&code=http://snomed.info/sct|35637008

      Implementation Notes: Fetches a bundle of all US Core Procedure Profile resources for the specified patient and date and procedure code(s). SHOULD support search by multiple codes. ( see how to search by reference and how to search by token and how to search by date).