HL7 Europe Imaging Study Report
0.1.0-ballot - ci-build 150

This page is part of the HL7 Europe Imaging Study Report (v0.1.0-ballot: STU 1 Ballot 1) based on FHIR (HL7® FHIR® Standard) v5.0.0. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: IM Imaging Procedure

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

Copyright/Legal: Used by permission of HL7 Europe, all rights reserved Creative Commons License

This profile on Procedure represents the imaging procedure.

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* ProcedureEu An action that is being or was performed on an individual or entity
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... code Σ 1..1 CodeableConcept Identification of the procedure
Binding: Imaging Procedure Type (extensible)
ele-1: All FHIR elements must have a @value or children
... subject Σ 1..1 Reference(Patient (EU base)) Individual or entity the procedure was performed on
ele-1: All FHIR elements must have a @value or children
... Slices for performer ΣC 0..* BackboneElement Who performed the procedure and what they did
Slice: Unordered, Open by value:function
ele-1: All FHIR elements must have a @value or children
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
.... performer:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... function Σ 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.


ele-1: All FHIR elements must have a @value or children
..... actor ΣC 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService) Who performed the procedure
ele-1: All FHIR elements must have a @value or children
.... performer:performer ΣC 0..* BackboneElement Who performed the procedure and what they did
ele-1: All FHIR elements must have a @value or children
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... function Σ 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.


ele-1: All FHIR elements must have a @value or children
...... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:""$this""
ele-1: All FHIR elements must have a @value or children
....... coding:healthcare-professional Σ 0..1 Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children

Required Pattern: At least the following
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: 223366009
........ display 1..1 string Representation defined by the system
Fixed Value: Healthcare professional
..... actor ΣC 1..1 Reference(PractitionerRole (EU base)) Who performed the procedure
ele-1: All FHIR elements must have a @value or children
.... performer:imaging-device ΣC 0..* BackboneElement Who performed the procedure and what they did
ele-1: All FHIR elements must have a @value or children
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... function Σ 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.


ele-1: All FHIR elements must have a @value or children
...... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:""$this""
ele-1: All FHIR elements must have a @value or children
....... coding:imaging-equipment Σ 0..1 Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children

Required Pattern: At least the following
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: 314789007
........ display 1..1 string Representation defined by the system
Fixed Value: Diagnostic imaging equipment
..... actor ΣC 1..1 Reference(Im Imaging Device) Who performed the procedure
ele-1: All FHIR elements must have a @value or children
... Slices for used 0..* CodeableReference(Device | Medication | Substance | BiologicallyDerivedProduct) Items used during procedure
Slice: Unordered, Open by type:concept
Binding: DeviceType (example): Codes describing items used during a procedure.


ele-1: All FHIR elements must have a @value or children
.... used:device 0..1 CodeableReference(Device) Items used during procedure
Binding: DeviceType (example): Codes describing items used during a procedure.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|5.0.0
from the FHIR Standard
Procedure.codeextensibleImProcedureType
http://hl7.eu/fhir/imaging-r5/ValueSet/im-procedure-type
from this IG
Procedure.performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.performer:performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.performer:imaging-device.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.usedexampleDeviceType
http://hl7.org/fhir/ValueSet/device-type
from the FHIR Standard
Procedure.used:deviceexampleDeviceType
http://hl7.org/fhir/ValueSet/device-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().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-4errorProcedureIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prc-1errorProcedure.performer, Procedure.performer:performer, Procedure.performer:imaging-deviceProcedure.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 ProcedureEu

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure ProcedureEu
... code 1..1 CodeableConcept Identification of the procedure
Binding: Imaging Procedure Type (extensible)
... Slices for performer 0..* BackboneElement Who performed the procedure and what they did
Slice: Unordered, Open by value:function
.... performer:All Slices Content/Rules for all slices
..... function 1..1 CodeableConcept Type of performance
.... performer:performer 0..* BackboneElement Who performed the procedure and what they did
..... function
...... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:""$this""
....... coding:healthcare-professional 0..1 Coding Code defined by a terminology system
Required Pattern: At least the following
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: 223366009
........ display 1..1 string Representation defined by the system
Fixed Value: Healthcare professional
..... actor 1..1 Reference(PractitionerRole (EU base)) Who performed the procedure
.... performer:imaging-device 0..* BackboneElement Who performed the procedure and what they did
..... function
...... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:""$this""
....... coding:imaging-equipment 0..1 Coding Code defined by a terminology system
Required Pattern: At least the following
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: 314789007
........ display 1..1 string Representation defined by the system
Fixed Value: Diagnostic imaging equipment
..... actor 1..1 Reference(Im Imaging Device) Who performed the procedure

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Procedure.codeextensibleImProcedureType
http://hl7.eu/fhir/imaging-r5/ValueSet/im-procedure-type
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* ProcedureEu An action that is being or was performed on an individual or entity
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Identifiers for this procedure
... instantiatesCanonical Σ 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn Σ 0..* Reference(CarePlan | ServiceRequest) A request for this procedure
... partOf Σ 0..* Reference(Procedure | Observation | MedicationAdministration) Part of referenced event
... 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: ProcedureNotPerformedReasonSNOMEDCT (example): A code that identifies the reason a procedure was not performed.

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


