EHI Export Implementation Guide
0.1.0 - ci-build

EHI Export Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Procedure

Official URL: https://ehi-export.pointclickcare.com//StructureDefinition/procedure Version: 0.1.0
Draft as of 2025-11-27 Computable Name: EHIProcedure

This resource provides the status of the payment for goods and services rendered, and the request and response resource references.

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* Procedure An action that is being or was performed on a patient
... status ?!Σ 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): A code specifying the state of the procedure.
... subject Σ 1..1 Reference(Patient) Who the procedure was performed on
... Slices for performed[x] Σ 0..1 When the procedure was performed
Slice: Unordered, Open by type:$this
.... performedPeriod Period
.... performedAge Age
.... performedRange Range

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.status Base required EventStatus 📍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()

This structure is derived from Procedure

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* Procedure An action that is being or was performed on a patient
... implicitRules 0..0 A set of rules under which this content was created
... language 0..0 Language of the resource content
... contained 0..0 Contained, inline Resources
... instantiatesCanonical 0..0 Instantiates FHIR protocol or definition
... instantiatesUri 0..0 Instantiates external protocol or definition
... basedOn 0..0 A request for this procedure
... partOf 0..0 Part of referenced event
... subject 1..1 Reference(Patient) Who the procedure was performed on
... Slices for performed[x] 0..1 Period, Age, Range When the procedure was performed
Slice: Unordered, Open by type:$this
.... performed[x]:performedDateTime 0..0 When the procedure was performed
.... performed[x]:performedString 0..0 When the procedure was performed
... recorder 0..0 Who recorded the procedure
... asserter 0..0 Person who asserts this procedure
... location 0..0 Where the procedure happened
... reasonReference 0..0 The justification that the procedure was performed
... bodySite 0..0 Target body sites
... outcome 0..0 The result of procedure
... report 0..0 Any report resulting from the procedure
... complication 0..0 Complication following the procedure
... complicationDetail 0..0 A condition that is a result of the procedure
... followUp 0..0 Instructions for follow up
... note 0..0 Additional information about the procedure
... focalDevice 0..0 Manipulated, implanted, or removed device
... usedReference 0..0 Items used during procedure
... usedCode 0..0 Coded items used during the procedure

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* Procedure An action that is being or was performed on a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... 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
... identifier Σ 0..* Identifier External Identifiers for this procedure
... status ?!Σ 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): A code specifying the state of the procedure.
... statusReason Σ 0..1 CodeableConcept 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 Σ 0..1 CodeableConcept Identification of the procedure
Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
... subject Σ 1..1 Reference(Patient) Who the procedure was performed on
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... Slices for performed[x] Σ 0..1 When the procedure was performed
Slice: Unordered, Open by type:$this
.... performedPeriod Period
.... performedAge Age
.... performedRange Range
... 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
... reasonCode Σ 0..* CodeableConcept Coded reason procedure performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.

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.category Base example Procedure Category Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.performer.​function Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
Procedure.reasonCode Base example Procedure Reason Codes 📍4.0.1 FHIR Std.
Procedure.focalDevice.​action Base preferred Procedure Device Action Codes 📍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()

This structure is derived from Procedure

Summary

Prohibited: 24 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Procedure.performed[x]

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* Procedure An action that is being or was performed on a patient
... status ?!Σ 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): A code specifying the state of the procedure.
... subject Σ 1..1 Reference(Patient) Who the procedure was performed on
... Slices for performed[x] Σ 0..1 When the procedure was performed
Slice: Unordered, Open by type:$this
.... performedPeriod Period
.... performedAge Age
.... performedRange Range

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.status Base required EventStatus 📍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()

Differential View

This structure is derived from Procedure

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* Procedure An action that is being or was performed on a patient
... implicitRules 0..0 A set of rules under which this content was created
... language 0..0 Language of the resource content
... contained 0..0 Contained, inline Resources
... instantiatesCanonical 0..0 Instantiates FHIR protocol or definition
... instantiatesUri 0..0 Instantiates external protocol or definition
... basedOn 0..0 A request for this procedure
... partOf 0..0 Part of referenced event
... subject 1..1 Reference(Patient) Who the procedure was performed on
... Slices for performed[x] 0..1 Period, Age, Range When the procedure was performed
Slice: Unordered, Open by type:$this
.... performed[x]:performedDateTime 0..0 When the procedure was performed
.... performed[x]:performedString 0..0 When the procedure was performed
... recorder 0..0 Who recorded the procedure
... asserter 0..0 Person who asserts this procedure
... location 0..0 Where the procedure happened
... reasonReference 0..0 The justification that the procedure was performed
... bodySite 0..0 Target body sites
... outcome 0..0 The result of procedure
... report 0..0 Any report resulting from the procedure
... complication 0..0 Complication following the procedure
... complicationDetail 0..0 A condition that is a result of the procedure
... followUp 0..0 Instructions for follow up
... note 0..0 Additional information about the procedure
... focalDevice 0..0 Manipulated, implanted, or removed device
... usedReference 0..0 Items used during procedure
... usedCode 0..0 Coded items used during the procedure

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* Procedure An action that is being or was performed on a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... 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
... identifier Σ 0..* Identifier External Identifiers for this procedure
... status ?!Σ 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): A code specifying the state of the procedure.
... statusReason Σ 0..1 CodeableConcept 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 Σ 0..1 CodeableConcept Identification of the procedure
Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
... subject Σ 1..1 Reference(Patient) Who the procedure was performed on
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... Slices for performed[x] Σ 0..1 When the procedure was performed
Slice: Unordered, Open by type:$this
.... performedPeriod Period
.... performedAge Age
.... performedRange Range
... 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
... reasonCode Σ 0..* CodeableConcept Coded reason procedure performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.

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.category Base example Procedure Category Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.performer.​function Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
Procedure.reasonCode Base example Procedure Reason Codes 📍4.0.1 FHIR Std.
Procedure.focalDevice.​action Base preferred Procedure Device Action Codes 📍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()

This structure is derived from Procedure

Summary

Prohibited: 24 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Procedure.performed[x]

 

Other representations of profile: CSV, Excel, Schematron