EU Imaging Report R5
1.0.0-ballot - ci-build 150

EU Imaging Report R5, published by HL7 Europe. 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-eu/imaging-r5/ and changes regularly. See the Directory of published versions

Resource Profile: Procedure: Imaging Acquisition

Official URL: http://hl7.eu/fhir/imaging-r5/StructureDefinition/ProcedureEuImaging Version: 1.0.0-ballot
Standards status: Draft Maturity Level: 1 Computable Name: ProcedureEuImaging

Copyright/Legal: Copyright HL7 Europe. Licensed under Creative Commons public domain (CC0 1.0).

This profile on Procedure represents the imaging procedure. In this DICOM this is referred as the 'Performed Procedure Step' (PPS). This profile is used to capture metadata about the imaging procedure itself.

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: doco
Procedure 0..* ProcedureEuCore An action that is being or was performed on an individual or entity
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.contained 0..* Resource Contained, inline Resources
Procedure.Slices for extension Content/Rules for all slices
Procedure.Slices for extension.extension:bodySite 0..1 (Complex) The target point for this procedure
URL: http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure
Procedure.Slices for extension.extension:bodySite.extension 0..0 Extension
Slice: Unordered, Open by value:url
Procedure.Slices for extension.extension:bodySite.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure"
Procedure.Slices for extension.extension:bodySite.value[x] 1..1 Reference(BodyStructure (EU core)) Value of extension
Procedure.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored
Procedure.status This element is a modifier element. This element is included in summaries. 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.
Procedure.code This element is included in summaries. 1..1 CodeableConcept Identification of the procedure
Binding: ValueSet: Imaging Procedure Type (extensible)
Procedure.subject This element is included in summaries. 1..1 Reference(Patient (EU core)) Individual or entity the procedure was performed on
Procedure.occurrence[x] This element is included in summaries. 1..1 When the procedure occurred or is occurring
Procedure.occurrence[x].occurrenceDateTime dateTime
Procedure.occurrence[x].occurrencePeriod Period
Procedure.occurrence[x].occurrenceString string
Procedure.occurrence[x].occurrenceAge Age
Procedure.occurrence[x].occurrenceRange Range
Procedure.occurrence[x].occurrenceTiming Timing
Procedure.Slices for performer This element is included in summaries. C 0..* BackboneElement Who performed the procedure and what they did
Slice: Unordered, Open by value:function
Constraints: prc-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Procedure.Slices for performer.performer:All Slices Content/Rules for all slices
Procedure.Slices for performer.performer:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.Slices for performer.performer:All Slices.function This element is included in summaries. 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.
Procedure.Slices for performer.performer:All Slices.actor This element is included in summaries. C 1..1 Reference(PractitionerRole (EU core) | Practitioner (EU core) | Device | Patient (EU core) | RelatedPerson | Organization (EU core)) Who performed the procedure
Procedure.Slices for performer.performer:performer This element is included in summaries. C 0..* BackboneElement Who performed the procedure and what they did
Constraints: prc-1
Procedure.Slices for performer.performer: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.Slices for performer.performer: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.
Required Pattern: At least the following
Procedure.Slices for performer.performer:performer.function.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:performer.function.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:performer.function.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Procedure.Slices for performer.performer:performer.function.coding.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:performer.function.coding.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:performer.function.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
Procedure.Slices for performer.performer:performer.function.coding.version 0..1 string Version of the system - if relevant
Procedure.Slices for performer.performer:performer.function.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: 223366009
Procedure.Slices for performer.performer:performer.function.coding.display 0..1 string Representation defined by the system
Procedure.Slices for performer.performer:performer.function.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Procedure.Slices for performer.performer:performer.function.text 0..1 string Plain text representation of the concept
Procedure.Slices for performer.performer:performer.actor This element is included in summaries. C 1..1 Reference(PractitionerRole (EU core)) Who performed the procedure
Procedure.Slices for performer.performer:imaging-device This element is included in summaries. C 0..* BackboneElement Who performed the procedure and what they did
Constraints: prc-1
Procedure.Slices for performer.performer:imaging-device.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.Slices for performer.performer:imaging-device.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.
Required Pattern: At least the following
Procedure.Slices for performer.performer:imaging-device.function.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:imaging-device.function.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:imaging-device.function.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Procedure.Slices for performer.performer:imaging-device.function.coding.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:imaging-device.function.coding.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:imaging-device.function.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
Procedure.Slices for performer.performer:imaging-device.function.coding.version 0..1 string Version of the system - if relevant
Procedure.Slices for performer.performer:imaging-device.function.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: 314789007
Procedure.Slices for performer.performer:imaging-device.function.coding.display 0..1 string Representation defined by the system
Procedure.Slices for performer.performer:imaging-device.function.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Procedure.Slices for performer.performer:imaging-device.function.text 0..1 string Plain text representation of the concept
Procedure.Slices for performer.performer:imaging-device.actor This element is included in summaries. C 1..1 Reference(Device: Imaging Device) Who performed the procedure

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.status Base required EventStatus 📍5.0.0 FHIR Std.
Procedure.code Base extensible ValueSet: Imaging Procedure Type 📦1.0.0-ballot This IG
Procedure.performer.​function Base example Procedure Performer Role Codes 📍5.0.0 FHIR Std.
Procedure.performer:performer.​function Base example Procedure Performer Role Codes 📍5.0.0 FHIR Std.
Procedure.performer:imaging-device.​function Base example Procedure Performer Role Codes 📍5.0.0 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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.performer, Procedure.performer:performer, Procedure.performer:imaging-device Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole onBehalfOf.exists() and actor.resolve().exists() implies actor.resolve().where($this is Practitioner or $this is PractitionerRole).empty()