... code Σ 1..1 CodeableConcept Identification of the procedure
Binding: Imaging Procedure Type (extensible)
... subject Σ 1..1 Reference(Patient (EU base)) Individual or entity the procedure was performed on
... focus Σ 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
... encounter Σ 0..1 Reference(Encounter) The Encounter during which this Procedure was created
... occurrence[x] Σ 0..1 When the procedure occurred or is occurring
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceString string
.... occurrenceAge Age
.... occurrenceRange Range
.... occurrenceTiming Timing
... recorded Σ 0..1 dateTime When the procedure was first captured in the subject's record
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
... reported[x] Σ 0..1 Reported rather than primary record
.... reportedBoolean boolean
.... reportedReference Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)
... Slices for performer ΣC 0..* BackboneElement Who performed the procedure and what they did
Slice: Unordered, Open by value:function
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
.... performer:All Slices Content/Rules for all slices
..... 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 Σ 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

..... actor ΣC 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService) Who performed the procedure
..... onBehalfOf C 0..1 Reference(Organization) Organization the device or practitioner was acting for
..... period 0..1 Period When the performer performed the procedure
.... performer:performer ΣC 0..* BackboneElement Who performed the procedure and what they did
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
..... 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 Σ 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:""$this""
....... coding:healthcare-professional Σ 0..1 Coding Code defined by a terminology system

Required Pattern: At least the following
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
........ version 0..1 string Version of the system - if relevant
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: 223366009
........ display 1..1 string Representation defined by the system
Fixed Value: Healthcare professional
........ userSelected 0..1 boolean If this coding was chosen directly by the user
...... text Σ 0..1 string Plain text representation of the concept
..... actor ΣC 1..1 Reference(PractitionerRole (EU base)) Who performed the procedure
..... onBehalfOf C 0..1 Reference(Organization) Organization the device or practitioner was acting for
..... period 0..1 Period When the performer performed the procedure
.... performer:imaging-device ΣC 0..* BackboneElement Who performed the procedure and what they did
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
..... 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 Σ 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:""$this""
....... coding:imaging-equipment Σ 0..1 Coding Code defined by a terminology system

Required Pattern: At least the following
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
........ version 0..1 string Version of the system - if relevant
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: 314789007
........ display 1..1 string Representation defined by the system
Fixed Value: Diagnostic imaging equipment
........ userSelected 0..1 boolean If this coding was chosen directly by the user
...... text Σ 0..1 string Plain text representation of the concept
..... actor ΣC 1..1 Reference(Im Imaging Device) Who performed the procedure
..... onBehalfOf C 0..1 Reference(Organization) Organization the device or practitioner was acting for
..... period 0..1 Period When the performer performed the procedure
... location Σ 0..1 Reference(Location) Where the procedure happened
... reason Σ 0..* CodeableReference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) The justification that the procedure was performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.


... bodySite Σ 0..* CodeableConcept Target body sites
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts


.... id 0..1 id Unique id for inter-element referencing
.... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... extension:bodyStructure 0..1 Reference(BodyStructure) Target anatomic location or structure
URL: http://hl7.org/fhir/StructureDefinition/bodySite
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 0..1 string Plain text representation of the concept
... outcome Σ 0..1 CodeableConcept The result of procedure
Binding: ProcedureOutcomeCodesSNOMEDCT (example): An outcome of a procedure - whether it was resolved or otherwise.

