HL7 Europe Imaging Study Report, published by HL7 Europe. This guide is not an authorized publication; it is the continuous build for version 0.1.0-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/oijauregui/ehdsimaging/ and changes regularly. See the Directory of published versions
| Official URL: http://hl7.eu/fhir/imaging-r5/StructureDefinition/Report-ImProcedure | Version: 0.1.0-build | |||
| Draft as of 2025-09-08 | Computable Name: Report_ImProcedure | |||
| Copyright/Legal: Used by permission of HL7 Europe, all rights reserved Creative Commons License | ||||
Report obligations for ImProcedure
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints    Filter:   | ||||
|---|---|---|---|---|---|---|---|---|
|   Procedure | 0..* | ImProcedure | An action that is being or was performed on an individual or entity | |||||
|    implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
|    contained | 0..* | Resource | Contained, inline Resources | |||||
|    modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
|    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. | ||||
|    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 | ||||
|    Slices for performer | ΣC | 0..* | BackboneElement | Who performed the procedure and what they did Slice: Unordered, Open by value:function Constraints: prc-1 | ||||
|     performer:All Slices | Content/Rules for all slices | |||||||
|      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 | ||||
|     performer:performer | ΣC | 0..* | BackboneElement | Who performed the procedure and what they did Constraints: prc-1 | ||||
|      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. | ||||
|       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 | 0..1 | string | Representation defined by the system | |||||
|         userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
|      actor | ΣC | 1..1 | Reference(PractitionerRole (EU base)) | Who performed the procedure | ||||
|     performer:imaging-device | ΣC | 0..* | BackboneElement | Who performed the procedure and what they did Constraints: prc-1 | ||||
|      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. | ||||
|       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 | 0..1 | string | Representation defined by the system | |||||
|         userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
|      actor | ΣC | 1..1 | Reference(Device: Imaging Device) | Who performed the procedure | ||||
|    location | OΣ | 0..1 | Reference(Location) | Where the procedure happened 
 | ||||
|    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. | |||||
|  Documentation for this format | ||||||||
| Path | Conformance | ValueSet | URI | 
| Procedure.status | required | EventStatus http://hl7.org/fhir/ValueSet/event-status|5.0.0From the FHIR Standard | |
| Procedure.code | extensible | ImProcedureType http://hl7.eu/fhir/imaging-r5/ValueSet/im-procedure-typeFrom this IG | |
| Procedure.performer.function | example | ProcedurePerformerRoleCodes http://hl7.org/fhir/ValueSet/performer-roleFrom the FHIR Standard | |
| Procedure.performer:performer.function | example | ProcedurePerformerRoleCodes http://hl7.org/fhir/ValueSet/performer-roleFrom the FHIR Standard | |
| Procedure.performer:imaging-device.function | example | ProcedurePerformerRoleCodes http://hl7.org/fhir/ValueSet/performer-roleFrom the FHIR Standard | |
| Procedure.used | example | DeviceType http://hl7.org/fhir/ValueSet/device-typeFrom the FHIR Standard | |
| Procedure.used:device | example | DeviceType http://hl7.org/fhir/ValueSet/device-typeFrom the FHIR Standard | 
| Id | Grade | Path(s) | Details | Requirements | 
| 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 ImProcedure
| Name | Flags | Card. | Type | Description & Constraints    Filter:   | ||||
|---|---|---|---|---|---|---|---|---|
|   Procedure | 0..* | ImProcedure | An action that is being or was performed on an individual or entity | |||||
|    location | O | 0..1 | Reference(Location) | Where the procedure happened 
 | ||||
|  Documentation for this format | ||||||||
| Name | Flags | Card. | Type | Description & Constraints    Filter:   | ||||
|---|---|---|---|---|---|---|---|---|
|   Procedure | 0..* | ImProcedure | 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 
 | |||||
