RIVO-Noord Zorgviewer Implementation Guide
1.21.0 - CI build Netherlands flag

RIVO-Noord Zorgviewer Implementation Guide, published by RIVO-NN HL7NL. This guide is not an authorized publication; it is the continuous build for version 1.21.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/RIVO-Noord/zorgviewer-ig/ and changes regularly. See the Directory of published versions

Resource Profile: Procedure

Official URL: http://fhir.hl7.nl/zorgviewer/StructureDefinition/Procedure Version: 1.21.0
Active as of 2025-10-15 Computable Name: Procedure

Verrichtingen

Dit Profiel is het resultaat van de vergelijking tussen de zib2017 FHIR Profiel en de implementaties in Epic, Chipsoft, Topicus en Nexus. De elementen die in ieder geval in alle output beschikbaar zullen zijn. Voornamelijk bedoeld voor houvast van een client en voor validatie van output.

Zorginformatiebouwsteen

ZIB Verrichting

View Definition

UI Wireframe

Verrichtingen

>< Bron Datum Verrichting Locatie Uitgevoerd door
+ Chipsoft 5-6-2012 implantatie van totale knieprothese Drachten Lisette van Cruijningen de Winter
Verrichtingcode
CBV#00090991 implantatie van totale knieprothese
Lateraliteit
Links
+ Epic 7-11-2021 Gesloten repositie supra- of transcondylaire femur fractuur. UMCG MedMij Orthopedie, MD
Verrichtingcode
SNOMED CT#46866001 Gesloten repositie supra- of transcondylaire femur fractuur.
Lateraliteit
Rechts
+ Nexus 6-5-2012 Prothese implantatie kniegewricht. Boonstra
VIPP NEXUS Ziekenhuis
Verrichtingcode
NZa#038663 Prothese implantatie kniegewricht.
+ VG-Epic 1-1-2001 SELECTIEVE FASCIECTOMIE

Kolom Definities

Kolom label FHIR Path Expression FHIR Type Zib element Toelichting of regels
Bron meta.extension('http://hl7.org/fhir/4.0/StructureDefinition/extension-Meta.source').valueUri string nvt Lookup adhv uri (AGB-Z of OID) <adressering-base>/Organization?identifier=<.meta.tag.code> en gebruik dan Organization.name
Datum performedPeriod.start dateTime VerrichtingBeginDatum ​Kunnen vage datums zijn.
Verrichting code.text | code.coding[0].display string VerrichtingType
Locatie location.display string Locatie::Zorgaanbieder Zie discussie hier: BITS ticket MM-5002
Uitgevoerd door performer.actor.display.join(' ') string Uitvoerder Meestal alleen specialisme
UITKLAPVELD
+Verrichtingcode code.coding[0].select(system.lookup('CodeSystems').display+'#' + code + ' ' + iif(exists(display),display,'')) string VerrichtingType Meerdere codes mogelijk.
Ignore NullFlavor.​
Lookup system label middels <terminologie-base>/CodeSystem?url=<.system> en gebruik dan CodeSystem.title
+Lateraliteit bodySite.extension('http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier').valueCodeableConcept.text string ProbleemLateraliteit

Codesystemen

Request

  1. Opvragen (search) verrichtingen

    GET <ontsluiten-bronsysteem-base>/Procedure?patient=<fhir_patient_id>

    N.B. Deze request is breder dan de BgZ request, waar alleen de chirugische verrichtingen worden opgevraagd.

Bronsysteem herkennen

De Zorgviewer-backend of Ontsluiten bronsysteem MOET na bevragen van het bronsysteem aan elk resultaat resource een meta-tag toevoegen met de AGB, OID of URA identifier van de zorgaanbieder (zie Organization voor voorbeelden). Dit wordt vervolgens gebruikt in de "Bron" kolom in de Zorgviewer-frontend. N.B. We gebruiken hier een pre-adopt van de FHIR R4 Meta.source.

Toevoegen aan elke response, dus per resource (bij een read) of per Bundle (bij een search):

"meta": {
    "extension": [ {
        "url": "http://hl7.org/fhir/4.0/StructureDefinition/extension-Meta.source",
        "valueUri": "urn:oid:2.16.840.1.113883.2.4.3.8"
    } ]
}

Alternatief: Elke entry van een search response Bundle bevat een referentie naar de bijbehorende Patient (<resource>.subject|patient). Elke patient heeft een Patient.managingOrganization en in de gerefereerde Organization.identifier staat vervolgens o.a. de OID van het bronsysyeem. Of je gebruikt de identifiers om een volledige Organization op te zoeken in het adresboek en zie inhoud hier.

