{ "description": "Therapeutic or diagnostic procedure undergone by the patient in dental care.", "_filename": "StructureDefinition-mz-Procedure.json", "package_name": "medmij.fhir.nl.r4.dentalcare", "date": null, "derivation": "constraint", "publisher": "MedMij", "fhirVersion": "4.0.1", "purpose": "This Procedure resource represents the Procedure building block for implementations following the information standard [Dental Care (Mondzorg)](https://simplifier.net/medmij-r4-dental-care). This profile is based on the Dutch zib ('Zorginformatiebouwsteen', i.e. Health and Care Information Model) Procedure, but has no dependency on the corresponding nl-core profile because it contains non-compatible changes w.r.t. ProcedureType. Where compatible, mappings to zib concepts are defined (next to the mappings to the Dental Care data set). Moreover, future procedures are not relevant in the context of Dental Care, hence all corresponding guidance and mappings present in the nl-core profile have been omitted in this profile.", "name": "MzProcedure", "mapping": [ { "uri": "https://zibs.nl/wiki/Procedure-v5.2(2020EN)", "name": "zib Procedure-v5.2(2020EN)", "identity": "zib-procedure-v5.2-2020EN" }, { "uri": "https://zibs.nl/wiki/TextResult-v4.4(2020EN)", "name": "zib TextResult-v4.4(2020EN)", "identity": "zib-textresult-v4.4-2020EN" }, { "uri": "https://zibs.nl/wiki/MedicalDevice-v3.3.1(2020EN)", "name": "zib MedicalDevice-v3.3.1(2020EN)", "identity": "zib-medicaldevice-v3.3.1-2020EN" }, { "name": "Dataset Mondzorg 1.0.0-beta.1 20250814", "identity": "mz-dataset-100-beta1-20250814" } ], "abstract": false, "copyright": "Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise.", "type": "Procedure", "experimental": null, "resourceType": "StructureDefinition", "title": "mz Procedure", "package_version": "1.0.0-beta.1", "status": "draft", "id": "5ea61aba-ef53-43a6-b2a2-544174314c72", "kind": "resource", "url": "http://medmij.nl/fhir/StructureDefinition/mz-Procedure", "version": null, "differential": { "element": [ { "id": "Procedure", "path": "Procedure", "alias": [ "Verrichting" ], "short": "Procedure", "mapping": [ { "map": "NL-CM:14.1.1", "comment": "Procedure", "identity": "zib-procedure-v5.2-2020EN" }, { "map": "mz-dataelement-109", "comment": "Procedure", "identity": "mz-dataset-100-beta1-20250814" } ] }, { "id": "Procedure.extension", "path": "Procedure.extension", "slicing": { "rules": "open", "ordered": false, "discriminator": [ { "path": "url", "type": "value" } ] } }, { "id": "Procedure.extension:procedureMethod", "max": "*", "min": 0, "path": "Procedure.extension", "type": [ { "code": "Extension", "profile": [ "http://nictiz.nl/fhir/StructureDefinition/ext-Procedure.ProcedureMethod" ] } ], "sliceName": "procedureMethod" }, { "id": "Procedure.status", "path": "Procedure.status", "mapping": [ { "map": "NL-CM:14.1.2", "comment": "ProcedureStartDate (implicit, main mapping is on Procedure.performedPeriod.start and Procedure.performedDateTime)", "identity": "zib-procedure-v5.2-2020EN" }, { "map": "NL-CM:14.1.3", "comment": "ProcedureEndDate (implicit, main mapping is on Procedure.performedPeriod.end)", "identity": "zib-procedure-v5.2-2020EN" }, { "map": "mz-dataelement-110", "comment": "ProcedureStartDate (implicit, main mapping is on Procedure.performedPeriod.start and Procedure.performedDateTime)", "identity": "mz-dataset-100-beta1-20250814" }, { "map": "mz-dataelement-111", "comment": "ProcedureEndDate (implicit, main mapping is on Procedure.performedPeriod.end)", "identity": "mz-dataset-100-beta1-20250814" } ], "definition": "This element is implictly mapped to the zib concepts ProcedureStartDate (NL-CM:14.1.2) and ProcedureEndDate (NL-CM:14.1.3). Unless the status is explicitly recorded, the following guidance applies:\n* When the ProcedureStartDate is in the future, `.status` will usually be set to _preparation_.\n* When ProcedureStartDate is in the past and ProcedureEndDate is in the future, `.status` will usually be set to _in-progress_.\n* When ProcedureEndDate is in the past, `.status` will usually be set to _completed_.\n* When ProcedureStartDate is in the past and ProcedureEndDate is missing, it may be assumed that the Procedure was recorded as a point in time and `.status` will usually be set to _completed_.\n* When a system is unable to infer the status from the ProcedureStartDate and ProcedureEndDate , `.status` will be set to _unknown_. The _unknown_ code is not to be used to convey other statuses. The _unknown_ code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the Procedure." }, { "path": "Procedure.code", "min": 1, "definition": "The name of the procedure based on the [Prestatie- en tariefbeschikking tandheelkundige zorg](https://puc.overheid.nl/nza/doc/PUC_764375_22/1/) and [Prestatie- en tariefbeschikking orthodontische zorg](https://puc.overheid.nl/nza/doc/PUC_764432_22/1/), both authored by the Nederlandse Zorgautoriteit (NZa).", "short": "ProcedureType", "mapping": [ { "map": "mz-dataelement-114", "comment": "ProcedureType", "identity": "mz-dataset-100-beta1-20250814" } ], "binding": { "strength": "extensible", "valueSet": "http://medmij.nl/fhir/ValueSet/ProcedureTypeDentalCare" }, "alias": [ "VerrichtingType" ], "id": "Procedure.code", "comment": "Since the _required_ binding of VerrichtingTypeCodelijsten in the nl-core profile does not contain the procedure types relevant for dental and orthodontic care, this profile is not derived from the nl-core profile." }, { "id": "Procedure.subject", "path": "Procedure.subject", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/StructureDefinition/Patient", "http://hl7.org/fhir/StructureDefinition/Group", "http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient" ] } ], "alias": [ "Patient" ], "short": "Patient", "mapping": [ { "map": "mz-dataelement-1", "comment": "Patient", "identity": "mz-dataset-100-beta1-20250814" } ] }, { "id": "Procedure.performed[x]", "path": "Procedure.performed[x]", "slicing": { "rules": "open", "ordered": false, "discriminator": [ { "path": "$this", "type": "type" } ] } }, { "id": "Procedure.performed[x]:performedPeriod", "max": "1", "min": 0, "path": "Procedure.performed[x]", "type": [ { "code": "Period" } ], "sliceName": "performedPeriod" }, { "id": "Procedure.performed[x]:performedPeriod.start", "path": "Procedure.performed[x].start", "alias": [ "VerrichtingStartDatum" ], "short": "ProcedureStartDate", "comment": "If the zib Procedure concerns a procedure performed over a period, `Procedure.performedPeriod.start` and `Procedure.performedPeriod.end` are used to represent zib concepts ProcedureStartDate and ProcedureEndDate. For instantaneous or very short lasting procedures, `Procedure.performedDateTime` is used for ProcedureStartDate (ProcedureEndDate doesn't have a meaning in this case; ProcedureStartDate is the moment the procedure is performed).", "mapping": [ { "map": "NL-CM:14.1.2", "comment": "ProcedureStartDate", "identity": "zib-procedure-v5.2-2020EN" }, { "map": "mz-dataelement-110", "comment": "ProcedureStartDate", "identity": "mz-dataset-100-beta1-20250814" } ], "definition": "The start date (and if possible start time) of the procedure. A ‘vague’ date, such as only the year, is permitted. The element offers the option to indicate the start of the period of a series of related procedures." }, { "id": "Procedure.performed[x]:performedPeriod.end", "path": "Procedure.performed[x].end", "alias": [ "VerrichtingEindDatum" ], "short": "ProcedureEndDate", "comment": "If the zib Procedure concerns a procedure performed over a period, `Procedure.performedPeriod.start` and `Procedure.performedPeriod.end` are used to represent zib concepts ProcedureStartDate and ProcedureEndDate. For instantaneous or very short lasting procedures, `Procedure.performedDateTime` is used for ProcedureStartDate (ProcedureEndDate doesn't have a meaning in this case; ProcedureStartDate is the moment the procedure is performed).", "mapping": [ { "map": "NL-CM:14.1.3", "comment": "ProcedureEndDate", "identity": "zib-procedure-v5.2-2020EN" }, { "map": "mz-dataelement-111", "comment": "ProcedureEndDate", "identity": "mz-dataset-100-beta1-20250814" } ], "definition": "The end date (and if possible end time) of the procedure. A ‘vague’ date, such as only the year, is permitted. The element offers the option to indicate the end of the period of a series of related procedures. The end date element is only used for a procedure that takes some time and is then always applied. If the procedure still continues, the value is left empty." }, { "path": "Procedure.performed[x]", "min": 0, "definition": "The start date (and if possible start time) of the procedure. A ‘vague’ date, such as only the year, is permitted. `Procedure.performedDateTime` is used for instantaneous or very short lasting procedures.", "short": "ProcedureStartDate", "mapping": [ { "map": "NL-CM:14.1.2", "comment": "ProcedureStartDate", "identity": "zib-procedure-v5.2-2020EN" }, { "map": "mz-dataelement-110", "comment": "ProcedureStartDate", "identity": "mz-dataset-100-beta1-20250814" } ], "type": [ { "code": "dateTime" } ], "sliceName": "performedDateTime", "alias": [ "VerrichtingStartDatum" ], "max": "1", "id": "Procedure.performed[x]:performedDateTime", "comment": "If the zib Procedure concerns a procedure performed over a period, `Procedure.performedPeriod.start` and `Procedure.performedPeriod.end` are used to represent zib concepts ProcedureStartDate and ProcedureEndDate. For instantaneous or very short lasting procedures, `Procedure.performedDateTime` is used for ProcedureStartDate (ProcedureEndDate doesn't have a meaning in this case; ProcedureStartDate is the moment the procedure is performed)." }, { "id": "Procedure.performer.actor", "path": "Procedure.performer.actor", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/StructureDefinition/Practitioner", "http://hl7.org/fhir/StructureDefinition/PractitionerRole", "http://hl7.org/fhir/StructureDefinition/Organization", "http://hl7.org/fhir/StructureDefinition/Patient", "http://hl7.org/fhir/StructureDefinition/RelatedPerson", "http://hl7.org/fhir/StructureDefinition/Device", "http://nictiz.nl/fhir/StructureDefinition/nl-core-HealthProfessional-PractitionerRole" ] } ], "alias": [ "Uitvoerder" ], "short": "Performer", "comment": "Each occurrence of the zib HealthProfessional is normally represented by _two_ FHIR resources: a PractitionerRole resource (instance of [nl-core-HealthProfessional-PractitionerRole](http://nictiz.nl/fhir/StructureDefinition/nl-core-HealthProfessional-PractitionerRole)) and a Practitioner resource (instance of [nl-core-HealthProfessional-Practitioner](http://nictiz.nl/fhir/StructureDefinition/nl-core-HealthProfessional-Practitioner)). The Practitioner resource is referenced from the PractitionerRole instance. For this reason, sending systems should fill the reference to the PractitionerRole instance here, and not the Practitioner resource. Receiving systems can then retrieve the reference to the Practitioner resource from that PractitionerRole instance.\n\nIn rare circumstances, there is only a Practitioner instance, in which case it is that instance which will be referenced here. However, since this should be the exception, the nl-core-HealthProfessional-Practitioner profile is not explicitly mentioned as a target profile.", "mapping": [ { "map": "NL-CM:14.1.6", "comment": "Performer", "identity": "zib-procedure-v5.2-2020EN" }, { "map": "mz-dataelement-118", "comment": "Performer", "identity": "mz-dataset-100-beta1-20250814" } ], "definition": "The healthcare provider who carried out the procedure. In most cases, only the medical specialty is entered, and not the name of the healthcare provider." }, { "id": "Procedure.location", "path": "Procedure.location", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/StructureDefinition/Location", "http://nictiz.nl/fhir/StructureDefinition/nl-core-HealthcareProvider" ] } ], "alias": [ "Locatie" ], "short": "Location", "comment": "Please note that the zib concept Location::HealthcareProvider of zib MedicalDevice (NL-CM:10.1.8) is mapped onto this element, but it is also directly represented using a custom extension in the focal profile for that zib ([nl-core-MedicalDevice](http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicalDevice)). The reason for this is that the Location concept from zib MedicalDevice aligns with the Location concept from zib Procedure, but only for the situation that the Procedure is about placing an implant which is described using the instance of zib MedicalDevice. In this situation, the extension in the nl-core-MedicalDevice profile is redundant and it is advised to only use the current element to represent the Location concept.", "mapping": [ { "map": "NL-CM:14.1.5", "comment": "Location", "identity": "zib-procedure-v5.2-2020EN" }, { "map": "NL-CM:10.1.8", "comment": "Location (For specific situations only. See the comment on this element for more information.)", "identity": "zib-medicaldevice-v3.3.1-2020EN" }, { "map": "mz-dataelement-117", "comment": "Location", "identity": "mz-dataset-100-beta1-20250814" } ], "definition": "The healthcare center where the procedure was or is carried out." }, { "id": "Procedure.reasonReference", "path": "Procedure.reasonReference", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/StructureDefinition/Condition", "http://hl7.org/fhir/StructureDefinition/Observation", "http://hl7.org/fhir/StructureDefinition/Procedure", "http://hl7.org/fhir/StructureDefinition/DiagnosticReport", "http://hl7.org/fhir/StructureDefinition/DocumentReference", "http://nictiz.nl/fhir/StructureDefinition/nl-core-Problem" ] } ], "alias": [ "Indicatie" ], "short": "Indication", "mapping": [ { "map": "NL-CM:14.1.9", "comment": "Indication", "identity": "zib-procedure-v5.2-2020EN" }, { "map": "mz-dataelement-113", "comment": "Indication", "identity": "mz-dataset-100-beta1-20250814" } ], "definition": "The indication is the reason for the procedure." }, { "path": "Procedure.bodySite", "definition": "Anatomical location which is the focus of the procedure.", "short": "Location / ProcedureAnatomicalLocation", "mapping": [ { "map": "NL-CM:14.1.13", "comment": "ProcedureAnatomicalLocation", "identity": "zib-procedure-v5.2-2020EN" }, { "map": "mz-dataelement-112", "comment": "ProcedureAnatomicalLocation", "identity": "mz-dataset-100-beta1-20250814" } ], "type": [ { "code": "CodeableConcept", "profile": [ "http://nictiz.nl/fhir/StructureDefinition/nl-core-AnatomicalLocation" ] } ], "binding": { "strength": "required", "valueSet": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.11--20200901000000" }, "alias": [ "VerrichtingAnatomischeLocatie" ], "max": "1", "id": "Procedure.bodySite" }, { "id": "Procedure.report", "path": "Procedure.report", "slicing": { "rules": "open", "discriminator": [ { "path": "resolve()", "type": "profile" } ] } }, { "path": "Procedure.report", "min": 0, "short": "TextResult", "mapping": [ { "map": "NL-CM:13.2.5", "comment": "Reversed reference for zib TextResult.Procedure", "identity": "zib-textresult-v4.4-2020EN" } ], "type": [ { "code": "Reference", "targetProfile": [ "http://nictiz.nl/fhir/StructureDefinition/nl-core-TextResult" ] } ], "sliceName": "textResult", "alias": [ "TekstUitslag" ], "max": "*", "id": "Procedure.report:textResult", "comment": "The direction of the reference between zibs TextResult and Procedure is reversed in FHIR. Therefore the concept Procedure (NL-CM:13.2.5) of zib TextResult is mapped to this element.\n\nPlease note that on a functional level, zib TextResult references zib Procedure, but in FHIR this direction is reversed." } ] }, "contact": [ { "name": "MedMij", "telecom": [ { "use": "work", "value": "info@medmij.nl", "system": "email" } ] } ], "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Procedure" }