This structure is derived from ProcedureEuCore

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure ProcedureEuCore
Procedure.code 1..1 CodeableConcept Identification of the procedure
Binding: ValueSet: Imaging Procedure Type (extensible)
Procedure.Slices for performer 0..* BackboneElement Who performed the procedure and what they did
Slice: Unordered, Open by value:function
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Procedure.Slices for performer.performer:All Slices Content/Rules for all slices
Procedure.Slices for performer.performer:All Slices.function 1..1 CodeableConcept Type of performance
Procedure.Slices for performer.performer:performer 0..* BackboneElement Who performed the procedure and what they did
Procedure.Slices for performer.performer:performer.function 0..1 CodeableConcept Type of performance
Required Pattern: At least the following
Procedure.Slices for performer.performer:performer.function.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Procedure.Slices for performer.performer:performer.function.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
Procedure.Slices for performer.performer:performer.function.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: 223366009
Procedure.Slices for performer.performer:performer.actor 1..1 Reference(PractitionerRole (EU core)) Who performed the procedure
Procedure.Slices for performer.performer:imaging-device 0..* BackboneElement Who performed the procedure and what they did
Procedure.Slices for performer.performer:imaging-device.function 0..1 CodeableConcept Type of performance
Required Pattern: At least the following
Procedure.Slices for performer.performer:imaging-device.function.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Procedure.Slices for performer.performer:imaging-device.function.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
Procedure.Slices for performer.performer:imaging-device.function.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: 314789007
Procedure.Slices for performer.performer:imaging-device.actor 1..1 Reference(Device: Imaging Device) Who performed the procedure

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Procedure.code Base extensible ValueSet: Imaging Procedure Type 📦1.0.0-ballot This IG
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* ProcedureEuCore An action that is being or was performed on an individual or entity
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: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
Procedure.text 0..1 Narrative Textual representation of the procedur
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:bodySite 0..1 (Complex) The target point for this procedure
URL: http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure
Procedure.Slices for extension.extension:bodySite.id 0..1 id Unique id for inter-element referencing
Procedure.Slices for extension.extension:bodySite.extension 0..0 Extension
Slice: Unordered, Open by value:url
Procedure.Slices for extension.extension:bodySite.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure"
Procedure.Slices for extension.extension:bodySite.value[x] 1..1 Reference(BodyStructure (EU core)) Value of extension
Procedure.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored
Procedure.identifier This element is included in summaries. 0..* Identifier Identifier for the 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(CarePlan | ServiceRequest) 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 is included in summaries. 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.
Procedure.statusReason This element is included in summaries. 0..1 CodeableConcept Reason for current status
Binding: ProcedureNotPerformedReasonSNOMEDCT (example): A code that identifies the reason a procedure was not performed.
Procedure.category This element is included in summaries. 0..* CodeableConcept Classification of the procedure
Binding: ProcedureCategoryCodesSNOMEDCT (example): A code that classifies a procedure for searching, sorting and display purposes.
Procedure.code This element is included in summaries. 1..1 CodeableConcept Identification of the procedure
Binding: ValueSet: Imaging Procedure Type (extensible)
Procedure.subject This element is included in summaries. 1..1 Reference(Patient (EU core)) Individual or entity the procedure was performed on
Procedure.focus This element is included in summaries. 0..1 Reference(Patient | Group | RelatedPerson | Practitioner | Organization | CareTeam | PractitionerRole | Specimen) Who is the target of the procedure when it is not the subject of record only
Procedure.encounter This element is included in summaries. 0..1 Reference(Encounter) The Encounter during which this Procedure was created
Procedure.occurrence[x] This element is included in summaries. 1..1 When the procedure occurred or is occurring
Procedure.occurrence[x].occurrenceDateTime dateTime
Procedure.occurrence[x].occurrencePeriod Period
Procedure.occurrence[x].occurrenceString string
Procedure.occurrence[x].occurrenceAge Age
Procedure.occurrence[x].occurrenceRange Range
Procedure.occurrence[x].occurrenceTiming Timing
Procedure.recorded This element is included in summaries. 0..1 dateTime When the procedure was first captured in the subject's record
Procedure.recorder This element is included in summaries. 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
Procedure.reported[x] This element is included in summaries. 0..1 Reported rather than primary record
Procedure.reported[x].reportedBoolean boolean
Procedure.reported[x].reportedReference Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)
Procedure.Slices for performer This element is included in summaries. C 0..* BackboneElement Who performed the procedure and what they did
Slice: Unordered, Open by value:function
Constraints: prc-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Procedure.Slices for performer.performer:All Slices Content/Rules for all slices
Procedure.Slices for performer.performer:All Slices.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:All Slices.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.Slices for performer.performer:All Slices.function This element is included in summaries. 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.
Procedure.Slices for performer.performer:All Slices.actor This element is included in summaries. C 1..1 Reference(PractitionerRole (EU core) | Practitioner (EU core) | Device | Patient (EU core) | RelatedPerson | Organization (EU core)) Who performed the procedure
Procedure.Slices for performer.performer:All Slices.onBehalfOf C 0..1 Reference(Organization (EU core)) Organization the device or practitioner was acting for
Procedure.Slices for performer.performer:All Slices.period 0..1 Period When the performer performed the procedure
Procedure.Slices for performer.performer:performer This element is included in summaries. C 0..* BackboneElement Who performed the procedure and what they did
Constraints: prc-1
Procedure.Slices for performer.performer:performer.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:performer.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer: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.Slices for performer.performer: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.
Required Pattern: At least the following
Procedure.Slices for performer.performer:performer.function.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:performer.function.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:performer.function.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Procedure.Slices for performer.performer:performer.function.coding.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:performer.function.coding.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:performer.function.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
Procedure.Slices for performer.performer:performer.function.coding.version 0..1 string Version of the system - if relevant
Procedure.Slices for performer.performer:performer.function.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: 223366009
Procedure.Slices for performer.performer:performer.function.coding.display 0..1 string Representation defined by the system
Procedure.Slices for performer.performer:performer.function.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Procedure.Slices for performer.performer:performer.function.text 0..1 string Plain text representation of the concept
Procedure.Slices for performer.performer:performer.actor This element is included in summaries. C 1..1 Reference(PractitionerRole (EU core)) Who performed the procedure
Procedure.Slices for performer.performer:performer.onBehalfOf C 0..1 Reference(Organization (EU core)) Organization the device or practitioner was acting for
Procedure.Slices for performer.performer:performer.period 0..1 Period When the performer performed the procedure
Procedure.Slices for performer.performer:imaging-device This element is included in summaries. C 0..* BackboneElement Who performed the procedure and what they did
Constraints: prc-1
Procedure.Slices for performer.performer:imaging-device.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:imaging-device.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:imaging-device.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.Slices for performer.performer:imaging-device.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.
Required Pattern: At least the following
Procedure.Slices for performer.performer:imaging-device.function.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:imaging-device.function.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:imaging-device.function.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Procedure.Slices for performer.performer:imaging-device.function.coding.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:imaging-device.function.coding.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:imaging-device.function.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
Procedure.Slices for performer.performer:imaging-device.function.coding.version 0..1 string Version of the system - if relevant
Procedure.Slices for performer.performer:imaging-device.function.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: 314789007
Procedure.Slices for performer.performer:imaging-device.function.coding.display 0..1 string Representation defined by the system
Procedure.Slices for performer.performer:imaging-device.function.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Procedure.Slices for performer.performer:imaging-device.function.text 0..1 string Plain text representation of the concept
Procedure.Slices for performer.performer:imaging-device.actor This element is included in summaries. C 1..1 Reference(Device: Imaging Device) Who performed the procedure
Procedure.Slices for performer.performer:imaging-device.onBehalfOf C 0..1 Reference(Organization (EU core)) Organization the device or practitioner was acting for
Procedure.Slices for performer.performer:imaging-device.period 0..1 Period When the performer performed the procedure
Procedure.location This element is included in summaries. 0..1 Reference(Location) Where the procedure happened
Procedure.reason This element is included in summaries. 0..* CodeableReference(Condition (EU core) | Observation | Procedure (EU core) | DiagnosticReport | DocumentReference) Why the procedure was performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.
Procedure.bodySite This element is included in summaries. 0..* CodeableConcept Target body sites
Binding: SNOMEDCTBodyStructures (preferred)
Procedure.bodySite.id 0..1 id Unique id for inter-element referencing
Procedure.bodySite.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.bodySite.Slices for extension.extension:bodySite 0..1 (Complex) Target anatomic location or structure
URL: http://hl7.org/fhir/StructureDefinition/bodySite
Procedure.bodySite.Slices for extension.extension:bodySite.id 0..1 id Unique id for inter-element referencing
Procedure.bodySite.Slices for extension.extension:bodySite.extension 0..0 Extension
Slice: Unordered, Open by value:url
Procedure.bodySite.Slices for extension.extension:bodySite.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/bodySite"
Procedure.bodySite.Slices for extension.extension:bodySite.value[x] 1..1 Reference(BodyStructure (EU core)) Value of extension
Procedure.bodySite.coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Procedure.bodySite.text This element is included in summaries. 0..1 string Plain text representation of the concept
Procedure.outcome This element is included in summaries. 0..1 CodeableConcept Outcome of the procedure
Binding: ProcedureOutcomeCodesSNOMEDCT (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..* CodeableReference(Condition (EU core)) Complication following the procedure
Binding: ConditionProblemDiagnosisCodes (example): Codes describing complications that resulted from a procedure.
Procedure.followUp 0..* CodeableConcept Instructions for follow up
Binding: ProcedureFollowUpCodesSNOMEDCT (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 Device implanted, removed or otherwise manipulated
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.used 0..* CodeableReference(Device | Medication (EU core) | Substance | BiologicallyDerivedProduct) Device used to perform the procedure
Binding: DeviceType (example): Codes describing items used during a procedure.
Procedure.supportingInfo 0..* Reference(Resource) Extra information relevant to the procedure

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.language Base required All Languages 📍5.0.0 FHIR Std.
Procedure.status Base required EventStatus 📍5.0.0 FHIR Std.
Procedure.statusReason Base example Procedure Not Performed Reason (SNOMED-CT) 📍5.0.0 FHIR Std.
Procedure.category Base example Procedure Category Codes (SNOMED CT) 📍5.0.0 FHIR Std.
Procedure.code Base extensible ValueSet: Imaging Procedure Type 📦1.0.0-ballot This IG
Procedure.performer.​function Base example Procedure Performer Role Codes 📍5.0.0 FHIR Std.
Procedure.performer:performer.​function Base example Procedure Performer Role Codes 📍5.0.0 FHIR Std.
Procedure.performer:imaging-device.​function Base example Procedure Performer Role Codes 📍5.0.0 FHIR Std.
Procedure.reason Base example Procedure Reason Codes 📍5.0.0 FHIR Std.
Procedure.bodySite Base preferred SNOMED CT Body Structures 📦5.0.0 FHIR Std.
Procedure.outcome Base example Procedure Outcome Codes (SNOMED CT) 📍5.0.0 FHIR Std.
Procedure.complication Base example Condition/Problem/Diagnosis Codes 📍5.0.0 FHIR Std.
Procedure.followUp Base example Procedure Follow up Codes (SNOMED CT) 📍5.0.0 FHIR Std.
Procedure.focalDevice.​action Base preferred Procedure Device Action Codes 📍5.0.0 FHIR Std.
Procedure.used Base example Device Type 📍5.0.0 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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.performer, Procedure.performer:performer, Procedure.performer:imaging-device Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole onBehalfOf.exists() and actor.resolve().exists() implies actor.resolve().where($this is Practitioner or $this is PractitionerRole).empty()

This structure is derived from ProcedureEuCore

Summary

Mandatory: 0 element(1 nested mandatory element)

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.performer

Maturity: 1

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* ProcedureEuCore An action that is being or was performed on an individual or entity
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.contained 0..* Resource Contained, inline Resources
Procedure.Slices for extension Content/Rules for all slices
Procedure.Slices for extension.extension:bodySite 0..1 (Complex) The target point for this procedure
URL: http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure
Procedure.Slices for extension.extension:bodySite.extension 0..0 Extension
Slice: Unordered, Open by value:url
Procedure.Slices for extension.extension:bodySite.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure"
Procedure.Slices for extension.extension:bodySite.value[x] 1..1 Reference(BodyStructure (EU core)) Value of extension
Procedure.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored
Procedure.status This element is a modifier element. This element is included in summaries. 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.
Procedure.code This element is included in summaries. 1..1 CodeableConcept Identification of the procedure
Binding: ValueSet: Imaging Procedure Type (extensible)
Procedure.subject This element is included in summaries. 1..1 Reference(Patient (EU core)) Individual or entity the procedure was performed on
Procedure.occurrence[x] This element is included in summaries. 1..1 When the procedure occurred or is occurring
Procedure.occurrence[x].occurrenceDateTime dateTime
Procedure.occurrence[x].occurrencePeriod Period
Procedure.occurrence[x].occurrenceString string
Procedure.occurrence[x].occurrenceAge Age
Procedure.occurrence[x].occurrenceRange Range
Procedure.occurrence[x].occurrenceTiming Timing
Procedure.Slices for performer This element is included in summaries. C 0..* BackboneElement Who performed the procedure and what they did
Slice: Unordered, Open by value:function
Constraints: prc-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Procedure.Slices for performer.performer:All Slices Content/Rules for all slices
Procedure.Slices for performer.performer:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.Slices for performer.performer:All Slices.function This element is included in summaries. 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.
Procedure.Slices for performer.performer:All Slices.actor This element is included in summaries. C 1..1 Reference(PractitionerRole (EU core) | Practitioner (EU core) | Device | Patient (EU core) | RelatedPerson | Organization (EU core)) Who performed the procedure
Procedure.Slices for performer.performer:performer This element is included in summaries. C 0..* BackboneElement Who performed the procedure and what they did
Constraints: prc-1
Procedure.Slices for performer.performer: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.Slices for performer.performer: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.
Required Pattern: At least the following
Procedure.Slices for performer.performer:performer.function.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:performer.function.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:performer.function.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Procedure.Slices for performer.performer:performer.function.coding.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:performer.function.coding.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:performer.function.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
Procedure.Slices for performer.performer:performer.function.coding.version 0..1 string Version of the system - if relevant
Procedure.Slices for performer.performer:performer.function.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: 223366009
Procedure.Slices for performer.performer:performer.function.coding.display 0..1 string Representation defined by the system
Procedure.Slices for performer.performer:performer.function.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Procedure.Slices for performer.performer:performer.function.text 0..1 string Plain text representation of the concept
Procedure.Slices for performer.performer:performer.actor This element is included in summaries. C 1..1 Reference(PractitionerRole (EU core)) Who performed the procedure
Procedure.Slices for performer.performer:imaging-device This element is included in summaries. C 0..* BackboneElement Who performed the procedure and what they did
Constraints: prc-1
Procedure.Slices for performer.performer:imaging-device.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.Slices for performer.performer:imaging-device.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.
Required Pattern: At least the following
Procedure.Slices for performer.performer:imaging-device.function.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:imaging-device.function.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:imaging-device.function.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Procedure.Slices for performer.performer:imaging-device.function.coding.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:imaging-device.function.coding.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:imaging-device.function.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
Procedure.Slices for performer.performer:imaging-device.function.coding.version 0..1 string Version of the system - if relevant
Procedure.Slices for performer.performer:imaging-device.function.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: 314789007
Procedure.Slices for performer.performer:imaging-device.function.coding.display 0..1 string Representation defined by the system
Procedure.Slices for performer.performer:imaging-device.function.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Procedure.Slices for performer.performer:imaging-device.function.text 0..1 string Plain text representation of the concept
Procedure.Slices for performer.performer:imaging-device.actor This element is included in summaries. C 1..1 Reference(Device: Imaging Device) Who performed the procedure

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.status Base required EventStatus 📍5.0.0 FHIR Std.
Procedure.code Base extensible ValueSet: Imaging Procedure Type 📦1.0.0-ballot This IG
Procedure.performer.​function Base example Procedure Performer Role Codes 📍5.0.0 FHIR Std.
Procedure.performer:performer.​function Base example Procedure Performer Role Codes 📍5.0.0 FHIR Std.
Procedure.performer:imaging-device.​function Base example Procedure Performer Role Codes 📍5.0.0 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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.performer, Procedure.performer:performer, Procedure.performer:imaging-device Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole onBehalfOf.exists() and actor.resolve().exists() implies actor.resolve().where($this is Practitioner or $this is PractitionerRole).empty()

Differential View

This structure is derived from ProcedureEuCore

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure ProcedureEuCore
Procedure.code 1..1 CodeableConcept Identification of the procedure
Binding: ValueSet: Imaging Procedure Type (extensible)
Procedure.Slices for performer 0..* BackboneElement Who performed the procedure and what they did
Slice: Unordered, Open by value:function
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Procedure.Slices for performer.performer:All Slices Content/Rules for all slices
Procedure.Slices for performer.performer:All Slices.function 1..1 CodeableConcept Type of performance
Procedure.Slices for performer.performer:performer 0..* BackboneElement Who performed the procedure and what they did
Procedure.Slices for performer.performer:performer.function 0..1 CodeableConcept Type of performance
Required Pattern: At least the following
Procedure.Slices for performer.performer:performer.function.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Procedure.Slices for performer.performer:performer.function.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
Procedure.Slices for performer.performer:performer.function.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: 223366009
Procedure.Slices for performer.performer:performer.actor 1..1 Reference(PractitionerRole (EU core)) Who performed the procedure
Procedure.Slices for performer.performer:imaging-device 0..* BackboneElement Who performed the procedure and what they did
Procedure.Slices for performer.performer:imaging-device.function 0..1 CodeableConcept Type of performance
Required Pattern: At least the following
Procedure.Slices for performer.performer:imaging-device.function.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Procedure.Slices for performer.performer:imaging-device.function.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
Procedure.Slices for performer.performer:imaging-device.function.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: 314789007
Procedure.Slices for performer.performer:imaging-device.actor 1..1 Reference(Device: Imaging Device) Who performed the procedure

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Procedure.code Base extensible ValueSet: Imaging Procedure Type 📦1.0.0-ballot This IG

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* ProcedureEuCore An action that is being or was performed on an individual or entity
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: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
Procedure.text 0..1 Narrative Textual representation of the procedur
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:bodySite 0..1 (Complex) The target point for this procedure
URL: http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure
Procedure.Slices for extension.extension:bodySite.id 0..1 id Unique id for inter-element referencing
Procedure.Slices for extension.extension:bodySite.extension 0..0 Extension
Slice: Unordered, Open by value:url
Procedure.Slices for extension.extension:bodySite.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure"
Procedure.Slices for extension.extension:bodySite.value[x] 1..1 Reference(BodyStructure (EU core)) Value of extension
Procedure.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored
Procedure.identifier This element is included in summaries. 0..* Identifier Identifier for the 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(CarePlan | ServiceRequest) 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 is included in summaries. 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.
Procedure.statusReason This element is included in summaries. 0..1 CodeableConcept Reason for current status
Binding: ProcedureNotPerformedReasonSNOMEDCT (example): A code that identifies the reason a procedure was not performed.
Procedure.category This element is included in summaries. 0..* CodeableConcept Classification of the procedure
Binding: ProcedureCategoryCodesSNOMEDCT (example): A code that classifies a procedure for searching, sorting and display purposes.
Procedure.code This element is included in summaries. 1..1 CodeableConcept Identification of the procedure
Binding: ValueSet: Imaging Procedure Type (extensible)
Procedure.subject This element is included in summaries. 1..1 Reference(Patient (EU core)) Individual or entity the procedure was performed on
Procedure.focus This element is included in summaries. 0..1 Reference(Patient | Group | RelatedPerson | Practitioner | Organization | CareTeam | PractitionerRole | Specimen) Who is the target of the procedure when it is not the subject of record only
Procedure.encounter This element is included in summaries. 0..1 Reference(Encounter) The Encounter during which this Procedure was created
Procedure.occurrence[x] This element is included in summaries. 1..1 When the procedure occurred or is occurring
Procedure.occurrence[x].occurrenceDateTime dateTime
Procedure.occurrence[x].occurrencePeriod Period
Procedure.occurrence[x].occurrenceString string
Procedure.occurrence[x].occurrenceAge Age
Procedure.occurrence[x].occurrenceRange Range
Procedure.occurrence[x].occurrenceTiming Timing
Procedure.recorded This element is included in summaries. 0..1 dateTime When the procedure was first captured in the subject's record
Procedure.recorder This element is included in summaries. 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
Procedure.reported[x] This element is included in summaries. 0..1 Reported rather than primary record
Procedure.reported[x].reportedBoolean boolean
Procedure.reported[x].reportedReference Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)
Procedure.Slices for performer This element is included in summaries. C 0..* BackboneElement Who performed the procedure and what they did
Slice: Unordered, Open by value:function
Constraints: prc-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Procedure.Slices for performer.performer:All Slices Content/Rules for all slices
Procedure.Slices for performer.performer:All Slices.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:All Slices.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.Slices for performer.performer:All Slices.function This element is included in summaries. 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.
Procedure.Slices for performer.performer:All Slices.actor This element is included in summaries. C 1..1 Reference(PractitionerRole (EU core) | Practitioner (EU core) | Device | Patient (EU core) | RelatedPerson | Organization (EU core)) Who performed the procedure
Procedure.Slices for performer.performer:All Slices.onBehalfOf C 0..1 Reference(Organization (EU core)) Organization the device or practitioner was acting for
Procedure.Slices for performer.performer:All Slices.period 0..1 Period When the performer performed the procedure
Procedure.Slices for performer.performer:performer This element is included in summaries. C 0..* BackboneElement Who performed the procedure and what they did
Constraints: prc-1
Procedure.Slices for performer.performer:performer.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:performer.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer: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.Slices for performer.performer: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.
Required Pattern: At least the following
Procedure.Slices for performer.performer:performer.function.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:performer.function.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:performer.function.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Procedure.Slices for performer.performer:performer.function.coding.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:performer.function.coding.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:performer.function.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
Procedure.Slices for performer.performer:performer.function.coding.version 0..1 string Version of the system - if relevant
Procedure.Slices for performer.performer:performer.function.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: 223366009
Procedure.Slices for performer.performer:performer.function.coding.display 0..1 string Representation defined by the system
Procedure.Slices for performer.performer:performer.function.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Procedure.Slices for performer.performer:performer.function.text 0..1 string Plain text representation of the concept
Procedure.Slices for performer.performer:performer.actor This element is included in summaries. C 1..1 Reference(PractitionerRole (EU core)) Who performed the procedure
Procedure.Slices for performer.performer:performer.onBehalfOf C 0..1 Reference(Organization (EU core)) Organization the device or practitioner was acting for
Procedure.Slices for performer.performer:performer.period 0..1 Period When the performer performed the procedure
Procedure.Slices for performer.performer:imaging-device This element is included in summaries. C 0..* BackboneElement Who performed the procedure and what they did
Constraints: prc-1
Procedure.Slices for performer.performer:imaging-device.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:imaging-device.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:imaging-device.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.Slices for performer.performer:imaging-device.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.
Required Pattern: At least the following
Procedure.Slices for performer.performer:imaging-device.function.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:imaging-device.function.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:imaging-device.function.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Procedure.Slices for performer.performer:imaging-device.function.coding.id 0..1 string Unique id for inter-element referencing
Procedure.Slices for performer.performer:imaging-device.function.coding.extension 0..* Extension Additional content defined by implementations
Procedure.Slices for performer.performer:imaging-device.function.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
Procedure.Slices for performer.performer:imaging-device.function.coding.version 0..1 string Version of the system - if relevant
Procedure.Slices for performer.performer:imaging-device.function.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: 314789007
Procedure.Slices for performer.performer:imaging-device.function.coding.display 0..1 string Representation defined by the system
Procedure.Slices for performer.performer:imaging-device.function.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Procedure.Slices for performer.performer:imaging-device.function.text 0..1 string Plain text representation of the concept
Procedure.Slices for performer.performer:imaging-device.actor This element is included in summaries. C 1..1 Reference(Device: Imaging Device) Who performed the procedure
Procedure.Slices for performer.performer:imaging-device.onBehalfOf C 0..1 Reference(Organization (EU core)) Organization the device or practitioner was acting for
Procedure.Slices for performer.performer:imaging-device.period 0..1 Period When the performer performed the procedure
Procedure.location This element is included in summaries. 0..1 Reference(Location) Where the procedure happened
Procedure.reason This element is included in summaries. 0..* CodeableReference(Condition (EU core) | Observation | Procedure (EU core) | DiagnosticReport | DocumentReference) Why the procedure was performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.
Procedure.bodySite This element is included in summaries. 0..* CodeableConcept Target body sites
Binding: SNOMEDCTBodyStructures (preferred)
Procedure.bodySite.id 0..1 id Unique id for inter-element referencing
Procedure.bodySite.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.bodySite.Slices for extension.extension:bodySite 0..1 (Complex) Target anatomic location or structure
URL: http://hl7.org/fhir/StructureDefinition/bodySite
Procedure.bodySite.Slices for extension.extension:bodySite.id 0..1 id Unique id for inter-element referencing
Procedure.bodySite.Slices for extension.extension:bodySite.extension 0..0 Extension
Slice: Unordered, Open by value:url
Procedure.bodySite.Slices for extension.extension:bodySite.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/bodySite"
Procedure.bodySite.Slices for extension.extension:bodySite.value[x] 1..1 Reference(BodyStructure (EU core)) Value of extension
Procedure.bodySite.coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Procedure.bodySite.text This element is included in summaries. 0..1 string Plain text representation of the concept
Procedure.outcome This element is included in summaries. 0..1 CodeableConcept Outcome of the procedure
Binding: ProcedureOutcomeCodesSNOMEDCT (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..* CodeableReference(Condition (EU core)) Complication following the procedure
Binding: ConditionProblemDiagnosisCodes (example): Codes describing complications that resulted from a procedure.
Procedure.followUp 0..* CodeableConcept Instructions for follow up
Binding: ProcedureFollowUpCodesSNOMEDCT (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 Device implanted, removed or otherwise manipulated
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.used 0..* CodeableReference(Device | Medication (EU core) | Substance | BiologicallyDerivedProduct) Device used to perform the procedure
Binding: DeviceType (example): Codes describing items used during a procedure.
Procedure.supportingInfo 0..* Reference(Resource) Extra information relevant to the procedure

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.language Base required All Languages 📍5.0.0 FHIR Std.
Procedure.status Base required EventStatus 📍5.0.0 FHIR Std.
Procedure.statusReason Base example Procedure Not Performed Reason (SNOMED-CT) 📍5.0.0 FHIR Std.
Procedure.category Base example Procedure Category Codes (SNOMED CT) 📍5.0.0 FHIR Std.
Procedure.code Base extensible ValueSet: Imaging Procedure Type 📦1.0.0-ballot This IG
Procedure.performer.​function Base example Procedure Performer Role Codes 📍5.0.0 FHIR Std.
Procedure.performer:performer.​function Base example Procedure Performer Role Codes 📍5.0.0 FHIR Std.
Procedure.performer:imaging-device.​function Base example Procedure Performer Role Codes 📍5.0.0 FHIR Std.
Procedure.reason Base example Procedure Reason Codes 📍5.0.0 FHIR Std.
Procedure.bodySite Base preferred SNOMED CT Body Structures 📦5.0.0 FHIR Std.
Procedure.outcome Base example Procedure Outcome Codes (SNOMED CT) 📍5.0.0 FHIR Std.
Procedure.complication Base example Condition/Problem/Diagnosis Codes 📍5.0.0 FHIR Std.
Procedure.followUp Base example Procedure Follow up Codes (SNOMED CT) 📍5.0.0 FHIR Std.
Procedure.focalDevice.​action Base preferred Procedure Device Action Codes 📍5.0.0 FHIR Std.
Procedure.used Base example Device Type 📍5.0.0 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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.performer, Procedure.performer:performer, Procedure.performer:imaging-device Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole onBehalfOf.exists() and actor.resolve().exists() implies actor.resolve().where($this is Practitioner or $this is PractitionerRole).empty()

This structure is derived from ProcedureEuCore

Summary

Mandatory: 0 element(1 nested mandatory element)

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.performer

Maturity: 1

 

Other representations of profile: CSV, Excel, Schematron