Usages:

  • CapabilityStatements using this Profile: Ontsluiten Bronsysteem
  • This Profile is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Changes since version 1.20.0:

  • New Content
  • Formal Views of Profile Content

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

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Procedure C 0..* Zib Procedure(2.1.11) Procedure
    Constraints: pro-1
    ... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
    ... Slices for extension Content/Rules for all slices
    .... extension:procedureMethod 0..1 (Complex) The method used to perform the procedure
    URL: http://hl7.org/fhir/StructureDefinition/procedure-method
    ..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/procedure-method"
    ..... Slices for valueCodeableConcept Content/Rules for all slices
    ...... valueCodeableConcept:valueCodeableConcept 0..1 CodeableConcept ProcedureMethod
    Binding: VerrichtingMethodeCodelijst (extensible): VerrichtingMethodeCodelijst
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    .... basedOn:request Σ 0..* Reference(HCIM ProcedureRequest(2.1.9)) ProcedureRequest
    ... status ?!Σ 1..1 code preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
    Binding: EventStatus (required): A code specifying the state of the procedure.
    ... notDone ?!Σ 0..1 boolean True if procedure was not performed as scheduled
    ... category Σ 1..1 CodeableConcept Classification of the procedure
    Binding: Procedure Category Codes (SNOMED CT) (example): A code that classifies a procedure for searching, sorting and display purposes.
    Example Example of category code: {"coding":[{"system":"http://snomed.info/sct","code":"387713003","display":"Surgical procedure"}]}
    ... code SΣ 0..1 CodeableConcept ProcedureType
    Binding: Procedure Codes (SNOMED CT) (example): A code to identify a specific procedure .
    .... Slices for coding Σ 0..* Coding Code defined by a terminology system
    Slice: Unordered, Open by value:system
    ..... coding:VerrichtingTypeCodelijst SΣ 0..* Coding ProcedureType
    Binding: Zorgviewer verrichting type waardelijst (required)
    ...... system Σ 1..1 uri Identity of the terminology system
    Fixed Value: http://snomed.info/sct
    .... text SΣ 0..1 string Plain text representation of the concept
    ... subject Σ 1..1 Reference(Group | nl-core-patient(2.2.5)) Who the procedure was performed on
    ... Slices for performed[x] Σ 0..1 Period Date/Period the procedure was performed
    Slice: Unordered, Closed by type:$this
    .... performed[x]:performedPeriod SΣ 0..1 Period Date/Period the procedure was performed
    ... performer Σ 0..* BackboneElement HealthProfessional | Location::HealthcareProvider
    .... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
    .... actor Σ 1..1 Reference(nl-core-practitioner(2.0.7) | nl-core-organization(2.0.6)) The reference to the practitioner
    ..... Slices for extension Content/Rules for all slices
    ...... extension:practitionerRole 0..1 Reference(nl-core-practitionerrole(2.0.7)) Optional Extensions Element
    URL: http://nictiz.nl/fhir/StructureDefinition/practitionerrole-reference
    Constraints: ext-1
    ..... display SΣ 0..1 string Text alternative for the resource
    ... location Σ 0..1 Reference(Location) Where the procedure happened
    .... display SΣ 0..1 string Text alternative for the resource
    ... bodySite Σ 0..* CodeableConcept ProcedureAnatomicalLocation
    Binding: VerrichtingAnatomischeLocatieCodelijst (extensible): Anatomical location which is the focus of the procedure.
    .... Slices for extension Content/Rules for all slices
    ..... extension:ProcedureLaterality S 0..1 (Complex) Extension
    URL: http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier
    Constraints: ext-1
    ...... extension 0..0
    ...... url 1..1 uri "http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier"

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Procedure.extension:procedureMethod.​valueCodeableConcept:valueCodeableConcept Base extensible VerrichtingMethodeCodelijst 📦2017-12-31T00:00:00 nictiz.fhir.nl.stu3.zib2017 v2.0
    Procedure.status Base required EventStatus 📦3.0.2 FHIR Std.
    Procedure.category Base example Procedure Category Codes (SNOMED CT) 📦3.0.2 FHIR Std.
    Procedure.code Base example Procedure Codes (SNOMED CT) 📦3.0.2 FHIR Std.
    Procedure.code.coding:VerrichtingTypeCodelijst Base required Zorgviewer verrichting type waardelijst 📦1.21.0 This IG
    Procedure.bodySite Base extensible VerrichtingAnatomischeLocatieCodelijst 📦2017-12-31T00:00:00 nictiz.fhir.nl.stu3.zib2017 v2.0

    Constraints

    Id Grade Path(s) Description Expression
    dom-1 error Procedure If the resource is contained in another resource, it SHALL NOT contain any narrative contained.text.empty()
    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 contained.where(('#'+id in %resource.descendants().reference).not()).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()
    ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() | (children().count() > id.count())
    ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
    ext-1 error Procedure.performer.actor.extension:practitionerRole, Procedure.bodySite.extension:ProcedureLaterality Must have either extensions or value[x], not both extension.exists() != value.exists()
    pro-1 error Procedure Reason not done is only permitted if notDone indicator is true notDoneReason.empty() or notDone = true

    This structure is derived from Zib Procedure

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Procedure 0..* Zib Procedure(2.1.11) Procedure
    ... code S 0..1 CodeableConcept ProcedureType
    .... Slices for coding Content/Rules for all slices
    ..... coding:VerrichtingTypeCodelijst S 0..* Coding ProcedureType
    Binding: Zorgviewer verrichting type waardelijst (required)
    .... text S 0..1 string Plain text representation of the concept
    ... performedPeriod S 0..1 Period Date/Period the procedure was performed
    ... performer 0..* BackboneElement HealthProfessional | Location::HealthcareProvider
    .... actor 1..1 Reference(nl-core-practitioner(2.0.7) | nl-core-organization(2.0.6)) The reference to the practitioner
    ..... display S 0..1 string Text alternative for the resource
    .... display S 0..1 string Text alternative for the resource
    ... bodySite 0..* CodeableConcept ProcedureAnatomicalLocation
    .... Slices for extension Content/Rules for all slices
    ..... extension:ProcedureLaterality S 0..1 BodySite Qualifier Extension

    doco Documentation for this format

    Terminology Bindings (Differential)

    Path Status Usage ValueSet Version Source
    Procedure.code.coding:VerrichtingTypeCodelijst Base required Zorgviewer verrichting type waardelijst 📦1.21.0 This IG
    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Procedure C 0..* Zib Procedure(2.1.11) Procedure
    Constraints: pro-1
    ... 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: Common Languages (extensible): A human language.
    Additional BindingsPurpose
    All Languages Max Binding
    ... 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
    ... Slices for extension 0..* Extension Additional Content defined by implementations
    Slice: Unordered, Open by value:url
    .... extension:procedureMethod 0..1 (Complex) The method used to perform the procedure
    URL: http://hl7.org/fhir/StructureDefinition/procedure-method
    ..... id 0..1 string xml:id (or equivalent in JSON)
    ..... extension 0..* Extension Additional Content defined by implementations
    Slice: Unordered, Open by value:url
    ..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/procedure-method"
    ..... Slices for valueCodeableConcept Content/Rules for all slices
    ...... valueCodeableConcept:valueCodeableConcept 0..1 CodeableConcept ProcedureMethod
    Binding: VerrichtingMethodeCodelijst (extensible): VerrichtingMethodeCodelijst
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    ... identifier Σ 0..* Identifier External Identifiers for this procedure
    ... definition Σ 0..* Reference(PlanDefinition | ActivityDefinition | HealthcareService) Instantiates protocol or definition
    ... Slices for basedOn Σ 0..* Reference(CarePlan | ProcedureRequest | ReferralRequest) A request for this procedure
    Slice: Unordered, Open by type:$this.resolve()
    .... basedOn:request Σ 0..* Reference(HCIM ProcedureRequest(2.1.9)) ProcedureRequest
    ... partOf Σ 0..* Reference(Procedure | Observation | MedicationAdministration) Part of referenced event
    ... status ?!Σ 1..1 code preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
    Binding: EventStatus (required): A code specifying the state of the procedure.
    ... notDone ?!Σ 0..1 boolean True if procedure was not performed as scheduled
    ... notDoneReason ΣC 0..1 CodeableConcept Reason procedure was not performed
    Binding: Procedure Not Performed Reason (SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.
    ... category Σ 1..1 CodeableConcept Classification of the procedure
    Binding: Procedure Category Codes (SNOMED CT) (example): A code that classifies a procedure for searching, sorting and display purposes.
    Example Example of category code: {"coding":[{"system":"http://snomed.info/sct","code":"387713003","display":"Surgical procedure"}]}
    ... code SΣ 0..1 CodeableConcept ProcedureType
    Binding: Procedure Codes (SNOMED CT) (example): A code to identify a specific procedure .
    .... id 0..1 string xml:id (or equivalent in JSON)
    .... 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:system
    ..... coding:VerrichtingTypeCodelijst SΣ 0..* Coding ProcedureType
    Binding: Zorgviewer verrichting type waardelijst (required)
    ...... id 0..1 string xml:id (or equivalent in JSON)
    ...... extension 0..* Extension Additional Content defined by implementations
    Slice: Unordered, Open by value:url
    ...... 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 Σ 0..1 code Symbol in syntax defined by the system
    ...... display Σ 0..1 string Representation defined by the system
    ...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
    .... text SΣ 0..1 string Plain text representation of the concept
    ... subject Σ 1..1 Reference(Group | nl-core-patient(2.2.5)) Who the procedure was performed on
    ... context Σ 0..1 Reference(Encounter | EpisodeOfCare) Encounter or episode associated with the procedure
    ... Slices for performed[x] Σ 0..1 Period Date/Period the procedure was performed
    Slice: Unordered, Closed by type:$this
    .... performed[x]:performedPeriod SΣ 0..1 Period Date/Period the procedure was performed
    ..... id 0..1 string xml:id (or equivalent in JSON)
    ..... extension 0..* Extension Additional Content defined by implementations
    Slice: Unordered, Open by value:url
    ..... start ΣC 0..1 dateTime ProcedureStartDate
    ..... end ΣC 0..1 dateTime ProcedureEndDate
    ... performer Σ 0..* BackboneElement HealthProfessional | Location::HealthcareProvider
    .... id 0..1 string xml:id (or equivalent in JSON)
    .... extension 0..* Extension Additional Content defined by implementations
    .... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
    .... role Σ 0..1 CodeableConcept The role the actor was in
    Binding: Procedure Performer Role Codes (example): A code that identifies the role of a performer of the procedure.
    ..... id 0..1 string xml:id (or equivalent in JSON)
    ..... 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:healthProfessionalRole Σ 0..* Coding HealthProfessionalRole
    Binding: ZorgverlenerRolCodelijst (required)
    ..... text Σ 0..1 string Plain text representation of the concept
    .... actor Σ 1..1 Reference(nl-core-practitioner(2.0.7) | nl-core-organization(2.0.6)) The reference to the practitioner
    ..... id 0..1 string xml:id (or equivalent in JSON)
    ..... Slices for extension 0..* Extension Additional Content defined by implementations
    Slice: Unordered, Open by value:url
    ...... extension:practitionerRole 0..1 Reference(nl-core-practitionerrole(2.0.7)) Optional Extensions Element
    URL: http://nictiz.nl/fhir/StructureDefinition/practitionerrole-reference
    Constraints: ext-1
    ..... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
    ..... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
    ..... display SΣ 0..1 string Text alternative for the resource
    .... onBehalfOf 0..1 Reference(Organization) Organization the device or practitioner was acting for
    ... location Σ 0..1 Reference(Location) Where the procedure happened
    .... id 0..1 string xml:id (or equivalent in JSON)
    .... extension 0..* Extension Additional Content defined by implementations
    Slice: Unordered, Open by value:url
    .... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
    .... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
    .... display SΣ 0..1 string Text alternative for the resource
    ... reasonCode Σ 0..* CodeableConcept Coded reason procedure performed
    Binding: Procedure Reason Codes (example): A code that identifies the reason a procedure is required.
    ... reasonReference Σ 0..* Reference(HCIM Problem(3.0.7)) Indication
    ... bodySite Σ 0..* CodeableConcept ProcedureAnatomicalLocation
    Binding: VerrichtingAnatomischeLocatieCodelijst (extensible): Anatomical location which is the focus of the procedure.
    .... id 0..1 string xml:id (or equivalent in JSON)
    .... Slices for extension 0..* Extension Additional Content defined by implementations
    Slice: Unordered, Open by value:url
    ..... extension:ProcedureLaterality S 0..1 (Complex) Extension
    URL: http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier
    Constraints: ext-1
    ...... id 0..1 string xml:id (or equivalent in JSON)
    ...... extension 0..0
    ...... url 1..1 uri "http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier"
    ...... value[x] 0..1 CodeableConcept BodySite qualifier
    Binding: VerrichtingLateraliteitCodelijst (extensible): ProcedureLateralityCodelist
    .... 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: Procedure Outcome Codes (SNOMED CT) (example): An outcome of a procedure - whether it was resolved or otherwise.
    ... report 0..* Reference(HCIM TextResult(2.1.4)) Any report resulting from the procedure
    ... complication 0..* CodeableConcept Complication following the procedure
    Binding: Condition/Problem/Diagnosis Codes (example): Codes describing complications that resulted from a procedure.
    ... complicationDetail 0..* Reference(Condition) A condition that is a result of the procedure
    ... followUp 0..* CodeableConcept Instructions for follow up
    Binding: Procedure Follow up Codes (SNOMED CT) (example): Specific follow up required for a procedure e.g. removal of sutures.
    ... note 0..* Annotation Additional information about the procedure
    ... focalDevice 0..* BackboneElement Device changed in procedure
    .... id 0..1 string xml:id (or equivalent in JSON)
    .... extension 0..* Extension Additional Content defined by implementations
    .... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
    .... action 0..1 CodeableConcept Kind of change to device
    Binding: Procedure Device Action Codes (preferred): A kind of change that happened to the device during the procedure.
    .... manipulated 1..1 Reference(HCIM MedicalDevice Product(2.0.6)) MedicalDevice
    ... usedReference 0..* Reference(Device | Medication | Substance) Items used during procedure
    ... usedCode 0..* CodeableConcept Coded items used during the procedure
    Binding: FHIR Device Types (example): Codes describing items used during a procedure

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Procedure.language Base extensible Common Languages 📦3.0.2 FHIR Std.
    Procedure.extension:procedureMethod.​valueCodeableConcept:valueCodeableConcept Base extensible VerrichtingMethodeCodelijst 📦2017-12-31T00:00:00 nictiz.fhir.nl.stu3.zib2017 v2.0
    Procedure.status Base required EventStatus 📦3.0.2 FHIR Std.
    Procedure.notDoneReason Base example Procedure Not Performed Reason (SNOMED-CT) 📦3.0.2 FHIR Std.
    Procedure.category Base example Procedure Category Codes (SNOMED CT) 📦3.0.2 FHIR Std.
    Procedure.code Base example Procedure Codes (SNOMED CT) 📦3.0.2 FHIR Std.
    Procedure.code.coding:VerrichtingTypeCodelijst Base required Zorgviewer verrichting type waardelijst 📦1.21.0 This IG
    Procedure.performer.​role Base example Procedure Performer Role Codes 📦3.0.2 FHIR Std.
    Procedure.performer.​role.coding:healthProfessionalRole Base required ZorgverlenerRolCodelijst 📦2017-12-31T00:00:00 nictiz.fhir.nl.stu3.zib2017 v2.0
    Procedure.reasonCode Base example Procedure Reason Codes 📦3.0.2 FHIR Std.
    Procedure.bodySite Base extensible VerrichtingAnatomischeLocatieCodelijst 📦2017-12-31T00:00:00 nictiz.fhir.nl.stu3.zib2017 v2.0
    Procedure.bodySite.extension:ProcedureLaterality.​value[x] Base extensible VerrichtingLateraliteitCodelijst 📦2017-12-31T00:00:00 nictiz.fhir.nl.stu3.zib2017 v2.0
    Procedure.outcome Base example Procedure Outcome Codes (SNOMED CT) 📦3.0.2 FHIR Std.
    Procedure.complication Base example Condition/Problem/Diagnosis Codes 📦3.0.2 FHIR Std.
    Procedure.followUp Base example Procedure Follow up Codes (SNOMED CT) 📦3.0.2 FHIR Std.
    Procedure.focalDevice.​action Base preferred Procedure Device Action Codes 📦3.0.2 FHIR Std.
    Procedure.usedCode Base example FHIR Device Types 📦3.0.2 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    dom-1 error Procedure If the resource is contained in another resource, it SHALL NOT contain any narrative contained.text.empty()
    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 contained.where(('#'+id in %resource.descendants().reference).not()).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()
    ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() | (children().count() > id.count())
    ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
    ext-1 error Procedure.performer.actor.extension:practitionerRole, Procedure.bodySite.extension:ProcedureLaterality Must have either extensions or value[x], not both extension.exists() != value.exists()
    pro-1 error Procedure Reason not done is only permitted if notDone indicator is true notDoneReason.empty() or notDone = true

    This structure is derived from Zib Procedure

    Summary

    Must-Support: 7 elements

    Key Elements View

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Procedure C 0..* Zib Procedure(2.1.11) Procedure
    Constraints: pro-1
    ... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
    ... Slices for extension Content/Rules for all slices
    .... extension:procedureMethod 0..1 (Complex) The method used to perform the procedure
    URL: http://hl7.org/fhir/StructureDefinition/procedure-method
    ..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/procedure-method"
    ..... Slices for valueCodeableConcept Content/Rules for all slices
    ...... valueCodeableConcept:valueCodeableConcept 0..1 CodeableConcept ProcedureMethod
    Binding: VerrichtingMethodeCodelijst (extensible): VerrichtingMethodeCodelijst
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    .... basedOn:request Σ 0..* Reference(HCIM ProcedureRequest(2.1.9)) ProcedureRequest
    ... status ?!Σ 1..1 code preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
    Binding: EventStatus (required): A code specifying the state of the procedure.
    ... notDone ?!Σ 0..1 boolean True if procedure was not performed as scheduled
    ... category Σ 1..1 CodeableConcept Classification of the procedure
    Binding: Procedure Category Codes (SNOMED CT) (example): A code that classifies a procedure for searching, sorting and display purposes.
    Example Example of category code: {"coding":[{"system":"http://snomed.info/sct","code":"387713003","display":"Surgical procedure"}]}
    ... code SΣ 0..1 CodeableConcept ProcedureType
    Binding: Procedure Codes (SNOMED CT) (example): A code to identify a specific procedure .
    .... Slices for coding Σ 0..* Coding Code defined by a terminology system
    Slice: Unordered, Open by value:system
    ..... coding:VerrichtingTypeCodelijst SΣ 0..* Coding ProcedureType
    Binding: Zorgviewer verrichting type waardelijst (required)
    ...... system Σ 1..1 uri Identity of the terminology system
    Fixed Value: http://snomed.info/sct
    .... text SΣ 0..1 string Plain text representation of the concept
    ... subject Σ 1..1 Reference(Group | nl-core-patient(2.2.5)) Who the procedure was performed on
    ... Slices for performed[x] Σ 0..1 Period Date/Period the procedure was performed
    Slice: Unordered, Closed by type:$this
    .... performed[x]:performedPeriod SΣ 0..1 Period Date/Period the procedure was performed
    ... performer Σ 0..* BackboneElement HealthProfessional | Location::HealthcareProvider
    .... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
    .... actor Σ 1..1 Reference(nl-core-practitioner(2.0.7) | nl-core-organization(2.0.6)) The reference to the practitioner
    ..... Slices for extension Content/Rules for all slices
    ...... extension:practitionerRole 0..1 Reference(nl-core-practitionerrole(2.0.7)) Optional Extensions Element
    URL: http://nictiz.nl/fhir/StructureDefinition/practitionerrole-reference
    Constraints: ext-1
    ..... display SΣ 0..1 string Text alternative for the resource
    ... location Σ 0..1 Reference(Location) Where the procedure happened
    .... display SΣ 0..1 string Text alternative for the resource
    ... bodySite Σ 0..* CodeableConcept ProcedureAnatomicalLocation
    Binding: VerrichtingAnatomischeLocatieCodelijst (extensible): Anatomical location which is the focus of the procedure.
    .... Slices for extension Content/Rules for all slices
    ..... extension:ProcedureLaterality S 0..1 (Complex) Extension
    URL: http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier
    Constraints: ext-1
    ...... extension 0..0
    ...... url 1..1 uri "http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier"

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Procedure.extension:procedureMethod.​valueCodeableConcept:valueCodeableConcept Base extensible VerrichtingMethodeCodelijst 📦2017-12-31T00:00:00 nictiz.fhir.nl.stu3.zib2017 v2.0
    Procedure.status Base required EventStatus 📦3.0.2 FHIR Std.
    Procedure.category Base example Procedure Category Codes (SNOMED CT) 📦3.0.2 FHIR Std.
    Procedure.code Base example Procedure Codes (SNOMED CT) 📦3.0.2 FHIR Std.
    Procedure.code.coding:VerrichtingTypeCodelijst Base required Zorgviewer verrichting type waardelijst 📦1.21.0 This IG
    Procedure.bodySite Base extensible VerrichtingAnatomischeLocatieCodelijst 📦2017-12-31T00:00:00 nictiz.fhir.nl.stu3.zib2017 v2.0

    Constraints

    Id Grade Path(s) Description Expression
    dom-1 error Procedure If the resource is contained in another resource, it SHALL NOT contain any narrative contained.text.empty()
    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 contained.where(('#'+id in %resource.descendants().reference).not()).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()
    ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() | (children().count() > id.count())
    ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
    ext-1 error Procedure.performer.actor.extension:practitionerRole, Procedure.bodySite.extension:ProcedureLaterality Must have either extensions or value[x], not both extension.exists() != value.exists()
    pro-1 error Procedure Reason not done is only permitted if notDone indicator is true notDoneReason.empty() or notDone = true

    Differential View

    This structure is derived from Zib Procedure

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Procedure 0..* Zib Procedure(2.1.11) Procedure
    ... code S 0..1 CodeableConcept ProcedureType
    .... Slices for coding Content/Rules for all slices
    ..... coding:VerrichtingTypeCodelijst S 0..* Coding ProcedureType
    Binding: Zorgviewer verrichting type waardelijst (required)
    .... text S 0..1 string Plain text representation of the concept
    ... performedPeriod S 0..1 Period Date/Period the procedure was performed
    ... performer 0..* BackboneElement HealthProfessional | Location::HealthcareProvider
    .... actor 1..1 Reference(nl-core-practitioner(2.0.7) | nl-core-organization(2.0.6)) The reference to the practitioner
    ..... display S 0..1 string Text alternative for the resource
    .... display S 0..1 string Text alternative for the resource
    ... bodySite 0..* CodeableConcept ProcedureAnatomicalLocation
    .... Slices for extension Content/Rules for all slices
    ..... extension:ProcedureLaterality S 0..1 BodySite Qualifier Extension

    doco Documentation for this format

    Terminology Bindings (Differential)

    Path Status Usage ValueSet Version Source
    Procedure.code.coding:VerrichtingTypeCodelijst Base required Zorgviewer verrichting type waardelijst 📦1.21.0 This IG

    Snapshot View

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Procedure C 0..* Zib Procedure(2.1.11) Procedure
    Constraints: pro-1
    ... 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: Common Languages (extensible): A human language.
    Additional BindingsPurpose
    All Languages Max Binding
    ... 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
    ... Slices for extension 0..* Extension Additional Content defined by implementations
    Slice: Unordered, Open by value:url
    .... extension:procedureMethod 0..1 (Complex) The method used to perform the procedure
    URL: http://hl7.org/fhir/StructureDefinition/procedure-method
    ..... id 0..1 string xml:id (or equivalent in JSON)
    ..... extension 0..* Extension Additional Content defined by implementations
    Slice: Unordered, Open by value:url
    ..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/procedure-method"
    ..... Slices for valueCodeableConcept Content/Rules for all slices
    ...... valueCodeableConcept:valueCodeableConcept 0..1 CodeableConcept ProcedureMethod
    Binding: VerrichtingMethodeCodelijst (extensible): VerrichtingMethodeCodelijst
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    ... identifier Σ 0..* Identifier External Identifiers for this procedure
    ... definition Σ 0..* Reference(PlanDefinition | ActivityDefinition | HealthcareService) Instantiates protocol or definition
    ... Slices for basedOn Σ 0..* Reference(CarePlan | ProcedureRequest | ReferralRequest) A request for this procedure
    Slice: Unordered, Open by type:$this.resolve()
    .... basedOn:request Σ 0..* Reference(HCIM ProcedureRequest(2.1.9)) ProcedureRequest
    ... partOf Σ 0..* Reference(Procedure | Observation | MedicationAdministration) Part of referenced event
    ... status ?!Σ 1..1 code preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
    Binding: EventStatus (required): A code specifying the state of the procedure.
    ... notDone ?!Σ 0..1 boolean True if procedure was not performed as scheduled
    ... notDoneReason ΣC 0..1 CodeableConcept Reason procedure was not performed
    Binding: Procedure Not Performed Reason (SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.
    ... category Σ 1..1 CodeableConcept Classification of the procedure
    Binding: Procedure Category Codes (SNOMED CT) (example): A code that classifies a procedure for searching, sorting and display purposes.
    Example Example of category code: {"coding":[{"system":"http://snomed.info/sct","code":"387713003","display":"Surgical procedure"}]}
    ... code SΣ 0..1 CodeableConcept ProcedureType
    Binding: Procedure Codes (SNOMED CT) (example): A code to identify a specific procedure .
    .... id 0..1 string xml:id (or equivalent in JSON)
    .... 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:system
    ..... coding:VerrichtingTypeCodelijst SΣ 0..* Coding ProcedureType
    Binding: Zorgviewer verrichting type waardelijst (required)
    ...... id 0..1 string xml:id (or equivalent in JSON)
    ...... extension 0..* Extension Additional Content defined by implementations
    Slice: Unordered, Open by value:url
    ...... 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 Σ 0..1 code Symbol in syntax defined by the system
    ...... display Σ 0..1 string Representation defined by the system
    ...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
    .... text SΣ 0..1 string Plain text representation of the concept
    ... subject Σ 1..1 Reference(Group | nl-core-patient(2.2.5)) Who the procedure was performed on
    ... context Σ 0..1 Reference(Encounter | EpisodeOfCare) Encounter or episode associated with the procedure
    ... Slices for performed[x] Σ 0..1 Period Date/Period the procedure was performed
    Slice: Unordered, Closed by type:$this
    .... performed[x]:performedPeriod SΣ 0..1 Period Date/Period the procedure was performed
    ..... id 0..1 string xml:id (or equivalent in JSON)
    ..... extension 0..* Extension Additional Content defined by implementations
    Slice: Unordered, Open by value:url
    ..... start ΣC 0..1 dateTime ProcedureStartDate
    ..... end ΣC 0..1 dateTime ProcedureEndDate
    ... performer Σ 0..* BackboneElement HealthProfessional | Location::HealthcareProvider
    .... id 0..1 string xml:id (or equivalent in JSON)
    .... extension 0..* Extension Additional Content defined by implementations
    .... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
    .... role Σ 0..1 CodeableConcept The role the actor was in
    Binding: Procedure Performer Role Codes (example): A code that identifies the role of a performer of the procedure.
    ..... id 0..1 string xml:id (or equivalent in JSON)
    ..... 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:healthProfessionalRole Σ 0..* Coding HealthProfessionalRole
    Binding: ZorgverlenerRolCodelijst (required)
    ..... text Σ 0..1 string Plain text representation of the concept
    .... actor Σ 1..1 Reference(nl-core-practitioner(2.0.7) | nl-core-organization(2.0.6)) The reference to the practitioner
    ..... id 0..1 string xml:id (or equivalent in JSON)
    ..... Slices for extension 0..* Extension Additional Content defined by implementations
    Slice: Unordered, Open by value:url
    ...... extension:practitionerRole 0..1 Reference(nl-core-practitionerrole(2.0.7)) Optional Extensions Element
    URL: http://nictiz.nl/fhir/StructureDefinition/practitionerrole-reference
    Constraints: ext-1
    ..... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
    ..... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
    ..... display SΣ 0..1 string Text alternative for the resource
    .... onBehalfOf 0..1 Reference(Organization) Organization the device or practitioner was acting for
    ... location Σ 0..1 Reference(Location) Where the procedure happened
    .... id 0..1 string xml:id (or equivalent in JSON)
    .... extension 0..* Extension Additional Content defined by implementations
    Slice: Unordered, Open by value:url
    .... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
    .... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
    .... display SΣ 0..1 string Text alternative for the resource
    ... reasonCode Σ 0..* CodeableConcept Coded reason procedure performed
    Binding: Procedure Reason Codes (example): A code that identifies the reason a procedure is required.
    ... reasonReference Σ 0..* Reference(HCIM Problem(3.0.7)) Indication
    ... bodySite Σ 0..* CodeableConcept ProcedureAnatomicalLocation
    Binding: VerrichtingAnatomischeLocatieCodelijst (extensible): Anatomical location which is the focus of the procedure.
    .... id 0..1 string xml:id (or equivalent in JSON)
    .... Slices for extension 0..* Extension Additional Content defined by implementations
    Slice: Unordered, Open by value:url
    ..... extension:ProcedureLaterality S 0..1 (Complex) Extension
    URL: http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier
    Constraints: ext-1
    ...... id 0..1 string xml:id (or equivalent in JSON)
    ...... extension 0..0
    ...... url 1..1 uri "http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier"
    ...... value[x] 0..1 CodeableConcept BodySite qualifier
    Binding: VerrichtingLateraliteitCodelijst (extensible): ProcedureLateralityCodelist
    .... 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: Procedure Outcome Codes (SNOMED CT) (example): An outcome of a procedure - whether it was resolved or otherwise.
    ... report 0..* Reference(HCIM TextResult(2.1.4)) Any report resulting from the procedure
    ... complication 0..* CodeableConcept Complication following the procedure
    Binding: Condition/Problem/Diagnosis Codes (example): Codes describing complications that resulted from a procedure.
    ... complicationDetail 0..* Reference(Condition) A condition that is a result of the procedure
    ... followUp 0..* CodeableConcept Instructions for follow up
    Binding: Procedure Follow up Codes (SNOMED CT) (example): Specific follow up required for a procedure e.g. removal of sutures.
    ... note 0..* Annotation Additional information about the procedure
    ... focalDevice 0..* BackboneElement Device changed in procedure
    .... id 0..1 string xml:id (or equivalent in JSON)
    .... extension 0..* Extension Additional Content defined by implementations
    .... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
    .... action 0..1 CodeableConcept Kind of change to device
    Binding: Procedure Device Action Codes (preferred): A kind of change that happened to the device during the procedure.
    .... manipulated 1..1 Reference(HCIM MedicalDevice Product(2.0.6)) MedicalDevice
    ... usedReference 0..* Reference(Device | Medication | Substance) Items used during procedure
    ... usedCode 0..* CodeableConcept Coded items used during the procedure
    Binding: FHIR Device Types (example): Codes describing items used during a procedure

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Procedure.language Base extensible Common Languages 📦3.0.2 FHIR Std.
    Procedure.extension:procedureMethod.​valueCodeableConcept:valueCodeableConcept Base extensible VerrichtingMethodeCodelijst 📦2017-12-31T00:00:00 nictiz.fhir.nl.stu3.zib2017 v2.0
    Procedure.status Base required EventStatus 📦3.0.2 FHIR Std.
    Procedure.notDoneReason Base example Procedure Not Performed Reason (SNOMED-CT) 📦3.0.2 FHIR Std.
    Procedure.category Base example Procedure Category Codes (SNOMED CT) 📦3.0.2 FHIR Std.
    Procedure.code Base example Procedure Codes (SNOMED CT) 📦3.0.2 FHIR Std.
    Procedure.code.coding:VerrichtingTypeCodelijst Base required Zorgviewer verrichting type waardelijst 📦1.21.0 This IG
    Procedure.performer.​role Base example Procedure Performer Role Codes 📦3.0.2 FHIR Std.
    Procedure.performer.​role.coding:healthProfessionalRole Base required ZorgverlenerRolCodelijst 📦2017-12-31T00:00:00 nictiz.fhir.nl.stu3.zib2017 v2.0
    Procedure.reasonCode Base example Procedure Reason Codes 📦3.0.2 FHIR Std.
    Procedure.bodySite Base extensible VerrichtingAnatomischeLocatieCodelijst 📦2017-12-31T00:00:00 nictiz.fhir.nl.stu3.zib2017 v2.0
    Procedure.bodySite.extension:ProcedureLaterality.​value[x] Base extensible VerrichtingLateraliteitCodelijst 📦2017-12-31T00:00:00 nictiz.fhir.nl.stu3.zib2017 v2.0
    Procedure.outcome Base example Procedure Outcome Codes (SNOMED CT) 📦3.0.2 FHIR Std.
    Procedure.complication Base example Condition/Problem/Diagnosis Codes 📦3.0.2 FHIR Std.
    Procedure.followUp Base example Procedure Follow up Codes (SNOMED CT) 📦3.0.2 FHIR Std.
    Procedure.focalDevice.​action Base preferred Procedure Device Action Codes 📦3.0.2 FHIR Std.
    Procedure.usedCode Base example FHIR Device Types 📦3.0.2 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    dom-1 error Procedure If the resource is contained in another resource, it SHALL NOT contain any narrative contained.text.empty()
    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 contained.where(('#'+id in %resource.descendants().reference).not()).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()
    ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() | (children().count() > id.count())
    ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
    ext-1 error Procedure.performer.actor.extension:practitionerRole, Procedure.bodySite.extension:ProcedureLaterality Must have either extensions or value[x], not both extension.exists() != value.exists()
    pro-1 error Procedure Reason not done is only permitted if notDone indicator is true notDoneReason.empty() or notDone = true

    This structure is derived from Zib Procedure

    Summary

    Must-Support: 7 elements

     

    Other representations of profile: CSV, Excel, Schematron