... report 0..* Reference(DiagnosticReport | DocumentReference | Composition) Any report resulting from the procedure
... complication 0..* CodeableReference(Condition) Complication following the procedure
Binding: ConditionProblemDiagnosisCodes (example): Codes describing complications that resulted from a procedure.


... followUp 0..* CodeableConcept Instructions for follow up
Binding: ProcedureFollowUpCodesSNOMEDCT (example): Specific follow up required for a procedure e.g. removal of sutures.


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

.... manipulated 1..1 Reference(Device) Device that was changed
... Slices for used 0..* CodeableReference(Device | Medication | Substance | BiologicallyDerivedProduct) Items used during procedure
Slice: Unordered, Open by type:concept
Binding: DeviceType (example): Codes describing items used during a procedure.


.... used:device 0..1 CodeableReference(Device) Items used during procedure
Binding: DeviceType (example): Codes describing items used during a procedure.


... supportingInfo 0..* Reference(Resource) Extra information relevant to the procedure

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|5.0.0
from the FHIR Standard
Procedure.statusReasonexampleProcedureNotPerformedReasonSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-not-performed-reason
from the FHIR Standard
Procedure.categoryexampleProcedureCategoryCodesSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-category
from the FHIR Standard
Procedure.codeextensibleImProcedureType
http://hl7.eu/fhir/imaging-r5/ValueSet/im-procedure-type
from this IG
Procedure.performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.performer:performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.performer:imaging-device.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.reasonexampleProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
Procedure.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Procedure.outcomeexampleProcedureOutcomeCodesSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-outcome
from the FHIR Standard
Procedure.complicationexampleConditionProblemDiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
Procedure.followUpexampleProcedureFollowUpCodesSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-followup
from the FHIR Standard
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes
http://hl7.org/fhir/ValueSet/device-action
from the FHIR Standard
Procedure.usedexampleDeviceType
http://hl7.org/fhir/ValueSet/device-type
from the FHIR Standard
Procedure.used:deviceexampleDeviceType
http://hl7.org/fhir/ValueSet/device-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().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-4errorProcedureIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prc-1errorProcedure.performer, Procedure.performer:performer, Procedure.performer:imaging-deviceProcedure.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 ProcedureEu

Summary

Mandatory: 1 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
  • The element 1 is sliced based on the value of Procedure.performer.function.coding

Maturity: 1

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* ProcedureEu An action that is being or was performed on an individual or entity
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... code Σ 1..1 CodeableConcept Identification of the procedure
Binding: Imaging Procedure Type (extensible)
ele-1: All FHIR elements must have a @value or children
... subject Σ 1..1 Reference(Patient (EU base)) Individual or entity the procedure was performed on
ele-1: All FHIR elements must have a @value or children
... Slices for performer ΣC 0..* BackboneElement Who performed the procedure and what they did
Slice: Unordered, Open by value:function
ele-1: All FHIR elements must have a @value or children
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
.... performer:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... function Σ 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.


ele-1: All FHIR elements must have a @value or children
..... actor ΣC 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService) Who performed the procedure
ele-1: All FHIR elements must have a @value or children
.... performer:performer ΣC 0..* BackboneElement Who performed the procedure and what they did
ele-1: All FHIR elements must have a @value or children
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... function Σ 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.


ele-1: All FHIR elements must have a @value or children
...... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:""$this""
ele-1: All FHIR elements must have a @value or children
....... coding:healthcare-professional Σ 0..1 Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children

Required Pattern: At least the following
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: 223366009
........ display 1..1 string Representation defined by the system
Fixed Value: Healthcare professional
..... actor ΣC 1..1 Reference(PractitionerRole (EU base)) Who performed the procedure
ele-1: All FHIR elements must have a @value or children
.... performer:imaging-device ΣC 0..* BackboneElement Who performed the procedure and what they did
ele-1: All FHIR elements must have a @value or children
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... function Σ 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.


ele-1: All FHIR elements must have a @value or children
...... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:""$this""
ele-1: All FHIR elements must have a @value or children
....... coding:imaging-equipment Σ 0..1 Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children