|    text | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
|    contained | 0..* | Resource | Contained, inline Resources | |||||
|    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 Constraints: prc-1 | ||||
|     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 Constraints: prc-1 | ||||
|      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 | 0..1 | string | Representation defined by the system | |||||
|         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 Constraints: prc-1 | ||||
|      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 | 0..1 | string | Representation defined by the system | |||||
|         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(Device: 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 | OΣ | 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 | |||||
|  Documentation for this format | ||||||||
| Path | Conformance | ValueSet | URI | 
| Procedure.language | required | AllLanguages http://hl7.org/fhir/ValueSet/all-languages|5.0.0From the FHIR Standard | |
| Procedure.status | required | EventStatus http://hl7.org/fhir/ValueSet/event-status|5.0.0From the FHIR Standard | |
| Procedure.statusReason | example | ProcedureNotPerformedReasonSNOMEDCT http://hl7.org/fhir/ValueSet/procedure-not-performed-reasonFrom the FHIR Standard | |
| Procedure.category | example | ProcedureCategoryCodesSNOMEDCT http://hl7.org/fhir/ValueSet/procedure-categoryFrom the FHIR Standard | |
| Procedure.code | extensible | ImProcedureType http://hl7.eu/fhir/imaging-r5/ValueSet/im-procedure-typeFrom this IG | |
| Procedure.performer.function | example | ProcedurePerformerRoleCodes http://hl7.org/fhir/ValueSet/performer-roleFrom the FHIR Standard | |
| Procedure.performer:performer.function | example | ProcedurePerformerRoleCodes http://hl7.org/fhir/ValueSet/performer-roleFrom the FHIR Standard | |
| Procedure.performer:imaging-device.function | example | ProcedurePerformerRoleCodes http://hl7.org/fhir/ValueSet/performer-roleFrom the FHIR Standard | |
| Procedure.reason | example | ProcedureReasonCodes http://hl7.org/fhir/ValueSet/procedure-reasonFrom the FHIR Standard | |
| Procedure.bodySite | example | SNOMEDCTBodyStructures http://hl7.org/fhir/ValueSet/body-siteFrom the FHIR Standard | |
| Procedure.outcome | example | ProcedureOutcomeCodesSNOMEDCT http://hl7.org/fhir/ValueSet/procedure-outcomeFrom the FHIR Standard | |
| Procedure.complication | example | ConditionProblemDiagnosisCodes http://hl7.org/fhir/ValueSet/condition-codeFrom the FHIR Standard | |
| Procedure.followUp | example | ProcedureFollowUpCodesSNOMEDCT http://hl7.org/fhir/ValueSet/procedure-followupFrom the FHIR Standard | |
| Procedure.focalDevice.action | preferred | ProcedureDeviceActionCodes http://hl7.org/fhir/ValueSet/device-actionFrom the FHIR Standard | |
| Procedure.used | example | DeviceType http://hl7.org/fhir/ValueSet/device-typeFrom the FHIR Standard | |
| Procedure.used:device | example | DeviceType http://hl7.org/fhir/ValueSet/device-typeFrom the FHIR Standard | 
| Id | Grade | Path(s) | Details | Requirements | 
| 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 ImProcedure
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints    Filter:   | ||||
|---|---|---|---|---|---|---|---|---|
|   Procedure | 0..* | ImProcedure | An action that is being or was performed on an individual or entity | |||||
|    implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
|    contained | 0..* | Resource | Contained, inline Resources | |||||
|    modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
|    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. | ||||
|    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 | ||||
|    Slices for performer | ΣC | 0..* | BackboneElement | Who performed the procedure and what they did Slice: Unordered, Open by value:function Constraints: prc-1 | ||||
|     performer:All Slices | Content/Rules for all slices | |||||||
|      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 | ||||
|     performer:performer | ΣC | 0..* | BackboneElement | Who performed the procedure and what they did Constraints: prc-1 | ||||
|      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. | ||||
|       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 | 0..1 | string | Representation defined by the system | |||||
|         userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
|      actor | ΣC | 1..1 | Reference(PractitionerRole (EU base)) | Who performed the procedure | ||||
|     performer:imaging-device | ΣC | 0..* | BackboneElement | Who performed the procedure and what they did Constraints: prc-1 | ||||
|      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. | ||||
|       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 | 0..1 | string | Representation defined by the system | |||||
|         userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
|      actor | ΣC | 1..1 | Reference(Device: Imaging Device) | Who performed the procedure | ||||
|    location | OΣ | 0..1 | Reference(Location) | Where the procedure happened 
 | ||||
|    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. | |||||
|  Documentation for this format | ||||||||
| Path | Conformance | ValueSet | URI | 
| Procedure.status | required | EventStatus http://hl7.org/fhir/ValueSet/event-status|5.0.0From the FHIR Standard | |
| Procedure.code | extensible | ImProcedureType http://hl7.eu/fhir/imaging-r5/ValueSet/im-procedure-typeFrom this IG | |
| Procedure.performer.function | example | ProcedurePerformerRoleCodes http://hl7.org/fhir/ValueSet/performer-roleFrom the FHIR Standard | |
| Procedure.performer:performer.function | example | ProcedurePerformerRoleCodes http://hl7.org/fhir/ValueSet/performer-roleFrom the FHIR Standard | |
| Procedure.performer:imaging-device.function | example | ProcedurePerformerRoleCodes http://hl7.org/fhir/ValueSet/performer-roleFrom the FHIR Standard | |
| Procedure.used | example | DeviceType http://hl7.org/fhir/ValueSet/device-typeFrom the FHIR Standard | |
| Procedure.used:device | example | DeviceType http://hl7.org/fhir/ValueSet/device-typeFrom the FHIR Standard | 
| Id | Grade | Path(s) | Details | Requirements | 
| 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 ImProcedure
| Name | Flags | Card. | Type | Description & Constraints    Filter:   | ||||
|---|---|---|---|---|---|---|---|---|
|   Procedure | 0..* | ImProcedure | An action that is being or was performed on an individual or entity | |||||
|    location | O | 0..1 | Reference(Location) | Where the procedure happened 
 | ||||
|  Documentation for this format | ||||||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints    Filter:   | ||||
|---|---|---|---|---|---|---|---|---|
|   Procedure | 0..* | ImProcedure | 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 
 | |||||
|    text | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
|    contained | 0..* | Resource | Contained, inline Resources | |||||
|    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 Constraints: prc-1 | ||||
|     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 Constraints: prc-1 | ||||
|      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 | 0..1 | string | Representation defined by the system | |||||
|         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 Constraints: prc-1 | ||||
|      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 | 0..1 | string | Representation defined by the system | |||||
|         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(Device: 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 | OΣ | 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 | |||||
|  Documentation for this format | ||||||||
| Path | Conformance | ValueSet | URI | 
| Procedure.language | required | AllLanguages http://hl7.org/fhir/ValueSet/all-languages|5.0.0From the FHIR Standard | |
| Procedure.status | required | EventStatus http://hl7.org/fhir/ValueSet/event-status|5.0.0From the FHIR Standard | |
| Procedure.statusReason | example | ProcedureNotPerformedReasonSNOMEDCT http://hl7.org/fhir/ValueSet/procedure-not-performed-reasonFrom the FHIR Standard | |
| Procedure.category | example | ProcedureCategoryCodesSNOMEDCT http://hl7.org/fhir/ValueSet/procedure-categoryFrom the FHIR Standard | |
| Procedure.code | extensible | ImProcedureType http://hl7.eu/fhir/imaging-r5/ValueSet/im-procedure-typeFrom this IG | |
| Procedure.performer.function | example | ProcedurePerformerRoleCodes http://hl7.org/fhir/ValueSet/performer-roleFrom the FHIR Standard | |
| Procedure.performer:performer.function | example | ProcedurePerformerRoleCodes http://hl7.org/fhir/ValueSet/performer-roleFrom the FHIR Standard | |
| Procedure.performer:imaging-device.function | example | ProcedurePerformerRoleCodes http://hl7.org/fhir/ValueSet/performer-roleFrom the FHIR Standard | |
| Procedure.reason | example | ProcedureReasonCodes http://hl7.org/fhir/ValueSet/procedure-reasonFrom the FHIR Standard | |
| Procedure.bodySite | example | SNOMEDCTBodyStructures http://hl7.org/fhir/ValueSet/body-siteFrom the FHIR Standard | |
| Procedure.outcome | example | ProcedureOutcomeCodesSNOMEDCT http://hl7.org/fhir/ValueSet/procedure-outcomeFrom the FHIR Standard | |
| Procedure.complication | example | ConditionProblemDiagnosisCodes http://hl7.org/fhir/ValueSet/condition-codeFrom the FHIR Standard | |
| Procedure.followUp | example | ProcedureFollowUpCodesSNOMEDCT http://hl7.org/fhir/ValueSet/procedure-followupFrom the FHIR Standard | |
| Procedure.focalDevice.action | preferred | ProcedureDeviceActionCodes http://hl7.org/fhir/ValueSet/device-actionFrom the FHIR Standard | |
| Procedure.used | example | DeviceType http://hl7.org/fhir/ValueSet/device-typeFrom the FHIR Standard | |
| Procedure.used:device | example | DeviceType http://hl7.org/fhir/ValueSet/device-typeFrom the FHIR Standard | 
| Id | Grade | Path(s) | Details | Requirements | 
| 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 ImProcedure
Other representations of profile: CSV, Excel, Schematron