{ "description": "Bundle, welches alle Ressourcen einer Nachricht enthält", "_filename": "StructureDefinition-erp-service-request-message-container.json", "package_name": "de.gematik.erp-servicerequest", "date": "2025-07-31", "derivation": "constraint", "publisher": "gematik GmbH", "fhirVersion": "4.0.1", "name": "ERPServiceRequestMessageContainer", "abstract": false, "type": "Bundle", "experimental": "false", "resourceType": "StructureDefinition", "title": "ERP Service Request Nachrichten-Container", "package_version": "1.2.0", "status": "active", "id": "c4486a87-3959-4244-ba11-a9ef4f09a606", "kind": "resource", "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container", "version": "1.2.0", "differential": { "element": [ { "id": "Bundle", "path": "Bundle", "constraint": [ { "key": "service-request-message-container-1", "human": "Wenn die Nachricht eine Kopie ist, muss der Fokus des MessageHeaders ein Bundle sein, andernfalls ein ServiceRequest.", "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container", "severity": "error", "expression": "(Bundle.entry[0].resource.event.code = 'eRezept_Rezeptanforderung;NachrichtKopie' implies (Bundle.entry[0].resource.focus.all($this.resolve() is Bundle))) and (Bundle.entry[0].resource.event.code != 'eRezept_Rezeptanforderung;NachrichtKopie' implies Bundle.entry[0].resource.focus.all($this.resolve() is ServiceRequest))" }, { "key": "service-request-message-container-2", "human": "Wenn der Prescription-ServiceRequest den Pflegedienst als Referenz enthält, muss der E-Mail-Kontakt vorhanden sein.", "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container", "severity": "error", "expression": "Bundle.entry.resource.children().reference.where($this.startsWith('ServiceRequest')).all(($this.resolve().supportingInfo.where($this.type = 'Organization').exists() and $this.resolve().code.coding.code = 'prescription-request')implies $this.resolve().supportingInfo.where($this.type = 'Organization').reference.resolve().contact.telecom.where(system = 'email').exists())" }, { "key": "service-request-message-container-3", "human": "Wenn der Prescription-ServiceRequest den Pflegedienst als Referenz enthält, muss die Organisation den entsprechenden Typ haben.", "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container", "severity": "error", "expression": "Bundle.entry.resource.children().reference.where($this.startsWith('ServiceRequest')).all(($this.resolve().code.coding.code = 'prescription-request' and $this.resolve().supportingInfo.where($this.type = 'Organization').exists()) implies $this.resolve().supportingInfo.where($this.type = 'Organization').reference.resolve().type.coding.code = '1.2.276.0.76.4.245')" }, { "key": "service-request-message-container-4", "human": "Wenn der Prescription-ServiceRequest aktiv ist, nicht Zyto ist und der Anforderer eine Apotheke ist, muss der Pflegedienst für den Erhalt einer Kopie angegeben werden.", "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container", "severity": "error", "expression": "(Bundle.entry[0].resource.event.code != 'eRezept_ParenteraleZubereitung;Rezeptanfrage') implies Bundle.entry.resource.children().reference.where($this.startsWith('ServiceRequest')).all(($this.resolve().code.coding.code = 'prescription-request' and $this.resolve().status = 'active' and $this.resolve().requester.resolve().type.coding.code = '1.2.276.0.76.4.54') implies $this.resolve().supportingInfo.where($this.type = 'Organization').exists())" }, { "key": "service-request-message-container-5", "human": "Wenn der Dispense-ServiceRequest aktiv ist, muss der Anforderer ein Pflegedienst sein.", "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container", "severity": "error", "expression": "Bundle.entry.resource.children().reference.where($this.startsWith('ServiceRequest')).all(($this.resolve().code.coding.code = 'dispense-request' and $this.resolve().status = 'active') implies $this.resolve().requester.resolve().type.coding.code = '1.2.276.0.76.4.245')" } ] }, { "id": "Bundle.entry:MessageHeader", "path": "Bundle.entry", "sliceName": "MessageHeader" }, { "id": "Bundle.entry:MessageHeader.resource", "path": "Bundle.entry.resource", "type": [ { "code": "MessageHeader", "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" ] } ] } ] }, "baseDefinition": "https://gematik.de/fhir/atf/StructureDefinition/atf-message-bundle" }