Required Pattern: At least the following
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: 314789007
........ display 1..1 string Representation defined by the system
Fixed Value: Diagnostic imaging equipment
..... actor ΣC 1..1 Reference(Im Imaging Device) Who performed the procedure
ele-1: All FHIR elements must have a @value or children
... Slices for used 0..* CodeableReference(Device | Medication | Substance | BiologicallyDerivedProduct) Items used during procedure
Slice: Unordered, Open by type:concept
Binding: DeviceType (example): Codes describing items used during a procedure.


ele-1: All FHIR elements must have a @value or children
.... used:device 0..1 CodeableReference(Device) Items used during procedure
Binding: DeviceType (example): Codes describing items used during a procedure.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|5.0.0
from the FHIR Standard
Procedure.codeextensibleImProcedureType
http://hl7.eu/fhir/imaging-r5/ValueSet/im-procedure-type
from this IG
Procedure.performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.performer:performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.performer:imaging-device.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.usedexampleDeviceType
http://hl7.org/fhir/ValueSet/device-type
from the FHIR Standard
Procedure.used:deviceexampleDeviceType
http://hl7.org/fhir/ValueSet/device-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().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-4errorProcedureIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prc-1errorProcedure.performer, Procedure.performer:performer, Procedure.performer:imaging-deviceProcedure.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 ProcedureEu

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure ProcedureEu
... code 1..1 CodeableConcept Identification of the procedure
Binding: Imaging Procedure Type (extensible)
... Slices for performer 0..* BackboneElement Who performed the procedure and what they did
Slice: Unordered, Open by value:function
.... performer:All Slices Content/Rules for all slices
..... function 1..1 CodeableConcept Type of performance
.... performer:performer 0..* BackboneElement Who performed the procedure and what they did
..... function
...... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:""$this""
....... coding:healthcare-professional 0..1 Coding Code defined by a terminology system
Required Pattern: At least the following
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: 223366009
........ display 1..1 string Representation defined by the system
Fixed Value: Healthcare professional
..... actor 1..1 Reference(PractitionerRole (EU base)) Who performed the procedure
.... performer:imaging-device 0..* BackboneElement Who performed the procedure and what they did
..... function
...... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:""$this""
....... coding:imaging-equipment 0..1 Coding Code defined by a terminology system
Required Pattern: At least the following
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: 314789007
........ display 1..1 string Representation defined by the system
Fixed Value: Diagnostic imaging equipment
..... actor 1..1 Reference(Im Imaging Device) Who performed the procedure

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Procedure.codeextensibleImProcedureType
http://hl7.eu/fhir/imaging-r5/ValueSet/im-procedure-type
from this IG

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* ProcedureEu An action that is being or was performed on an individual or entity
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Identifiers for this procedure
... instantiatesCanonical Σ 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn Σ 0..* Reference(CarePlan | ServiceRequest) A request for this procedure
... partOf Σ 0..* Reference(Procedure | Observation | MedicationAdministration) Part of referenced event
... 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: ProcedureNotPerformedReasonSNOMEDCT (example): A code that identifies the reason a procedure was not performed.

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


... code Σ 1..1 CodeableConcept Identification of the procedure
Binding: Imaging Procedure Type (extensible)
... subject Σ 1..1 Reference(Patient (EU base)) Individual or entity the procedure was performed on
... focus Σ 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
... encounter Σ 0..1 Reference(Encounter) The Encounter during which this Procedure was created
... occurrence[x] Σ 0..1 When the procedure occurred or is occurring
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceString string
.... occurrenceAge Age
.... occurrenceRange Range
.... occurrenceTiming Timing
... recorded Σ 0..1 dateTime When the procedure was first captured in the subject's record
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
... reported[x] Σ 0..1 Reported rather than primary record
.... reportedBoolean boolean
.... reportedReference Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)
... Slices for performer ΣC 0..* BackboneElement Who performed the procedure and what they did
Slice: Unordered, Open by value:function
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
.... performer:All Slices Content/Rules for all slices
..... 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 Σ 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

..... actor ΣC 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService) Who performed the procedure
..... onBehalfOf C 0..1 Reference(Organization) Organization the device or practitioner was acting for
..... period 0..1 Period When the performer performed the procedure
.... performer:performer ΣC 0..* BackboneElement Who performed the procedure and what they did
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
..... 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 Σ 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:""$this""
....... coding:healthcare-professional Σ 0..1 Coding Code defined by a terminology system

Required Pattern: At least the following
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
........ version 0..1 string Version of the system - if relevant
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: 223366009
........ display 1..1 string Representation defined by the system
Fixed Value: Healthcare professional
........ userSelected 0..1 boolean If this coding was chosen directly by the user
...... text Σ 0..1 string Plain text representation of the concept
..... actor ΣC 1..1 Reference(PractitionerRole (EU base)) Who performed the procedure
..... onBehalfOf C 0..1 Reference(Organization) Organization the device or practitioner was acting for
..... period 0..1 Period When the performer performed the procedure
.... performer:imaging-device ΣC 0..* BackboneElement Who performed the procedure and what they did
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
..... 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 Σ 1..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:""$this""
....... coding:imaging-equipment Σ 0..1 Coding Code defined by a terminology system

Required Pattern: At least the following
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
........ version 0..1 string Version of the system - if relevant
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: 314789007
........ display 1..1 string Representation defined by the system
Fixed Value: Diagnostic imaging equipment
........ userSelected 0..1 boolean If this coding was chosen directly by the user
...... text Σ 0..1 string Plain text representation of the concept
..... actor ΣC 1..1 Reference(Im Imaging Device) Who performed the procedure
..... onBehalfOf C 0..1 Reference(Organization) Organization the device or practitioner was acting for
..... period 0..1 Period When the performer performed the procedure
... location Σ 0..1 Reference(Location) Where the procedure happened
... reason Σ 0..* CodeableReference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) The justification that the procedure was performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.


... bodySite Σ 0..* CodeableConcept Target body sites
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts


.... id 0..1 id Unique id for inter-element referencing
.... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... extension:bodyStructure 0..1 Reference(BodyStructure) Target anatomic location or structure
URL: http://hl7.org/fhir/StructureDefinition/bodySite
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 0..1 string Plain text representation of the concept
... outcome Σ 0..1 CodeableConcept The result of procedure
Binding: ProcedureOutcomeCodesSNOMEDCT (example): An outcome of a procedure - whether it was resolved or otherwise.

... report 0..* Reference(DiagnosticReport | DocumentReference | Composition) Any report resulting from the procedure
... complication 0..* CodeableReference(Condition) Complication following the procedure
Binding: ConditionProblemDiagnosisCodes (example): Codes describing complications that resulted from a procedure.


... followUp 0..* CodeableConcept Instructions for follow up
Binding: ProcedureFollowUpCodesSNOMEDCT (example): Specific follow up required for a procedure e.g. removal of sutures.


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

.... manipulated 1..1 Reference(Device) Device that was changed
... Slices for used 0..* CodeableReference(Device | Medication | Substance | BiologicallyDerivedProduct) Items used during procedure
Slice: Unordered, Open by type:concept
Binding: DeviceType (example): Codes describing items used during a procedure.


.... used:device 0..1 CodeableReference(Device) Items used during procedure
Binding: DeviceType (example): Codes describing items used during a procedure.


... supportingInfo 0..* Reference(Resource) Extra information relevant to the procedure

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|5.0.0
from the FHIR Standard
Procedure.statusReasonexampleProcedureNotPerformedReasonSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-not-performed-reason
from the FHIR Standard
Procedure.categoryexampleProcedureCategoryCodesSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-category
from the FHIR Standard
Procedure.codeextensibleImProcedureType
http://hl7.eu/fhir/imaging-r5/ValueSet/im-procedure-type
from this IG
Procedure.performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.performer:performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.performer:imaging-device.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.reasonexampleProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
Procedure.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Procedure.outcomeexampleProcedureOutcomeCodesSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-outcome
from the FHIR Standard
Procedure.complicationexampleConditionProblemDiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
Procedure.followUpexampleProcedureFollowUpCodesSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-followup
from the FHIR Standard
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes
http://hl7.org/fhir/ValueSet/device-action
from the FHIR Standard
Procedure.usedexampleDeviceType
http://hl7.org/fhir/ValueSet/device-type
from the FHIR Standard
Procedure.used:deviceexampleDeviceType
http://hl7.org/fhir/ValueSet/device-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().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-4errorProcedureIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prc-1errorProcedure.performer, Procedure.performer:performer, Procedure.performer:imaging-deviceProcedure.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 ProcedureEu

Summary

Mandatory: 1 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
  • The element 1 is sliced based on the value of Procedure.performer.function.coding

Maturity: 1

 

Other representations of profile: CSV, Excel, Schematron