diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ff010d4b..2c25a7ec 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,7 +2,7 @@ name: CI (FHIR Validation) -# Controls when the action will run. +# Controls when the action will run. on: # Triggers the workflow on push or pull request events but only for the master branch push: @@ -16,33 +16,33 @@ on: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - # Validate all resources using Firely Terminal + # Validate all resources using Firely Terminal CI_FHIR_VALIDATION: # The type of runner that the job will run on runs-on: ubuntu-latest - + # Steps represent a sequence of tasks that will be executed as part of the job steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v3 with: node-version: '20' - + # Install .NET runtime - name: Setup .NET Core SDK uses: actions/setup-dotnet@v2 with: dotnet-version: 6.0.x - + # Install Java runtime (only needed if you want to run the offical HL7 Java validator) - name: Setup Java JDK uses: actions/setup-java@v3 with: distribution: 'microsoft' java-version: '17' - + - name: Firely.Terminal (GitHub Actions) - uses: FirelyTeam/firely-terminal-pipeline@v0.4.0 + uses: FirelyTeam/firely-terminal-pipeline@v0.4.3 with: PATH_TO_CONFORMANCE_RESOURCES: Resources/fsh-generated/resources/ FIRELY_TERMINAL_VERSION: 3.1.0 @@ -52,14 +52,16 @@ jobs: JAVA_VALIDATION_ENABLED: true OUTPUT_FORMAT: RAW JAVA_VALIDATION_OPTIONS: -allow-example-urls true - JAVA_VALIDATOR_VERSION: 6.0.11 + JAVA_VALIDATOR_VERSION: 6.3.15 SIMPLIFIER_USERNAME: ${{ secrets.SIMPLIFIER_USERNAME }} SIMPLIFIER_PASSWORD: ${{ secrets.SIMPLIFIER_PASSWORD }} SUSHI_ENABLED: true - SUSHI_VERSION: 3.5.0 + SUSHI_VERSION: 3.11.0 SUSHI_OPTIONS: Resources/ EXPECTED_FAILS: VALIDATION_CONFORMANCE_DOTNET VALIDATION_CONFORMANCE_JAVA VALIDATION_EXAMPLES_JAVA - name: Check for Uncommitted Changes run: | git diff --exit-code 'Resources/fsh-generated/resources'|| (echo "Es gibt Änderungen durch die Pipeline. Lokale Sushi Konfiguration prüfen!" && exit 1) + + diff --git a/.gitignore b/.gitignore index 8713849f..ff51e545 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,7 @@ fhirpkg.lock.json *.zip out/ .history +project.yaml +.simplifier/connection.settings.json +.simplifier/project.snapshot.json +Resources/scripts/pdf_files \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..df757ffb --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "cSpell.words": [ + "Rezeptanforderung" + ] +} \ No newline at end of file diff --git a/ExternalDependencies/readme.txt b/ExternalDependencies/readme.txt deleted file mode 100644 index 77bcdfb8..00000000 --- a/ExternalDependencies/readme.txt +++ /dev/null @@ -1,2 +0,0 @@ -This folder can contain project specific fhir ressources which are not part of a official fhir package but needed for the validation of the profiles in this repository. -The content of this folder will be copied to the local `~/.fhir`-folder at each start of the `validate-sh` script \ No newline at end of file diff --git a/Resources/codfsh-config.yaml b/Resources/codfsh-config.yaml deleted file mode 100644 index ad55fae6..00000000 --- a/Resources/codfsh-config.yaml +++ /dev/null @@ -1,14 +0,0 @@ -# This config file is only to be used with the Codfsh Extension in VS Code: https://marketplace.visualstudio.com/items?itemName=gematikde.codfsh -sushi_parameters: - generate-snapshots: true -hapi_parameters: - jurisdiction: DE - locale: en-EN - tx: n/a - debug: true - allow-example-urls: "true" -hapi_ignore: - warning: - - "None of the codings provided are in the value set 'IdentifierType' (http://hl7.org/fhir/ValueSet/identifier-type|4.0.1), and a coding should come from this value set unless it has no suitable code (note that the validator cannot judge what is suitable) (codes = https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType#kim-2.0)" - - "None of the codings provided are in the value set 'IdentifierType' (http://hl7.org/fhir/ValueSet/identifier-type|4.0.1), and a coding should come from this value set unless it has no suitable code (note that the validator cannot judge what is suitable) (codes = http://terminology.hl7.org/CodeSystem/v2-0203#BSNR)" - - "Bundle.entry[6].resource/*Coverage/Response-Coverage*/.extension[0].value.ofType(Coding) | ValueSet https://fhir.kbv.de/ValueSet/KBV_VS_SFHIR_KBV_PERSONENGRUPPE not found by validator" \ No newline at end of file diff --git a/Resources/fsh-generated/fsh-index.json b/Resources/fsh-generated/fsh-index.json new file mode 100644 index 00000000..ad74483c --- /dev/null +++ b/Resources/fsh-generated/fsh-index.json @@ -0,0 +1,642 @@ +[ + { + "outputFile": "Bundle-Komplex-MULTI-1-Prescription-Request.json", + "fshName": "Komplex-MULTI-1-Prescription-Request", + "fshType": "Instance", + "fshFile": "examples/UC1_MultipleRequests/UC1_MultipleRequest_Bundles.fsh", + "startLine": 84, + "endLine": 119 + }, + { + "outputFile": "Bundle-UC1-1-Prescription-Request-To-Prescriber.json", + "fshName": "UC1-1-Prescription-Request-To-Prescriber", + "fshType": "Instance", + "fshFile": "examples/UC1/UC1_Bundles.fsh", + "startLine": 1, + "endLine": 24 + }, + { + "outputFile": "Bundle-UC1-2-Fullfilled-Prescription-Request.json", + "fshName": "UC1-2-Fullfilled-Prescription-Request", + "fshType": "Instance", + "fshFile": "examples/UC1/UC1_Bundles.fsh", + "startLine": 27, + "endLine": 50 + }, + { + "outputFile": "Bundle-UC1-3-Alt-Delivery-Dispense-Request-To-Pharmacy.json", + "fshName": "UC1-3-Alt-Delivery-Dispense-Request-To-Pharmacy", + "fshType": "Instance", + "fshFile": "examples/UC1/UC1_Bundles.fsh", + "startLine": 96, + "endLine": 113 + }, + { + "outputFile": "Bundle-UC1-3-Dispense-Request-To-Pharmacy.json", + "fshName": "UC1-3-Dispense-Request-To-Pharmacy", + "fshType": "Instance", + "fshFile": "examples/UC1/UC1_Bundles.fsh", + "startLine": 52, + "endLine": 69 + }, + { + "outputFile": "Bundle-UC1-4-Alt-Delivery-Fullfilled-DispenseRequest-To-Pharmacy.json", + "fshName": "UC1-4-Alt-Delivery-Fullfilled-DispenseRequest-To-Pharmacy", + "fshType": "Instance", + "fshFile": "examples/UC1/UC1_Bundles.fsh", + "startLine": 115, + "endLine": 138 + }, + { + "outputFile": "Bundle-UC1-4-Fullfilled-DispenseRequest-To-Pharmacy.json", + "fshName": "UC1-4-Fullfilled-DispenseRequest-To-Pharmacy", + "fshType": "Instance", + "fshFile": "examples/UC1/UC1_Bundles.fsh", + "startLine": 71, + "endLine": 94 + }, + { + "outputFile": "Bundle-UC1-MULTI-1-Prescription-Request-To-Prescriber.json", + "fshName": "UC1-MULTI-1-Prescription-Request-To-Prescriber", + "fshType": "Instance", + "fshFile": "examples/UC1_MultipleRequests/UC1_MultipleRequest_Bundles.fsh", + "startLine": 1, + "endLine": 32 + }, + { + "outputFile": "Bundle-UC1-MULTI-2-Response-Prescription-Request-1.json", + "fshName": "UC1-MULTI-2-Response-Prescription-Request-1", + "fshType": "Instance", + "fshFile": "examples/UC1_MultipleRequests/UC1_MultipleRequest_Bundles.fsh", + "startLine": 34, + "endLine": 57 + }, + { + "outputFile": "Bundle-UC1-MULTI-2-Response-Prescription-Request-2.json", + "fshName": "UC1-MULTI-2-Response-Prescription-Request-2", + "fshType": "Instance", + "fshFile": "examples/UC1_MultipleRequests/UC1_MultipleRequest_Bundles.fsh", + "startLine": 59, + "endLine": 82 + }, + { + "outputFile": "Bundle-UC1-Rejection-Of-Prescriber.json", + "fshName": "UC1-Rejection-Of-Prescriber", + "fshType": "Instance", + "fshFile": "examples/UC1_Ablehnung/UC1_Ablehnung_Bundles.fsh", + "startLine": 1, + "endLine": 22 + }, + { + "outputFile": "Bundle-UC1-Storno-1-Cancellation-Of-Prescription-Requester.json", + "fshName": "UC1-Storno-1-Cancellation-Of-Prescription-Requester", + "fshType": "Instance", + "fshFile": "examples/UC1_Storno/UC1_Storno_Bundles.fsh", + "startLine": 1, + "endLine": 22 + }, + { + "outputFile": "Bundle-UC2-1-Prescription-Request-To-Prescriber.json", + "fshName": "UC2-1-Prescription-Request-To-Prescriber", + "fshType": "Instance", + "fshFile": "examples/UC2/UC2_Bundles.fsh", + "startLine": 1, + "endLine": 24 + }, + { + "outputFile": "Bundle-UC2-2-Fullfilled-Prescription-Request.json", + "fshName": "UC2-2-Fullfilled-Prescription-Request", + "fshType": "Instance", + "fshFile": "examples/UC2/UC2_Bundles.fsh", + "startLine": 27, + "endLine": 50 + }, + { + "outputFile": "Bundle-UC3-1-Prescription-Request-To-Prescriber-COPY.json", + "fshName": "UC3-1-Prescription-Request-To-Prescriber-COPY", + "fshType": "Instance", + "fshFile": "examples/UC3/UC3_Bundles.fsh", + "startLine": 28, + "endLine": 41 + }, + { + "outputFile": "Bundle-UC3-1-Prescription-Request-To-Prescriber.json", + "fshName": "UC3-1-Prescription-Request-To-Prescriber", + "fshType": "Instance", + "fshFile": "examples/UC3/UC3_Bundles.fsh", + "startLine": 1, + "endLine": 26 + }, + { + "outputFile": "Bundle-UC3-2-Fullfilled-Prescription-Request-COPY.json", + "fshName": "UC3-2-Fullfilled-Prescription-Request-COPY", + "fshType": "Instance", + "fshFile": "examples/UC3/UC3_Bundles.fsh", + "startLine": 70, + "endLine": 83 + }, + { + "outputFile": "Bundle-UC3-2-Fullfilled-Prescription-Request.json", + "fshName": "UC3-2-Fullfilled-Prescription-Request", + "fshType": "Instance", + "fshFile": "examples/UC3/UC3_Bundles.fsh", + "startLine": 43, + "endLine": 68 + }, + { + "outputFile": "Bundle-UC4-1-Prescription-and-Dispense-Request-To-Prescriber.json", + "fshName": "UC4-1-Prescription-and-Dispense-Request-To-Prescriber", + "fshType": "Instance", + "fshFile": "examples/UC4/UC4_Bundles.fsh", + "startLine": 2, + "endLine": 25 + }, + { + "outputFile": "Bundle-UC4-2-Prescription-Request-To-Pharmacy.json", + "fshName": "UC4-2-Prescription-Request-To-Pharmacy", + "fshType": "Instance", + "fshFile": "examples/UC4/UC4_Bundles.fsh", + "startLine": 27, + "endLine": 52 + }, + { + "outputFile": "Bundle-XSLT-Changed-Medication-Bundle.json", + "fshName": "XSLT-Changed-Medication-Bundle", + "fshType": "Instance", + "fshFile": "examples/XSLT-Test-Bundles/XSLT-Changed-Medication.fsh", + "startLine": 1, + "endLine": 24 + }, + { + "outputFile": "Bundle-XSLT-Prior-Prescription-ID-Bundle.json", + "fshName": "XSLT-Prior-Prescription-ID-Bundle", + "fshType": "Instance", + "fshFile": "examples/XSLT-Test-Bundles/XSLT-Prior-Prescription-ID.fsh", + "startLine": 1, + "endLine": 24 + }, + { + "outputFile": "Bundle-XSLT-Redeem-By-Patient-Bundle.json", + "fshName": "XSLT-Redeem-By-Patient-Bundle", + "fshType": "Instance", + "fshFile": "examples/XSLT-Test-Bundles/XSLT-Redeem-By-Patient.fsh", + "startLine": 1, + "endLine": 24 + }, + { + "outputFile": "Bundle-XSLT-Request-MVO-Bundle.json", + "fshName": "XSLT-Request-MVO-Bundle", + "fshType": "Instance", + "fshFile": "examples/XSLT-Test-Bundles/XSLT-RequestMVO.fsh", + "startLine": 1, + "endLine": 24 + }, + { + "outputFile": "Bundle-XSLT-Urgent-Bundle.json", + "fshName": "XSLT-Urgent-Bundle", + "fshType": "Instance", + "fshFile": "examples/XSLT-Test-Bundles/XSLT-Urgent.fsh", + "startLine": 1, + "endLine": 24 + }, + { + "outputFile": "CodeSystem-delivery-type-cs.json", + "fshName": "DeliveryTypeCS", + "fshType": "CodeSystem", + "fshFile": "codesystems/DeliveryTypeCS.fsh", + "startLine": 1, + "endLine": 10 + }, + { + "outputFile": "CodeSystem-medication-request-reason-cs.json", + "fshName": "MedicationRequestReasonCS", + "fshType": "CodeSystem", + "fshFile": "codesystems/MedicationRequestReasonCS.fsh", + "startLine": 1, + "endLine": 9 + }, + { + "outputFile": "CodeSystem-service-request-type-cs.json", + "fshName": "ServiceRequestTypeCS", + "fshType": "CodeSystem", + "fshFile": "codesystems/ServiceRequestCodeCS.fsh", + "startLine": 1, + "endLine": 8 + }, + { + "outputFile": "ConceptMap-ServiceIdentifierToSubjectConceptMap.json", + "fshName": "ServiceIdentifierToSubjectConceptMap", + "fshType": "Instance", + "fshFile": "conceptmaps/serviceidentifier-to-subject-conceptmap.fsh", + "startLine": 1, + "endLine": 50 + }, + { + "outputFile": "MedicationDispense-UC1-Medication-Dispense.json", + "fshName": "UC1-Medication-Dispense", + "fshType": "Instance", + "fshFile": "examples/Misc/Example_MedicationDispense.fsh", + "startLine": 1, + "endLine": 10 + }, + { + "outputFile": "MedicationRequest-Example-Initial-Medication-Request.json", + "fshName": "Example-Initial-Medication-Request", + "fshType": "Instance", + "fshFile": "examples/Misc/Example_MedicationRequest.fsh", + "startLine": 1, + "endLine": 10 + }, + { + "outputFile": "MedicationRequest-Example-Komplex-Medication-Request.json", + "fshName": "Example-Komplex-Medication-Request", + "fshType": "Instance", + "fshFile": "examples/Misc/Example_MedicationRequest.fsh", + "startLine": 12, + "endLine": 21 + }, + { + "outputFile": "MedicationRequest-Example-Response-Medication-Request.json", + "fshName": "Example-Response-Medication-Request", + "fshType": "Instance", + "fshFile": "examples/Misc/Example_MedicationRequest.fsh", + "startLine": 32, + "endLine": 40 + }, + { + "outputFile": "MessageHeader-Komplex-MULTI-HealthCareService-to-Practitioner-MessageHeader.json", + "fshName": "Komplex-MULTI-HealthCareService-to-Practitioner-MessageHeader", + "fshType": "Instance", + "fshFile": "examples/UC1_MultipleRequests/UC1_MultipleRequests_MessageHeader.fsh", + "startLine": 29, + "endLine": 38 + }, + { + "outputFile": "MessageHeader-UC1-HealthCareService-to-Practitioner-MessageHeader.json", + "fshName": "UC1-HealthCareService-to-Practitioner-MessageHeader", + "fshType": "Instance", + "fshFile": "examples/UC1/UC1_MessageHeader.fsh", + "startLine": 1, + "endLine": 8 + }, + { + "outputFile": "MessageHeader-UC1-MULTI-HealthCareService-to-Practitioner-MessageHeader.json", + "fshName": "UC1-MULTI-HealthCareService-to-Practitioner-MessageHeader", + "fshType": "Instance", + "fshFile": "examples/UC1_MultipleRequests/UC1_MultipleRequests_MessageHeader.fsh", + "startLine": 1, + "endLine": 9 + }, + { + "outputFile": "MessageHeader-UC2-HealthCareService-to-Practitioner-MessageHeader.json", + "fshName": "UC2-HealthCareService-to-Practitioner-MessageHeader", + "fshType": "Instance", + "fshFile": "examples/UC2/UC2_MessageHeader.fsh", + "startLine": 1, + "endLine": 8 + }, + { + "outputFile": "NamingSystem-NamingSystemEPrescriptionToken.json", + "fshName": "NamingSystemEPrescriptionToken", + "fshType": "Instance", + "fshFile": "profiles/6.3_EPrescriptionTokenIdentifier.fsh", + "startLine": 13, + "endLine": 29 + }, + { + "outputFile": "Organization-Example-HealthCareService-Organization.json", + "fshName": "Example-HealthCareService-Organization", + "fshType": "Instance", + "fshFile": "examples/Misc/Example_Organization.fsh", + "startLine": 1, + "endLine": 16 + }, + { + "outputFile": "Patient-Example-Patient.json", + "fshName": "Example-Patient", + "fshType": "Instance", + "fshFile": "examples/Misc/Example_Patient.fsh", + "startLine": 1, + "endLine": 22 + }, + { + "outputFile": "Practitioner-Example-Practitioner.json", + "fshName": "Example-Practitioner", + "fshType": "Instance", + "fshFile": "examples/Misc/Example_Practitioner.fsh", + "startLine": 1, + "endLine": 14 + }, + { + "outputFile": "ServiceRequest-Komplex-MULTI-Initial-Prescription-Request-3.json", + "fshName": "Komplex-MULTI-Initial-Prescription-Request-3", + "fshType": "Instance", + "fshFile": "examples/UC1_MultipleRequests/UC1_MultipleRequests_ServiceRequests.fsh", + "startLine": 76, + "endLine": 90 + }, + { + "outputFile": "ServiceRequest-UC1-Initial-Prescription-Request.json", + "fshName": "UC1-Initial-Prescription-Request", + "fshType": "Instance", + "fshFile": "examples/UC1/UC1_ServiceRequests.fsh", + "startLine": 2, + "endLine": 24 + }, + { + "outputFile": "ServiceRequest-UC1-MULTI-Initial-Prescription-Request-1.json", + "fshName": "UC1-MULTI-Initial-Prescription-Request-1", + "fshType": "Instance", + "fshFile": "examples/UC1_MultipleRequests/UC1_MultipleRequests_ServiceRequests.fsh", + "startLine": 2, + "endLine": 21 + }, + { + "outputFile": "ServiceRequest-UC1-MULTI-Initial-Prescription-Request-2.json", + "fshName": "UC1-MULTI-Initial-Prescription-Request-2", + "fshType": "Instance", + "fshFile": "examples/UC1_MultipleRequests/UC1_MultipleRequests_ServiceRequests.fsh", + "startLine": 23, + "endLine": 38 + }, + { + "outputFile": "ServiceRequest-UC2-Initial-Prescription-Request.json", + "fshName": "UC2-Initial-Prescription-Request", + "fshType": "Instance", + "fshFile": "examples/UC2/UC2_ServiceRequests.fsh", + "startLine": 2, + "endLine": 18 + }, + { + "outputFile": "StructureDefinition-alternative-delivery-address-ex.json", + "fshName": "AlternativeDeliveryAddressEX", + "fshType": "Extension", + "fshFile": "extensions/AlternativeDeliveryAddressEX.fsh", + "startLine": 1, + "endLine": 8 + }, + { + "outputFile": "StructureDefinition-changed-medication-ex.json", + "fshName": "ChangedMedicationEX", + "fshType": "Extension", + "fshFile": "extensions/DidChangeMedicationEX.fsh", + "startLine": 1, + "endLine": 10 + }, + { + "outputFile": "StructureDefinition-eprescription-token-ex.json", + "fshName": "EPrescriptionTokenEX", + "fshType": "Extension", + "fshFile": "extensions/EPrescriptionTokenEX.fsh", + "startLine": 1, + "endLine": 19 + }, + { + "outputFile": "StructureDefinition-erp-service-request-dispense-request.json", + "fshName": "ERPServiceRequestDispenseRequest", + "fshType": "Profile", + "fshFile": "profiles/3.2_Dispense_ServiceRequest.fsh", + "startLine": 1, + "endLine": 125 + }, + { + "outputFile": "StructureDefinition-erp-service-request-eprescription-token.json", + "fshName": "ERPServiceRequestEPrescriptionToken", + "fshType": "Profile", + "fshFile": "profiles/6.3_EPrescriptionTokenIdentifier.fsh", + "startLine": 1, + "endLine": 11 + }, + { + "outputFile": "StructureDefinition-erp-service-request-medication-dispense.json", + "fshName": "ERPServiceRequestMedicationDispense", + "fshType": "Profile", + "fshFile": "profiles/4.2_MedicationDispense.fsh", + "startLine": 1, + "endLine": 24 + }, + { + "outputFile": "StructureDefinition-erp-service-request-medication-request.json", + "fshName": "ERPServiceRequestMedicationRequest", + "fshType": "Profile", + "fshFile": "profiles/4.1_MedicationRequest.fsh", + "startLine": 1, + "endLine": 59 + }, + { + "outputFile": "StructureDefinition-erp-service-request-message-container.json", + "fshName": "ERPServiceRequestMessageContainer", + "fshType": "Profile", + "fshFile": "profiles/1_Bundle.fsh", + "startLine": 1, + "endLine": 13 + }, + { + "outputFile": "StructureDefinition-erp-service-request-organization.json", + "fshName": "ERPServiceRequestOrganization", + "fshType": "Profile", + "fshFile": "profiles/8_Organization.fsh", + "startLine": 1, + "endLine": 24 + }, + { + "outputFile": "StructureDefinition-erp-service-request-patient.json", + "fshName": "ERPServiceRequestPatient", + "fshType": "Profile", + "fshFile": "profiles/9_Patient.fsh", + "startLine": 1, + "endLine": 8 + }, + { + "outputFile": "StructureDefinition-erp-service-request-practitioner.json", + "fshName": "ERPServiceRequestPractitioner", + "fshType": "Profile", + "fshFile": "profiles/10_Practitioner.fsh", + "startLine": 1, + "endLine": 8 + }, + { + "outputFile": "StructureDefinition-erp-service-request-prescription-request.json", + "fshName": "ERPServiceRequestPrescriptionRequest", + "fshType": "Profile", + "fshFile": "profiles/3.1_Prescription_ServiceRequest.fsh", + "startLine": 1, + "endLine": 151 + }, + { + "outputFile": "StructureDefinition-erp-service-request-procedure-identifier.json", + "fshName": "ERPServiceRequestProcedureIdentifier", + "fshType": "Profile", + "fshFile": "profiles/6.2_GroupAnforderungIdentifier.fsh", + "startLine": 1, + "endLine": 11 + }, + { + "outputFile": "StructureDefinition-erp-service-request-request-header.json", + "fshName": "ERPServiceRequestRequestHeader", + "fshType": "Profile", + "fshFile": "profiles/2_MessageHeader.fsh", + "startLine": 1, + "endLine": 25 + }, + { + "outputFile": "StructureDefinition-erp-service-request-request-identifier.json", + "fshName": "ERPServiceRequestRequestIdentifier", + "fshType": "Profile", + "fshFile": "profiles/6.1_AnforderungIdentifier.fsh", + "startLine": 1, + "endLine": 11 + }, + { + "outputFile": "StructureDefinition-gem-erp-sr-log-dispense-request-confirmation.json", + "fshName": "GEM_ERP_SR_LOG_DispenseRequest_Confirmation", + "fshType": "Logical", + "fshFile": "logical-models/dispense-request-confirmation-log.fsh", + "startLine": 1, + "endLine": 26 + }, + { + "outputFile": "StructureDefinition-gem-erp-sr-log-dispense-request.json", + "fshName": "GEM_ERP_SR_LOG_DispenseRequest", + "fshType": "Logical", + "fshFile": "logical-models/dispense-request-log.fsh", + "startLine": 1, + "endLine": 49 + }, + { + "outputFile": "StructureDefinition-gem-erp-sr-log-message-copy.json", + "fshName": "GEM_ERP_SR_LOG_MessageCopy", + "fshType": "Logical", + "fshFile": "logical-models/service-request-message-copy-log.fsh", + "startLine": 1, + "endLine": 10 + }, + { + "outputFile": "StructureDefinition-gem-erp-sr-log-prescription-request-cancellation.json", + "fshName": "GEM_ERP_SR_LOG_PrescriptionRequest_Cancellation", + "fshType": "Logical", + "fshFile": "logical-models/prescription-request-cancellation-log.fsh", + "startLine": 1, + "endLine": 20 + }, + { + "outputFile": "StructureDefinition-gem-erp-sr-log-prescription-request-confirmation.json", + "fshName": "GEM_ERP_SR_LOG_PrescriptionRequest_Confirmation", + "fshType": "Logical", + "fshFile": "logical-models/prescription-request-confirmation-log.fsh", + "startLine": 1, + "endLine": 36 + }, + { + "outputFile": "StructureDefinition-gem-erp-sr-log-prescription-request-rejection.json", + "fshName": "GEM_ERP_SR_LOG_PrescriptionRequest_Rejection", + "fshType": "Logical", + "fshFile": "logical-models/prescription-request-rejection-log.fsh", + "startLine": 1, + "endLine": 20 + }, + { + "outputFile": "StructureDefinition-gem-erp-sr-log-prescription-request.json", + "fshName": "GEM_ERP_SR_LOG_PrescriptionRequest", + "fshType": "Logical", + "fshFile": "logical-models/prescription-request-log.fsh", + "startLine": 1, + "endLine": 69 + }, + { + "outputFile": "StructureDefinition-prescription-id-ex.json", + "fshName": "PrescriptionIdEx", + "fshType": "Extension", + "fshFile": "extensions/PrescriptionIdEX.fsh", + "startLine": 1, + "endLine": 21 + }, + { + "outputFile": "StructureDefinition-redeem-by-patient-ex.json", + "fshName": "RedeemByPatientEX", + "fshType": "Extension", + "fshFile": "extensions/RedeemByPatientEX.fsh", + "startLine": 1, + "endLine": 23 + }, + { + "outputFile": "StructureDefinition-remaining-supply-ex.json", + "fshName": "RemainingSupplyEX", + "fshType": "Extension", + "fshFile": "extensions/RemainingSupplyEX.fsh", + "startLine": 1, + "endLine": 9 + }, + { + "outputFile": "StructureDefinition-remaining-supply-free-text-ex.json", + "fshName": "RemainingSupplyFreeTextEX", + "fshType": "Extension", + "fshFile": "extensions/RemainingSupplyFreeTextEX.fsh", + "startLine": 1, + "endLine": 7 + }, + { + "outputFile": "StructureDefinition-request-mvo-ex.json", + "fshName": "RequestMVOEX", + "fshType": "Extension", + "fshFile": "extensions/RequestMVOEX.fsh", + "startLine": 1, + "endLine": 23 + }, + { + "outputFile": "ValueSet-delivery-type-vs.json", + "fshName": "DeliveryTypeVS", + "fshType": "ValueSet", + "fshFile": "valuesets/DeliveryTypeVS.fsh", + "startLine": 1, + "endLine": 6 + }, + { + "outputFile": "ValueSet-medication-request-reason-vs.json", + "fshName": "MedicationRequestReasonVS", + "fshType": "ValueSet", + "fshFile": "valuesets/MedicationRequestReasonVS.fsh", + "startLine": 1, + "endLine": 7 + }, + { + "outputFile": "ValueSet-service-identifier-vs.json", + "fshName": "ServiceIdentifierVS", + "fshType": "ValueSet", + "fshFile": "valuesets/ServiceIdentifierVS.fsh", + "startLine": 1, + "endLine": 10 + }, + { + "outputFile": "ValueSet-service-request-organization-type-vs.json", + "fshName": "ServiceRequestOrganizationTypeVS", + "fshType": "ValueSet", + "fshFile": "valuesets/ServiceRequestOrganizationTypeVS.fsh", + "startLine": 1, + "endLine": 9 + }, + { + "outputFile": "ValueSet-service-request-priority-vs.json", + "fshName": "ServiceRequestPriorityVS", + "fshType": "ValueSet", + "fshFile": "valuesets/ServiceRequestPriorityVS.fsh", + "startLine": 1, + "endLine": 7 + }, + { + "outputFile": "ValueSet-service-request-status-vs.json", + "fshName": "ServiceRequestStatusVS", + "fshType": "ValueSet", + "fshFile": "valuesets/ServiceRequestStatusVS.fsh", + "startLine": 1, + "endLine": 9 + }, + { + "outputFile": "ValueSet-service-request-type-vs.json", + "fshName": "ServiceRequestTypeVS", + "fshType": "ValueSet", + "fshFile": "valuesets/ServiceRequestCodeVS.fsh", + "startLine": 1, + "endLine": 6 + } +] diff --git a/Resources/fsh-generated/fsh-index.txt b/Resources/fsh-generated/fsh-index.txt new file mode 100644 index 00000000..c0cc3f74 --- /dev/null +++ b/Resources/fsh-generated/fsh-index.txt @@ -0,0 +1,81 @@ +Output File Name Type FSH File Lines +Bundle-Komplex-MULTI-1-Prescription-Request.json Komplex-MULTI-1-Prescription-Request Instance examples/UC1_MultipleRequests/UC1_MultipleRequest_Bundles.fsh 84 - 119 +Bundle-UC1-1-Prescription-Request-To-Prescriber.json UC1-1-Prescription-Request-To-Prescriber Instance examples/UC1/UC1_Bundles.fsh 1 - 24 +Bundle-UC1-2-Fullfilled-Prescription-Request.json UC1-2-Fullfilled-Prescription-Request Instance examples/UC1/UC1_Bundles.fsh 27 - 50 +Bundle-UC1-3-Alt-Delivery-Dispense-Request-To-Pharmacy.json UC1-3-Alt-Delivery-Dispense-Request-To-Pharmacy Instance examples/UC1/UC1_Bundles.fsh 96 - 113 +Bundle-UC1-3-Dispense-Request-To-Pharmacy.json UC1-3-Dispense-Request-To-Pharmacy Instance examples/UC1/UC1_Bundles.fsh 52 - 69 +Bundle-UC1-4-Alt-Delivery-Fullfilled-DispenseRequest-To-Pharmacy.json UC1-4-Alt-Delivery-Fullfilled-DispenseRequest-To-Pharmacy Instance examples/UC1/UC1_Bundles.fsh 115 - 138 +Bundle-UC1-4-Fullfilled-DispenseRequest-To-Pharmacy.json UC1-4-Fullfilled-DispenseRequest-To-Pharmacy Instance examples/UC1/UC1_Bundles.fsh 71 - 94 +Bundle-UC1-MULTI-1-Prescription-Request-To-Prescriber.json UC1-MULTI-1-Prescription-Request-To-Prescriber Instance examples/UC1_MultipleRequests/UC1_MultipleRequest_Bundles.fsh 1 - 32 +Bundle-UC1-MULTI-2-Response-Prescription-Request-1.json UC1-MULTI-2-Response-Prescription-Request-1 Instance examples/UC1_MultipleRequests/UC1_MultipleRequest_Bundles.fsh 34 - 57 +Bundle-UC1-MULTI-2-Response-Prescription-Request-2.json UC1-MULTI-2-Response-Prescription-Request-2 Instance examples/UC1_MultipleRequests/UC1_MultipleRequest_Bundles.fsh 59 - 82 +Bundle-UC1-Rejection-Of-Prescriber.json UC1-Rejection-Of-Prescriber Instance examples/UC1_Ablehnung/UC1_Ablehnung_Bundles.fsh 1 - 22 +Bundle-UC1-Storno-1-Cancellation-Of-Prescription-Requester.json UC1-Storno-1-Cancellation-Of-Prescription-Requester Instance examples/UC1_Storno/UC1_Storno_Bundles.fsh 1 - 22 +Bundle-UC2-1-Prescription-Request-To-Prescriber.json UC2-1-Prescription-Request-To-Prescriber Instance examples/UC2/UC2_Bundles.fsh 1 - 24 +Bundle-UC2-2-Fullfilled-Prescription-Request.json UC2-2-Fullfilled-Prescription-Request Instance examples/UC2/UC2_Bundles.fsh 27 - 50 +Bundle-UC3-1-Prescription-Request-To-Prescriber-COPY.json UC3-1-Prescription-Request-To-Prescriber-COPY Instance examples/UC3/UC3_Bundles.fsh 28 - 41 +Bundle-UC3-1-Prescription-Request-To-Prescriber.json UC3-1-Prescription-Request-To-Prescriber Instance examples/UC3/UC3_Bundles.fsh 1 - 26 +Bundle-UC3-2-Fullfilled-Prescription-Request-COPY.json UC3-2-Fullfilled-Prescription-Request-COPY Instance examples/UC3/UC3_Bundles.fsh 70 - 83 +Bundle-UC3-2-Fullfilled-Prescription-Request.json UC3-2-Fullfilled-Prescription-Request Instance examples/UC3/UC3_Bundles.fsh 43 - 68 +Bundle-UC4-1-Prescription-and-Dispense-Request-To-Prescriber.json UC4-1-Prescription-and-Dispense-Request-To-Prescriber Instance examples/UC4/UC4_Bundles.fsh 2 - 25 +Bundle-UC4-2-Prescription-Request-To-Pharmacy.json UC4-2-Prescription-Request-To-Pharmacy Instance examples/UC4/UC4_Bundles.fsh 27 - 52 +Bundle-XSLT-Changed-Medication-Bundle.json XSLT-Changed-Medication-Bundle Instance examples/XSLT-Test-Bundles/XSLT-Changed-Medication.fsh 1 - 24 +Bundle-XSLT-Prior-Prescription-ID-Bundle.json XSLT-Prior-Prescription-ID-Bundle Instance examples/XSLT-Test-Bundles/XSLT-Prior-Prescription-ID.fsh 1 - 24 +Bundle-XSLT-Redeem-By-Patient-Bundle.json XSLT-Redeem-By-Patient-Bundle Instance examples/XSLT-Test-Bundles/XSLT-Redeem-By-Patient.fsh 1 - 24 +Bundle-XSLT-Request-MVO-Bundle.json XSLT-Request-MVO-Bundle Instance examples/XSLT-Test-Bundles/XSLT-RequestMVO.fsh 1 - 24 +Bundle-XSLT-Urgent-Bundle.json XSLT-Urgent-Bundle Instance examples/XSLT-Test-Bundles/XSLT-Urgent.fsh 1 - 24 +CodeSystem-delivery-type-cs.json DeliveryTypeCS CodeSystem codesystems/DeliveryTypeCS.fsh 1 - 10 +CodeSystem-medication-request-reason-cs.json MedicationRequestReasonCS CodeSystem codesystems/MedicationRequestReasonCS.fsh 1 - 9 +CodeSystem-service-request-type-cs.json ServiceRequestTypeCS CodeSystem codesystems/ServiceRequestCodeCS.fsh 1 - 8 +ConceptMap-ServiceIdentifierToSubjectConceptMap.json ServiceIdentifierToSubjectConceptMap Instance conceptmaps/serviceidentifier-to-subject-conceptmap.fsh 1 - 50 +MedicationDispense-UC1-Medication-Dispense.json UC1-Medication-Dispense Instance examples/Misc/Example_MedicationDispense.fsh 1 - 10 +MedicationRequest-Example-Initial-Medication-Request.json Example-Initial-Medication-Request Instance examples/Misc/Example_MedicationRequest.fsh 1 - 10 +MedicationRequest-Example-Komplex-Medication-Request.json Example-Komplex-Medication-Request Instance examples/Misc/Example_MedicationRequest.fsh 12 - 21 +MedicationRequest-Example-Response-Medication-Request.json Example-Response-Medication-Request Instance examples/Misc/Example_MedicationRequest.fsh 32 - 40 +MessageHeader-Komplex-MULTI-HealthCareService-to-Practitioner-MessageHeader.json Komplex-MULTI-HealthCareService-to-Practitioner-MessageHeader Instance examples/UC1_MultipleRequests/UC1_MultipleRequests_MessageHeader.fsh 29 - 38 +MessageHeader-UC1-HealthCareService-to-Practitioner-MessageHeader.json UC1-HealthCareService-to-Practitioner-MessageHeader Instance examples/UC1/UC1_MessageHeader.fsh 1 - 8 +MessageHeader-UC1-MULTI-HealthCareService-to-Practitioner-MessageHeader.json UC1-MULTI-HealthCareService-to-Practitioner-MessageHeader Instance examples/UC1_MultipleRequests/UC1_MultipleRequests_MessageHeader.fsh 1 - 9 +MessageHeader-UC2-HealthCareService-to-Practitioner-MessageHeader.json UC2-HealthCareService-to-Practitioner-MessageHeader Instance examples/UC2/UC2_MessageHeader.fsh 1 - 8 +NamingSystem-NamingSystemEPrescriptionToken.json NamingSystemEPrescriptionToken Instance profiles/6.3_EPrescriptionTokenIdentifier.fsh 13 - 29 +Organization-Example-HealthCareService-Organization.json Example-HealthCareService-Organization Instance examples/Misc/Example_Organization.fsh 1 - 16 +Patient-Example-Patient.json Example-Patient Instance examples/Misc/Example_Patient.fsh 1 - 22 +Practitioner-Example-Practitioner.json Example-Practitioner Instance examples/Misc/Example_Practitioner.fsh 1 - 14 +ServiceRequest-Komplex-MULTI-Initial-Prescription-Request-3.json Komplex-MULTI-Initial-Prescription-Request-3 Instance examples/UC1_MultipleRequests/UC1_MultipleRequests_ServiceRequests.fsh 76 - 90 +ServiceRequest-UC1-Initial-Prescription-Request.json UC1-Initial-Prescription-Request Instance examples/UC1/UC1_ServiceRequests.fsh 2 - 24 +ServiceRequest-UC1-MULTI-Initial-Prescription-Request-1.json UC1-MULTI-Initial-Prescription-Request-1 Instance examples/UC1_MultipleRequests/UC1_MultipleRequests_ServiceRequests.fsh 2 - 21 +ServiceRequest-UC1-MULTI-Initial-Prescription-Request-2.json UC1-MULTI-Initial-Prescription-Request-2 Instance examples/UC1_MultipleRequests/UC1_MultipleRequests_ServiceRequests.fsh 23 - 38 +ServiceRequest-UC2-Initial-Prescription-Request.json UC2-Initial-Prescription-Request Instance examples/UC2/UC2_ServiceRequests.fsh 2 - 18 +StructureDefinition-alternative-delivery-address-ex.json AlternativeDeliveryAddressEX Extension extensions/AlternativeDeliveryAddressEX.fsh 1 - 8 +StructureDefinition-changed-medication-ex.json ChangedMedicationEX Extension extensions/DidChangeMedicationEX.fsh 1 - 10 +StructureDefinition-eprescription-token-ex.json EPrescriptionTokenEX Extension extensions/EPrescriptionTokenEX.fsh 1 - 19 +StructureDefinition-erp-service-request-dispense-request.json ERPServiceRequestDispenseRequest Profile profiles/3.2_Dispense_ServiceRequest.fsh 1 - 125 +StructureDefinition-erp-service-request-eprescription-token.json ERPServiceRequestEPrescriptionToken Profile profiles/6.3_EPrescriptionTokenIdentifier.fsh 1 - 11 +StructureDefinition-erp-service-request-medication-dispense.json ERPServiceRequestMedicationDispense Profile profiles/4.2_MedicationDispense.fsh 1 - 24 +StructureDefinition-erp-service-request-medication-request.json ERPServiceRequestMedicationRequest Profile profiles/4.1_MedicationRequest.fsh 1 - 59 +StructureDefinition-erp-service-request-message-container.json ERPServiceRequestMessageContainer Profile profiles/1_Bundle.fsh 1 - 13 +StructureDefinition-erp-service-request-organization.json ERPServiceRequestOrganization Profile profiles/8_Organization.fsh 1 - 24 +StructureDefinition-erp-service-request-patient.json ERPServiceRequestPatient Profile profiles/9_Patient.fsh 1 - 8 +StructureDefinition-erp-service-request-practitioner.json ERPServiceRequestPractitioner Profile profiles/10_Practitioner.fsh 1 - 8 +StructureDefinition-erp-service-request-prescription-request.json ERPServiceRequestPrescriptionRequest Profile profiles/3.1_Prescription_ServiceRequest.fsh 1 - 151 +StructureDefinition-erp-service-request-procedure-identifier.json ERPServiceRequestProcedureIdentifier Profile profiles/6.2_GroupAnforderungIdentifier.fsh 1 - 11 +StructureDefinition-erp-service-request-request-header.json ERPServiceRequestRequestHeader Profile profiles/2_MessageHeader.fsh 1 - 25 +StructureDefinition-erp-service-request-request-identifier.json ERPServiceRequestRequestIdentifier Profile profiles/6.1_AnforderungIdentifier.fsh 1 - 11 +StructureDefinition-gem-erp-sr-log-dispense-request-confirmation.json GEM_ERP_SR_LOG_DispenseRequest_Confirmation Logical logical-models/dispense-request-confirmation-log.fsh 1 - 26 +StructureDefinition-gem-erp-sr-log-dispense-request.json GEM_ERP_SR_LOG_DispenseRequest Logical logical-models/dispense-request-log.fsh 1 - 49 +StructureDefinition-gem-erp-sr-log-message-copy.json GEM_ERP_SR_LOG_MessageCopy Logical logical-models/service-request-message-copy-log.fsh 1 - 10 +StructureDefinition-gem-erp-sr-log-prescription-request-cancellation.json GEM_ERP_SR_LOG_PrescriptionRequest_Cancellation Logical logical-models/prescription-request-cancellation-log.fsh 1 - 20 +StructureDefinition-gem-erp-sr-log-prescription-request-confirmation.json GEM_ERP_SR_LOG_PrescriptionRequest_Confirmation Logical logical-models/prescription-request-confirmation-log.fsh 1 - 36 +StructureDefinition-gem-erp-sr-log-prescription-request-rejection.json GEM_ERP_SR_LOG_PrescriptionRequest_Rejection Logical logical-models/prescription-request-rejection-log.fsh 1 - 20 +StructureDefinition-gem-erp-sr-log-prescription-request.json GEM_ERP_SR_LOG_PrescriptionRequest Logical logical-models/prescription-request-log.fsh 1 - 69 +StructureDefinition-prescription-id-ex.json PrescriptionIdEx Extension extensions/PrescriptionIdEX.fsh 1 - 21 +StructureDefinition-redeem-by-patient-ex.json RedeemByPatientEX Extension extensions/RedeemByPatientEX.fsh 1 - 23 +StructureDefinition-remaining-supply-ex.json RemainingSupplyEX Extension extensions/RemainingSupplyEX.fsh 1 - 9 +StructureDefinition-remaining-supply-free-text-ex.json RemainingSupplyFreeTextEX Extension extensions/RemainingSupplyFreeTextEX.fsh 1 - 7 +StructureDefinition-request-mvo-ex.json RequestMVOEX Extension extensions/RequestMVOEX.fsh 1 - 23 +ValueSet-delivery-type-vs.json DeliveryTypeVS ValueSet valuesets/DeliveryTypeVS.fsh 1 - 6 +ValueSet-medication-request-reason-vs.json MedicationRequestReasonVS ValueSet valuesets/MedicationRequestReasonVS.fsh 1 - 7 +ValueSet-service-identifier-vs.json ServiceIdentifierVS ValueSet valuesets/ServiceIdentifierVS.fsh 1 - 10 +ValueSet-service-request-organization-type-vs.json ServiceRequestOrganizationTypeVS ValueSet valuesets/ServiceRequestOrganizationTypeVS.fsh 1 - 9 +ValueSet-service-request-priority-vs.json ServiceRequestPriorityVS ValueSet valuesets/ServiceRequestPriorityVS.fsh 1 - 7 +ValueSet-service-request-status-vs.json ServiceRequestStatusVS ValueSet valuesets/ServiceRequestStatusVS.fsh 1 - 9 +ValueSet-service-request-type-vs.json ServiceRequestTypeVS ValueSet valuesets/ServiceRequestCodeVS.fsh 1 - 6 \ No newline at end of file diff --git a/Resources/fsh-generated/resources/Bundle-Komplex-MULTI-1-Prescription-Request.json b/Resources/fsh-generated/resources/Bundle-Komplex-MULTI-1-Prescription-Request.json new file mode 100644 index 00000000..83349a46 --- /dev/null +++ b/Resources/fsh-generated/resources/Bundle-Komplex-MULTI-1-Prescription-Request.json @@ -0,0 +1,616 @@ +{ + "resourceType": "Bundle", + "id": "Komplex-MULTI-1-Prescription-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + ] + }, + "type": "message", + "identifier": { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:7a6f9dc9-9aa9-4ee0-bec4-64460d3edb94" + }, + "timestamp": "2025-05-13T14:25:12+02:00", + "entry": [ + { + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/Komplex-MULTI-HealthCareService-to-Practitioner-MessageHeader", + "resource": { + "resourceType": "MessageHeader", + "id": "Komplex-MULTI-HealthCareService-to-Practitioner-MessageHeader", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" + ] + }, + "source": { + "contact": { + "system": "email", + "value": "info@healthcare_ps_solutions.com" + }, + "name": "HealthCare-Source", + "software": "HealthCare-Software", + "version": "1.0.0", + "endpoint": "https://healthcare_ps_solutions.com/jira_helpdesk" + }, + "focus": [ + { + "reference": "ServiceRequest/UC1-MULTI-Initial-Prescription-Request-1" + }, + { + "reference": "ServiceRequest/UC1-MULTI-Initial-Prescription-Request-2" + }, + { + "reference": "ServiceRequest/Komplex-MULTI-Initial-Prescription-Request-3" + } + ], + "sender": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "5-test-telematik-id" + }, + "display": "Pflegeheim Immergrün" + }, + "destination": [ + { + "name": "Praxis Hans Topp-Glücklich", + "endpoint": "mailto:practitioner@test.kim.de" + } + ], + "eventCoding": { + "code": "eRezept_Rezeptanforderung;Rezeptanfrage", + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-HealthCareService-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "email", + "value": "arbeitsplatz-1@test-pflegeheim.kim.telematik" + } + ] + } + ], + "name": "Pflegeheim Immergrün", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.245", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-MULTI-Initial-Prescription-Request-1", + "resource": { + "resourceType": "ServiceRequest", + "id": "UC1-MULTI-Initial-Prescription-Request-1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "multi-1" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1-MULTI" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "reasonCode": [ + { + "extension": [ + { + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-ex", + "valueQuantity": { + "value": 2, + "unit": "Tabletten" + } + } + ] + } + ], + "basedOn": [ + { + "reference": "MedicationRequest/Example-Initial-Medication-Request" + } + ], + "status": "active", + "subject": { + "reference": "Patient/Example-Patient" + }, + "occurrenceDateTime": "2025-05-15", + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + }, + "note": [ + { + "text": "Für die Nacht sehr hilfreich.", + "time": "2025-05-13T12:23:12+02:00" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/Komplex-MULTI-Initial-Prescription-Request-3", + "resource": { + "resourceType": "ServiceRequest", + "id": "Komplex-MULTI-Initial-Prescription-Request-3", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "komplex-multi" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1-MULTI" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "reasonCode": [ + { + "extension": [ + { + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-free-text-ex", + "valueString": "2 Tabletten" + } + ] + } + ], + "basedOn": [ + { + "reference": "MedicationRequest/Example-Komplex-Medication-Request" + } + ], + "status": "active", + "subject": { + "reference": "Patient/Example-Patient" + }, + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-MULTI-Initial-Prescription-Request-2", + "resource": { + "resourceType": "ServiceRequest", + "id": "UC1-MULTI-Initial-Prescription-Request-2", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "multi-2" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1-MULTI" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "basedOn": [ + { + "reference": "MedicationRequest/Example-Initial-Medication-Request-2" + } + ], + "status": "active", + "subject": { + "reference": "Patient/Example-Patient-2" + }, + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + }, + "note": [ + { + "text": "Für den Bedarfsfall", + "time": "2025-05-13T12:23:12+02:00" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "resource": { + "resourceType": "Patient", + "id": "Example-Patient", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ + { + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] + }, + "given": [ + "Ludger" + ] + } + ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" + } + ], + "birthDate": "1935-06-22" + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient-2", + "resource": { + "resourceType": "Patient", + "id": "Example-Patient-2", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ + { + "use": "official", + "family": "Edgarson", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Edgarson" + } + ] + }, + "given": [ + "Peter" + ] + } + ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X098765432" + } + ], + "address": [ + { + "line": [ + "Erikastraße 43" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "43" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Erikastraße" + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10742" + } + ], + "birthDate": "1974-01-31" + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", + "resource": { + "resourceType": "MedicationRequest", + "id": "Example-Initial-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] + }, + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 1, + "unit": "Packung" + } + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Komplex-Medication-Request", + "resource": { + "resourceType": "MedicationRequest", + "id": "Example-Komplex-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] + }, + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 2, + "unit": "Packungen" + } + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", + "resource": { + "resourceType": "Medication", + "id": "Example-Initial-Medication", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "08585997" + } + ], + "text": "Prospan® Hustensaft 100ml" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FLE" + } + ] + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request-2", + "resource": { + "resourceType": "MedicationRequest", + "id": "Example-Initial-Medication-Request-2", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] + }, + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication-2" + }, + "subject": { + "reference": "Patient/Example-Patient-2" + }, + "dispenseRequest": { + "quantity": { + "value": 2, + "code": "{Package}", + "system": "http://unitsofmeasure.org", + "unit": "Packungen" + } + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication-2", + "resource": { + "resourceType": "Medication", + "id": "Example-Initial-Medication-2", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02483617" + } + ], + "text": "Buscopan PLUS 20 St" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FTA" + } + ] + } + } + } + ] +} diff --git a/Resources/fsh-generated/resources/Bundle-UC1-1-Prescription-Request-To-Prescriber.json b/Resources/fsh-generated/resources/Bundle-UC1-1-Prescription-Request-To-Prescriber.json index a331945d..1fc2e4bd 100644 --- a/Resources/fsh-generated/resources/Bundle-UC1-1-Prescription-Request-To-Prescriber.json +++ b/Resources/fsh-generated/resources/Bundle-UC1-1-Prescription-Request-To-Prescriber.json @@ -11,7 +11,7 @@ "system": "urn:ietf:rfc:3986", "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" }, - "timestamp": "2015-02-07T13:28:17.239+02:00", + "timestamp": "2025-05-13T14:25:12+02:00", "entry": [ { "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-HealthCareService-to-Practitioner-MessageHeader", @@ -26,12 +26,12 @@ "source": { "contact": { "system": "email", - "value": "info@hcs.email" + "value": "info@healthcare_ps_solutions.com" }, "name": "HealthCare-Source", "software": "HealthCare-Software", "version": "1.0.0", - "endpoint": "mailto:healthcare-service@test.kim.de" + "endpoint": "https://healthcare_ps_solutions.com/jira_helpdesk" }, "focus": [ { @@ -47,214 +47,149 @@ }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, + "name": "Praxis Hans Topp-Glücklich", "endpoint": "mailto:practitioner@test.kim.de" } ], "eventCoding": { "code": "eRezept_Rezeptanforderung;Rezeptanfrage", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" } } }, { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-Initial-Prescription-Request", + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", "resource": { - "resourceType": "ServiceRequest", - "id": "UC1-Initial-Prescription-Request", + "resourceType": "Organization", + "id": "Example-HealthCareService-Organization", "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" - ] - }, - "intent": "order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-UC1" - }, - "code": { - "coding": [ + "tag": [ { - "code": "prescription-request", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" ] }, "identifier": [ { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "1" - }, - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemPreDisIdentifier", - "value": "PreDis-1" - } - ], - "basedOn": [ - { - "reference": "MedicationRequest/Example-Initial-Medication-Request" + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" } ], - "status": "active", - "subject": { - "reference": "Patient/Example-Patient" - }, - "orderDetail": [ + "contact": [ { - "coding": [ + "telecom": [ { - "code": "return-to-requester", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" + "system": "phone", + "value": "0301234567" + }, + { + "system": "email", + "value": "arbeitsplatz-1@test-pflegeheim.kim.telematik" } ] } ], - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-01-27", - "requester": { - "reference": "Organization/Example-HealthCareService-Organization" - }, - "performer": [ - { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - } - } - ], - "reasonCode": [ + "name": "Pflegeheim Immergrün", + "type": [ { "coding": [ { - "code": "medication-runs-out", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-request-reason-cs" + "code": "1.2.276.0.76.4.245", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" } ] } ], - "reasonReference": [ - { - "reference": "Observation/Medication-Runs-Out-Example-dateTime" - }, - { - "reference": "Observation/Medication-Runs-Out-Example-Quantity" - } - ], - "note": [ + "address": [ { - "text": "Medikament läuft am 31.01.2023 aus. Es sind noch 7 stk übrig. " + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" } ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-Initial-Prescription-Request", "resource": { - "resourceType": "MedicationRequest", - "id": "Example-Initial-Medication-Request", + "resourceType": "ServiceRequest", + "id": "UC1-Initial-Prescription-Request", "meta": { "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" ] }, - "extension": [ - { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "160.100.000.000.001.36" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/prescription-id-ex" - } - ], - "dispenseRequest": { - "quantity": { - "system": "http://unitsofmeasure.org", - "code": "{Package}", - "value": 1 - } - }, - "status": "active", "intent": "order", - "medicationReference": { - "reference": "Medication/Example-Initial-Medication" - }, - "subject": { - "reference": "Patient/Example-Patient" - }, - "authoredOn": "2022-05-20", - "dosageInstruction": [ + "identifier": [ { - "text": "2mal tägl. 5ml" + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" } ], - "substitution": { - "allowedBoolean": true - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", - "resource": { - "resourceType": "Medication", - "id": "Example-Initial-Medication", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } ] }, - "extension": [ + "reasonCode": [ { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/900000000000207008/version/20220331", - "code": "763158003", - "display": "Medicinal product (product)" + "extension": [ + { + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-ex", + "valueQuantity": { + "value": 7, + "unit": "Stück" } - ] - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", - "valueBoolean": false - }, + } + ], + "coding": [ + { + "code": "exhausted-range", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-request-reason-cs" + } + ], + "text": "Medikament läuft am 15.05.2025 aus. Es sind noch 7 stk übrig." + } + ], + "basedOn": [ { - "url": "http://fhir.de/StructureDefinition/normgroesse", - "valueCode": "N1" + "reference": "MedicationRequest/Example-Initial-Medication-Request" } ], - "code": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "08585997" - } - ], - "text": "Prospan® Hustensaft 100ml" + "status": "active", + "subject": { + "reference": "Patient/Example-Patient" }, - "form": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", - "code": "FLE" - } - ] - } + "occurrenceDateTime": "2025-05-14T12:00:00+02:00", + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + }, + "priority": "urgent", + "note": [ + { + "text": "Wird weiterhin benötigt, bitte um Verlängerung.", + "time": "2025-05-13T14:23:12+02:00" + } + ] } }, { @@ -264,23 +199,9 @@ "id": "Example-Patient", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], "name": [ { "use": "official", @@ -298,9 +219,14 @@ ] } ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], "address": [ { - "type": "both", "line": [ "Musterstr. 1" ], @@ -318,6 +244,7 @@ ] } ], + "type": "both", "city": "Berlin", "postalCode": "10623" } @@ -326,136 +253,87 @@ } }, { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", "resource": { - "resourceType": "Organization", - "id": "Example-HealthCareService-Organization", + "resourceType": "MedicationRequest", + "id": "Example-Initial-Medication-Request", "meta": { "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" ] }, - "identifier": [ + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 1, + "unit": "Packung" + } + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", + "resource": { + "resourceType": "Medication", + "id": "Example-Initial-Medication", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ { - "type": { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { "coding": [ { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" } ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "pflegeheim.immergrün.arzt@sana-pflegeheime.kim.telematik" + } }, { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-031234567" + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } }, { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "031234567" - } - ], - "address": [ + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, { - "type": "both", - "line": [ - "Musterstr. 2" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" } ], - "name": "Pflegeheim Immergrün", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } - ] - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Observation/Medication-Runs-Out-Example-dateTime", - "resource": { - "resourceType": "Observation", - "id": "Medication-Runs-Out-Example-dateTime", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-remaining-medication" - ] - }, - "status": "final", - "subject": { - "reference": "Patient/Example-Patient" - }, "code": { "coding": [ { - "code": "range-of-medication", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-observation-cs" + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "08585997" } - ] - }, - "valueDateTime": "2023-01-31" - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Observation/Medication-Runs-Out-Example-Quantity", - "resource": { - "resourceType": "Observation", - "id": "Medication-Runs-Out-Example-Quantity", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-remaining-medication" - ] - }, - "status": "final", - "subject": { - "reference": "Patient/Example-Patient" + ], + "text": "Prospan® Hustensaft 100ml" }, - "code": { + "form": { "coding": [ { - "code": "range-of-medication", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-observation-cs" + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FLE" } ] - }, - "valueQuantity": { - "value": 7, - "unit": "stk" } } } diff --git a/Resources/fsh-generated/resources/Bundle-UC1-2-Fullfilled-Prescription-Request.json b/Resources/fsh-generated/resources/Bundle-UC1-2-Fullfilled-Prescription-Request.json index 7bf81311..e3c3f7ae 100644 --- a/Resources/fsh-generated/resources/Bundle-UC1-2-Fullfilled-Prescription-Request.json +++ b/Resources/fsh-generated/resources/Bundle-UC1-2-Fullfilled-Prescription-Request.json @@ -11,7 +11,7 @@ "system": "urn:ietf:rfc:3986", "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" }, - "timestamp": "2023-01-30T13:28:17.239+02:00", + "timestamp": "2025-05-14T08:15:12+02:00", "entry": [ { "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-Practitioner-to-HealthCareService-MessageHeader", @@ -26,12 +26,12 @@ "source": { "contact": { "system": "email", - "value": "info@hcs.email" + "value": "info@pvs_solutions.email" }, - "name": "HealthCare-Source", - "software": "HealthCare-Software", + "name": "Practitioner-Source", + "software": "Practitioner-Software", "version": "1.0.0", - "endpoint": "mailto:healthcare-service@test.kim.de" + "endpoint": "https://pvs_solutions.com/jira_helpdesk" }, "focus": [ { @@ -41,328 +41,141 @@ "sender": { "identifier": { "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "5-test-telematik-id" + "value": "1-test-telematik-id" }, - "display": "Pflegeheim Immergrün" + "display": "Praxis Hans Topp-Glücklich" }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, - "endpoint": "mailto:practitioner@test.kim.de" + "name": "Pflegeheim Immergrün", + "endpoint": "mailto:healthcare-service@test.kim.de" } ], "eventCoding": { "code": "eRezept_Rezeptanforderung;Rezeptbestaetigung", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Practitioner-Organization" } } }, { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-Response-Prescription-Request", + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization", "resource": { - "resourceType": "ServiceRequest", - "id": "UC1-Response-Prescription-Request", + "resourceType": "Organization", + "id": "Example-Practitioner-Organization", "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" - ] - }, - "intent": "order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-UC1" - }, - "extension": [ - { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", - "value": "Task/160.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" - } - ], - "code": { - "coding": [ + "tag": [ { - "code": "prescription-request", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" ] }, "identifier": [ { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "1" - }, - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemPreDisIdentifier", - "value": "PreDis-1" - } - ], - "basedOn": [ - { - "reference": "MedicationRequest/Example-Response-KBV-Prescription" + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" } ], - "status": "completed", - "subject": { - "reference": "Patient/Example-Patient" - }, - "orderDetail": [ + "contact": [ { - "coding": [ + "telecom": [ { - "code": "return-to-requester", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" + "system": "phone", + "value": "0307654321" } ] } ], - "occurrenceDateTime": "2023-01-30", - "authoredOn": "2023-01-27", - "requester": { - "reference": "Organization/Example-HealthCareService-Organization" - }, - "performer": [ - { - "reference": "Practitioner/Example-Practitioner" - } - ], - "note": [ + "name": "Test Arztpraxis", + "type": [ { - "text": "Medikament läuft am 31.01.2023 aus. Es sind noch 7 stk übrig. " - } - ] - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-KBV-Prescription", - "resource": { - "resourceType": "MedicationRequest", - "id": "Example-Response-KBV-Prescription", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" - ] - }, - "status": "active", - "intent": "order", - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", - "valueBoolean": false - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", - "valueBoolean": false - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", - "extension": [ + "coding": [ { - "url": "Kennzeichen", - "valueBoolean": false + "code": "1.2.276.0.76.4.50", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Arzt" } ] - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_StatusCoPayment", - "valueCoding": { - "code": "1", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_StatusCoPayment" - } } ], - "dispenseRequest": { - "quantity": { - "system": "http://unitsofmeasure.org", - "code": "{Package}", - "value": 1 - } - }, - "dosageInstruction": [ + "address": [ { - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", - "valueBoolean": true - } + "type": "both", + "line": [ + "Musterarztstr. 3" ], - "text": "2mal tägl. 5ml" - } - ], - "medicationReference": { - "reference": "Medication/Example-Response-Medication" - }, - "subject": { - "reference": "Patient/Example-Patient" - }, - "authoredOn": "2022-05-20", - "requester": { - "reference": "Practitioner/Example-Practitioner" - }, - "insurance": [ - { - "reference": "Coverage/Response-Coverage" + "city": "Berlin", + "postalCode": "10623" } - ], - "substitution": { - "allowedBoolean": true - } + ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Response-Medication", + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-Response-Prescription-Request", "resource": { - "resourceType": "Medication", - "id": "Example-Response-Medication", + "resourceType": "ServiceRequest", + "id": "UC1-Response-Prescription-Request", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" ] }, - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/900000000000207008/version/20220331", - "code": "763158003", - "display": "Medicinal product (product)" - } - ] - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", - "valueBoolean": false - }, + "intent": "order", + "identifier": [ { - "url": "http://fhir.de/StructureDefinition/normgroesse", - "valueCode": "N1" + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" } ], - "code": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "08585997" - } - ], - "text": "Prospan® Hustensaft 100ml N1" + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1" }, - "form": { + "code": { "coding": [ { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", - "code": "FLE" + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" } ] - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Practitioner/Example-Practitioner", - "resource": { - "resourceType": "Practitioner", - "id": "Example-Practitioner", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" - ] }, - "name": [ + "extension": [ { - "use": "official", - "prefix": [ - "Dr. med." - ], - "_prefix": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", - "valueCode": "AC" - } - ] - } - ], - "family": "Topp-Glücklich", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Topp-Glücklich" - } - ] + "valueIdentifier": { + "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", + "value": "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" }, - "given": [ - "Hans" - ] + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" } ], - "qualification": [ + "status": "completed", + "basedOn": [ { - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", - "code": "00" - } - ] - } - }, + "reference": "MedicationRequest/Example-Response-Medication-Request" + } + ], + "subject": { + "reference": "Patient/Example-Patient" + }, + "authoredOn": "2025-05-13", + "performer": [ { - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", - "code": "Berufsbezeichnung" - } - ], - "text": "Hausarzt" + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-test-telematik-id" } } ], - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "LANR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", - "value": "838382202" - }, + "note": [ { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-838382202" + "text": "Wird weiterhin benötigt, bitte um Verlängerung.", + "time": "2025-05-14T08:12:23+02:00" } ] } @@ -374,23 +187,9 @@ "id": "Example-Patient", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], "name": [ { "use": "official", @@ -408,9 +207,14 @@ ] } ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], "address": [ { - "type": "both", "line": [ "Musterstr. 1" ], @@ -428,6 +232,7 @@ ] } ], + "type": "both", "city": "Berlin", "postalCode": "10623" } @@ -436,150 +241,95 @@ } }, { - "fullUrl": "http://erp-servicerequest-test.de/Coverage/Response-Coverage", + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-Medication-Request", "resource": { - "resourceType": "Coverage", - "id": "Response-Coverage", + "resourceType": "MedicationRequest", + "id": "Example-Response-Medication-Request", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" ] }, "status": "active", - "payor": [ - { - "identifier": { - "system": "http://fhir.de/sid/arge-ik/iknr", - "value": "108416214" - }, - "display": "AOK Bayern Die Gesundh." - } - ], - "extension": [ - { - "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/wop", - "valueCoding": { - "code": "72", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_ITA_WOP" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", - "valueCoding": { - "code": "3", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS" - } - } - ], - "type": { - "coding": [ - { - "code": "GKV", - "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis" - } - ] + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Response-Medication" }, - "beneficiary": { + "subject": { "reference": "Patient/Example-Patient" }, - "period": { - "end": "2040-04-01" - } + "dispenseRequest": { + "quantity": { + "value": 65, + "code": "mL", + "system": "http://unitsofmeasure.org", + "unit": "Milliliter" + } + }, + "dosageInstruction": [ + { + "text": "1-1-1-0" + } + ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Response-Medication", "resource": { - "resourceType": "Organization", - "id": "Example-HealthCareService-Organization", + "resourceType": "Medication", + "id": "Example-Response-Medication", "meta": { "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" ] }, - "identifier": [ + "extension": [ { - "type": { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { "coding": [ { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" } ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "pflegeheim.immergrün.arzt@sana-pflegeheime.kim.telematik" + } }, { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-031234567" + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } }, { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "031234567" - } - ], - "address": [ + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, { - "type": "both", - "line": [ - "Musterstr. 2" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" } ], - "name": "Pflegeheim Immergrün", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } - ] + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "08585997" + } + ], + "text": "Prospan® Hustensaft 100ml N1" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FLE" + } + ] + } } } ] diff --git a/examples/rezeptanforderung/dispense-request/Bundle-UC1-3-Dispense-Request-To-Pharmacy.json b/Resources/fsh-generated/resources/Bundle-UC1-3-Alt-Delivery-Dispense-Request-To-Pharmacy.json similarity index 53% rename from examples/rezeptanforderung/dispense-request/Bundle-UC1-3-Dispense-Request-To-Pharmacy.json rename to Resources/fsh-generated/resources/Bundle-UC1-3-Alt-Delivery-Dispense-Request-To-Pharmacy.json index bdd6eadd..8ee81fe4 100644 --- a/examples/rezeptanforderung/dispense-request/Bundle-UC1-3-Dispense-Request-To-Pharmacy.json +++ b/Resources/fsh-generated/resources/Bundle-UC1-3-Alt-Delivery-Dispense-Request-To-Pharmacy.json @@ -1,6 +1,6 @@ { "resourceType": "Bundle", - "id": "UC1-3-Dispense-Request-To-Pharmacy", + "id": "UC1-3-Alt-Delivery-Dispense-Request-To-Pharmacy", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" @@ -9,98 +9,102 @@ "type": "message", "identifier": { "system": "urn:ietf:rfc:3986", - "value": "urn:uuid:c80f6c55-92f8-4518-ba66-cb193da09336" + "value": "urn:uuid:fa23be14-c00a-4ddc-8128-82ace2f9a80b" }, - "timestamp": "2023-02-01T13:28:17.239+02:00", + "timestamp": "2025-05-14T08:23:12+02:00", "entry": [ { - "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-HealthCareService-to-Pharmacy-MessageHeader", + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-Alt-Delivery-HealthCareService-to-Pharmacy-MessageHeader", "resource": { "resourceType": "MessageHeader", - "id": "UC1-HealthCareService-to-Pharmacy-MessageHeader", + "id": "UC1-Alt-Delivery-HealthCareService-to-Pharmacy-MessageHeader", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" ] }, + "source": { + "contact": { + "system": "email", + "value": "info@healthcare_ps_solutions.com" + }, + "name": "HealthCare-Source", + "software": "HealthCare-Software", + "version": "1.0.0", + "endpoint": "https://healthcare_ps_solutions.com/jira_helpdesk" + }, "focus": [ { - "reference": "ServiceRequest/UC1-Initial-Dispense-Request" + "reference": "ServiceRequest/UC1-Alt-Delivery-Initial-Dispense-Request" } ], "sender": { "identifier": { - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "pflegeheim.immergrün.arzt@sana-pflegeheime.kim.telematik" + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "5-test-telematik-id" }, "display": "Pflegeheim Immergrün" }, "destination": [ { - "receiver": { - "identifier": { - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "hans@ytopp-gluecklich.kim.telematik" - }, - "display": "Praxis Hans Topp-Glücklich" - }, - "endpoint": "klaus@test.de" + "name": "Test Apotheke", + "endpoint": "mailto:pharmacy@test.kim.de" } ], - "source": { - "name": "HealthCare-Source", - "software": "HealthCare-Software", - "version": "1.0.0", - "contact": { - "system": "email", - "value": "info@healthcare.email" - }, - "endpoint": "http://healthcare.endpoint" - }, "eventCoding": { "code": "eRezept_Rezeptanforderung;Abgabeanfrage", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" } } }, { - "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", "resource": { - "resourceType": "Patient", - "id": "Example-Patient", + "resourceType": "Organization", + "id": "Example-HealthCareService-Organization", "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" ] }, "identifier": [ { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" } ], - "name": [ + "contact": [ { - "use": "official", - "family": "Königsstein", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Königsstein" - } - ] - }, - "given": [ - "Ludger" + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "email", + "value": "arbeitsplatz-1@test-pflegeheim.kim.telematik" + } + ] + } + ], + "name": "Pflegeheim Immergrün", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.245", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" + } ] } ], @@ -108,77 +112,143 @@ { "type": "both", "line": [ - "Musterstr. 1" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "1" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } + "Musterstr. 2" ], "city": "Berlin", "postalCode": "10623" } - ], - "birthDate": "1935-06-22" + ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-Initial-Dispense-Request", + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-Alt-Delivery-Initial-Dispense-Request", "resource": { "resourceType": "ServiceRequest", - "id": "UC1-Initial-Dispense-Request", + "id": "UC1-Alt-Delivery-Initial-Dispense-Request", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-dispense-request" ] }, "intent": "filler-order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-UC1" - }, - "extension": [ + "identifier": [ { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", - "value": "Task/160.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "2" } ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1" + }, "code": { "coding": [ { "code": "dispense-request", "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + }, + { + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/delivery-type-cs", + "code": "delivery-to-alternative-address" } ] }, - "identifier": [ + "extension": [ { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "2" + "valueIdentifier": { + "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", + "value": "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" + }, + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" }, { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemPreDisIdentifier", - "value": "PreDis-1" + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/alternative-delivery-address-ex", + "valueAddress": { + "line": [ + "Hauptstraße 1", + "Zimmer 123" + ], + "city": "Berlin", + "postalCode": "12345", + "country": "Germany" + } } ], "status": "active", "subject": { "reference": "Patient/Example-Patient" }, - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-02-01" + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + }, + "authoredOn": "2025-05-14", + "priority": "urgent", + "note": [ + { + "text": "Bitte um schnelle Bearbeitung", + "time": "2025-05-14T08:22:05+02:00" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "resource": { + "resourceType": "Patient", + "id": "Example-Patient", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ + { + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] + }, + "given": [ + "Ludger" + ] + } + ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" + } + ], + "birthDate": "1935-06-22" } } ] diff --git a/Resources/fsh-generated/resources/Bundle-UC1-3-Dispense-Request-To-Pharmacy.json b/Resources/fsh-generated/resources/Bundle-UC1-3-Dispense-Request-To-Pharmacy.json index 3d359779..9888c8ba 100644 --- a/Resources/fsh-generated/resources/Bundle-UC1-3-Dispense-Request-To-Pharmacy.json +++ b/Resources/fsh-generated/resources/Bundle-UC1-3-Dispense-Request-To-Pharmacy.json @@ -11,7 +11,7 @@ "system": "urn:ietf:rfc:3986", "value": "urn:uuid:c80f6c55-92f8-4518-ba66-cb193da09336" }, - "timestamp": "2023-02-01T13:28:17.239+02:00", + "timestamp": "2025-05-14T08:23:12+02:00", "entry": [ { "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-HealthCareService-to-Pharmacy-MessageHeader", @@ -26,12 +26,12 @@ "source": { "contact": { "system": "email", - "value": "info@hcs.email" + "value": "info@healthcare_ps_solutions.com" }, "name": "HealthCare-Source", "software": "HealthCare-Software", "version": "1.0.0", - "endpoint": "mailto:healthcare-service@test.kim.de" + "endpoint": "https://healthcare_ps_solutions.com/jira_helpdesk" }, "focus": [ { @@ -47,60 +47,64 @@ }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, - "endpoint": "mailto:practitioner@test.kim.de" + "name": "Test Apotheke", + "endpoint": "mailto:pharmacy@test.kim.de" } ], "eventCoding": { "code": "eRezept_Rezeptanforderung;Abgabeanfrage", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" } } }, { - "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", "resource": { - "resourceType": "Patient", - "id": "Example-Patient", + "resourceType": "Organization", + "id": "Example-HealthCareService-Organization", "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" ] }, "identifier": [ { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" } ], - "name": [ + "contact": [ { - "use": "official", - "family": "Königsstein", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Königsstein" - } - ] - }, - "given": [ - "Ludger" + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "email", + "value": "arbeitsplatz-1@test-pflegeheim.kim.telematik" + } + ] + } + ], + "name": "Pflegeheim Immergrün", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.245", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" + } ] } ], @@ -108,27 +112,12 @@ { "type": "both", "line": [ - "Musterstr. 1" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "1" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } + "Musterstr. 2" ], "city": "Berlin", "postalCode": "10623" } - ], - "birthDate": "1935-06-22" + ] } }, { @@ -142,19 +131,16 @@ ] }, "intent": "filler-order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-UC1" - }, - "extension": [ + "identifier": [ { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", - "value": "Task/160.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "2" } ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1" + }, "code": { "coding": [ { @@ -163,22 +149,90 @@ } ] }, - "identifier": [ - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "2" - }, + "extension": [ { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemPreDisIdentifier", - "value": "PreDis-1" + "valueIdentifier": { + "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", + "value": "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" + }, + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" } ], "status": "active", "subject": { "reference": "Patient/Example-Patient" }, - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-02-01" + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + }, + "authoredOn": "2025-05-14", + "priority": "urgent", + "note": [ + { + "text": "Wird weiterhin benötigt, bitte um Verlängerung. Bitte um schnelle Bearbeitung", + "time": "2025-05-14T08:22:05+02:00" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "resource": { + "resourceType": "Patient", + "id": "Example-Patient", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ + { + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] + }, + "given": [ + "Ludger" + ] + } + ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" + } + ], + "birthDate": "1935-06-22" } } ] diff --git a/Resources/fsh-generated/resources/Bundle-UC2-5-Fullfilled-DispenseRequest-To-HealthCareService.json b/Resources/fsh-generated/resources/Bundle-UC1-4-Alt-Delivery-Fullfilled-DispenseRequest-To-Pharmacy.json similarity index 58% rename from Resources/fsh-generated/resources/Bundle-UC2-5-Fullfilled-DispenseRequest-To-HealthCareService.json rename to Resources/fsh-generated/resources/Bundle-UC1-4-Alt-Delivery-Fullfilled-DispenseRequest-To-Pharmacy.json index f5e766e0..9cfd32ec 100644 --- a/Resources/fsh-generated/resources/Bundle-UC2-5-Fullfilled-DispenseRequest-To-HealthCareService.json +++ b/Resources/fsh-generated/resources/Bundle-UC1-4-Alt-Delivery-Fullfilled-DispenseRequest-To-Pharmacy.json @@ -1,6 +1,6 @@ { "resourceType": "Bundle", - "id": "UC2-5-Fullfilled-DispenseRequest-To-HealthCareService", + "id": "UC1-4-Alt-Delivery-Fullfilled-DispenseRequest-To-Pharmacy", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" @@ -9,15 +9,15 @@ "type": "message", "identifier": { "system": "urn:ietf:rfc:3986", - "value": "urn:uuid:c80f6c55-92f8-4518-ba66-cb193da09336" + "value": "urn:uuid:ebad657e-589f-4386-ad81-19352ca21310" }, - "timestamp": "2023-02-01T13:28:17.239+02:00", + "timestamp": "2025-05-14T08:30:12+02:00", "entry": [ { - "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC2-5-Pharmacy-to-HealthCareService-MessageHeader", + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-Alt-Delivery-Pharmacy-to-HealthCareService-MessageHeader", "resource": { "resourceType": "MessageHeader", - "id": "UC2-5-Pharmacy-to-HealthCareService-MessageHeader", + "id": "UC1-Alt-Delivery-Pharmacy-to-HealthCareService-MessageHeader", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" @@ -26,16 +26,16 @@ "source": { "contact": { "system": "email", - "value": "info@avs.email" + "value": "info@avs_solutions.com" }, "name": "Pharmacy-Source", "software": "Pharmacy-Software", "version": "1.0.0", - "endpoint": "mailto:pharmacy@test.kim.de" + "endpoint": "https://avs_solutions.com/jira_helpdesk" }, "focus": [ { - "reference": "ServiceRequest/UC2-Response-Dispense-Request" + "reference": "ServiceRequest/UC1-Alt-Delivery-Response-Dispense-Request" } ], "sender": { @@ -47,42 +47,105 @@ }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "5-test-telematik-id" - }, - "display": "Pflegeheim Immergrün" - }, + "name": "Pflegeheim Immergrün", "endpoint": "mailto:healthcare-service@test.kim.de" } ], "eventCoding": { "code": "eRezept_Rezeptanforderung;Abgabebestaetigung", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Pharmacy-Organization" } } }, { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC2-Response-Dispense-Request", + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-Pharmacy-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0301234567" + } + ] + } + ], + "name": "Test Apotheke", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.54", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Öffentliche Apotheke" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-Alt-Delivery-Response-Dispense-Request", "resource": { "resourceType": "ServiceRequest", - "id": "UC2-Response-Dispense-Request", + "id": "UC1-Alt-Delivery-Response-Dispense-Request", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-dispense-request" ] }, "intent": "filler-order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "2" + } + ], "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-2" + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1" }, "code": { "coding": [ { "code": "dispense-request", "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + }, + { + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/delivery-type-cs", + "code": "delivery-to-alternative-address" } ] }, @@ -92,18 +155,17 @@ "reference": "MedicationDispense/UC1-Medication-Dispense" } ], - "identifier": [ - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "req-2" - } - ], "status": "completed", "subject": { "reference": "Patient/Example-Patient" }, - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-02-01" + "authoredOn": "2025-05-14", + "note": [ + { + "text": "Lagert vor Ort. Kommt mit Extra Botendienst.", + "time": "2025-05-14T08:27:05+02:00" + } + ] } }, { @@ -113,23 +175,9 @@ "id": "Example-Patient", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], "name": [ { "use": "official", @@ -147,9 +195,14 @@ ] } ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], "address": [ { - "type": "both", "line": [ "Musterstr. 1" ], @@ -167,6 +220,7 @@ ] } ], + "type": "both", "city": "Berlin", "postalCode": "10623" } @@ -175,10 +229,35 @@ } }, { - "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Response-Medication", + "fullUrl": "http://erp-servicerequest-test.de/MedicationDispense/UC1-Medication-Dispense", + "resource": { + "resourceType": "MedicationDispense", + "id": "UC1-Medication-Dispense", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-dispense" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "169.100.000.000.002.36" + } + ], + "subject": { + "reference": "Patient/Example-Patient" + }, + "status": "completed", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", "resource": { "resourceType": "Medication", - "id": "Example-Response-Medication", + "id": "Example-Initial-Medication", "meta": { "profile": [ "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" @@ -221,7 +300,7 @@ "code": "08585997" } ], - "text": "Prospan® Hustensaft 100ml N1" + "text": "Prospan® Hustensaft 100ml" }, "form": { "coding": [ @@ -232,133 +311,6 @@ ] } } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/MedicationDispense/UC1-Medication-Dispense", - "resource": { - "resourceType": "MedicationDispense", - "id": "UC1-Medication-Dispense", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" - ] - }, - "status": "completed", - "identifier": [ - { - "use": "official", - "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "160.100.000.000.002.36" - } - ], - "performer": [ - { - "actor": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "12345678901234567890" - } - } - } - ], - "contained": [ - { - "resourceType": "Medication", - "id": "Example-Response-Medication", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" - ] - }, - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/900000000000207008/version/20220331", - "code": "763158003", - "display": "Medicinal product (product)" - } - ] - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", - "valueBoolean": false - }, - { - "url": "http://fhir.de/StructureDefinition/normgroesse", - "valueCode": "N1" - } - ], - "code": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "08585997" - } - ], - "text": "Prospan® Hustensaft 100ml N1" - }, - "form": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", - "code": "FLE" - } - ] - } - } - ], - "medicationReference": { - "reference": "#Example-Response-Medication" - }, - "subject": { - "identifier": { - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X123456789" - } - }, - "whenHandedOver": "2020-04-16T13:44:27.957+00:00", - "dosageInstruction": [ - { - "sequence": 1, - "text": "Eine Tablette täglich", - "timing": { - "repeat": { - "frequency": 1, - "period": 1, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "type": { - "coding": [ - { - "code": "ordered", - "system": "http://terminology.hl7.org/CodeSystem/dose-rate-type" - } - ] - }, - "doseQuantity": { - "value": 1, - "unit": "tablet" - } - } - ] - } - ] - } } ] } diff --git a/Resources/fsh-generated/resources/Bundle-UC1-4-Fullfilled-DispenseRequest-To-Pharmacy.json b/Resources/fsh-generated/resources/Bundle-UC1-4-Fullfilled-DispenseRequest-To-Pharmacy.json index 64b2de1b..feb9294a 100644 --- a/Resources/fsh-generated/resources/Bundle-UC1-4-Fullfilled-DispenseRequest-To-Pharmacy.json +++ b/Resources/fsh-generated/resources/Bundle-UC1-4-Fullfilled-DispenseRequest-To-Pharmacy.json @@ -11,7 +11,7 @@ "system": "urn:ietf:rfc:3986", "value": "urn:uuid:c80f6c55-92f8-4518-ba66-cb193da09336" }, - "timestamp": "2023-02-01T13:28:17.239+02:00", + "timestamp": "2025-05-14T08:30:12+02:00", "entry": [ { "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-Pharmacy-to-HealthCareService-MessageHeader", @@ -26,12 +26,12 @@ "source": { "contact": { "system": "email", - "value": "info@hcs.email" + "value": "info@avs_solutions.com" }, - "name": "HealthCare-Source", - "software": "HealthCare-Software", + "name": "Pharmacy-Source", + "software": "Pharmacy-Software", "version": "1.0.0", - "endpoint": "mailto:healthcare-service@test.kim.de" + "endpoint": "https://avs_solutions.com/jira_helpdesk" }, "focus": [ { @@ -41,28 +41,81 @@ "sender": { "identifier": { "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "5-test-telematik-id" + "value": "3-test-telematik-id" }, - "display": "Pflegeheim Immergrün" + "display": "Test Apotheke" }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, - "endpoint": "mailto:practitioner@test.kim.de" + "name": "Pflegeheim Immergrün", + "endpoint": "mailto:healthcare-service@test.kim.de" } ], "eventCoding": { "code": "eRezept_Rezeptanforderung;Abgabebestaetigung", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Pharmacy-Organization" } } }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-Pharmacy-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0301234567" + } + ] + } + ], + "name": "Test Apotheke", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.54", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Öffentliche Apotheke" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, { "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-Response-Dispense-Request", "resource": { @@ -74,8 +127,14 @@ ] }, "intent": "filler-order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "2" + } + ], "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", "value": "GroupID-UC1" }, "code": { @@ -92,22 +151,17 @@ "reference": "MedicationDispense/UC1-Medication-Dispense" } ], - "identifier": [ - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "2" - }, - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemPreDisIdentifier", - "value": "PreDis-1" - } - ], "status": "completed", "subject": { "reference": "Patient/Example-Patient" }, - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-02-01" + "authoredOn": "2025-05-14", + "note": [ + { + "text": "Lagert vor Ort. Kann bis 13:00 heute per Botendienst geliefert werden.", + "time": "2025-05-14T08:27:05+02:00" + } + ] } }, { @@ -117,23 +171,9 @@ "id": "Example-Patient", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], "name": [ { "use": "official", @@ -151,9 +191,14 @@ ] } ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], "address": [ { - "type": "both", "line": [ "Musterstr. 1" ], @@ -171,6 +216,7 @@ ] } ], + "type": "both", "city": "Berlin", "postalCode": "10623" } @@ -179,10 +225,35 @@ } }, { - "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Response-Medication", + "fullUrl": "http://erp-servicerequest-test.de/MedicationDispense/UC1-Medication-Dispense", + "resource": { + "resourceType": "MedicationDispense", + "id": "UC1-Medication-Dispense", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-dispense" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "169.100.000.000.002.36" + } + ], + "subject": { + "reference": "Patient/Example-Patient" + }, + "status": "completed", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", "resource": { "resourceType": "Medication", - "id": "Example-Response-Medication", + "id": "Example-Initial-Medication", "meta": { "profile": [ "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" @@ -225,7 +296,7 @@ "code": "08585997" } ], - "text": "Prospan® Hustensaft 100ml N1" + "text": "Prospan® Hustensaft 100ml" }, "form": { "coding": [ @@ -236,133 +307,6 @@ ] } } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/MedicationDispense/UC1-Medication-Dispense", - "resource": { - "resourceType": "MedicationDispense", - "id": "UC1-Medication-Dispense", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" - ] - }, - "status": "completed", - "identifier": [ - { - "use": "official", - "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "160.100.000.000.002.36" - } - ], - "performer": [ - { - "actor": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "12345678901234567890" - } - } - } - ], - "contained": [ - { - "resourceType": "Medication", - "id": "Example-Response-Medication", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" - ] - }, - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/900000000000207008/version/20220331", - "code": "763158003", - "display": "Medicinal product (product)" - } - ] - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", - "valueBoolean": false - }, - { - "url": "http://fhir.de/StructureDefinition/normgroesse", - "valueCode": "N1" - } - ], - "code": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "08585997" - } - ], - "text": "Prospan® Hustensaft 100ml N1" - }, - "form": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", - "code": "FLE" - } - ] - } - } - ], - "medicationReference": { - "reference": "#Example-Response-Medication" - }, - "subject": { - "identifier": { - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X123456789" - } - }, - "whenHandedOver": "2020-04-16T13:44:27.957+00:00", - "dosageInstruction": [ - { - "sequence": 1, - "text": "Eine Tablette täglich", - "timing": { - "repeat": { - "frequency": 1, - "period": 1, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "type": { - "coding": [ - { - "code": "ordered", - "system": "http://terminology.hl7.org/CodeSystem/dose-rate-type" - } - ] - }, - "doseQuantity": { - "value": 1, - "unit": "tablet" - } - } - ] - } - ] - } } ] } diff --git a/examples/rezeptanforderung/prescription-request/Bundle-UC1-1-Prescription-Request-To-Prescriber.json b/Resources/fsh-generated/resources/Bundle-UC1-MULTI-1-Prescription-Request-To-Prescriber.json similarity index 58% rename from examples/rezeptanforderung/prescription-request/Bundle-UC1-1-Prescription-Request-To-Prescriber.json rename to Resources/fsh-generated/resources/Bundle-UC1-MULTI-1-Prescription-Request-To-Prescriber.json index 8174b97f..d4d1582a 100644 --- a/examples/rezeptanforderung/prescription-request/Bundle-UC1-1-Prescription-Request-To-Prescriber.json +++ b/Resources/fsh-generated/resources/Bundle-UC1-MULTI-1-Prescription-Request-To-Prescriber.json @@ -1,6 +1,6 @@ { "resourceType": "Bundle", - "id": "UC1-1-Prescription-Request-To-Prescriber", + "id": "UC1-MULTI-1-Prescription-Request-To-Prescriber", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" @@ -11,250 +11,230 @@ "system": "urn:ietf:rfc:3986", "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" }, - "timestamp": "2015-02-07T13:28:17.239+02:00", + "timestamp": "2025-05-13T14:25:12+02:00", "entry": [ { - "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-HealthCareService-to-Practitioner-MessageHeader", + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-MULTI-HealthCareService-to-Practitioner-MessageHeader", "resource": { "resourceType": "MessageHeader", - "id": "UC1-HealthCareService-to-Practitioner-MessageHeader", + "id": "UC1-MULTI-HealthCareService-to-Practitioner-MessageHeader", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" ] }, + "source": { + "contact": { + "system": "email", + "value": "info@healthcare_ps_solutions.com" + }, + "name": "HealthCare-Source", + "software": "HealthCare-Software", + "version": "1.0.0", + "endpoint": "https://healthcare_ps_solutions.com/jira_helpdesk" + }, "focus": [ { - "reference": "ServiceRequest/UC1-Initial-Prescription-Request" + "reference": "ServiceRequest/UC1-MULTI-Initial-Prescription-Request-1" + }, + { + "reference": "ServiceRequest/UC1-MULTI-Initial-Prescription-Request-2" } ], "sender": { "identifier": { - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "pflegeheim.immergrün.arzt@sana-pflegeheime.kim.telematik" + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "5-test-telematik-id" }, "display": "Pflegeheim Immergrün" }, "destination": [ { - "receiver": { - "identifier": { - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "hans@ytopp-gluecklich.kim.telematik" - }, - "display": "Praxis Hans Topp-Glücklich" - }, - "endpoint": "klaus@test.de" + "name": "Praxis Hans Topp-Glücklich", + "endpoint": "mailto:practitioner@test.kim.de" } ], - "source": { - "name": "HealthCare-Source", - "software": "HealthCare-Software", - "version": "1.0.0", - "contact": { - "system": "email", - "value": "info@healthcare.email" - }, - "endpoint": "http://healthcare.endpoint" - }, "eventCoding": { "code": "eRezept_Rezeptanforderung;Rezeptanfrage", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" } } }, { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-Initial-Prescription-Request", + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", "resource": { - "resourceType": "ServiceRequest", - "id": "UC1-Initial-Prescription-Request", + "resourceType": "Organization", + "id": "Example-HealthCareService-Organization", "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" - ] - }, - "intent": "order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-UC1" - }, - "code": { - "coding": [ + "tag": [ { - "code": "prescription-request", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" ] }, "identifier": [ { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "1" - }, - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemPreDisIdentifier", - "value": "PreDis-1" - } - ], - "basedOn": [ - { - "reference": "MedicationRequest/Example-Initial-Medication-Request" + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" } ], - "status": "active", - "subject": { - "reference": "Patient/Example-Patient" - }, - "orderDetail": [ + "contact": [ { - "coding": [ + "telecom": [ { - "code": "return-to-requester", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" + "system": "phone", + "value": "0301234567" + }, + { + "system": "email", + "value": "arbeitsplatz-1@test-pflegeheim.kim.telematik" } ] } ], - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-01-27", - "requester": { - "reference": "Organization/Example-HealthCareService-Organization" - }, - "performer": [ - { - "identifier": { - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "hans@ytopp-gluecklich.kim.telematik" - } - } - ], - "reasonCode": [ + "name": "Pflegeheim Immergrün", + "type": [ { "coding": [ { - "code": "medication-runs-out", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-request-reason-cs" + "code": "1.2.276.0.76.4.245", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" } ] } ], - "reasonReference": [ - { - "reference": "Observation/Medication-Runs-Out-Example-dateTime" - }, - { - "reference": "Observation/Medication-Runs-Out-Example-Quantity" - } - ], - "note": [ + "address": [ { - "text": "Medikament läuft am 31.01.2023 aus. Es sind noch 7 stk übrig. " + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" } ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-MULTI-Initial-Prescription-Request-1", "resource": { - "resourceType": "MedicationRequest", - "id": "Example-Initial-Medication-Request", + "resourceType": "ServiceRequest", + "id": "UC1-MULTI-Initial-Prescription-Request-1", "meta": { "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" ] }, - "extension": [ + "intent": "order", + "identifier": [ { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "160.100.000.000.001.36" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/prescription-id-ex" + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "multi-1" } ], - "dispenseRequest": { - "quantity": { - "system": "http://unitsofmeasure.org", - "code": "{Package}", - "value": 1 - } + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1-MULTI" }, - "status": "active", - "intent": "order", - "medicationReference": { - "reference": "Medication/Example-Initial-Medication" + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] }, + "reasonCode": [ + { + "extension": [ + { + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-ex", + "valueQuantity": { + "value": 2, + "unit": "Tabletten" + } + } + ] + } + ], + "basedOn": [ + { + "reference": "MedicationRequest/Example-Initial-Medication-Request" + } + ], + "status": "active", "subject": { "reference": "Patient/Example-Patient" }, - "authoredOn": "2022-05-20", - "dosageInstruction": [ + "occurrenceDateTime": "2025-05-15", + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + }, + "note": [ { - "text": "2mal tägl. 5ml" + "text": "Für die Nacht sehr hilfreich.", + "time": "2025-05-13T12:23:12+02:00" } - ], - "substitution": { - "allowedBoolean": true - } + ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-MULTI-Initial-Prescription-Request-2", "resource": { - "resourceType": "Medication", - "id": "Example-Initial-Medication", + "resourceType": "ServiceRequest", + "id": "UC1-MULTI-Initial-Prescription-Request-2", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" ] }, - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/900000000000207008/version/20220331", - "code": "763158003", - "display": "Medicinal product (product)" - } - ] - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", - "valueBoolean": false - }, + "intent": "order", + "identifier": [ { - "url": "http://fhir.de/StructureDefinition/normgroesse", - "valueCode": "N1" + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "multi-2" } ], - "code": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "08585997" - } - ], - "text": "Prospan® Hustensaft 100ml" + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1-MULTI" }, - "form": { + "code": { "coding": [ { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", - "code": "FLE" + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" } ] - } + }, + "basedOn": [ + { + "reference": "MedicationRequest/Example-Initial-Medication-Request-2" + } + ], + "status": "active", + "subject": { + "reference": "Patient/Example-Patient-2" + }, + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + }, + "note": [ + { + "text": "Für den Bedarfsfall", + "time": "2025-05-13T12:23:12+02:00" + } + ] } }, { @@ -264,23 +244,9 @@ "id": "Example-Patient", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], "name": [ { "use": "official", @@ -298,9 +264,14 @@ ] } ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], "address": [ { - "type": "both", "line": [ "Musterstr. 1" ], @@ -318,6 +289,7 @@ ] } ], + "type": "both", "city": "Berlin", "postalCode": "10623" } @@ -326,136 +298,234 @@ } }, { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient-2", "resource": { - "resourceType": "Organization", - "id": "Example-HealthCareService-Organization", + "resourceType": "Patient", + "id": "Example-Patient-2", "meta": { "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] }, - "identifier": [ - { - "type": { - "coding": [ - { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" - } - ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "pflegeheim.immergrün.arzt@sana-pflegeheime.kim.telematik" - }, + "name": [ { - "type": { - "coding": [ + "use": "official", + "family": "Edgarson", + "_family": { + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Edgarson" } ] }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-031234567" - }, + "given": [ + "Peter" + ] + } + ], + "identifier": [ { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "031234567" + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X098765432" } ], "address": [ { - "type": "both", "line": [ - "Musterstr. 2" + "Erikastraße 43" ], "_line": [ { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" + "valueString": "43" }, { "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." + "valueString": "Erikastraße" } ] } ], + "type": "both", "city": "Berlin", - "postalCode": "10623" + "postalCode": "10742" } ], - "name": "Pflegeheim Immergrün", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } - ] + "birthDate": "1974-01-31" } }, { - "fullUrl": "http://erp-servicerequest-test.de/Observation/Medication-Runs-Out-Example-dateTime", + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", "resource": { - "resourceType": "Observation", - "id": "Medication-Runs-Out-Example-dateTime", + "resourceType": "MedicationRequest", + "id": "Example-Initial-Medication-Request", "meta": { "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-remaining-medication" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" ] }, - "status": "final", + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication" + }, "subject": { "reference": "Patient/Example-Patient" }, + "dispenseRequest": { + "quantity": { + "value": 1, + "unit": "Packung" + } + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", + "resource": { + "resourceType": "Medication", + "id": "Example-Initial-Medication", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], "code": { "coding": [ { - "code": "range-of-medication", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-observation-cs" + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "08585997" } - ] + ], + "text": "Prospan® Hustensaft 100ml" }, - "valueDateTime": "2023-01-31" + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FLE" + } + ] + } } }, { - "fullUrl": "http://erp-servicerequest-test.de/Observation/Medication-Runs-Out-Example-Quantity", + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request-2", "resource": { - "resourceType": "Observation", - "id": "Medication-Runs-Out-Example-Quantity", + "resourceType": "MedicationRequest", + "id": "Example-Initial-Medication-Request-2", "meta": { "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-remaining-medication" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" ] }, - "status": "final", + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication-2" + }, "subject": { - "reference": "Patient/Example-Patient" + "reference": "Patient/Example-Patient-2" }, + "dispenseRequest": { + "quantity": { + "value": 2, + "code": "{Package}", + "system": "http://unitsofmeasure.org", + "unit": "Packungen" + } + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication-2", + "resource": { + "resourceType": "Medication", + "id": "Example-Initial-Medication-2", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], "code": { "coding": [ { - "code": "range-of-medication", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-observation-cs" + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02483617" } - ] + ], + "text": "Buscopan PLUS 20 St" }, - "valueQuantity": { - "value": 7, - "unit": "stk" + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FTA" + } + ] } } } diff --git a/Resources/fsh-generated/resources/Bundle-UC1-Storno-4-Cancellation-Of-Dispenser.json b/Resources/fsh-generated/resources/Bundle-UC1-MULTI-2-Response-Prescription-Request-1.json similarity index 54% rename from Resources/fsh-generated/resources/Bundle-UC1-Storno-4-Cancellation-Of-Dispenser.json rename to Resources/fsh-generated/resources/Bundle-UC1-MULTI-2-Response-Prescription-Request-1.json index 18772076..194a20c4 100644 --- a/Resources/fsh-generated/resources/Bundle-UC1-Storno-4-Cancellation-Of-Dispenser.json +++ b/Resources/fsh-generated/resources/Bundle-UC1-MULTI-2-Response-Prescription-Request-1.json @@ -1,6 +1,6 @@ { "resourceType": "Bundle", - "id": "UC1-Storno-4-Cancellation-Of-Dispenser", + "id": "UC1-MULTI-2-Response-Prescription-Request-1", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" @@ -9,15 +9,15 @@ "type": "message", "identifier": { "system": "urn:ietf:rfc:3986", - "value": "urn:uuid:c80f6c55-92f8-4518-ba66-cb193da09336" + "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" }, - "timestamp": "2023-02-01T13:28:17.239+02:00", + "timestamp": "2025-05-14T08:15:12+02:00", "entry": [ { - "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-Pharmacy-to-HealthCareService-MessageHeader-Storno", + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-MULTI-Practitioner-to-HealthCareService-MessageHeader-1", "resource": { "resourceType": "MessageHeader", - "id": "UC1-Pharmacy-to-HealthCareService-MessageHeader-Storno", + "id": "UC1-MULTI-Practitioner-to-HealthCareService-MessageHeader-1", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" @@ -26,87 +26,158 @@ "source": { "contact": { "system": "email", - "value": "info@pharmacy.email" + "value": "info@pvs_solutions.email" }, - "name": "Pharmacy-Source", - "software": "Pharmacy-Software", + "name": "Practitioner-Source", + "software": "Practitioner-Software", "version": "1.0.0", - "endpoint": "http://pharmacy.endpoint" + "endpoint": "https://pvs_solutions.com/jira_helpdesk" }, "focus": [ { - "reference": "ServiceRequest/UC1-Cancelled-Dispense-Request" + "reference": "ServiceRequest/UC1-MULTI-Response-Prescription-Request-1" } ], "sender": { "identifier": { "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "5-test-telematik-id" + "value": "1-test-telematik-id" }, - "display": "Pflegeheim Immergrün" + "display": "Praxis Hans Topp-Glücklich" }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, - "endpoint": "mailto:practitioner@test.kim.de" + "name": "Pflegeheim Immergrün", + "endpoint": "mailto:healthcare-service@test.kim.de" } ], "eventCoding": { - "code": "eRezept_Rezeptanforderung;Abgabeanfrage_Storno", + "code": "eRezept_Rezeptanforderung;Rezeptbestaetigung", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Practitioner-Organization" } } }, { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-Cancelled-Dispense-Request", + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization", "resource": { - "resourceType": "ServiceRequest", - "id": "UC1-Cancelled-Dispense-Request", + "resourceType": "Organization", + "id": "Example-Practitioner-Organization", "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-dispense-request" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" ] }, - "intent": "filler-order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-UC1" + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0307654321" + } + ] + } + ], + "name": "Test Arztpraxis", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.50", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Arzt" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterarztstr. 3" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-MULTI-Response-Prescription-Request-1", + "resource": { + "resourceType": "ServiceRequest", + "id": "UC1-MULTI-Response-Prescription-Request-1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] }, - "extension": [ + "intent": "order", + "identifier": [ { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", - "value": "Task/160.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "multi-1" } ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1-MULTI" + }, "code": { "coding": [ { - "code": "dispense-request", + "code": "prescription-request", "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" } ] }, - "identifier": [ + "extension": [ { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "2" + "valueIdentifier": { + "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", + "value": "Task/169.100.000.000.543.72/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" + }, + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" + } + ], + "status": "completed", + "basedOn": [ + { + "reference": "MedicationRequest/Example-Response-Medication-Request" } ], - "status": "revoked", "subject": { "reference": "Patient/Example-Patient" }, - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-02-01" + "authoredOn": "2025-05-13", + "performer": [ + { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-test-telematik-id" + } + } + ], + "note": [ + { + "text": "Sehr geehrte Damen und Herren,\n Wir haben alles entsprechend im Rezept hinterlegt. Es wurden 2 Packungen statt einer verschrieben.\n Mit kollegialen Grüßen,\n Topp Glücklich.", + "time": "2025-05-14T08:12:23+02:00" + } + ] } }, { @@ -116,23 +187,9 @@ "id": "Example-Patient", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], "name": [ { "use": "official", @@ -150,9 +207,14 @@ ] } ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], "address": [ { - "type": "both", "line": [ "Musterstr. 1" ], @@ -170,6 +232,7 @@ ] } ], + "type": "both", "city": "Berlin", "postalCode": "10623" } @@ -177,6 +240,39 @@ "birthDate": "1935-06-22" } }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-Medication-Request", + "resource": { + "resourceType": "MedicationRequest", + "id": "Example-Response-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] + }, + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Response-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 65, + "code": "mL", + "system": "http://unitsofmeasure.org", + "unit": "Milliliter" + } + }, + "dosageInstruction": [ + { + "text": "1-1-1-0" + } + ] + } + }, { "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Response-Medication", "resource": { @@ -235,133 +331,6 @@ ] } } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/MedicationDispense/UC1-Medication-Dispense", - "resource": { - "resourceType": "MedicationDispense", - "id": "UC1-Medication-Dispense", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" - ] - }, - "status": "completed", - "identifier": [ - { - "use": "official", - "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "160.100.000.000.002.36" - } - ], - "performer": [ - { - "actor": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "12345678901234567890" - } - } - } - ], - "contained": [ - { - "resourceType": "Medication", - "id": "Example-Response-Medication", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" - ] - }, - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/900000000000207008/version/20220331", - "code": "763158003", - "display": "Medicinal product (product)" - } - ] - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", - "valueBoolean": false - }, - { - "url": "http://fhir.de/StructureDefinition/normgroesse", - "valueCode": "N1" - } - ], - "code": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "08585997" - } - ], - "text": "Prospan® Hustensaft 100ml N1" - }, - "form": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", - "code": "FLE" - } - ] - } - } - ], - "medicationReference": { - "reference": "#Example-Response-Medication" - }, - "subject": { - "identifier": { - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X123456789" - } - }, - "whenHandedOver": "2020-04-16T13:44:27.957+00:00", - "dosageInstruction": [ - { - "sequence": 1, - "text": "Eine Tablette täglich", - "timing": { - "repeat": { - "frequency": 1, - "period": 1, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "type": { - "coding": [ - { - "code": "ordered", - "system": "http://terminology.hl7.org/CodeSystem/dose-rate-type" - } - ] - }, - "doseQuantity": { - "value": 1, - "unit": "tablet" - } - } - ] - } - ] - } } ] } diff --git a/Resources/fsh-generated/resources/Bundle-UC1-MULTI-2-Response-Prescription-Request-2.json b/Resources/fsh-generated/resources/Bundle-UC1-MULTI-2-Response-Prescription-Request-2.json new file mode 100644 index 00000000..555bf018 --- /dev/null +++ b/Resources/fsh-generated/resources/Bundle-UC1-MULTI-2-Response-Prescription-Request-2.json @@ -0,0 +1,327 @@ +{ + "resourceType": "Bundle", + "id": "UC1-MULTI-2-Response-Prescription-Request-2", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + ] + }, + "type": "message", + "identifier": { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" + }, + "timestamp": "2025-05-14T08:15:12+02:00", + "entry": [ + { + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-MULTI-Practitioner-to-HealthCareService-MessageHeader-2", + "resource": { + "resourceType": "MessageHeader", + "id": "UC1-MULTI-Practitioner-to-HealthCareService-MessageHeader-2", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" + ] + }, + "source": { + "contact": { + "system": "email", + "value": "info@pvs_solutions.email" + }, + "name": "Practitioner-Source", + "software": "Practitioner-Software", + "version": "1.0.0", + "endpoint": "https://pvs_solutions.com/jira_helpdesk" + }, + "focus": [ + { + "reference": "ServiceRequest/UC1-MULTI-Response-Prescription-Request-2" + } + ], + "sender": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-test-telematik-id" + }, + "display": "Praxis Hans Topp-Glücklich" + }, + "destination": [ + { + "name": "Pflegeheim Immergrün", + "endpoint": "mailto:healthcare-service@test.kim.de" + } + ], + "eventCoding": { + "code": "eRezept_Rezeptanforderung;Rezeptanfrage_Storno", + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Practitioner-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-Practitioner-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0307654321" + } + ] + } + ], + "name": "Test Arztpraxis", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.50", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Arzt" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterarztstr. 3" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-MULTI-Response-Prescription-Request-2", + "resource": { + "resourceType": "ServiceRequest", + "id": "UC1-MULTI-Response-Prescription-Request-2", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "multi-2" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1-MULTI" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "status": "revoked", + "subject": { + "reference": "Patient/Example-Patient-2" + }, + "basedOn": [ + { + "reference": "MedicationRequest/Example-Initial-Medication-Request-2" + } + ], + "authoredOn": "2025-05-13", + "performer": [ + { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-test-telematik-id" + } + } + ], + "reasonCode": [ + { + "text": "Hr. Edgarson braucht das Buscopan nicht mehr, wird abgesetzt und aus dem Medkationsplan entfernt." + } + ], + "note": [ + { + "text": "Sehr geehrte Damen und Herren,\n Die Rezeptanfrage wurde abgelehnt, s. Grund.", + "time": "2025-05-14T08:12:23+02:00" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient-2", + "resource": { + "resourceType": "Patient", + "id": "Example-Patient-2", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ + { + "use": "official", + "family": "Edgarson", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Edgarson" + } + ] + }, + "given": [ + "Peter" + ] + } + ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X098765432" + } + ], + "address": [ + { + "line": [ + "Erikastraße 43" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "43" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Erikastraße" + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10742" + } + ], + "birthDate": "1974-01-31" + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request-2", + "resource": { + "resourceType": "MedicationRequest", + "id": "Example-Initial-Medication-Request-2", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] + }, + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication-2" + }, + "subject": { + "reference": "Patient/Example-Patient-2" + }, + "dispenseRequest": { + "quantity": { + "value": 2, + "code": "{Package}", + "system": "http://unitsofmeasure.org", + "unit": "Packungen" + } + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication-2", + "resource": { + "resourceType": "Medication", + "id": "Example-Initial-Medication-2", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02483617" + } + ], + "text": "Buscopan PLUS 20 St" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FTA" + } + ] + } + } + } + ] +} diff --git a/Resources/fsh-generated/resources/Bundle-UC1-Storno-2-Cancellation-Of-Prescriber.json b/Resources/fsh-generated/resources/Bundle-UC1-Rejection-Of-Prescriber.json similarity index 55% rename from Resources/fsh-generated/resources/Bundle-UC1-Storno-2-Cancellation-Of-Prescriber.json rename to Resources/fsh-generated/resources/Bundle-UC1-Rejection-Of-Prescriber.json index e9bc8d13..50cf23e1 100644 --- a/Resources/fsh-generated/resources/Bundle-UC1-Storno-2-Cancellation-Of-Prescriber.json +++ b/Resources/fsh-generated/resources/Bundle-UC1-Rejection-Of-Prescriber.json @@ -1,6 +1,6 @@ { "resourceType": "Bundle", - "id": "UC1-Storno-2-Cancellation-Of-Prescriber", + "id": "UC1-Rejection-Of-Prescriber", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" @@ -11,13 +11,13 @@ "system": "urn:ietf:rfc:3986", "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" }, - "timestamp": "2023-01-30T13:28:17.239+02:00", + "timestamp": "2025-05-13T16:15:54.239+02:00", "entry": [ { - "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-Practitioner-to-HealthCareService-MessageHeader-Storno", + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-Practitioner-to-HealthCareService-MessageHeader-Rejection", "resource": { "resourceType": "MessageHeader", - "id": "UC1-Practitioner-to-HealthCareService-MessageHeader-Storno", + "id": "UC1-Practitioner-to-HealthCareService-MessageHeader-Rejection", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" @@ -35,7 +35,7 @@ }, "focus": [ { - "reference": "ServiceRequest/UC1-Cancelled-Prescription-Request" + "reference": "ServiceRequest/UC1-Rejection-Prescription-Request" } ], "sender": { @@ -47,210 +47,119 @@ }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, + "name": "Praxis Hans Topp-Glücklich", "endpoint": "mailto:practitioner@test.kim.de" } ], "eventCoding": { - "code": "eRezept_Rezeptanforderung;Rezeptanfrage_Storno", + "code": "eRezept_Rezeptanforderung;Rezeptanfrage_Ablehnung", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Practitioner-Organization" } } }, { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-Cancelled-Prescription-Request", + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization", "resource": { - "resourceType": "ServiceRequest", - "id": "UC1-Cancelled-Prescription-Request", + "resourceType": "Organization", + "id": "Example-Practitioner-Organization", "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" - ] - }, - "intent": "order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-UC1" - }, - "code": { - "coding": [ + "tag": [ { - "code": "prescription-request", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" ] }, "identifier": [ { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "1" + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" } ], - "basedOn": [ + "contact": [ { - "reference": "MedicationRequest/Example-Initial-Medication-Request" - } - ], - "status": "revoked", - "subject": { - "reference": "Patient/Example-Patient" - }, - "orderDetail": [ - { - "coding": [ + "telecom": [ { - "code": "return-to-requester", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" + "system": "phone", + "value": "0307654321" } ] } ], - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-01-27", - "requester": { - "reference": "Organization/Example-HealthCareService-Organization" - }, - "performer": [ - { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - } - } - ], - "reasonCode": [ + "name": "Test Arztpraxis", + "type": [ { "coding": [ { - "code": "medication-runs-out", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-request-reason-cs" + "code": "1.2.276.0.76.4.50", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Arzt" } ] } ], - "reasonReference": [ - { - "reference": "Observation/Medication-Runs-Out-Example-dateTime" - }, - { - "reference": "Observation/Medication-Runs-Out-Example-Quantity" - } - ], - "note": [ + "address": [ { - "text": "Medikament läuft am 31.01.2023 aus. Es sind noch 7 stk übrig. " + "type": "both", + "line": [ + "Musterarztstr. 3" + ], + "city": "Berlin", + "postalCode": "10623" } ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-Rejection-Prescription-Request", "resource": { - "resourceType": "MedicationRequest", - "id": "Example-Initial-Medication-Request", + "resourceType": "ServiceRequest", + "id": "UC1-Rejection-Prescription-Request", "meta": { "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" ] }, - "extension": [ + "intent": "order", + "identifier": [ { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "160.100.000.000.001.36" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/prescription-id-ex" + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" } ], - "dispenseRequest": { - "quantity": { - "system": "http://unitsofmeasure.org", - "code": "{Package}", - "value": 1 - } - }, - "status": "active", - "intent": "order", - "medicationReference": { - "reference": "Medication/Example-Initial-Medication" + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1" }, - "subject": { - "reference": "Patient/Example-Patient" + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] }, - "authoredOn": "2022-05-20", - "dosageInstruction": [ + "status": "revoked", + "basedOn": [ { - "text": "2mal tägl. 5ml" + "reference": "MedicationRequest/Example-Initial-Medication-Request" } ], - "substitution": { - "allowedBoolean": true - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", - "resource": { - "resourceType": "Medication", - "id": "Example-Initial-Medication", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" - ] + "subject": { + "reference": "Patient/Example-Patient" }, - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/900000000000207008/version/20220331", - "code": "763158003", - "display": "Medicinal product (product)" - } - ] - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", - "valueBoolean": false - }, + "authoredOn": "2025-05-13", + "reasonCode": [ { - "url": "http://fhir.de/StructureDefinition/normgroesse", - "valueCode": "N1" + "text": "Hr. Königsstein braucht das Medikament nicht mehr" } - ], - "code": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "08585997" - } - ], - "text": "Prospan® Hustensaft 100ml" - }, - "form": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", - "code": "FLE" - } - ] - } + ] } }, { @@ -260,23 +169,9 @@ "id": "Example-Patient", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], "name": [ { "use": "official", @@ -294,9 +189,14 @@ ] } ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], "address": [ { - "type": "both", "line": [ "Musterstr. 1" ], @@ -314,6 +214,7 @@ ] } ], + "type": "both", "city": "Berlin", "postalCode": "10623" } @@ -322,136 +223,87 @@ } }, { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", "resource": { - "resourceType": "Organization", - "id": "Example-HealthCareService-Organization", + "resourceType": "MedicationRequest", + "id": "Example-Initial-Medication-Request", "meta": { "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" ] }, - "identifier": [ + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 1, + "unit": "Packung" + } + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", + "resource": { + "resourceType": "Medication", + "id": "Example-Initial-Medication", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ { - "type": { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { "coding": [ { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" } ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "pflegeheim.immergrün.arzt@sana-pflegeheime.kim.telematik" + } }, { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-031234567" + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } }, { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "031234567" - } - ], - "address": [ + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, { - "type": "both", - "line": [ - "Musterstr. 2" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" } ], - "name": "Pflegeheim Immergrün", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } - ] - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Observation/Medication-Runs-Out-Example-dateTime", - "resource": { - "resourceType": "Observation", - "id": "Medication-Runs-Out-Example-dateTime", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-remaining-medication" - ] - }, - "status": "final", - "subject": { - "reference": "Patient/Example-Patient" - }, "code": { "coding": [ { - "code": "range-of-medication", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-observation-cs" + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "08585997" } - ] - }, - "valueDateTime": "2023-01-31" - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Observation/Medication-Runs-Out-Example-Quantity", - "resource": { - "resourceType": "Observation", - "id": "Medication-Runs-Out-Example-Quantity", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-remaining-medication" - ] - }, - "status": "final", - "subject": { - "reference": "Patient/Example-Patient" + ], + "text": "Prospan® Hustensaft 100ml" }, - "code": { + "form": { "coding": [ { - "code": "range-of-medication", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-observation-cs" + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FLE" } ] - }, - "valueQuantity": { - "value": 7, - "unit": "stk" } } } diff --git a/Resources/fsh-generated/resources/Bundle-UC1-Storno-1-Cancellation-Of-Prescription-Requester.json b/Resources/fsh-generated/resources/Bundle-UC1-Storno-1-Cancellation-Of-Prescription-Requester.json index 1829240a..3951b7f0 100644 --- a/Resources/fsh-generated/resources/Bundle-UC1-Storno-1-Cancellation-Of-Prescription-Requester.json +++ b/Resources/fsh-generated/resources/Bundle-UC1-Storno-1-Cancellation-Of-Prescription-Requester.json @@ -11,7 +11,7 @@ "system": "urn:ietf:rfc:3986", "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" }, - "timestamp": "2015-02-07T13:28:17.239+02:00", + "timestamp": "2025-05-13T15:32:12.239+02:00", "entry": [ { "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-HealthCareService-to-Practitioner-MessageHeader-Storno", @@ -47,22 +47,79 @@ }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, + "name": "Praxis Hans Topp-Glücklich", "endpoint": "mailto:practitioner@test.kim.de" } ], "eventCoding": { "code": "eRezept_Rezeptanforderung;Rezeptanfrage_Storno", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" } } }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-HealthCareService-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "email", + "value": "arbeitsplatz-1@test-pflegeheim.kim.telematik" + } + ] + } + ], + "name": "Pflegeheim Immergrün", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.245", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, { "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-Cancelled-Prescription-Request", "resource": { @@ -74,8 +131,14 @@ ] }, "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" + } + ], "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", "value": "GroupID-UC1" }, "code": { @@ -86,33 +149,16 @@ } ] }, - "identifier": [ - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "1" - } - ], + "status": "entered-in-error", "basedOn": [ { "reference": "MedicationRequest/Example-Initial-Medication-Request" } ], - "status": "revoked", "subject": { "reference": "Patient/Example-Patient" }, - "orderDetail": [ - { - "coding": [ - { - "code": "return-to-requester", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" - } - ] - } - ], - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-01-27", + "authoredOn": "2025-05-13", "requester": { "reference": "Organization/Example-HealthCareService-Organization" }, @@ -126,54 +172,86 @@ ], "reasonCode": [ { - "coding": [ - { - "code": "medication-runs-out", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-request-reason-cs" - } - ] - } - ], - "reasonReference": [ - { - "reference": "Observation/Medication-Runs-Out-Example-dateTime" - }, - { - "reference": "Observation/Medication-Runs-Out-Example-Quantity" + "text": "Falsche Medikation angefragt, neuer Antrag wird erstellt." } ], "note": [ { - "text": "Medikament läuft am 31.01.2023 aus. Es sind noch 7 stk übrig. " + "text": "Bitte um stornierung der Anfrage.", + "time": "2025-05-13T15:31:12+02:00" } ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", "resource": { - "resourceType": "MedicationRequest", - "id": "Example-Initial-Medication-Request", + "resourceType": "Patient", + "id": "Example-Patient", "meta": { "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] }, - "extension": [ + "name": [ { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "160.100.000.000.001.36" + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/prescription-id-ex" + "given": [ + "Ludger" + ] } ], - "dispenseRequest": { - "quantity": { - "system": "http://unitsofmeasure.org", - "code": "{Package}", - "value": 1 + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" } + ], + "birthDate": "1935-06-22" + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", + "resource": { + "resourceType": "MedicationRequest", + "id": "Example-Initial-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] }, "status": "active", "intent": "order", @@ -183,14 +261,11 @@ "subject": { "reference": "Patient/Example-Patient" }, - "authoredOn": "2022-05-20", - "dosageInstruction": [ - { - "text": "2mal tägl. 5ml" + "dispenseRequest": { + "quantity": { + "value": 1, + "unit": "Packung" } - ], - "substitution": { - "allowedBoolean": true } } }, @@ -252,208 +327,6 @@ ] } } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", - "resource": { - "resourceType": "Patient", - "id": "Example-Patient", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], - "name": [ - { - "use": "official", - "family": "Königsstein", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Königsstein" - } - ] - }, - "given": [ - "Ludger" - ] - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 1" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "1" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "birthDate": "1935-06-22" - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", - "resource": { - "resourceType": "Organization", - "id": "Example-HealthCareService-Organization", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" - } - ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "pflegeheim.immergrün.arzt@sana-pflegeheime.kim.telematik" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-031234567" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "031234567" - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 2" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "name": "Pflegeheim Immergrün", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } - ] - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Observation/Medication-Runs-Out-Example-dateTime", - "resource": { - "resourceType": "Observation", - "id": "Medication-Runs-Out-Example-dateTime", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-remaining-medication" - ] - }, - "status": "final", - "subject": { - "reference": "Patient/Example-Patient" - }, - "code": { - "coding": [ - { - "code": "range-of-medication", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-observation-cs" - } - ] - }, - "valueDateTime": "2023-01-31" - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Observation/Medication-Runs-Out-Example-Quantity", - "resource": { - "resourceType": "Observation", - "id": "Medication-Runs-Out-Example-Quantity", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-remaining-medication" - ] - }, - "status": "final", - "subject": { - "reference": "Patient/Example-Patient" - }, - "code": { - "coding": [ - { - "code": "range-of-medication", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-observation-cs" - } - ] - }, - "valueQuantity": { - "value": 7, - "unit": "stk" - } - } } ] } diff --git a/Resources/fsh-generated/resources/Bundle-UC1-Storno-3-Cancellation-Of-Dispense-Requester.json b/Resources/fsh-generated/resources/Bundle-UC1-Storno-3-Cancellation-Of-Dispense-Requester.json deleted file mode 100644 index 8bddaaee..00000000 --- a/Resources/fsh-generated/resources/Bundle-UC1-Storno-3-Cancellation-Of-Dispense-Requester.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "UC1-Storno-3-Cancellation-Of-Dispense-Requester", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" - ] - }, - "type": "message", - "identifier": { - "system": "urn:ietf:rfc:3986", - "value": "urn:uuid:c80f6c55-92f8-4518-ba66-cb193da09336" - }, - "timestamp": "2023-02-01T13:28:17.239+02:00", - "entry": [ - { - "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC1-HealthCareService-to-Pharmacy-MessageHeader-Storno", - "resource": { - "resourceType": "MessageHeader", - "id": "UC1-HealthCareService-to-Pharmacy-MessageHeader-Storno", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" - ] - }, - "source": { - "contact": { - "system": "email", - "value": "info@healthcare.email" - }, - "name": "HealthCare-Source", - "software": "HealthCare-Software", - "version": "1.0.0", - "endpoint": "http://healthcare.endpoint" - }, - "focus": [ - { - "reference": "ServiceRequest/UC1-Cancelled-Dispense-Request" - } - ], - "sender": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "5-test-telematik-id" - }, - "display": "Pflegeheim Immergrün" - }, - "destination": [ - { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, - "endpoint": "mailto:practitioner@test.kim.de" - } - ], - "eventCoding": { - "code": "eRezept_Rezeptanforderung;Abgabeanfrage_Storno", - "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", - "resource": { - "resourceType": "Patient", - "id": "Example-Patient", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], - "name": [ - { - "use": "official", - "family": "Königsstein", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Königsstein" - } - ] - }, - "given": [ - "Ludger" - ] - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 1" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "1" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "birthDate": "1935-06-22" - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC1-Cancelled-Dispense-Request", - "resource": { - "resourceType": "ServiceRequest", - "id": "UC1-Cancelled-Dispense-Request", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-dispense-request" - ] - }, - "intent": "filler-order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-UC1" - }, - "extension": [ - { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", - "value": "Task/160.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" - } - ], - "code": { - "coding": [ - { - "code": "dispense-request", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" - } - ] - }, - "identifier": [ - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "2" - } - ], - "status": "revoked", - "subject": { - "reference": "Patient/Example-Patient" - }, - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-02-01" - } - } - ] -} diff --git a/Resources/fsh-generated/resources/Bundle-UC2-1-Prescription-Request-To-HealthCareService.json b/Resources/fsh-generated/resources/Bundle-UC2-1-Prescription-Request-To-Prescriber.json similarity index 66% rename from Resources/fsh-generated/resources/Bundle-UC2-1-Prescription-Request-To-HealthCareService.json rename to Resources/fsh-generated/resources/Bundle-UC2-1-Prescription-Request-To-Prescriber.json index aa90f463..b0402fd2 100644 --- a/Resources/fsh-generated/resources/Bundle-UC2-1-Prescription-Request-To-HealthCareService.json +++ b/Resources/fsh-generated/resources/Bundle-UC2-1-Prescription-Request-To-Prescriber.json @@ -1,6 +1,6 @@ { "resourceType": "Bundle", - "id": "UC2-1-Prescription-Request-To-HealthCareService", + "id": "UC2-1-Prescription-Request-To-Prescriber", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" @@ -11,13 +11,13 @@ "system": "urn:ietf:rfc:3986", "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" }, - "timestamp": "2015-02-07T13:28:17.239+02:00", + "timestamp": "2025-05-13T14:25:12+02:00", "entry": [ { - "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC2-1-Pharmacy-to-HealthCareService-MessageHeader", + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC2-HealthCareService-to-Practitioner-MessageHeader", "resource": { "resourceType": "MessageHeader", - "id": "UC2-1-Pharmacy-to-HealthCareService-MessageHeader", + "id": "UC2-HealthCareService-to-Practitioner-MessageHeader", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" @@ -26,12 +26,12 @@ "source": { "contact": { "system": "email", - "value": "info@avs.email" + "value": "info@healthcare_ps_solutions.com" }, - "name": "Pharmacy-Source", - "software": "Pharmacy-Software", + "name": "HealthCare-Source", + "software": "HealthCare-Software", "version": "1.0.0", - "endpoint": "mailto:pharmacy@test.kim.de" + "endpoint": "https://healthcare_ps_solutions.com/jira_helpdesk" }, "focus": [ { @@ -41,28 +41,85 @@ "sender": { "identifier": { "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "3-test-telematik-id" + "value": "5-test-telematik-id" }, - "display": "Test Apotheke" + "display": "Pflegeheim Immergrün" }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, + "name": "Praxis Hans Topp-Glücklich", "endpoint": "mailto:practitioner@test.kim.de" } ], "eventCoding": { "code": "eRezept_Rezeptanforderung;Rezeptanfrage", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" } } }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-HealthCareService-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "email", + "value": "arbeitsplatz-1@test-pflegeheim.kim.telematik" + } + ] + } + ], + "name": "Pflegeheim Immergrün", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.245", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, { "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC2-Initial-Prescription-Request", "resource": { @@ -74,9 +131,15 @@ ] }, "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" + } + ], "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-2" + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC2" }, "code": { "coding": [ @@ -86,10 +149,10 @@ } ] }, - "identifier": [ + "modifierExtension": [ { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "req-1" + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex", + "valueBoolean": true } ], "basedOn": [ @@ -101,56 +164,87 @@ "subject": { "reference": "Patient/Example-Patient" }, - "orderDetail": [ - { - "coding": [ - { - "code": "return-to-requester", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" - } - ] - } - ], - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-01-27", + "authoredOn": "2025-05-13", "requester": { - "reference": "Organization/Example-Pharmacy-Organization" + "reference": "Organization/Example-HealthCareService-Organization" }, - "performer": [ + "note": [ { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - } + "text": "Rezeptanfrage zur Einlösung von Herrn Königsstein.", + "time": "2025-05-13T14:23:12+02:00" } ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", "resource": { - "resourceType": "MedicationRequest", - "id": "Example-Initial-Medication-Request", + "resourceType": "Patient", + "id": "Example-Patient", "meta": { "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] }, - "extension": [ + "name": [ { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "160.100.000.000.001.36" + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/prescription-id-ex" + "given": [ + "Ludger" + ] } ], - "dispenseRequest": { - "quantity": { - "system": "http://unitsofmeasure.org", - "code": "{Package}", - "value": 1 + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" } + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" + } + ], + "birthDate": "1935-06-22" + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", + "resource": { + "resourceType": "MedicationRequest", + "id": "Example-Initial-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] }, "status": "active", "intent": "order", @@ -160,14 +254,11 @@ "subject": { "reference": "Patient/Example-Patient" }, - "authoredOn": "2022-05-20", - "dosageInstruction": [ - { - "text": "2mal tägl. 5ml" + "dispenseRequest": { + "quantity": { + "value": 1, + "unit": "Packung" } - ], - "substitution": { - "allowedBoolean": true } } }, @@ -229,155 +320,6 @@ ] } } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", - "resource": { - "resourceType": "Patient", - "id": "Example-Patient", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], - "name": [ - { - "use": "official", - "family": "Königsstein", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Königsstein" - } - ] - }, - "given": [ - "Ludger" - ] - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 1" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "1" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "birthDate": "1935-06-22" - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization", - "resource": { - "resourceType": "Organization", - "id": "Example-Pharmacy-Organization", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" - } - ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "arbeitsplatz-1@test-apotheke.kim.telematik" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-57634852" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "581463872" - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 2" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "name": "Test Apotheke", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } - ] - } } ] } diff --git a/Resources/fsh-generated/resources/Bundle-UC2-2-Fullfilled-Prescription-Request.json b/Resources/fsh-generated/resources/Bundle-UC2-2-Fullfilled-Prescription-Request.json new file mode 100644 index 00000000..c8a8be96 --- /dev/null +++ b/Resources/fsh-generated/resources/Bundle-UC2-2-Fullfilled-Prescription-Request.json @@ -0,0 +1,333 @@ +{ + "resourceType": "Bundle", + "id": "UC2-2-Fullfilled-Prescription-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + ] + }, + "type": "message", + "identifier": { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" + }, + "timestamp": "2025-05-14T08:15:12+02:00", + "entry": [ + { + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC2-Practitioner-to-HealthCareService-MessageHeader", + "resource": { + "resourceType": "MessageHeader", + "id": "UC2-Practitioner-to-HealthCareService-MessageHeader", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" + ] + }, + "source": { + "contact": { + "system": "email", + "value": "info@pvs_solutions.email" + }, + "name": "Practitioner-Source", + "software": "Practitioner-Software", + "version": "1.0.0", + "endpoint": "https://pvs_solutions.com/jira_helpdesk" + }, + "focus": [ + { + "reference": "ServiceRequest/UC2-Response-Prescription-Request" + } + ], + "sender": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-test-telematik-id" + }, + "display": "Praxis Hans Topp-Glücklich" + }, + "destination": [ + { + "name": "Pflegeheim Immergrün", + "endpoint": "mailto:healthcare-service@test.kim.de" + } + ], + "eventCoding": { + "code": "eRezept_Rezeptanforderung;Rezeptbestaetigung", + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Practitioner-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-Practitioner-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0307654321" + } + ] + } + ], + "name": "Test Arztpraxis", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.50", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Arzt" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterarztstr. 3" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC2-Response-Prescription-Request", + "resource": { + "resourceType": "ServiceRequest", + "id": "UC2-Response-Prescription-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC2" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "modifierExtension": [ + { + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex", + "valueBoolean": true + } + ], + "status": "completed", + "basedOn": [ + { + "reference": "MedicationRequest/Example-Response-Medication-Request" + } + ], + "subject": { + "reference": "Patient/Example-Patient" + }, + "authoredOn": "2025-05-13", + "performer": [ + { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-test-telematik-id" + } + } + ], + "note": [ + { + "text": "Bereit zur Abholung.", + "time": "2025-05-14T08:12:23+02:00" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "resource": { + "resourceType": "Patient", + "id": "Example-Patient", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ + { + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] + }, + "given": [ + "Ludger" + ] + } + ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" + } + ], + "birthDate": "1935-06-22" + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-Medication-Request", + "resource": { + "resourceType": "MedicationRequest", + "id": "Example-Response-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] + }, + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Response-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 65, + "code": "mL", + "system": "http://unitsofmeasure.org", + "unit": "Milliliter" + } + }, + "dosageInstruction": [ + { + "text": "1-1-1-0" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Response-Medication", + "resource": { + "resourceType": "Medication", + "id": "Example-Response-Medication", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "08585997" + } + ], + "text": "Prospan® Hustensaft 100ml N1" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FLE" + } + ] + } + } + } + ] +} diff --git a/Resources/fsh-generated/resources/Bundle-UC2-3-Fullfilled-Prescription-Request.json b/Resources/fsh-generated/resources/Bundle-UC2-3-Fullfilled-Prescription-Request.json deleted file mode 100644 index df68fbfb..00000000 --- a/Resources/fsh-generated/resources/Bundle-UC2-3-Fullfilled-Prescription-Request.json +++ /dev/null @@ -1,577 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "UC2-3-Fullfilled-Prescription-Request", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" - ] - }, - "type": "message", - "identifier": { - "system": "urn:ietf:rfc:3986", - "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" - }, - "timestamp": "2023-01-30T13:28:17.239+02:00", - "entry": [ - { - "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC2-3-Practitioner-to-HealthCareService-MessageHeader", - "resource": { - "resourceType": "MessageHeader", - "id": "UC2-3-Practitioner-to-HealthCareService-MessageHeader", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" - ] - }, - "source": { - "contact": { - "system": "email", - "value": "info@pvs.email" - }, - "name": "Practitioner-Source", - "software": "Practitioner-Software", - "version": "1.0.0", - "endpoint": "mailto:practitioner@test.kim.de" - }, - "focus": [ - { - "reference": "ServiceRequest/UC2-Response-Prescription-Request" - } - ], - "sender": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, - "destination": [ - { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "3-test-telematik-id" - }, - "display": "Test Apotheke" - }, - "endpoint": "mailto:pharmacy@test.kim.dee" - } - ], - "eventCoding": { - "code": "eRezept_Rezeptanforderung;Rezeptbestaetigung", - "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC2-Response-Prescription-Request", - "resource": { - "resourceType": "ServiceRequest", - "id": "UC2-Response-Prescription-Request", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" - ] - }, - "intent": "order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-2" - }, - "extension": [ - { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", - "value": "Task/160.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" - } - ], - "code": { - "coding": [ - { - "code": "prescription-request", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" - } - ] - }, - "identifier": [ - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "req-1" - } - ], - "basedOn": [ - { - "reference": "MedicationRequest/Example-Response-KBV-Prescription" - } - ], - "status": "completed", - "subject": { - "reference": "Patient/Example-Patient" - }, - "orderDetail": [ - { - "coding": [ - { - "code": "return-to-requester", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" - } - ] - } - ], - "occurrenceDateTime": "2023-01-30", - "authoredOn": "2023-01-27", - "requester": { - "reference": "Organization/Example-Pharmacy-Organization" - }, - "performer": [ - { - "reference": "Practitioner/Example-Practitioner" - } - ] - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-KBV-Prescription", - "resource": { - "resourceType": "MedicationRequest", - "id": "Example-Response-KBV-Prescription", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" - ] - }, - "status": "active", - "intent": "order", - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", - "valueBoolean": false - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", - "valueBoolean": false - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", - "extension": [ - { - "url": "Kennzeichen", - "valueBoolean": false - } - ] - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_StatusCoPayment", - "valueCoding": { - "code": "1", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_StatusCoPayment" - } - } - ], - "dispenseRequest": { - "quantity": { - "system": "http://unitsofmeasure.org", - "code": "{Package}", - "value": 1 - } - }, - "dosageInstruction": [ - { - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", - "valueBoolean": true - } - ], - "text": "2mal tägl. 5ml" - } - ], - "medicationReference": { - "reference": "Medication/Example-Response-Medication" - }, - "subject": { - "reference": "Patient/Example-Patient" - }, - "authoredOn": "2022-05-20", - "requester": { - "reference": "Practitioner/Example-Practitioner" - }, - "insurance": [ - { - "reference": "Coverage/Response-Coverage" - } - ], - "substitution": { - "allowedBoolean": true - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Response-Medication", - "resource": { - "resourceType": "Medication", - "id": "Example-Response-Medication", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" - ] - }, - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/900000000000207008/version/20220331", - "code": "763158003", - "display": "Medicinal product (product)" - } - ] - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", - "valueBoolean": false - }, - { - "url": "http://fhir.de/StructureDefinition/normgroesse", - "valueCode": "N1" - } - ], - "code": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "08585997" - } - ], - "text": "Prospan® Hustensaft 100ml N1" - }, - "form": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", - "code": "FLE" - } - ] - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Practitioner/Example-Practitioner", - "resource": { - "resourceType": "Practitioner", - "id": "Example-Practitioner", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" - ] - }, - "name": [ - { - "use": "official", - "prefix": [ - "Dr. med." - ], - "_prefix": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", - "valueCode": "AC" - } - ] - } - ], - "family": "Topp-Glücklich", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Topp-Glücklich" - } - ] - }, - "given": [ - "Hans" - ] - } - ], - "qualification": [ - { - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", - "code": "00" - } - ] - } - }, - { - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", - "code": "Berufsbezeichnung" - } - ], - "text": "Hausarzt" - } - } - ], - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "LANR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", - "value": "838382202" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-838382202" - } - ] - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", - "resource": { - "resourceType": "Patient", - "id": "Example-Patient", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], - "name": [ - { - "use": "official", - "family": "Königsstein", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Königsstein" - } - ] - }, - "given": [ - "Ludger" - ] - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 1" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "1" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "birthDate": "1935-06-22" - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Coverage/Response-Coverage", - "resource": { - "resourceType": "Coverage", - "id": "Response-Coverage", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" - ] - }, - "status": "active", - "payor": [ - { - "identifier": { - "system": "http://fhir.de/sid/arge-ik/iknr", - "value": "108416214" - }, - "display": "AOK Bayern Die Gesundh." - } - ], - "extension": [ - { - "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/wop", - "valueCoding": { - "code": "72", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_ITA_WOP" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", - "valueCoding": { - "code": "3", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS" - } - } - ], - "type": { - "coding": [ - { - "code": "GKV", - "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis" - } - ] - }, - "beneficiary": { - "reference": "Patient/Example-Patient" - }, - "period": { - "end": "2040-04-01" - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization", - "resource": { - "resourceType": "Organization", - "id": "Example-Pharmacy-Organization", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" - } - ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "arbeitsplatz-1@test-apotheke.kim.telematik" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-57634852" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "581463872" - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 2" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "name": "Test Apotheke", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } - ] - } - } - ] -} diff --git a/Resources/fsh-generated/resources/Bundle-UC2-4-Fullfilled-Prescription-Request.json b/Resources/fsh-generated/resources/Bundle-UC2-4-Fullfilled-Prescription-Request.json deleted file mode 100644 index 3e808bed..00000000 --- a/Resources/fsh-generated/resources/Bundle-UC2-4-Fullfilled-Prescription-Request.json +++ /dev/null @@ -1,577 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "UC2-4-Fullfilled-Prescription-Request", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" - ] - }, - "type": "message", - "identifier": { - "system": "urn:ietf:rfc:3986", - "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" - }, - "timestamp": "2023-01-30T13:28:17.239+02:00", - "entry": [ - { - "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC2-4-HealthCareService-to-Pharmacy-MessageHeader", - "resource": { - "resourceType": "MessageHeader", - "id": "UC2-4-HealthCareService-to-Pharmacy-MessageHeader", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" - ] - }, - "source": { - "contact": { - "system": "email", - "value": "info@pvs.email" - }, - "name": "Practitioner-Source", - "software": "Practitioner-Software", - "version": "1.0.0", - "endpoint": "mailto:practitioner@test.kim.de" - }, - "focus": [ - { - "reference": "ServiceRequest/UC2-Response-Prescription-Request" - } - ], - "sender": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, - "destination": [ - { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "3-test-telematik-id" - }, - "display": "Test Apotheke" - }, - "endpoint": "mailto:pharmacy@test.kim.dee" - } - ], - "eventCoding": { - "code": "eRezept_Rezeptanforderung;Rezeptbestaetigung", - "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC2-Response-Prescription-Request", - "resource": { - "resourceType": "ServiceRequest", - "id": "UC2-Response-Prescription-Request", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" - ] - }, - "intent": "order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-2" - }, - "extension": [ - { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", - "value": "Task/160.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" - } - ], - "code": { - "coding": [ - { - "code": "prescription-request", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" - } - ] - }, - "identifier": [ - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "req-1" - } - ], - "basedOn": [ - { - "reference": "MedicationRequest/Example-Response-KBV-Prescription" - } - ], - "status": "completed", - "subject": { - "reference": "Patient/Example-Patient" - }, - "orderDetail": [ - { - "coding": [ - { - "code": "return-to-requester", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" - } - ] - } - ], - "occurrenceDateTime": "2023-01-30", - "authoredOn": "2023-01-27", - "requester": { - "reference": "Organization/Example-Pharmacy-Organization" - }, - "performer": [ - { - "reference": "Practitioner/Example-Practitioner" - } - ] - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-KBV-Prescription", - "resource": { - "resourceType": "MedicationRequest", - "id": "Example-Response-KBV-Prescription", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" - ] - }, - "status": "active", - "intent": "order", - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", - "valueBoolean": false - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", - "valueBoolean": false - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", - "extension": [ - { - "url": "Kennzeichen", - "valueBoolean": false - } - ] - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_StatusCoPayment", - "valueCoding": { - "code": "1", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_StatusCoPayment" - } - } - ], - "dispenseRequest": { - "quantity": { - "system": "http://unitsofmeasure.org", - "code": "{Package}", - "value": 1 - } - }, - "dosageInstruction": [ - { - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", - "valueBoolean": true - } - ], - "text": "2mal tägl. 5ml" - } - ], - "medicationReference": { - "reference": "Medication/Example-Response-Medication" - }, - "subject": { - "reference": "Patient/Example-Patient" - }, - "authoredOn": "2022-05-20", - "requester": { - "reference": "Practitioner/Example-Practitioner" - }, - "insurance": [ - { - "reference": "Coverage/Response-Coverage" - } - ], - "substitution": { - "allowedBoolean": true - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Response-Medication", - "resource": { - "resourceType": "Medication", - "id": "Example-Response-Medication", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" - ] - }, - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/900000000000207008/version/20220331", - "code": "763158003", - "display": "Medicinal product (product)" - } - ] - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", - "valueBoolean": false - }, - { - "url": "http://fhir.de/StructureDefinition/normgroesse", - "valueCode": "N1" - } - ], - "code": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "08585997" - } - ], - "text": "Prospan® Hustensaft 100ml N1" - }, - "form": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", - "code": "FLE" - } - ] - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Practitioner/Example-Practitioner", - "resource": { - "resourceType": "Practitioner", - "id": "Example-Practitioner", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" - ] - }, - "name": [ - { - "use": "official", - "prefix": [ - "Dr. med." - ], - "_prefix": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", - "valueCode": "AC" - } - ] - } - ], - "family": "Topp-Glücklich", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Topp-Glücklich" - } - ] - }, - "given": [ - "Hans" - ] - } - ], - "qualification": [ - { - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", - "code": "00" - } - ] - } - }, - { - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", - "code": "Berufsbezeichnung" - } - ], - "text": "Hausarzt" - } - } - ], - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "LANR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", - "value": "838382202" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-838382202" - } - ] - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", - "resource": { - "resourceType": "Patient", - "id": "Example-Patient", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], - "name": [ - { - "use": "official", - "family": "Königsstein", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Königsstein" - } - ] - }, - "given": [ - "Ludger" - ] - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 1" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "1" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "birthDate": "1935-06-22" - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Coverage/Response-Coverage", - "resource": { - "resourceType": "Coverage", - "id": "Response-Coverage", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" - ] - }, - "status": "active", - "payor": [ - { - "identifier": { - "system": "http://fhir.de/sid/arge-ik/iknr", - "value": "108416214" - }, - "display": "AOK Bayern Die Gesundh." - } - ], - "extension": [ - { - "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/wop", - "valueCoding": { - "code": "72", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_ITA_WOP" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", - "valueCoding": { - "code": "3", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS" - } - } - ], - "type": { - "coding": [ - { - "code": "GKV", - "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis" - } - ] - }, - "beneficiary": { - "reference": "Patient/Example-Patient" - }, - "period": { - "end": "2040-04-01" - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization", - "resource": { - "resourceType": "Organization", - "id": "Example-Pharmacy-Organization", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" - } - ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "arbeitsplatz-1@test-apotheke.kim.telematik" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-57634852" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "581463872" - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 2" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "name": "Test Apotheke", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } - ] - } - } - ] -} diff --git a/Resources/fsh-generated/resources/Bundle-UC3-1-Prescription-Request-To-Prescriber-COPY.json b/Resources/fsh-generated/resources/Bundle-UC3-1-Prescription-Request-To-Prescriber-COPY.json new file mode 100644 index 00000000..6f0ea61a --- /dev/null +++ b/Resources/fsh-generated/resources/Bundle-UC3-1-Prescription-Request-To-Prescriber-COPY.json @@ -0,0 +1,498 @@ +{ + "resourceType": "Bundle", + "id": "UC3-1-Prescription-Request-To-Prescriber-COPY", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + ] + }, + "type": "message", + "identifier": { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:183371e3-e58d-471c-a540-912c94fb0c51" + }, + "timestamp": "2025-05-13T14:25:12+02:00", + "entry": [ + { + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC3-Pharmacy-to-HealthCareService-MessageHeader", + "resource": { + "resourceType": "MessageHeader", + "id": "UC3-Pharmacy-to-HealthCareService-MessageHeader", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" + ] + }, + "source": { + "contact": { + "system": "email", + "value": "info@avs_solutions.com" + }, + "name": "Pharmacy-Source", + "software": "Pharmacy-Software", + "version": "1.0.0", + "endpoint": "https://avs_solutions.com/jira_helpdesk" + }, + "focus": [ + { + "reference": "Bundle/UC3-1-Prescription-Request-To-Prescriber" + } + ], + "sender": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-test-telematik-id" + }, + "display": "Test Apotheke" + }, + "destination": [ + { + "name": "Pflegeheim Immergrün", + "endpoint": "mailto:healthcare-service@test.kim.de" + } + ], + "eventCoding": { + "code": "eRezept_Rezeptanforderung;NachrichtKopie", + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Pharmacy-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Bundle/UC3-1-Prescription-Request-To-Prescriber", + "resource": { + "resourceType": "Bundle", + "id": "UC3-1-Prescription-Request-To-Prescriber", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + ] + }, + "type": "message", + "identifier": { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" + }, + "timestamp": "2025-05-13T14:25:12+02:00", + "entry": [ + { + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC3-Pharmacy-to-Practitioner-MessageHeader", + "resource": { + "resourceType": "MessageHeader", + "id": "UC3-Pharmacy-to-Practitioner-MessageHeader", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" + ] + }, + "source": { + "contact": { + "system": "email", + "value": "info@avs_solutions.com" + }, + "name": "Pharmacy-Source", + "software": "Pharmacy-Software", + "version": "1.0.0", + "endpoint": "https://avs_solutions.com/jira_helpdesk" + }, + "focus": [ + { + "reference": "ServiceRequest/UC3-Initial-Prescription-Request" + } + ], + "sender": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-test-telematik-id" + }, + "display": "Test Apotheke" + }, + "destination": [ + { + "name": "Praxis Hans Topp-Glücklich", + "endpoint": "mailto:practitioner@test.kim.de" + } + ], + "eventCoding": { + "code": "eRezept_Rezeptanforderung;Rezeptanfrage", + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Pharmacy-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-Pharmacy-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0301234567" + } + ] + } + ], + "name": "Test Apotheke", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.54", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Öffentliche Apotheke" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-HealthCareService-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "email", + "value": "arbeitsplatz-1@test-pflegeheim.kim.telematik" + } + ] + } + ], + "name": "Pflegeheim Immergrün", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.245", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC3-Initial-Prescription-Request", + "resource": { + "resourceType": "ServiceRequest", + "id": "UC3-Initial-Prescription-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC3" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "supportingInfo": [ + { + "type": "Organization", + "reference": "Organization/Example-HealthCareService-Organization" + } + ], + "basedOn": [ + { + "reference": "MedicationRequest/Example-Initial-Medication-Request" + } + ], + "status": "active", + "subject": { + "reference": "Patient/Example-Patient" + }, + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-Pharmacy-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "resource": { + "resourceType": "Patient", + "id": "Example-Patient", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ + { + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] + }, + "given": [ + "Ludger" + ] + } + ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" + } + ], + "birthDate": "1935-06-22" + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", + "resource": { + "resourceType": "MedicationRequest", + "id": "Example-Initial-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] + }, + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 1, + "unit": "Packung" + } + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", + "resource": { + "resourceType": "Medication", + "id": "Example-Initial-Medication", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "08585997" + } + ], + "text": "Prospan® Hustensaft 100ml" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FLE" + } + ] + } + } + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-Pharmacy-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0301234567" + } + ] + } + ], + "name": "Test Apotheke", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.54", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Öffentliche Apotheke" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + } + ] +} diff --git a/Resources/fsh-generated/resources/Bundle-UC3-1-Prescription-Request-To-Prescriber.json b/Resources/fsh-generated/resources/Bundle-UC3-1-Prescription-Request-To-Prescriber.json index e6f1274d..3b53e0ad 100644 --- a/Resources/fsh-generated/resources/Bundle-UC3-1-Prescription-Request-To-Prescriber.json +++ b/Resources/fsh-generated/resources/Bundle-UC3-1-Prescription-Request-To-Prescriber.json @@ -11,13 +11,13 @@ "system": "urn:ietf:rfc:3986", "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" }, - "timestamp": "2015-02-07T13:28:17.239+02:00", + "timestamp": "2025-05-13T14:25:12+02:00", "entry": [ { - "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC3-HealthCareService-to-Practitioner-MessageHeader", + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC3-Pharmacy-to-Practitioner-MessageHeader", "resource": { "resourceType": "MessageHeader", - "id": "UC3-HealthCareService-to-Practitioner-MessageHeader", + "id": "UC3-Pharmacy-to-Practitioner-MessageHeader", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" @@ -26,12 +26,12 @@ "source": { "contact": { "system": "email", - "value": "info@hcs.email" + "value": "info@avs_solutions.com" }, - "name": "HealthCare-Source", - "software": "HealthCare-Software", + "name": "Pharmacy-Source", + "software": "Pharmacy-Software", "version": "1.0.0", - "endpoint": "mailto:healthcare-service@test.kim.de" + "endpoint": "https://avs_solutions.com/jira_helpdesk" }, "focus": [ { @@ -41,192 +41,188 @@ "sender": { "identifier": { "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "5-test-telematik-id" + "value": "3-test-telematik-id" }, - "display": "Pflegeheim Immergrün" + "display": "Test Apotheke" }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, + "name": "Praxis Hans Topp-Glücklich", "endpoint": "mailto:practitioner@test.kim.de" } ], "eventCoding": { "code": "eRezept_Rezeptanforderung;Rezeptanfrage", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Pharmacy-Organization" } } }, { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC3-Initial-Prescription-Request", + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization", "resource": { - "resourceType": "ServiceRequest", - "id": "UC3-Initial-Prescription-Request", + "resourceType": "Organization", + "id": "Example-Pharmacy-Organization", "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" - ] - }, - "intent": "order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-UC3" - }, - "code": { - "coding": [ + "tag": [ { - "code": "prescription-request", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" ] }, "identifier": [ { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "1" + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" } ], - "basedOn": [ + "contact": [ { - "reference": "MedicationRequest/Example-Initial-Medication-Request" + "telecom": [ + { + "system": "phone", + "value": "0301234567" + } + ] } ], - "status": "active", - "subject": { - "reference": "Patient/Example-Patient" - }, - "orderDetail": [ + "name": "Test Apotheke", + "type": [ { "coding": [ { - "code": "issue-prescription", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" + "code": "1.2.276.0.76.4.54", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Öffentliche Apotheke" } ] } ], - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-01-27", - "requester": { - "reference": "Organization/Example-HealthCareService-Organization" - }, - "performer": [ + "address": [ { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - } + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" } ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", "resource": { - "resourceType": "MedicationRequest", - "id": "Example-Initial-Medication-Request", + "resourceType": "Organization", + "id": "Example-HealthCareService-Organization", "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" ] }, - "extension": [ + "identifier": [ { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "160.100.000.000.001.36" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/prescription-id-ex" + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" } ], - "dispenseRequest": { - "quantity": { - "system": "http://unitsofmeasure.org", - "code": "{Package}", - "value": 1 + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "email", + "value": "arbeitsplatz-1@test-pflegeheim.kim.telematik" + } + ] } - }, - "status": "active", - "intent": "order", - "medicationReference": { - "reference": "Medication/Example-Initial-Medication" - }, - "subject": { - "reference": "Patient/Example-Patient" - }, - "authoredOn": "2022-05-20", - "dosageInstruction": [ + ], + "name": "Pflegeheim Immergrün", + "type": [ { - "text": "2mal tägl. 5ml" + "coding": [ + { + "code": "1.2.276.0.76.4.245", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" + } + ] } ], - "substitution": { - "allowedBoolean": true - } + "address": [ + { + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC3-Initial-Prescription-Request", "resource": { - "resourceType": "Medication", - "id": "Example-Initial-Medication", + "resourceType": "ServiceRequest", + "id": "UC3-Initial-Prescription-Request", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" ] }, - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/900000000000207008/version/20220331", - "code": "763158003", - "display": "Medicinal product (product)" - } - ] - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", - "valueBoolean": false - }, + "intent": "order", + "identifier": [ { - "url": "http://fhir.de/StructureDefinition/normgroesse", - "valueCode": "N1" + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" } ], - "code": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "08585997" - } - ], - "text": "Prospan® Hustensaft 100ml" + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC3" }, - "form": { + "code": { "coding": [ { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", - "code": "FLE" + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" } ] + }, + "supportingInfo": [ + { + "type": "Organization", + "reference": "Organization/Example-HealthCareService-Organization" + } + ], + "basedOn": [ + { + "reference": "MedicationRequest/Example-Initial-Medication-Request" + } + ], + "status": "active", + "subject": { + "reference": "Patient/Example-Patient" + }, + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-Pharmacy-Organization" } } }, @@ -237,23 +233,9 @@ "id": "Example-Patient", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], "name": [ { "use": "official", @@ -271,9 +253,14 @@ ] } ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], "address": [ { - "type": "both", "line": [ "Musterstr. 1" ], @@ -291,6 +278,7 @@ ] } ], + "type": "both", "city": "Berlin", "postalCode": "10623" } @@ -299,84 +287,88 @@ } }, { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", "resource": { - "resourceType": "Organization", - "id": "Example-HealthCareService-Organization", + "resourceType": "MedicationRequest", + "id": "Example-Initial-Medication-Request", "meta": { "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" ] }, - "identifier": [ + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 1, + "unit": "Packung" + } + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", + "resource": { + "resourceType": "Medication", + "id": "Example-Initial-Medication", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ { - "type": { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { "coding": [ { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" } ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "pflegeheim.immergrün.arzt@sana-pflegeheime.kim.telematik" + } }, { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-031234567" + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } }, { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "031234567" - } - ], - "address": [ + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, { - "type": "both", - "line": [ - "Musterstr. 2" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" } ], - "name": "Pflegeheim Immergrün", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } - ] + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "08585997" + } + ], + "text": "Prospan® Hustensaft 100ml" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FLE" + } + ] + } } } ] diff --git a/Resources/fsh-generated/resources/Bundle-UC3-2-Fullfilled-Prescription-Request-COPY.json b/Resources/fsh-generated/resources/Bundle-UC3-2-Fullfilled-Prescription-Request-COPY.json new file mode 100644 index 00000000..1230f7f6 --- /dev/null +++ b/Resources/fsh-generated/resources/Bundle-UC3-2-Fullfilled-Prescription-Request-COPY.json @@ -0,0 +1,491 @@ +{ + "resourceType": "Bundle", + "id": "UC3-2-Fullfilled-Prescription-Request-COPY", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + ] + }, + "type": "message", + "identifier": { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:2c60b3d3-a901-4df2-92ef-a9c3e525fa43" + }, + "timestamp": "2025-05-14T08:15:12+02:00", + "entry": [ + { + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC3-Practitioner-to-HealthCareService-MessageHeader", + "resource": { + "resourceType": "MessageHeader", + "id": "UC3-Practitioner-to-HealthCareService-MessageHeader", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" + ] + }, + "source": { + "contact": { + "system": "email", + "value": "info@pvs_solutions.email" + }, + "name": "Practitioner-Source", + "software": "Practitioner-Software", + "version": "1.0.0", + "endpoint": "https://pvs_solutions.com/jira_helpdesk" + }, + "focus": [ + { + "reference": "Bundle/UC3-2-Fullfilled-Prescription-Request" + } + ], + "sender": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-test-telematik-id" + }, + "display": "Praxis Hans Topp-Glücklich" + }, + "destination": [ + { + "name": "Pflegeheim Immergrün", + "endpoint": "mailto:healthcare-service@test.kim.de" + } + ], + "eventCoding": { + "code": "eRezept_Rezeptanforderung;NachrichtKopie", + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Practitioner-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Bundle/UC3-2-Fullfilled-Prescription-Request", + "resource": { + "resourceType": "Bundle", + "id": "UC3-2-Fullfilled-Prescription-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + ] + }, + "type": "message", + "identifier": { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" + }, + "timestamp": "2025-05-14T08:15:12+02:00", + "entry": [ + { + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC3-Practitioner-to-Pharmacy-MessageHeader", + "resource": { + "resourceType": "MessageHeader", + "id": "UC3-Practitioner-to-Pharmacy-MessageHeader", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" + ] + }, + "source": { + "contact": { + "system": "email", + "value": "info@avs_solutions.com" + }, + "name": "Pharmacy-Source", + "software": "Pharmacy-Software", + "version": "1.0.0", + "endpoint": "https://avs_solutions.com/jira_helpdesk" + }, + "focus": [ + { + "reference": "ServiceRequest/UC3-Response-Prescription-Request" + } + ], + "sender": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-test-telematik-id" + }, + "display": "Test Apotheke" + }, + "destination": [ + { + "name": "Praxis Hans Topp-Glücklich", + "endpoint": "mailto:practitioner@test.kim.de" + } + ], + "eventCoding": { + "code": "eRezept_Rezeptanforderung;Rezeptbestaetigung", + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Practitioner-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-Practitioner-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0307654321" + } + ] + } + ], + "name": "Test Arztpraxis", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.50", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Arzt" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterarztstr. 3" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC3-Response-Prescription-Request", + "resource": { + "resourceType": "ServiceRequest", + "id": "UC3-Response-Prescription-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC3" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "extension": [ + { + "valueIdentifier": { + "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", + "value": "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" + }, + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" + } + ], + "basedOn": [ + { + "reference": "MedicationRequest/Example-Response-Medication-Request" + } + ], + "status": "completed", + "subject": { + "reference": "Patient/Example-Patient" + }, + "authoredOn": "2025-05-13", + "performer": [ + { + "reference": "Practitioner/Example-Practitioner" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "resource": { + "resourceType": "Patient", + "id": "Example-Patient", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ + { + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] + }, + "given": [ + "Ludger" + ] + } + ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" + } + ], + "birthDate": "1935-06-22" + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Practitioner/Example-Practitioner", + "resource": { + "resourceType": "Practitioner", + "id": "Example-Practitioner", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-practitioner" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-838382202" + }, + { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "838382202" + } + ], + "name": [ + { + "use": "official", + "family": "Topp-Glücklich", + "given": [ + "Hans" + ], + "prefix": [ + "Dr. med." + ], + "text": "Dr. med. Hans Topp-Glücklich" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-Medication-Request", + "resource": { + "resourceType": "MedicationRequest", + "id": "Example-Response-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] + }, + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Response-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 65, + "code": "mL", + "system": "http://unitsofmeasure.org", + "unit": "Milliliter" + } + }, + "dosageInstruction": [ + { + "text": "1-1-1-0" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Response-Medication", + "resource": { + "resourceType": "Medication", + "id": "Example-Response-Medication", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "08585997" + } + ], + "text": "Prospan® Hustensaft 100ml N1" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FLE" + } + ] + } + } + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-Practitioner-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0307654321" + } + ] + } + ], + "name": "Test Arztpraxis", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.50", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Arzt" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterarztstr. 3" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + } + ] +} diff --git a/Resources/fsh-generated/resources/Bundle-UC3-2-Fullfilled-Prescription-Request.json b/Resources/fsh-generated/resources/Bundle-UC3-2-Fullfilled-Prescription-Request.json index 6162fa8c..cbf8d615 100644 --- a/Resources/fsh-generated/resources/Bundle-UC3-2-Fullfilled-Prescription-Request.json +++ b/Resources/fsh-generated/resources/Bundle-UC3-2-Fullfilled-Prescription-Request.json @@ -11,13 +11,13 @@ "system": "urn:ietf:rfc:3986", "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" }, - "timestamp": "2023-01-30T13:28:17.239+02:00", + "timestamp": "2025-05-14T08:15:12+02:00", "entry": [ { - "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC3-Practitioner-to-HealthCareService-MessageHeader", + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC3-Practitioner-to-Pharmacy-MessageHeader", "resource": { "resourceType": "MessageHeader", - "id": "UC3-Practitioner-to-HealthCareService-MessageHeader", + "id": "UC3-Practitioner-to-Pharmacy-MessageHeader", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" @@ -26,12 +26,12 @@ "source": { "contact": { "system": "email", - "value": "info@hcs.email" + "value": "info@avs_solutions.com" }, - "name": "HealthCare-Source", - "software": "HealthCare-Software", + "name": "Pharmacy-Source", + "software": "Pharmacy-Software", "version": "1.0.0", - "endpoint": "mailto:healthcare-service@test.kim.de" + "endpoint": "https://avs_solutions.com/jira_helpdesk" }, "focus": [ { @@ -41,319 +41,132 @@ "sender": { "identifier": { "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "5-test-telematik-id" + "value": "3-test-telematik-id" }, - "display": "Pflegeheim Immergrün" + "display": "Test Apotheke" }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, + "name": "Praxis Hans Topp-Glücklich", "endpoint": "mailto:practitioner@test.kim.de" } ], "eventCoding": { "code": "eRezept_Rezeptanforderung;Rezeptbestaetigung", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Practitioner-Organization" } } }, { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC3-Response-Prescription-Request", + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization", "resource": { - "resourceType": "ServiceRequest", - "id": "UC3-Response-Prescription-Request", + "resourceType": "Organization", + "id": "Example-Practitioner-Organization", "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" - ] - }, - "intent": "order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-UC3" - }, - "extension": [ - { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", - "value": "Task/160.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" - } - ], - "code": { - "coding": [ + "tag": [ { - "code": "prescription-request", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" ] }, "identifier": [ { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "1" - } - ], - "basedOn": [ - { - "reference": "MedicationRequest/Example-Response-KBV-Prescription" + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" } ], - "status": "completed", - "subject": { - "reference": "Patient/Example-Patient" - }, - "orderDetail": [ + "contact": [ { - "coding": [ + "telecom": [ { - "code": "issue-prescription", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" + "system": "phone", + "value": "0307654321" } ] } ], - "occurrenceDateTime": "2023-01-30", - "authoredOn": "2023-01-27", - "requester": { - "reference": "Organization/Example-HealthCareService-Organization" - }, - "performer": [ + "name": "Test Arztpraxis", + "type": [ { - "reference": "Practitioner/Example-Practitioner" - } - ] - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-KBV-Prescription", - "resource": { - "resourceType": "MedicationRequest", - "id": "Example-Response-KBV-Prescription", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" - ] - }, - "status": "active", - "intent": "order", - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", - "valueBoolean": false - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", - "valueBoolean": false - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", - "extension": [ + "coding": [ { - "url": "Kennzeichen", - "valueBoolean": false + "code": "1.2.276.0.76.4.50", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Arzt" } ] - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_StatusCoPayment", - "valueCoding": { - "code": "1", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_StatusCoPayment" - } } ], - "dispenseRequest": { - "quantity": { - "system": "http://unitsofmeasure.org", - "code": "{Package}", - "value": 1 - } - }, - "dosageInstruction": [ + "address": [ { - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", - "valueBoolean": true - } + "type": "both", + "line": [ + "Musterarztstr. 3" ], - "text": "2mal tägl. 5ml" - } - ], - "medicationReference": { - "reference": "Medication/Example-Response-Medication" - }, - "subject": { - "reference": "Patient/Example-Patient" - }, - "authoredOn": "2022-05-20", - "requester": { - "reference": "Practitioner/Example-Practitioner" - }, - "insurance": [ - { - "reference": "Coverage/Response-Coverage" + "city": "Berlin", + "postalCode": "10623" } - ], - "substitution": { - "allowedBoolean": true - } + ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Response-Medication", + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC3-Response-Prescription-Request", "resource": { - "resourceType": "Medication", - "id": "Example-Response-Medication", + "resourceType": "ServiceRequest", + "id": "UC3-Response-Prescription-Request", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" ] }, - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/900000000000207008/version/20220331", - "code": "763158003", - "display": "Medicinal product (product)" - } - ] - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", - "valueBoolean": false - }, + "intent": "order", + "identifier": [ { - "url": "http://fhir.de/StructureDefinition/normgroesse", - "valueCode": "N1" + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" } ], - "code": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "08585997" - } - ], - "text": "Prospan® Hustensaft 100ml N1" + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC3" }, - "form": { + "code": { "coding": [ { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", - "code": "FLE" + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" } ] - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Practitioner/Example-Practitioner", - "resource": { - "resourceType": "Practitioner", - "id": "Example-Practitioner", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" - ] }, - "name": [ + "extension": [ { - "use": "official", - "prefix": [ - "Dr. med." - ], - "_prefix": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", - "valueCode": "AC" - } - ] - } - ], - "family": "Topp-Glücklich", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Topp-Glücklich" - } - ] + "valueIdentifier": { + "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", + "value": "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" }, - "given": [ - "Hans" - ] + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" } ], - "qualification": [ - { - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", - "code": "00" - } - ] - } - }, + "basedOn": [ { - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", - "code": "Berufsbezeichnung" - } - ], - "text": "Hausarzt" - } + "reference": "MedicationRequest/Example-Response-Medication-Request" } ], - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "LANR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", - "value": "838382202" - }, + "status": "completed", + "subject": { + "reference": "Patient/Example-Patient" + }, + "authoredOn": "2025-05-13", + "performer": [ { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-838382202" + "reference": "Practitioner/Example-Practitioner" } ] } @@ -365,23 +178,9 @@ "id": "Example-Patient", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], "name": [ { "use": "official", @@ -399,9 +198,14 @@ ] } ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], "address": [ { - "type": "both", "line": [ "Musterstr. 1" ], @@ -419,6 +223,7 @@ ] } ], + "type": "both", "city": "Berlin", "postalCode": "10623" } @@ -427,150 +232,136 @@ } }, { - "fullUrl": "http://erp-servicerequest-test.de/Coverage/Response-Coverage", + "fullUrl": "http://erp-servicerequest-test.de/Practitioner/Example-Practitioner", "resource": { - "resourceType": "Coverage", - "id": "Response-Coverage", + "resourceType": "Practitioner", + "id": "Example-Practitioner", "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-practitioner" ] }, - "status": "active", - "payor": [ - { - "identifier": { - "system": "http://fhir.de/sid/arge-ik/iknr", - "value": "108416214" - }, - "display": "AOK Bayern Die Gesundh." - } - ], - "extension": [ - { - "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP" - } - }, + "identifier": [ { - "url": "http://fhir.de/StructureDefinition/gkv/wop", - "valueCoding": { - "code": "72", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_ITA_WOP" - } + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-838382202" }, { - "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", - "valueCoding": { - "code": "3", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS" - } + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "838382202" } ], - "type": { - "coding": [ - { - "code": "GKV", - "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis" - } + "name": [ + { + "use": "official", + "family": "Topp-Glücklich", + "given": [ + "Hans" + ], + "prefix": [ + "Dr. med." + ], + "text": "Dr. med. Hans Topp-Glücklich" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-Medication-Request", + "resource": { + "resourceType": "MedicationRequest", + "id": "Example-Response-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" ] }, - "beneficiary": { + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Response-Medication" + }, + "subject": { "reference": "Patient/Example-Patient" }, - "period": { - "end": "2040-04-01" - } + "dispenseRequest": { + "quantity": { + "value": 65, + "code": "mL", + "system": "http://unitsofmeasure.org", + "unit": "Milliliter" + } + }, + "dosageInstruction": [ + { + "text": "1-1-1-0" + } + ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Response-Medication", "resource": { - "resourceType": "Organization", - "id": "Example-HealthCareService-Organization", + "resourceType": "Medication", + "id": "Example-Response-Medication", "meta": { "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" ] }, - "identifier": [ + "extension": [ { - "type": { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { "coding": [ { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" } ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "pflegeheim.immergrün.arzt@sana-pflegeheime.kim.telematik" + } }, { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-031234567" + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } }, { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "031234567" - } - ], - "address": [ + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, { - "type": "both", - "line": [ - "Musterstr. 2" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" } ], - "name": "Pflegeheim Immergrün", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } - ] + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "08585997" + } + ], + "text": "Prospan® Hustensaft 100ml N1" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FLE" + } + ] + } } } ] diff --git a/Resources/fsh-generated/resources/Bundle-UC4-1-Prescription-and-Dispense-Request-To-Prescriber.json b/Resources/fsh-generated/resources/Bundle-UC4-1-Prescription-and-Dispense-Request-To-Prescriber.json index 54bc2ecd..7d2b17f9 100644 --- a/Resources/fsh-generated/resources/Bundle-UC4-1-Prescription-and-Dispense-Request-To-Prescriber.json +++ b/Resources/fsh-generated/resources/Bundle-UC4-1-Prescription-and-Dispense-Request-To-Prescriber.json @@ -11,7 +11,7 @@ "system": "urn:ietf:rfc:3986", "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" }, - "timestamp": "2015-02-07T13:28:17.239+02:00", + "timestamp": "2025-05-13T14:25:12+02:00", "entry": [ { "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC4-1-Pharmacy-to-Practitioner-MessageHeader", @@ -26,12 +26,12 @@ "source": { "contact": { "system": "email", - "value": "info@avs.email" + "value": "info@avs_solutions.com" }, "name": "Pharmacy-Source", "software": "Pharmacy-Software", "version": "1.0.0", - "endpoint": "mailto:pharmacy@test.kim.de" + "endpoint": "https://avs_solutions.com/jira_helpdesk" }, "focus": [ { @@ -47,60 +47,60 @@ }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, + "name": "Praxis Hans Topp-Glücklich", "endpoint": "mailto:practitioner@test.kim.de" } ], "eventCoding": { "code": "eRezept_ParenteraleZubereitung;Rezeptanfrage", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Pharmacy-Organization" } } }, { - "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization", "resource": { - "resourceType": "Patient", - "id": "Example-Patient", + "resourceType": "Organization", + "id": "Example-Pharmacy-Organization", "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" ] }, "identifier": [ { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" } ], - "name": [ + "contact": [ { - "use": "official", - "family": "Königsstein", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Königsstein" - } - ] - }, - "given": [ - "Ludger" + "telecom": [ + { + "system": "phone", + "value": "0301234567" + } + ] + } + ], + "name": "Test Apotheke", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.54", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Öffentliche Apotheke" + } ] } ], @@ -108,27 +108,12 @@ { "type": "both", "line": [ - "Musterstr. 1" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "1" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } + "Musterstr. 2" ], "city": "Berlin", "postalCode": "10623" } - ], - "birthDate": "1935-06-22" + ] } }, { @@ -142,21 +127,9 @@ ] }, "intent": "order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-UC4" - }, - "code": { - "coding": [ - { - "code": "prescription-request", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" - } - ] - }, "identifier": [ { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", "value": "1" }, { @@ -176,6 +149,18 @@ "value": "My-ID-bdbdf8a1-ffa4-4f16-a6c4-38e690ac5548" } ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC4" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, "basedOn": [ { "reference": "MedicationRequest/Example-Zyto-Medication-Request" @@ -185,29 +170,70 @@ "subject": { "reference": "Patient/Example-Patient" }, - "orderDetail": [ + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-Pharmacy-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "resource": { + "resourceType": "Patient", + "id": "Example-Patient", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ { - "coding": [ - { - "code": "return-to-requester", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" - } + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] + }, + "given": [ + "Ludger" ] } ], - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-01-27", - "requester": { - "reference": "Organization/Example-Pharmacy-Organization" - }, - "performer": [ + "identifier": [ { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - } + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" } - ] + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" + } + ], + "birthDate": "1935-06-22" } }, { @@ -326,87 +352,6 @@ "text": "Infusionslösung" } } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization", - "resource": { - "resourceType": "Organization", - "id": "Example-Pharmacy-Organization", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" - } - ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "arbeitsplatz-1@test-apotheke.kim.telematik" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-57634852" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "581463872" - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 2" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "name": "Test Apotheke", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } - ] - } } ] } diff --git a/Resources/fsh-generated/resources/Bundle-UC4-2-Prescription-Request-To-Pharmacy.json b/Resources/fsh-generated/resources/Bundle-UC4-2-Prescription-Request-To-Pharmacy.json index 2ae1548c..a4c33565 100644 --- a/Resources/fsh-generated/resources/Bundle-UC4-2-Prescription-Request-To-Pharmacy.json +++ b/Resources/fsh-generated/resources/Bundle-UC4-2-Prescription-Request-To-Pharmacy.json @@ -11,7 +11,7 @@ "system": "urn:ietf:rfc:3986", "value": "urn:uuid:c80f6c55-92f8-4518-ba66-cb193da09336" }, - "timestamp": "2023-02-01T13:28:17.239+02:00", + "timestamp": "2025-05-14T08:15:12+02:00", "entry": [ { "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC4-2-Practitioner-to-Pharmacy-MessageHeader", @@ -26,12 +26,12 @@ "source": { "contact": { "system": "email", - "value": "info@pvs.email" + "value": "info@pvs_solutions.email" }, "name": "Practitioner-Source", "software": "Practitioner-Software", "version": "1.0.0", - "endpoint": "mailto:practitioner@test.kim.de" + "endpoint": "https://pvs_solutions.com/jira_helpdesk" }, "focus": [ { @@ -47,306 +47,144 @@ }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "3-test-telematik-id" - }, - "display": "Test Apotheke" - }, + "name": "Test Apotheke", "endpoint": "mailto:pharmacy@test.kim.dee" } ], "eventCoding": { "code": "eRezept_ParenteraleZubereitung;Rezeptbestaetigung", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Practitioner-Organization" } } }, { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC4-Response-Prescription-Request", + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization", "resource": { - "resourceType": "ServiceRequest", - "id": "UC4-Response-Prescription-Request", + "resourceType": "Organization", + "id": "Example-Practitioner-Organization", "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" - ] - }, - "intent": "order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-UC4" - }, - "extension": [ - { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", - "value": "Task/160.100.000.000.004.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" - } - ], - "code": { - "coding": [ + "tag": [ { - "code": "prescription-request", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" ] }, "identifier": [ { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "1" - }, - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/patient-id", - "value": "Patient-ID-e15232e9-01e0-4ce8-b628-71adb9023b21" - }, - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/case-id", - "value": "Case-ID-85d39ff7-2f02-4bfc-85d5-0ba2752f6076" - }, - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/process-id", - "value": "Process-ID-db6fd21d-cc85-4411-8567-479a7dc1ef74" - }, - { - "system": "https://my-very-own-zyto-identifier", - "value": "My-ID-bdbdf8a1-ffa4-4f16-a6c4-38e690ac5548" + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" } ], - "basedOn": [ + "contact": [ { - "reference": "MedicationRequest/Example-Response-KBV-Prescription" + "telecom": [ + { + "system": "phone", + "value": "0307654321" + } + ] } ], - "status": "completed", - "subject": { - "reference": "Patient/Example-Patient" - }, - "orderDetail": [ + "name": "Test Arztpraxis", + "type": [ { "coding": [ { - "code": "return-to-requester", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" + "code": "1.2.276.0.76.4.50", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Arzt" } ] } ], - "occurrenceDateTime": "2023-01-30", - "authoredOn": "2023-01-27", - "requester": { - "reference": "Organization/Example-Pharmacy-Organization" - }, - "performer": [ + "address": [ { - "reference": "Practitioner/Example-Practitioner" + "type": "both", + "line": [ + "Musterarztstr. 3" + ], + "city": "Berlin", + "postalCode": "10623" } ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-KBV-Prescription", + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC4-Response-Prescription-Request", "resource": { - "resourceType": "MedicationRequest", - "id": "Example-Response-KBV-Prescription", + "resourceType": "ServiceRequest", + "id": "UC4-Response-Prescription-Request", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" ] }, - "status": "active", "intent": "order", - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", - "valueBoolean": false - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", - "valueBoolean": false - }, + "identifier": [ { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", - "extension": [ - { - "url": "Kennzeichen", - "valueBoolean": false - } - ] + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" }, { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_StatusCoPayment", - "valueCoding": { - "code": "1", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_StatusCoPayment" - } - } - ], - "dispenseRequest": { - "quantity": { - "system": "http://unitsofmeasure.org", - "code": "{Package}", - "value": 1 - } - }, - "dosageInstruction": [ - { - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", - "valueBoolean": true - } - ], - "text": "2mal tägl. 5ml" - } - ], - "medicationReference": { - "reference": "Medication/Example-Response-Medication" - }, - "subject": { - "reference": "Patient/Example-Patient" - }, - "authoredOn": "2022-05-20", - "requester": { - "reference": "Practitioner/Example-Practitioner" - }, - "insurance": [ - { - "reference": "Coverage/Response-Coverage" - } - ], - "substitution": { - "allowedBoolean": true - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Response-Medication", - "resource": { - "resourceType": "Medication", - "id": "Example-Response-Medication", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" - ] - }, - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/900000000000207008/version/20220331", - "code": "763158003", - "display": "Medicinal product (product)" - } - ] - } + "system": "https://gematik.de/fhir/erp-servicerequest/sid/patient-id", + "value": "Patient-ID-e15232e9-01e0-4ce8-b628-71adb9023b21" }, { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" - } + "system": "https://gematik.de/fhir/erp-servicerequest/sid/case-id", + "value": "Case-ID-85d39ff7-2f02-4bfc-85d5-0ba2752f6076" }, { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", - "valueBoolean": false + "system": "https://gematik.de/fhir/erp-servicerequest/sid/process-id", + "value": "Process-ID-db6fd21d-cc85-4411-8567-479a7dc1ef74" }, { - "url": "http://fhir.de/StructureDefinition/normgroesse", - "valueCode": "N1" + "system": "https://my-very-own-zyto-identifier", + "value": "My-ID-bdbdf8a1-ffa4-4f16-a6c4-38e690ac5548" } ], - "code": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "08585997" - } - ], - "text": "Prospan® Hustensaft 100ml N1" + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC4" }, - "form": { + "code": { "coding": [ { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", - "code": "FLE" + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" } ] - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Coverage/Response-Coverage", - "resource": { - "resourceType": "Coverage", - "id": "Response-Coverage", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" - ] }, - "status": "active", - "payor": [ + "extension": [ { - "identifier": { - "system": "http://fhir.de/sid/arge-ik/iknr", - "value": "108416214" + "valueIdentifier": { + "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", + "value": "Task/169.100.000.000.004.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" }, - "display": "AOK Bayern Die Gesundh." + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" } ], - "extension": [ - { - "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/wop", - "valueCoding": { - "code": "72", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_ITA_WOP" - } - }, + "basedOn": [ { - "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", - "valueCoding": { - "code": "3", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS" - } + "reference": "MedicationRequest/Example-Zyto-Medication-Request" } ], - "type": { - "coding": [ - { - "code": "GKV", - "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis" - } - ] - }, - "beneficiary": { + "status": "completed", + "subject": { "reference": "Patient/Example-Patient" }, - "period": { - "end": "2040-04-01" - } + "authoredOn": "2025-05-13", + "performer": [ + { + "reference": "Practitioner/Example-Practitioner" + } + ] } }, { @@ -356,23 +194,9 @@ "id": "Example-Patient", "meta": { "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], "name": [ { "use": "official", @@ -390,9 +214,14 @@ ] } ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], "address": [ { - "type": "both", "line": [ "Musterstr. 1" ], @@ -410,6 +239,7 @@ ] } ], + "type": "both", "city": "Berlin", "postalCode": "10623" } @@ -423,170 +253,156 @@ "resourceType": "Practitioner", "id": "Example-Practitioner", "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-practitioner" ] }, - "name": [ - { - "use": "official", - "prefix": [ - "Dr. med." - ], - "_prefix": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", - "valueCode": "AC" - } - ] - } - ], - "family": "Topp-Glücklich", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Topp-Glücklich" - } - ] - }, - "given": [ - "Hans" - ] - } - ], - "qualification": [ + "identifier": [ { - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", - "code": "00" - } - ] - } + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-838382202" }, { - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", - "code": "Berufsbezeichnung" - } - ], - "text": "Hausarzt" - } - } - ], - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "LANR" - } - ] - }, "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", "value": "838382202" - }, + } + ], + "name": [ { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-838382202" + "use": "official", + "family": "Topp-Glücklich", + "given": [ + "Hans" + ], + "prefix": [ + "Dr. med." + ], + "text": "Dr. med. Hans Topp-Glücklich" } ] } }, { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization", + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Zyto-Medication-Request", "resource": { - "resourceType": "Organization", - "id": "Example-Pharmacy-Organization", + "resourceType": "MedicationRequest", + "id": "Example-Zyto-Medication-Request", "meta": { "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" ] }, - "identifier": [ + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Zyto-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "authoredOn": "2022-05-20", + "substitution": { + "allowedBoolean": false + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Zyto-Medication", + "resource": { + "resourceType": "Medication", + "id": "Example-Zyto-Medication", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding|1.1.0" + ] + }, + "extension": [ { - "type": { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { "coding": [ { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "373873005:860781008=362943005", + "display": "Pharmaceutical / biologic product (product) : Has product characteristic (attribute) = Manual method (qualifier value)" } ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "arbeitsplatz-1@test-apotheke.kim.telematik" + } }, { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-57634852" + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } }, { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "581463872" + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false } ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 2" - ], - "_line": [ + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type", + "code": "rezeptur" + } + ] + }, + "amount": { + "denominator": { + "value": 1 + }, + "numerator": { + "extension": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "500" } ], - "city": "Berlin", - "postalCode": "10623" + "unit": "ml" } - ], - "name": "Test Apotheke", - "telecom": [ + }, + "ingredient": [ { - "system": "phone", - "value": "0301234567" + "strength": { + "denominator": { + "value": 1 + }, + "numerator": { + "value": 180, + "unit": "mg" + } + }, + "itemCodeableConcept": { + "text": "Etoposid" + } + }, + { + "strength": { + "denominator": { + "value": 1 + }, + "numerator": { + "value": 500, + "unit": "ml" + } + }, + "itemCodeableConcept": { + "text": "NaCl 0,9 %" + } } - ] + ], + "form": { + "text": "Infusionslösung" + } } } ] diff --git a/Resources/fsh-generated/resources/Bundle-XSLT-Changed-Medication-Bundle.json b/Resources/fsh-generated/resources/Bundle-XSLT-Changed-Medication-Bundle.json new file mode 100644 index 00000000..f2c6ea37 --- /dev/null +++ b/Resources/fsh-generated/resources/Bundle-XSLT-Changed-Medication-Bundle.json @@ -0,0 +1,336 @@ +{ + "resourceType": "Bundle", + "id": "XSLT-Changed-Medication-Bundle", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + ] + }, + "type": "message", + "identifier": { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" + }, + "timestamp": "2025-05-14T08:15:12+02:00", + "entry": [ + { + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/XSLT-Changed-Medication-Header", + "resource": { + "resourceType": "MessageHeader", + "id": "XSLT-Changed-Medication-Header", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" + ] + }, + "source": { + "contact": { + "system": "email", + "value": "info@pvs_solutions.email" + }, + "name": "Practitioner-Source", + "software": "Practitioner-Software", + "version": "1.0.0", + "endpoint": "https://pvs_solutions.com/jira_helpdesk" + }, + "focus": [ + { + "reference": "ServiceRequest/XSLT-Changed-Medication-ServiceRequest" + } + ], + "sender": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-test-telematik-id" + }, + "display": "Praxis Hans Topp-Glücklich" + }, + "destination": [ + { + "name": "Pflegeheim Immergrün", + "endpoint": "mailto:healthcare-service@test.kim.de" + } + ], + "eventCoding": { + "code": "eRezept_Rezeptanforderung;Rezeptbestaetigung", + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-Practitioner-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-Practitioner-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0307654321" + } + ] + } + ], + "name": "Test Arztpraxis", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.50", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Arzt" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterarztstr. 3" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/XSLT-Changed-Medication-ServiceRequest", + "resource": { + "resourceType": "ServiceRequest", + "id": "XSLT-Changed-Medication-ServiceRequest", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "XSLT-Changed-Medication" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "extension": [ + { + "valueIdentifier": { + "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", + "value": "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" + }, + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" + } + ], + "modifierExtension": [ + { + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/changed-medication-ex", + "valueBoolean": true + } + ], + "status": "completed", + "basedOn": [ + { + "reference": "MedicationRequest/Example-Response-Medication-Request" + } + ], + "subject": { + "reference": "Patient/Example-Patient" + }, + "authoredOn": "2025-05-13", + "performer": [ + { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-test-telematik-id" + } + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "resource": { + "resourceType": "Patient", + "id": "Example-Patient", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ + { + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] + }, + "given": [ + "Ludger" + ] + } + ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" + } + ], + "birthDate": "1935-06-22" + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-Medication-Request", + "resource": { + "resourceType": "MedicationRequest", + "id": "Example-Response-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] + }, + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Response-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 65, + "code": "mL", + "system": "http://unitsofmeasure.org", + "unit": "Milliliter" + } + }, + "dosageInstruction": [ + { + "text": "1-1-1-0" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Response-Medication", + "resource": { + "resourceType": "Medication", + "id": "Example-Response-Medication", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "08585997" + } + ], + "text": "Prospan® Hustensaft 100ml N1" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FLE" + } + ] + } + } + } + ] +} diff --git a/Resources/fsh-generated/resources/Bundle-UC2-2-Prescription-Request-To-Prescriber.json b/Resources/fsh-generated/resources/Bundle-XSLT-Prior-Prescription-ID-Bundle.json similarity index 64% rename from Resources/fsh-generated/resources/Bundle-UC2-2-Prescription-Request-To-Prescriber.json rename to Resources/fsh-generated/resources/Bundle-XSLT-Prior-Prescription-ID-Bundle.json index fdc80b2f..37dea4b9 100644 --- a/Resources/fsh-generated/resources/Bundle-UC2-2-Prescription-Request-To-Prescriber.json +++ b/Resources/fsh-generated/resources/Bundle-XSLT-Prior-Prescription-ID-Bundle.json @@ -1,6 +1,6 @@ { "resourceType": "Bundle", - "id": "UC2-2-Prescription-Request-To-Prescriber", + "id": "XSLT-Prior-Prescription-ID-Bundle", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" @@ -9,15 +9,15 @@ "type": "message", "identifier": { "system": "urn:ietf:rfc:3986", - "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" + "value": "urn:uuid:c881f35a-2463-4b0b-9164-0f7fc2e35136" }, - "timestamp": "2015-02-07T13:28:17.239+02:00", + "timestamp": "2025-05-13T14:25:12+02:00", "entry": [ { - "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC2-2-HealthCareService-to-Practitioner-MessageHeader", + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/XSLT-Prior-Prescription-ID-Header", "resource": { "resourceType": "MessageHeader", - "id": "UC2-2-HealthCareService-to-Practitioner-MessageHeader", + "id": "XSLT-Prior-Prescription-ID-Header", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" @@ -26,57 +26,120 @@ "source": { "contact": { "system": "email", - "value": "info@avs.email" + "value": "info@healthcare_ps_solutions.com" }, - "name": "Pharmacy-Source", - "software": "Pharmacy-Software", + "name": "HealthCare-Source", + "software": "HealthCare-Software", "version": "1.0.0", - "endpoint": "mailto:pharmacy@test.kim.de" + "endpoint": "https://healthcare_ps_solutions.com/jira_helpdesk" }, "focus": [ { - "reference": "ServiceRequest/UC2-Initial-Prescription-Request" + "reference": "ServiceRequest/XSLT-Prior-Prescription-ID-ServiceRequest" } ], "sender": { "identifier": { "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "3-test-telematik-id" + "value": "5-test-telematik-id" }, - "display": "Test Apotheke" + "display": "Pflegeheim Immergrün" }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, + "name": "Praxis Hans Topp-Glücklich", "endpoint": "mailto:practitioner@test.kim.de" } ], "eventCoding": { "code": "eRezept_Rezeptanforderung;Rezeptanfrage", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" } } }, { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC2-Initial-Prescription-Request", + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-HealthCareService-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "email", + "value": "arbeitsplatz-1@test-pflegeheim.kim.telematik" + } + ] + } + ], + "name": "Pflegeheim Immergrün", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.245", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/XSLT-Prior-Prescription-ID-ServiceRequest", "resource": { "resourceType": "ServiceRequest", - "id": "UC2-Initial-Prescription-Request", + "id": "XSLT-Prior-Prescription-ID-ServiceRequest", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" ] }, "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" + } + ], "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-2" + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "XSLT-Prior-Prescription-ID" }, "code": { "coding": [ @@ -86,51 +149,87 @@ } ] }, - "identifier": [ - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "req-1" - } - ], "basedOn": [ { - "reference": "MedicationRequest/Example-Initial-Medication-Request" + "reference": "MedicationRequest/XSLT-Prior-Prescription-ID-Medication-Request" } ], "status": "active", "subject": { "reference": "Patient/Example-Patient" }, - "orderDetail": [ + "occurrenceDateTime": "2025-05-14T12:00:00+02:00", + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "resource": { + "resourceType": "Patient", + "id": "Example-Patient", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ { - "coding": [ - { - "code": "return-to-requester", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" - } + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] + }, + "given": [ + "Ludger" ] } ], - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-01-27", - "requester": { - "reference": "Organization/Example-Pharmacy-Organization" - }, - "performer": [ + "identifier": [ { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - } + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" } - ] + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" + } + ], + "birthDate": "1935-06-22" } }, { - "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/XSLT-Prior-Prescription-ID-Medication-Request", "resource": { "resourceType": "MedicationRequest", - "id": "Example-Initial-Medication-Request", + "id": "XSLT-Prior-Prescription-ID-Medication-Request", "meta": { "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" @@ -140,18 +239,11 @@ { "valueIdentifier": { "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "160.100.000.000.001.36" + "value": "160.000.033.491.280.78" }, "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/prescription-id-ex" } ], - "dispenseRequest": { - "quantity": { - "system": "http://unitsofmeasure.org", - "code": "{Package}", - "value": 1 - } - }, "status": "active", "intent": "order", "medicationReference": { @@ -160,14 +252,11 @@ "subject": { "reference": "Patient/Example-Patient" }, - "authoredOn": "2022-05-20", - "dosageInstruction": [ - { - "text": "2mal tägl. 5ml" + "dispenseRequest": { + "quantity": { + "value": 1, + "unit": "Packung" } - ], - "substitution": { - "allowedBoolean": true } } }, @@ -229,155 +318,6 @@ ] } } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", - "resource": { - "resourceType": "Patient", - "id": "Example-Patient", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], - "name": [ - { - "use": "official", - "family": "Königsstein", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Königsstein" - } - ] - }, - "given": [ - "Ludger" - ] - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 1" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "1" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "birthDate": "1935-06-22" - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization", - "resource": { - "resourceType": "Organization", - "id": "Example-Pharmacy-Organization", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" - } - ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "arbeitsplatz-1@test-apotheke.kim.telematik" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-57634852" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "581463872" - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 2" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "name": "Test Apotheke", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } - ] - } } ] } diff --git a/Resources/fsh-generated/resources/Bundle-XSLT-Redeem-By-Patient-Bundle.json b/Resources/fsh-generated/resources/Bundle-XSLT-Redeem-By-Patient-Bundle.json new file mode 100644 index 00000000..f214d93b --- /dev/null +++ b/Resources/fsh-generated/resources/Bundle-XSLT-Redeem-By-Patient-Bundle.json @@ -0,0 +1,320 @@ +{ + "resourceType": "Bundle", + "id": "XSLT-Redeem-By-Patient-Bundle", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + ] + }, + "type": "message", + "identifier": { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:c881f35a-2463-4b0b-9164-0f7fc2e35136" + }, + "timestamp": "2025-05-13T14:25:12+02:00", + "entry": [ + { + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/XSLT-Redeem-By-Patient-Header", + "resource": { + "resourceType": "MessageHeader", + "id": "XSLT-Redeem-By-Patient-Header", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" + ] + }, + "source": { + "contact": { + "system": "email", + "value": "info@healthcare_ps_solutions.com" + }, + "name": "HealthCare-Source", + "software": "HealthCare-Software", + "version": "1.0.0", + "endpoint": "https://healthcare_ps_solutions.com/jira_helpdesk" + }, + "focus": [ + { + "reference": "ServiceRequest/XSLT-Redeem-By-Patient-ServiceRequest" + } + ], + "sender": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "5-test-telematik-id" + }, + "display": "Pflegeheim Immergrün" + }, + "destination": [ + { + "name": "Praxis Hans Topp-Glücklich", + "endpoint": "mailto:practitioner@test.kim.de" + } + ], + "eventCoding": { + "code": "eRezept_Rezeptanforderung;Rezeptanfrage", + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-HealthCareService-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "email", + "value": "arbeitsplatz-1@test-pflegeheim.kim.telematik" + } + ] + } + ], + "name": "Pflegeheim Immergrün", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.245", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/XSLT-Redeem-By-Patient-ServiceRequest", + "resource": { + "resourceType": "ServiceRequest", + "id": "XSLT-Redeem-By-Patient-ServiceRequest", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "XSLT-Redeem-By-Patient" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "modifierExtension": [ + { + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex", + "valueBoolean": true + } + ], + "basedOn": [ + { + "reference": "MedicationRequest/Example-Initial-Medication-Request" + } + ], + "status": "active", + "subject": { + "reference": "Patient/Example-Patient" + }, + "occurrenceDateTime": "2025-05-14T12:00:00+02:00", + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "resource": { + "resourceType": "Patient", + "id": "Example-Patient", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ + { + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] + }, + "given": [ + "Ludger" + ] + } + ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" + } + ], + "birthDate": "1935-06-22" + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", + "resource": { + "resourceType": "MedicationRequest", + "id": "Example-Initial-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] + }, + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 1, + "unit": "Packung" + } + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", + "resource": { + "resourceType": "Medication", + "id": "Example-Initial-Medication", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "08585997" + } + ], + "text": "Prospan® Hustensaft 100ml" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FLE" + } + ] + } + } + } + ] +} diff --git a/Resources/fsh-generated/resources/Bundle-XSLT-Request-MVO-Bundle.json b/Resources/fsh-generated/resources/Bundle-XSLT-Request-MVO-Bundle.json new file mode 100644 index 00000000..f5250c05 --- /dev/null +++ b/Resources/fsh-generated/resources/Bundle-XSLT-Request-MVO-Bundle.json @@ -0,0 +1,320 @@ +{ + "resourceType": "Bundle", + "id": "XSLT-Request-MVO-Bundle", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + ] + }, + "type": "message", + "identifier": { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:c881f35a-2463-4b0b-9164-0f7fc2e35136" + }, + "timestamp": "2025-05-13T14:25:12+02:00", + "entry": [ + { + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/XSLT-Request-MVO-Header", + "resource": { + "resourceType": "MessageHeader", + "id": "XSLT-Request-MVO-Header", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" + ] + }, + "source": { + "contact": { + "system": "email", + "value": "info@healthcare_ps_solutions.com" + }, + "name": "HealthCare-Source", + "software": "HealthCare-Software", + "version": "1.0.0", + "endpoint": "https://healthcare_ps_solutions.com/jira_helpdesk" + }, + "focus": [ + { + "reference": "ServiceRequest/XSLT-Request-MVO-ServiceRequest" + } + ], + "sender": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "5-test-telematik-id" + }, + "display": "Pflegeheim Immergrün" + }, + "destination": [ + { + "name": "Praxis Hans Topp-Glücklich", + "endpoint": "mailto:practitioner@test.kim.de" + } + ], + "eventCoding": { + "code": "eRezept_Rezeptanforderung;Rezeptanfrage", + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-HealthCareService-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "email", + "value": "arbeitsplatz-1@test-pflegeheim.kim.telematik" + } + ] + } + ], + "name": "Pflegeheim Immergrün", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.245", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/XSLT-Request-MVO-ServiceRequest", + "resource": { + "resourceType": "ServiceRequest", + "id": "XSLT-Request-MVO-ServiceRequest", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "XSLT-Request-MVO" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "basedOn": [ + { + "reference": "MedicationRequest/XSLT-Request-MVO-Medication-Request" + } + ], + "status": "active", + "subject": { + "reference": "Patient/Example-Patient" + }, + "occurrenceDateTime": "2025-05-14T12:00:00+02:00", + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "resource": { + "resourceType": "Patient", + "id": "Example-Patient", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ + { + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] + }, + "given": [ + "Ludger" + ] + } + ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" + } + ], + "birthDate": "1935-06-22" + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/XSLT-Request-MVO-Medication-Request", + "resource": { + "resourceType": "MedicationRequest", + "id": "XSLT-Request-MVO-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] + }, + "modifierExtension": [ + { + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/request-mvo-ex", + "valueBoolean": true + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 1, + "unit": "Packung" + } + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", + "resource": { + "resourceType": "Medication", + "id": "Example-Initial-Medication", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "08585997" + } + ], + "text": "Prospan® Hustensaft 100ml" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FLE" + } + ] + } + } + } + ] +} diff --git a/Resources/fsh-generated/resources/Bundle-XSLT-Urgent-Bundle.json b/Resources/fsh-generated/resources/Bundle-XSLT-Urgent-Bundle.json new file mode 100644 index 00000000..21bc43a0 --- /dev/null +++ b/Resources/fsh-generated/resources/Bundle-XSLT-Urgent-Bundle.json @@ -0,0 +1,315 @@ +{ + "resourceType": "Bundle", + "id": "XSLT-Urgent-Bundle", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + ] + }, + "type": "message", + "identifier": { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:c881f35a-2463-4b0b-9164-0f7fc2e35136" + }, + "timestamp": "2025-05-13T14:25:12+02:00", + "entry": [ + { + "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/XSLT-Urgent-Header", + "resource": { + "resourceType": "MessageHeader", + "id": "XSLT-Urgent-Header", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" + ] + }, + "source": { + "contact": { + "system": "email", + "value": "info@healthcare_ps_solutions.com" + }, + "name": "HealthCare-Source", + "software": "HealthCare-Software", + "version": "1.0.0", + "endpoint": "https://healthcare_ps_solutions.com/jira_helpdesk" + }, + "focus": [ + { + "reference": "ServiceRequest/XSLT-Urgent-ServiceRequest" + } + ], + "sender": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "5-test-telematik-id" + }, + "display": "Pflegeheim Immergrün" + }, + "destination": [ + { + "name": "Praxis Hans Topp-Glücklich", + "endpoint": "mailto:practitioner@test.kim.de" + } + ], + "eventCoding": { + "code": "eRezept_Rezeptanforderung;Rezeptanfrage", + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization", + "resource": { + "resourceType": "Organization", + "id": "Example-HealthCareService-Organization", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "123456789" + } + ], + "contact": [ + { + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "email", + "value": "arbeitsplatz-1@test-pflegeheim.kim.telematik" + } + ] + } + ], + "name": "Pflegeheim Immergrün", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.245", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" + } + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Musterstr. 2" + ], + "city": "Berlin", + "postalCode": "10623" + } + ] + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/XSLT-Urgent-ServiceRequest", + "resource": { + "resourceType": "ServiceRequest", + "id": "XSLT-Urgent-ServiceRequest", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "XSLT-Urgent" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "basedOn": [ + { + "reference": "MedicationRequest/Example-Initial-Medication-Request" + } + ], + "status": "active", + "subject": { + "reference": "Patient/Example-Patient" + }, + "occurrenceDateTime": "2025-05-14T12:00:00+02:00", + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + }, + "priority": "urgent" + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", + "resource": { + "resourceType": "Patient", + "id": "Example-Patient", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ + { + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] + }, + "given": [ + "Ludger" + ] + } + ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" + } + ], + "birthDate": "1935-06-22" + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request", + "resource": { + "resourceType": "MedicationRequest", + "id": "Example-Initial-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] + }, + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 1, + "unit": "Packung" + } + } + } + }, + { + "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication", + "resource": { + "resourceType": "Medication", + "id": "Example-Initial-Medication", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "code": "00", + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "08585997" + } + ], + "text": "Prospan® Hustensaft 100ml" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FLE" + } + ] + } + } + } + ] +} diff --git a/Resources/fsh-generated/resources/CodeSystem-cancellation-reason-cs.json b/Resources/fsh-generated/resources/CodeSystem-cancellation-reason-cs.json deleted file mode 100644 index 3ea3f8e6..00000000 --- a/Resources/fsh-generated/resources/CodeSystem-cancellation-reason-cs.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "resourceType": "CodeSystem", - "status": "active", - "content": "complete", - "name": "CancellationReasonCS", - "id": "cancellation-reason-cs", - "title": "Cancellation Reason (CS)", - "description": "This code system describes reasons for canceling a request", - "url": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/cancellation-reason-cs", - "concept": [ - { - "code": "information-missing", - "display": "Information incomplete" - }, - { - "code": "information-incorrect", - "display": "information incorrect" - }, - { - "code": "medication-stopped", - "display": "Medication was discontinued" - }, - { - "code": "medication-paused", - "display": "Medication has been paused" - }, - { - "code": "medication-altered-dosage", - "display": "Dosage has been changed" - }, - { - "code": "medication-occurrence-implausible", - "display": "Prescription frequency not plausible" - }, - { - "code": "consultation-required", - "display": "Consultation is necessary" - }, - { - "code": "successor-already-sent", - "display": "Follow-up prescription has already been sent" - } - ], - "experimental": false, - "publisher": "gematik GmbH", - "version": "1.0", - "count": 8 -} diff --git a/Resources/fsh-generated/resources/CodeSystem-delivery-type-cs.json b/Resources/fsh-generated/resources/CodeSystem-delivery-type-cs.json new file mode 100644 index 00000000..981e2e8f --- /dev/null +++ b/Resources/fsh-generated/resources/CodeSystem-delivery-type-cs.json @@ -0,0 +1,33 @@ +{ + "resourceType": "CodeSystem", + "status": "draft", + "content": "complete", + "name": "DeliveryTypeCS", + "id": "delivery-type-cs", + "title": "Art des Belieferung (CS)", + "description": "Specifies how a dispense request should be fulfilled/ delivered", + "version": "1.2", + "url": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/delivery-type-cs", + "concept": [ + { + "code": "pickup-by-healthcare-service", + "display": "Abholung durch Pflegeeinrichtung" + }, + { + "code": "pickup-by-patient", + "display": "Abholung durch Patient" + }, + { + "code": "delivery-to-healthcare-service", + "display": "Lieferung an Pflegeeinrichtung" + }, + { + "code": "delivery-to-alternative-address", + "display": "Lieferung an eine alternative Adresse" + } + ], + "experimental": false, + "publisher": "gematik GmbH", + "date": "2025-01-01", + "count": 4 +} diff --git a/Resources/fsh-generated/resources/CodeSystem-medication-observation-cs.json b/Resources/fsh-generated/resources/CodeSystem-medication-observation-cs.json deleted file mode 100644 index 8f5fa7dd..00000000 --- a/Resources/fsh-generated/resources/CodeSystem-medication-observation-cs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "resourceType": "CodeSystem", - "status": "active", - "content": "complete", - "name": "MedicationObservationCS", - "id": "medication-observation-cs", - "title": "Information on medication monitoring (CS)", - "description": "Specifies types of observations on the status of a drug", - "url": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-observation-cs", - "concept": [ - { - "code": "range-of-medication", - "display": "Indication of the remaining range of the drug" - } - ], - "experimental": false, - "publisher": "gematik GmbH", - "version": "1.0", - "count": 1 -} diff --git a/Resources/fsh-generated/resources/CodeSystem-medication-request-reason-cs.json b/Resources/fsh-generated/resources/CodeSystem-medication-request-reason-cs.json index bda53b0d..1c134b41 100644 --- a/Resources/fsh-generated/resources/CodeSystem-medication-request-reason-cs.json +++ b/Resources/fsh-generated/resources/CodeSystem-medication-request-reason-cs.json @@ -1,20 +1,33 @@ { "resourceType": "CodeSystem", - "status": "active", + "status": "draft", "content": "complete", "name": "MedicationRequestReasonCS", "id": "medication-request-reason-cs", "title": "Reason for medication request (CS)", "description": "Provides codes for reasons why medication is requested", + "version": "1.2", "url": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-request-reason-cs", "concept": [ { - "code": "medication-runs-out", - "display": "Medikation geht zu neige" + "code": "correction", + "display": "Korrektur" + }, + { + "code": "exhausted-range", + "display": "Reichweite erschöpft(Dauermedikation)" + }, + { + "code": "vital-value-measurement", + "display": "nach Vitalwertmessung" + }, + { + "code": "on-demand", + "display": "nach Bedarf" } ], "experimental": false, "publisher": "gematik GmbH", - "version": "1.0", - "count": 1 + "date": "2025-01-01", + "count": 4 } diff --git a/Resources/fsh-generated/resources/CodeSystem-prescription-fullfillment-type-cs.json b/Resources/fsh-generated/resources/CodeSystem-prescription-fullfillment-type-cs.json deleted file mode 100644 index 2a72e394..00000000 --- a/Resources/fsh-generated/resources/CodeSystem-prescription-fullfillment-type-cs.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "resourceType": "CodeSystem", - "status": "active", - "content": "complete", - "name": "PrescriptionFullfillmentTypeCS", - "id": "prescription-fullfillment-type-cs", - "title": "Delivery type of prescription request (CS)", - "description": "Is used in the Prescription_ServiceRequest to indicate how the prescription should be processed", - "url": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs", - "concept": [ - { - "code": "issue-prescription", - "display": "Issue of the prescription" - }, - { - "code": "return-to-requester", - "display": "Issue of the prescription and transmission to the requesting organization" - } - ], - "experimental": false, - "publisher": "gematik GmbH", - "version": "1.0", - "count": 2 -} diff --git a/Resources/fsh-generated/resources/CodeSystem-service-request-type-cs.json b/Resources/fsh-generated/resources/CodeSystem-service-request-type-cs.json index 4745437c..5ed47539 100644 --- a/Resources/fsh-generated/resources/CodeSystem-service-request-type-cs.json +++ b/Resources/fsh-generated/resources/CodeSystem-service-request-type-cs.json @@ -1,11 +1,12 @@ { "resourceType": "CodeSystem", - "status": "active", + "status": "draft", "content": "complete", "name": "ServiceRequestTypeCS", "id": "service-request-type-cs", "title": "Art des ServiceRequests (CS)", "description": "Specifies the type of ServiceRequest and is used to identify ServiceRequests", + "version": "1.2", "url": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs", "concept": [ { @@ -19,6 +20,6 @@ ], "experimental": false, "publisher": "gematik GmbH", - "version": "1.0", + "date": "2025-01-01", "count": 2 } diff --git a/Resources/fsh-generated/resources/ConceptMap-ServiceIdentifierToSubjectConceptMap.json b/Resources/fsh-generated/resources/ConceptMap-ServiceIdentifierToSubjectConceptMap.json new file mode 100644 index 00000000..a0d2dd99 --- /dev/null +++ b/Resources/fsh-generated/resources/ConceptMap-ServiceIdentifierToSubjectConceptMap.json @@ -0,0 +1,123 @@ +{ + "resourceType": "ConceptMap", + "id": "ServiceIdentifierToSubjectConceptMap", + "url": "https://gematik.de/fhir/erp-servicerequest/ConceptMap/ServiceIdentifierToSubjectConceptMap", + "title": "Service Identifier To Subject Concept Map", + "description": "This Concept Map allows for the mapping of a Service Identifier to a Subject Header for a KIM-Message in the context of a Service Request.", + "status": "draft", + "experimental": false, + "publisher": "gematik GmbH", + "version": "1.2", + "date": "2025-01-01", + "contact": [ + { + "name": "gematik GmbH", + "telecom": [ + { + "system": "url", + "value": "https://www.gematik.de" + } + ] + } + ], + "name": "Service Identifier To Subject Concept Map", + "purpose": "This Concept Map allows for the mapping of a Service Identifier to a Subject Header for a KIM-Message in the context of a Service Request.", + "sourceCanonical": "https://gematik.de/fhir/erp-servicerequest/ValueSet/service-identifier-vs", + "targetUri": "Betreffzeile_in_einer_KIM-Nachricht", + "group": [ + { + "element": [ + { + "code": "eRezept_Rezeptanforderung;Rezeptanfrage", + "target": [ + { + "display": "Anfrage zur Ausstellung eines E-Rezepts", + "equivalence": "equal" + } + ] + }, + { + "code": "eRezept_Rezeptanforderung;Rezeptanfrage_Storno", + "target": [ + { + "display": "Stornierung einer Rezeptanfrage", + "equivalence": "equal" + } + ] + }, + { + "code": "eRezept_Rezeptanforderung;Rezeptanfrage_Ablehnung", + "target": [ + { + "display": "Ablehnung einer Rezeptanfrage", + "equivalence": "equal" + } + ] + }, + { + "code": "eRezept_Rezeptanforderung;Rezeptbestaetigung", + "target": [ + { + "display": "Rezeptbestätigung und Übermittlung", + "equivalence": "equal" + } + ] + }, + { + "code": "eRezept_Rezeptanforderung;Abgabeanfrage", + "target": [ + { + "display": "Anfrage zur Abgabe eines Medikaments", + "equivalence": "equal" + } + ] + }, + { + "code": "eRezept_Rezeptanforderung;Abgabebestaetigung", + "target": [ + { + "display": "Bestätigung der Medikamentenabgabe", + "equivalence": "equal" + } + ] + }, + { + "code": "eRezept_Rezeptanforderung;NachrichtKopie", + "target": [ + { + "display": "Kopie einer Rezeptanforderung", + "equivalence": "equal" + } + ] + }, + { + "code": "eRezept_ParenteraleZubereitung;Rezeptanfrage", + "target": [ + { + "display": "Anfrage zur Ausstellung eines E-Rezepts einer Zytostatikazubereitung", + "equivalence": "equal" + } + ] + }, + { + "code": "eRezept_ParenteraleZubereitung;Rezeptanfrage_Storno", + "target": [ + { + "display": "Stornierung einer Rezeptanfrage zur Zytostatikazubereitung", + "equivalence": "equal" + } + ] + }, + { + "code": "eRezept_ParenteraleZubereitung;Rezeptbestaetigung", + "target": [ + { + "display": "Rezeptbestätigung einer Rezeptanfrage zur Zytostatikazubereitung", + "equivalence": "equal" + } + ] + } + ] + } + ] +} diff --git a/Resources/fsh-generated/resources/MedicationDispense-UC1-Medication-Dispense.json b/Resources/fsh-generated/resources/MedicationDispense-UC1-Medication-Dispense.json new file mode 100644 index 00000000..87d775ea --- /dev/null +++ b/Resources/fsh-generated/resources/MedicationDispense-UC1-Medication-Dispense.json @@ -0,0 +1,22 @@ +{ + "resourceType": "MedicationDispense", + "id": "UC1-Medication-Dispense", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-dispense" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "169.100.000.000.002.36" + } + ], + "subject": { + "reference": "Patient/Example-Patient" + }, + "status": "completed", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication" + } +} diff --git a/Resources/fsh-generated/resources/MedicationRequest-Example-Initial-Medication-Request.json b/Resources/fsh-generated/resources/MedicationRequest-Example-Initial-Medication-Request.json index 0c95270c..a51cf5f7 100644 --- a/Resources/fsh-generated/resources/MedicationRequest-Example-Initial-Medication-Request.json +++ b/Resources/fsh-generated/resources/MedicationRequest-Example-Initial-Medication-Request.json @@ -6,22 +6,6 @@ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" ] }, - "extension": [ - { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "160.100.000.000.001.36" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/prescription-id-ex" - } - ], - "dispenseRequest": { - "quantity": { - "system": "http://unitsofmeasure.org", - "code": "{Package}", - "value": 1 - } - }, "status": "active", "intent": "order", "medicationReference": { @@ -30,13 +14,10 @@ "subject": { "reference": "Patient/Example-Patient" }, - "authoredOn": "2022-05-20", - "dosageInstruction": [ - { - "text": "2mal tägl. 5ml" + "dispenseRequest": { + "quantity": { + "value": 1, + "unit": "Packung" } - ], - "substitution": { - "allowedBoolean": true } } diff --git a/Resources/fsh-generated/resources/MedicationRequest-Example-Komplex-Medication-Request.json b/Resources/fsh-generated/resources/MedicationRequest-Example-Komplex-Medication-Request.json new file mode 100644 index 00000000..92749b56 --- /dev/null +++ b/Resources/fsh-generated/resources/MedicationRequest-Example-Komplex-Medication-Request.json @@ -0,0 +1,23 @@ +{ + "resourceType": "MedicationRequest", + "id": "Example-Komplex-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] + }, + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Initial-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 2, + "unit": "Packungen" + } + } +} diff --git a/Resources/fsh-generated/resources/MedicationRequest-Example-Response-Medication-Request.json b/Resources/fsh-generated/resources/MedicationRequest-Example-Response-Medication-Request.json new file mode 100644 index 00000000..09deb033 --- /dev/null +++ b/Resources/fsh-generated/resources/MedicationRequest-Example-Response-Medication-Request.json @@ -0,0 +1,30 @@ +{ + "resourceType": "MedicationRequest", + "id": "Example-Response-Medication-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" + ] + }, + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/Example-Response-Medication" + }, + "subject": { + "reference": "Patient/Example-Patient" + }, + "dispenseRequest": { + "quantity": { + "value": 65, + "code": "mL", + "system": "http://unitsofmeasure.org", + "unit": "Milliliter" + } + }, + "dosageInstruction": [ + { + "text": "1-1-1-0" + } + ] +} diff --git a/Resources/fsh-generated/resources/MessageHeader-Komplex-MULTI-HealthCareService-to-Practitioner-MessageHeader.json b/Resources/fsh-generated/resources/MessageHeader-Komplex-MULTI-HealthCareService-to-Practitioner-MessageHeader.json new file mode 100644 index 00000000..e6f23293 --- /dev/null +++ b/Resources/fsh-generated/resources/MessageHeader-Komplex-MULTI-HealthCareService-to-Practitioner-MessageHeader.json @@ -0,0 +1,50 @@ +{ + "resourceType": "MessageHeader", + "id": "Komplex-MULTI-HealthCareService-to-Practitioner-MessageHeader", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" + ] + }, + "source": { + "contact": { + "system": "email", + "value": "info@healthcare_ps_solutions.com" + }, + "name": "HealthCare-Source", + "software": "HealthCare-Software", + "version": "1.0.0", + "endpoint": "https://healthcare_ps_solutions.com/jira_helpdesk" + }, + "focus": [ + { + "reference": "ServiceRequest/UC1-MULTI-Initial-Prescription-Request-1" + }, + { + "reference": "ServiceRequest/UC1-MULTI-Initial-Prescription-Request-2" + }, + { + "reference": "ServiceRequest/Komplex-MULTI-Initial-Prescription-Request-3" + } + ], + "sender": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "5-test-telematik-id" + }, + "display": "Pflegeheim Immergrün" + }, + "destination": [ + { + "name": "Praxis Hans Topp-Glücklich", + "endpoint": "mailto:practitioner@test.kim.de" + } + ], + "eventCoding": { + "code": "eRezept_Rezeptanforderung;Rezeptanfrage", + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" + } +} diff --git a/Resources/fsh-generated/resources/MessageHeader-UC1-HealthCareService-to-Practitioner-MessageHeader.json b/Resources/fsh-generated/resources/MessageHeader-UC1-HealthCareService-to-Practitioner-MessageHeader.json index db37e6e9..d81db489 100644 --- a/Resources/fsh-generated/resources/MessageHeader-UC1-HealthCareService-to-Practitioner-MessageHeader.json +++ b/Resources/fsh-generated/resources/MessageHeader-UC1-HealthCareService-to-Practitioner-MessageHeader.json @@ -9,12 +9,12 @@ "source": { "contact": { "system": "email", - "value": "info@hcs.email" + "value": "info@healthcare_ps_solutions.com" }, "name": "HealthCare-Source", "software": "HealthCare-Software", "version": "1.0.0", - "endpoint": "mailto:healthcare-service@test.kim.de" + "endpoint": "https://healthcare_ps_solutions.com/jira_helpdesk" }, "focus": [ { @@ -30,18 +30,15 @@ }, "destination": [ { - "receiver": { - "identifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-test-telematik-id" - }, - "display": "Praxis Hans Topp-Glücklich" - }, + "name": "Praxis Hans Topp-Glücklich", "endpoint": "mailto:practitioner@test.kim.de" } ], "eventCoding": { "code": "eRezept_Rezeptanforderung;Rezeptanfrage", "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" } } diff --git a/Resources/fsh-generated/resources/MessageHeader-UC1-MULTI-HealthCareService-to-Practitioner-MessageHeader.json b/Resources/fsh-generated/resources/MessageHeader-UC1-MULTI-HealthCareService-to-Practitioner-MessageHeader.json new file mode 100644 index 00000000..3bd0ea88 --- /dev/null +++ b/Resources/fsh-generated/resources/MessageHeader-UC1-MULTI-HealthCareService-to-Practitioner-MessageHeader.json @@ -0,0 +1,47 @@ +{ + "resourceType": "MessageHeader", + "id": "UC1-MULTI-HealthCareService-to-Practitioner-MessageHeader", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" + ] + }, + "source": { + "contact": { + "system": "email", + "value": "info@healthcare_ps_solutions.com" + }, + "name": "HealthCare-Source", + "software": "HealthCare-Software", + "version": "1.0.0", + "endpoint": "https://healthcare_ps_solutions.com/jira_helpdesk" + }, + "focus": [ + { + "reference": "ServiceRequest/UC1-MULTI-Initial-Prescription-Request-1" + }, + { + "reference": "ServiceRequest/UC1-MULTI-Initial-Prescription-Request-2" + } + ], + "sender": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "5-test-telematik-id" + }, + "display": "Pflegeheim Immergrün" + }, + "destination": [ + { + "name": "Praxis Hans Topp-Glücklich", + "endpoint": "mailto:practitioner@test.kim.de" + } + ], + "eventCoding": { + "code": "eRezept_Rezeptanforderung;Rezeptanfrage", + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" + } +} diff --git a/Resources/fsh-generated/resources/MessageHeader-UC2-HealthCareService-to-Practitioner-MessageHeader.json b/Resources/fsh-generated/resources/MessageHeader-UC2-HealthCareService-to-Practitioner-MessageHeader.json new file mode 100644 index 00000000..4e02be5d --- /dev/null +++ b/Resources/fsh-generated/resources/MessageHeader-UC2-HealthCareService-to-Practitioner-MessageHeader.json @@ -0,0 +1,44 @@ +{ + "resourceType": "MessageHeader", + "id": "UC2-HealthCareService-to-Practitioner-MessageHeader", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" + ] + }, + "source": { + "contact": { + "system": "email", + "value": "info@healthcare_ps_solutions.com" + }, + "name": "HealthCare-Source", + "software": "HealthCare-Software", + "version": "1.0.0", + "endpoint": "https://healthcare_ps_solutions.com/jira_helpdesk" + }, + "focus": [ + { + "reference": "ServiceRequest/UC2-Initial-Prescription-Request" + } + ], + "sender": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "5-test-telematik-id" + }, + "display": "Pflegeheim Immergrün" + }, + "destination": [ + { + "name": "Praxis Hans Topp-Glücklich", + "endpoint": "mailto:practitioner@test.kim.de" + } + ], + "eventCoding": { + "code": "eRezept_Rezeptanforderung;Rezeptanfrage", + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" + }, + "responsible": { + "reference": "Organization/Example-HealthCareService-Organization" + } +} diff --git a/Resources/fsh-generated/resources/Observation-Medication-Runs-Out-Example-Quantity.json b/Resources/fsh-generated/resources/Observation-Medication-Runs-Out-Example-Quantity.json deleted file mode 100644 index 8958b7bc..00000000 --- a/Resources/fsh-generated/resources/Observation-Medication-Runs-Out-Example-Quantity.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "resourceType": "Observation", - "id": "Medication-Runs-Out-Example-Quantity", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-remaining-medication" - ] - }, - "status": "final", - "subject": { - "reference": "Patient/Example-Patient" - }, - "code": { - "coding": [ - { - "code": "range-of-medication", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-observation-cs" - } - ] - }, - "valueQuantity": { - "value": 7, - "unit": "stk" - } -} diff --git a/Resources/fsh-generated/resources/Observation-Medication-Runs-Out-Example-dateTime.json b/Resources/fsh-generated/resources/Observation-Medication-Runs-Out-Example-dateTime.json deleted file mode 100644 index 4f8c912d..00000000 --- a/Resources/fsh-generated/resources/Observation-Medication-Runs-Out-Example-dateTime.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "resourceType": "Observation", - "id": "Medication-Runs-Out-Example-dateTime", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-remaining-medication" - ] - }, - "status": "final", - "subject": { - "reference": "Patient/Example-Patient" - }, - "code": { - "coding": [ - { - "code": "range-of-medication", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-observation-cs" - } - ] - }, - "valueDateTime": "2023-01-31" -} diff --git a/Resources/fsh-generated/resources/Organization-Example-HealthCareService-Organization.json b/Resources/fsh-generated/resources/Organization-Example-HealthCareService-Organization.json index 5582b643..f60cb8e5 100644 --- a/Resources/fsh-generated/resources/Organization-Example-HealthCareService-Organization.json +++ b/Resources/fsh-generated/resources/Organization-Example-HealthCareService-Organization.json @@ -2,46 +2,46 @@ "resourceType": "Organization", "id": "Example-HealthCareService-Organization", "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], "profile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" ] }, "identifier": [ { - "type": { - "coding": [ - { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" - } - ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "pflegeheim.immergrün.arzt@sana-pflegeheime.kim.telematik" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-031234567" - }, + "value": "123456789" + } + ], + "contact": [ { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "031234567" + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "email", + "value": "arbeitsplatz-1@test-pflegeheim.kim.telematik" + } + ] + } + ], + "name": "Pflegeheim Immergrün", + "type": [ + { + "coding": [ + { + "code": "1.2.276.0.76.4.245", + "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", + "display": "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" + } + ] } ], "address": [ @@ -50,29 +50,8 @@ "line": [ "Musterstr. 2" ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], "city": "Berlin", "postalCode": "10623" } - ], - "name": "Pflegeheim Immergrün", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } ] } diff --git a/Resources/fsh-generated/resources/Patient-Example-Patient.json b/Resources/fsh-generated/resources/Patient-Example-Patient.json new file mode 100644 index 00000000..e1dbe1d2 --- /dev/null +++ b/Resources/fsh-generated/resources/Patient-Example-Patient.json @@ -0,0 +1,57 @@ +{ + "resourceType": "Patient", + "id": "Example-Patient", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + }, + "name": [ + { + "use": "official", + "family": "Königsstein", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Königsstein" + } + ] + }, + "given": [ + "Ludger" + ] + } + ], + "identifier": [ + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "X234567890" + } + ], + "address": [ + { + "line": [ + "Musterstr. 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterstr." + } + ] + } + ], + "type": "both", + "city": "Berlin", + "postalCode": "10623" + } + ], + "birthDate": "1935-06-22" +} diff --git a/Resources/fsh-generated/resources/Practitioner-Example-Practitioner.json b/Resources/fsh-generated/resources/Practitioner-Example-Practitioner.json new file mode 100644 index 00000000..aa557a1a --- /dev/null +++ b/Resources/fsh-generated/resources/Practitioner-Example-Practitioner.json @@ -0,0 +1,38 @@ +{ + "resourceType": "Practitioner", + "id": "Example-Practitioner", + "meta": { + "tag": [ + { + "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", + "code": "owner" + } + ], + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-practitioner" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-838382202" + }, + { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "838382202" + } + ], + "name": [ + { + "use": "official", + "family": "Topp-Glücklich", + "given": [ + "Hans" + ], + "prefix": [ + "Dr. med." + ], + "text": "Dr. med. Hans Topp-Glücklich" + } + ] +} diff --git a/Resources/fsh-generated/resources/ServiceRequest-Komplex-MULTI-Initial-Prescription-Request-3.json b/Resources/fsh-generated/resources/ServiceRequest-Komplex-MULTI-Initial-Prescription-Request-3.json new file mode 100644 index 00000000..befdefad --- /dev/null +++ b/Resources/fsh-generated/resources/ServiceRequest-Komplex-MULTI-Initial-Prescription-Request-3.json @@ -0,0 +1,51 @@ +{ + "resourceType": "ServiceRequest", + "id": "Komplex-MULTI-Initial-Prescription-Request-3", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "komplex-multi" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1-MULTI" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "reasonCode": [ + { + "extension": [ + { + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-free-text-ex", + "valueString": "2 Tabletten" + } + ] + } + ], + "basedOn": [ + { + "reference": "MedicationRequest/Example-Komplex-Medication-Request" + } + ], + "status": "active", + "subject": { + "reference": "Patient/Example-Patient" + }, + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + } +} diff --git a/Resources/fsh-generated/resources/ServiceRequest-UC1-Initial-Prescription-Request.json b/Resources/fsh-generated/resources/ServiceRequest-UC1-Initial-Prescription-Request.json new file mode 100644 index 00000000..8d4d1284 --- /dev/null +++ b/Resources/fsh-generated/resources/ServiceRequest-UC1-Initial-Prescription-Request.json @@ -0,0 +1,69 @@ +{ + "resourceType": "ServiceRequest", + "id": "UC1-Initial-Prescription-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "reasonCode": [ + { + "extension": [ + { + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-ex", + "valueQuantity": { + "value": 7, + "unit": "Stück" + } + } + ], + "coding": [ + { + "code": "exhausted-range", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-request-reason-cs" + } + ], + "text": "Medikament läuft am 15.05.2025 aus. Es sind noch 7 stk übrig." + } + ], + "basedOn": [ + { + "reference": "MedicationRequest/Example-Initial-Medication-Request" + } + ], + "status": "active", + "subject": { + "reference": "Patient/Example-Patient" + }, + "occurrenceDateTime": "2025-05-14T12:00:00+02:00", + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + }, + "priority": "urgent", + "note": [ + { + "text": "Wird weiterhin benötigt, bitte um Verlängerung.", + "time": "2025-05-13T14:23:12+02:00" + } + ] +} diff --git a/Resources/fsh-generated/resources/ServiceRequest-UC1-MULTI-Initial-Prescription-Request-1.json b/Resources/fsh-generated/resources/ServiceRequest-UC1-MULTI-Initial-Prescription-Request-1.json new file mode 100644 index 00000000..79c4bc99 --- /dev/null +++ b/Resources/fsh-generated/resources/ServiceRequest-UC1-MULTI-Initial-Prescription-Request-1.json @@ -0,0 +1,61 @@ +{ + "resourceType": "ServiceRequest", + "id": "UC1-MULTI-Initial-Prescription-Request-1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "multi-1" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1-MULTI" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "reasonCode": [ + { + "extension": [ + { + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-ex", + "valueQuantity": { + "value": 2, + "unit": "Tabletten" + } + } + ] + } + ], + "basedOn": [ + { + "reference": "MedicationRequest/Example-Initial-Medication-Request" + } + ], + "status": "active", + "subject": { + "reference": "Patient/Example-Patient" + }, + "occurrenceDateTime": "2025-05-15", + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + }, + "note": [ + { + "text": "Für die Nacht sehr hilfreich.", + "time": "2025-05-13T12:23:12+02:00" + } + ] +} diff --git a/Resources/fsh-generated/resources/ServiceRequest-UC1-MULTI-Initial-Prescription-Request-2.json b/Resources/fsh-generated/resources/ServiceRequest-UC1-MULTI-Initial-Prescription-Request-2.json new file mode 100644 index 00000000..65374dba --- /dev/null +++ b/Resources/fsh-generated/resources/ServiceRequest-UC1-MULTI-Initial-Prescription-Request-2.json @@ -0,0 +1,47 @@ +{ + "resourceType": "ServiceRequest", + "id": "UC1-MULTI-Initial-Prescription-Request-2", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "multi-2" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC1-MULTI" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "basedOn": [ + { + "reference": "MedicationRequest/Example-Initial-Medication-Request-2" + } + ], + "status": "active", + "subject": { + "reference": "Patient/Example-Patient-2" + }, + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + }, + "note": [ + { + "text": "Für den Bedarfsfall", + "time": "2025-05-13T12:23:12+02:00" + } + ] +} diff --git a/Resources/fsh-generated/resources/ServiceRequest-UC2-Initial-Prescription-Request.json b/Resources/fsh-generated/resources/ServiceRequest-UC2-Initial-Prescription-Request.json new file mode 100644 index 00000000..fa30b8c4 --- /dev/null +++ b/Resources/fsh-generated/resources/ServiceRequest-UC2-Initial-Prescription-Request.json @@ -0,0 +1,53 @@ +{ + "resourceType": "ServiceRequest", + "id": "UC2-Initial-Prescription-Request", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + ] + }, + "intent": "order", + "identifier": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "value": "1" + } + ], + "requisition": { + "system": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "value": "GroupID-UC2" + }, + "code": { + "coding": [ + { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + } + ] + }, + "modifierExtension": [ + { + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex", + "valueBoolean": true + } + ], + "basedOn": [ + { + "reference": "MedicationRequest/Example-Initial-Medication-Request" + } + ], + "status": "active", + "subject": { + "reference": "Patient/Example-Patient" + }, + "authoredOn": "2025-05-13", + "requester": { + "reference": "Organization/Example-HealthCareService-Organization" + }, + "note": [ + { + "text": "Rezeptanfrage zur Einlösung von Herrn Königsstein.", + "time": "2025-05-13T14:23:12+02:00" + } + ] +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-alternative-delivery-address-ex.json b/Resources/fsh-generated/resources/StructureDefinition-alternative-delivery-address-ex.json new file mode 100644 index 00000000..342e5854 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-alternative-delivery-address-ex.json @@ -0,0 +1,69 @@ +{ + "resourceType": "StructureDefinition", + "id": "alternative-delivery-address-ex", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/alternative-delivery-address-ex", + "version": "1.2", + "name": "AlternativeDeliveryAddressEX", + "title": "Alternative Delivery Address (EX)", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "This extension is used to specify an alternative delivery Address", + "fhirVersion": "4.0.1", + "kind": "complex-type", + "abstract": false, + "context": [ + { + "expression": "ServiceRequest", + "type": "element" + }, + { + "expression": "MedicationRequest", + "type": "element" + }, + { + "expression": "DeviceRequest", + "type": "element" + }, + { + "expression": "Task", + "type": "element" + }, + { + "expression": "SupplyRequest", + "type": "element" + } + ], + "type": "Extension", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension.extension", + "path": "Extension.extension", + "max": "0" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "fixedUri": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/alternative-delivery-address-ex" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "min": 1, + "type": [ + { + "code": "Address", + "profile": [ + "http://fhir.de/StructureDefinition/address-de-basis" + ] + } + ], + "mustSupport": true + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-changed-medication-ex.json b/Resources/fsh-generated/resources/StructureDefinition-changed-medication-ex.json new file mode 100644 index 00000000..e919a920 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-changed-medication-ex.json @@ -0,0 +1,76 @@ +{ + "resourceType": "StructureDefinition", + "id": "changed-medication-ex", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/changed-medication-ex", + "version": "1.2", + "name": "ChangedMedicationEX", + "title": "Changed Medication (EX)", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "This extension is used to specify if the medication has been changed by the prescriber", + "fhirVersion": "4.0.1", + "kind": "complex-type", + "abstract": false, + "context": [ + { + "expression": "ServiceRequest", + "type": "element" + }, + { + "expression": "MedicationRequest", + "type": "element" + }, + { + "expression": "DeviceRequest", + "type": "element" + }, + { + "expression": "Task", + "type": "element" + }, + { + "expression": "SupplyRequest", + "type": "element" + }, + { + "expression": "Medication", + "type": "element" + } + ], + "type": "Extension", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension", + "path": "Extension", + "isModifier": true, + "isModifierReason": "If the medication has been changed, the receiving system must display that the medication has been changed." + }, + { + "id": "Extension.extension", + "path": "Extension.extension", + "max": "0" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "fixedUri": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/changed-medication-ex" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "min": 1, + "type": [ + { + "code": "boolean" + } + ], + "mustSupport": true + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-eprescription-token-ex.json b/Resources/fsh-generated/resources/StructureDefinition-eprescription-token-ex.json index 6ed10394..94a769f5 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-eprescription-token-ex.json +++ b/Resources/fsh-generated/resources/StructureDefinition-eprescription-token-ex.json @@ -2,21 +2,15 @@ "resourceType": "StructureDefinition", "id": "eprescription-token-ex", "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex", - "version": "1.0", + "version": "1.2", "name": "EPrescriptionTokenEX", "title": "E-Prescription Token Extension", - "status": "active", + "status": "draft", "experimental": false, + "date": "2025-01-01", "publisher": "gematik GmbH", "description": "This extension is used to specify an e-prescription token", "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - } - ], "kind": "complex-type", "abstract": false, "context": [ diff --git a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-dispense-request.json b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-dispense-request.json index 0065542b..6f577e9a 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-dispense-request.json +++ b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-dispense-request.json @@ -2,53 +2,15 @@ "resourceType": "StructureDefinition", "id": "erp-service-request-dispense-request", "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-dispense-request", - "version": "1.0", + "version": "1.2", "name": "ERPServiceRequestDispenseRequest", "title": "ERP Service Request Dispense Request", - "status": "active", + "status": "draft", "experimental": false, + "date": "2025-01-01", "publisher": "gematik GmbH", "description": "ServiceRequest that is used to supply a recipe", "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "workflow", - "uri": "http://hl7.org/fhir/workflow", - "name": "Workflow Pattern" - }, - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "w5", - "uri": "http://hl7.org/fhir/fivews", - "name": "FiveWs Pattern Mapping" - }, - { - "identity": "quick", - "uri": "http://siframework.org/cqf", - "name": "Quality Improvement and Clinical Knowledge (QUICK)" - }, - { - "identity": "Dispensieranforderung-Rezeptuebermittlung", - "name": "Dispensieranforderung_Rezeptübermittlung", - "uri": "gemF_eRp_KIM#3.1.1-Fachliche-Information", - "comment": "Mapping for 'fachliche Informationseineit' of the 'Belieferungsanfrage' of the feature document" - }, - { - "identity": "Dispensieranforderung-Bestaetigung", - "name": "Dispensieranforderung_Bestätigung", - "uri": "gemF_eRp_KIM#3.1.1-Fachliche-Information", - "comment": "Mapping for 'fachliche Informationseineit' of the 'Belieferungsanfrage' of the feature document" - } - ], "kind": "resource", "abstract": false, "type": "ServiceRequest", @@ -59,14 +21,34 @@ { "id": "ServiceRequest", "path": "ServiceRequest", - "mapping": [ + "constraint": [ { - "identity": "Dispensieranforderung-Rezeptuebermittlung", - "map": "Dispensieranforderung_Rezeptübermittlung" + "key": "servicerequest-dispense-request-1", + "severity": "error", + "human": "If the status is active, then requester must be present.", + "expression": "status = 'active' implies requester.exists()", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-dispense-request" }, { - "identity": "Dispensieranforderung-Bestaetigung", - "map": "Dispensieranforderung_Bestätigung" + "key": "servicerequest-dispense-request-2", + "severity": "error", + "human": "If the status is active, then the e-prescription-token must be present.", + "expression": "status = 'active' implies extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex').exists()", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-dispense-request" + }, + { + "key": "servicerequest-dispense-request-3", + "severity": "error", + "human": "If the status is completed, then the dispense data must be present.", + "expression": "status = 'completed' implies supportingInfo.where(type='MedicationDispense').exists()", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-dispense-request" + }, + { + "key": "servicerequest-dispense-request-4", + "severity": "error", + "human": "If the the code for the delivery type is alternatve-address, then the address must be stated.", + "expression": "(status = 'active' and code.coding.where(system='https://gematik.de/fhir/erp-servicerequest/CodeSystem/delivery-type-cs').exists() and code.coding.where(system='https://gematik.de/fhir/erp-servicerequest/CodeSystem/delivery-type-cs').code = 'delivery-to-alternative-address') implies (extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/alternative-delivery-address-ex').exists() and extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/alternative-delivery-address-ex').value.empty().not())", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-dispense-request" } ] }, @@ -91,17 +73,45 @@ ] } ], - "mustSupport": true, - "mapping": [ + "mustSupport": true + }, + { + "id": "ServiceRequest.extension:alternativeDeliveryAddress", + "path": "ServiceRequest.extension", + "sliceName": "alternativeDeliveryAddress", + "short": "Alternative delivery address.", + "definition": "If the ServiceRequest states that the delivery should be delivered to an alternative address, it must be stated here.", + "min": 0, + "max": "1", + "type": [ { - "identity": "Dispensieranforderung-Rezeptuebermittlung", - "map": "ERezept_Access_Code" - }, + "code": "Extension", + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/alternative-delivery-address-ex" + ] + } + ], + "mustSupport": true + }, + { + "id": "ServiceRequest.modifierExtension:medicationChanged", + "path": "ServiceRequest.modifierExtension", + "sliceName": "medicationChanged", + "short": "Indicates whether the medication has been changed by the pharmacy.", + "definition": "If the medication has been changed, the value is set to true.", + "comment": "If the medication has been changed, the receiving system must display the changed medication to the receiving user.", + "min": 0, + "max": "1", + "type": [ { - "identity": "Dispensieranforderung-Rezeptuebermittlung", - "map": "ERezept_Task_ID" + "code": "Extension", + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/changed-medication-ex" + ] } - ] + ], + "mustSupport": true, + "isModifierReason": "If the medication has been changed, the receiving system must display the changed medication to the receiving user." }, { "id": "ServiceRequest.identifier", @@ -136,34 +146,6 @@ } ] }, - { - "id": "ServiceRequest.identifier:predisId", - "path": "ServiceRequest.identifier", - "sliceName": "predisId", - "short": "Identifier that connects a prescription and a dispensing request.", - "definition": "In some applications, it is necessary to know which prescription request belongs to which delivery request. If, for example, a medication is requested, you want to be able to track which is the corresponding delivery request. The predisIdentifier is used for this purpose, which identifies a pair of ServiceRequest**Prescription**Request and ServiceRequest**Dispense**Request together.", - "comment": "Can be mapped via a UUID, for example.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Identifier", - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-pre-dis-identifier" - ] - } - ] - }, - { - "id": "ServiceRequest.basedOn", - "path": "ServiceRequest.basedOn", - "mapping": [ - { - "identity": "Dispensieranforderung-Rezeptuebermittlung", - "map": "Strukturierter_Verordnungsdatensatz" - } - ] - }, { "id": "ServiceRequest.requisition", "path": "ServiceRequest.requisition", @@ -174,21 +156,11 @@ { "code": "Identifier", "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/identifier-procedure-identifier" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-procedure-identifier" ] } ], - "mustSupport": true, - "mapping": [ - { - "identity": "Dispensieranforderung-Rezeptuebermittlung", - "map": "Vorgangs_ID" - }, - { - "identity": "Dispensieranforderung-Bestaetigung", - "map": "Vorgangs_ID" - } - ] + "mustSupport": true }, { "id": "ServiceRequest.status", @@ -206,17 +178,53 @@ "path": "ServiceRequest.intent", "fixedCode": "filler-order" }, + { + "id": "ServiceRequest.priority", + "path": "ServiceRequest.priority", + "short": "Indicates the urgency of the request.", + "definition": "The priority can be used to indicate the urgency of the request.", + "comment": "Allowed values: routine | urgent", + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "https://gematik.de/fhir/erp-servicerequest/ValueSet/service-request-priority-vs" + } + }, { "id": "ServiceRequest.code", "path": "ServiceRequest.code", "short": "Indicates the type of service request.", + "min": 1, "mustSupport": true }, { "id": "ServiceRequest.code.coding", "path": "ServiceRequest.code.coding", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open", + "description": "Differentiates between the service request type and additional information.", + "ordered": false + }, + "min": 1, + "mustSupport": true + }, + { + "id": "ServiceRequest.code.coding:request-type", + "path": "ServiceRequest.code.coding", + "sliceName": "request-type", + "short": "Indicates the type of service request.", "min": 1, "max": "1", + "patternCoding": { + "code": "dispense-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + }, "mustSupport": true, "binding": { "strength": "required", @@ -224,26 +232,53 @@ } }, { - "id": "ServiceRequest.code.coding.system", + "id": "ServiceRequest.code.coding:request-type.system", "path": "ServiceRequest.code.coding.system", "min": 1 }, { - "id": "ServiceRequest.code.coding.code", + "id": "ServiceRequest.code.coding:request-type.code", "path": "ServiceRequest.code.coding.code", "comment": "#dispense-request serves as a service request for a pharmacy to deliver a prescription.", - "min": 1, - "fixedCode": "dispense-request" + "min": 1 + }, + { + "id": "ServiceRequest.code.coding:delivery-type", + "path": "ServiceRequest.code.coding", + "sliceName": "delivery-type", + "short": "Indicates how the delivery should be made.", + "definition": "The delivery type can be used to indicate how the delivery should be made. The following options are available: pickup-by-healthcare-service, pickup-by-patient, delivery-to-healthcare-service, delivery-to-alternative-address.", + "comment": "If the delivery type is delivery-to-alternative-address, the alternative address must be specified in location.", + "min": 0, + "max": "1", + "patternCoding": { + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/delivery-type-cs" + }, + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "https://gematik.de/fhir/erp-servicerequest/ValueSet/delivery-type-vs" + } + }, + { + "id": "ServiceRequest.code.coding:delivery-type.system", + "path": "ServiceRequest.code.coding.system", + "min": 1 + }, + { + "id": "ServiceRequest.code.coding:delivery-type.code", + "path": "ServiceRequest.code.coding.code", + "min": 1 }, { "id": "ServiceRequest.subject", "path": "ServiceRequest.subject", - "short": "Patient for whom a prescription is to be delivered.", + "short": "Patient for whom a dispense is requested on behalf of the patient.", "type": [ { "code": "Reference", "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] } ], @@ -253,7 +288,6 @@ "id": "ServiceRequest.occurrence[x]", "path": "ServiceRequest.occurrence[x]", "short": "Indicates the date when the medication should be delivered.", - "min": 1, "type": [ { "code": "dateTime" @@ -269,6 +303,21 @@ "min": 1, "mustSupport": true }, + { + "id": "ServiceRequest.requester", + "path": "ServiceRequest.requester", + "short": "Inquiring facility or practitioner.", + "comment": "The KIM address is already stored in the message header.", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + } + ], + "mustSupport": true + }, { "id": "ServiceRequest.supportingInfo", "path": "ServiceRequest.supportingInfo", @@ -280,7 +329,7 @@ } ], "rules": "open", - "description": "Supporting information about delivery" + "description": "Supporting information about dispense" }, "mustSupport": true }, @@ -294,50 +343,32 @@ { "code": "Reference", "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/MedicationDispense" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-dispense" ] } ], - "mustSupport": true, - "mapping": [ - { - "identity": "Dispensieranforderung-Bestaetigung", - "map": "Strukturierter_Dispensierungsdatensatz" - } - ] + "mustSupport": true }, { "id": "ServiceRequest.supportingInfo:AbgabeDaten.type", "path": "ServiceRequest.supportingInfo.type", - "short": "Delivery data that is also sent to the e-prescription specialist service.", - "comment": "In this way, the inquiring facility/person can understand which medications are actually supplied.", + "short": "Dispense data that is also sent to the e-prescription server.", "min": 1, "fixedUri": "MedicationDispense" }, { "id": "ServiceRequest.note", "path": "ServiceRequest.note", - "short": "Further information on delivery.", + "short": "Further information on the dispense request.", "comment": "Any use cases that are not specified can be placed here in free text.", - "mustSupport": true, - "mapping": [ - { - "identity": "Dispensieranforderung-Rezeptuebermittlung", - "map": "Hinweise_fuer_Empfänger" - }, - { - "identity": "Dispensieranforderung-Rezeptuebermittlung", - "map": "Freitext" - }, - { - "identity": "Dispensieranforderung-Bestaetigung", - "map": "Hinweise_fuer_Empfänger" - }, - { - "identity": "Dispensieranforderung-Bestaetigung", - "map": "Freitext" - } - ] + "mustSupport": true + }, + { + "id": "ServiceRequest.note.time", + "path": "ServiceRequest.note.time", + "comment": "This is used in order to sort the Annotations", + "min": 1, + "mustSupport": true } ] } diff --git a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-eprescription-token.json b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-eprescription-token.json index 5d4538a4..dce7b932 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-eprescription-token.json +++ b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-eprescription-token.json @@ -2,31 +2,15 @@ "resourceType": "StructureDefinition", "id": "erp-service-request-eprescription-token", "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-eprescription-token", - "version": "1.0", + "version": "1.2", "name": "ERPServiceRequestEPrescriptionToken", "title": "ERP Service Request EPrescription Token", - "status": "active", + "status": "draft", "experimental": false, + "date": "2025-01-01", "publisher": "gematik GmbH", "description": "Identifier containing an e-prescription token", "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "servd", - "uri": "http://www.omg.org/spec/ServD/1.0/", - "name": "ServD" - } - ], "kind": "complex-type", "abstract": false, "type": "Identifier", diff --git a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-medication-dispense.json b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-medication-dispense.json new file mode 100644 index 00000000..19dcb79a --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-medication-dispense.json @@ -0,0 +1,88 @@ +{ + "resourceType": "StructureDefinition", + "id": "erp-service-request-medication-dispense", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-dispense", + "version": "1.2", + "name": "ERPServiceRequestMedicationDispense", + "title": "ERP Service Request Medication Dispense", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "Medical and pharmaceutical information for the dispense information", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "MedicationDispense", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/MedicationDispense", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "MedicationDispense.identifier", + "path": "MedicationDispense.identifier", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open", + "description": "Slicing for identifier elements", + "ordered": false + }, + "min": 1, + "mustSupport": true + }, + { + "id": "MedicationDispense.identifier:prescriptionID", + "path": "MedicationDispense.identifier", + "sliceName": "prescriptionID", + "min": 1, + "max": "1", + "type": [ + { + "code": "Identifier", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_PrescriptionId" + ] + } + ], + "patternIdentifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId" + } + }, + { + "id": "MedicationDispense.medication[x]", + "path": "MedicationDispense.medication[x]", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN", + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding", + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Ingredient", + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_FreeText" + ] + } + ], + "mustSupport": true + }, + { + "id": "MedicationDispense.subject", + "path": "MedicationDispense.subject", + "short": "Patient for whom a dispense is requested on behalf of the patient.", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] + } + ], + "mustSupport": true + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-medication-request.json b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-medication-request.json index 7c56ae73..2766e17f 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-medication-request.json +++ b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-medication-request.json @@ -2,47 +2,15 @@ "resourceType": "StructureDefinition", "id": "erp-service-request-medication-request", "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request", - "version": "1.0", + "version": "1.2", "name": "ERPServiceRequestMedicationRequest", "title": "ERP Service Request Medication Request", - "status": "active", + "status": "draft", "experimental": false, + "date": "2025-01-01", "publisher": "gematik GmbH", "description": "Medical and pharmaceutical information for the prescription request", "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "workflow", - "uri": "http://hl7.org/fhir/workflow", - "name": "Workflow Pattern" - }, - { - "identity": "script10.6", - "uri": "http://ncpdp.org/SCRIPT10_6", - "name": "Mapping to NCPDP SCRIPT 10.6" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "w5", - "uri": "http://hl7.org/fhir/fivews", - "name": "FiveWs Pattern Mapping" - }, - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "Rezeptanforderung-medizinische-Informationen", - "name": "Medication Request Mapping (Strukturierter_Verordnungsdatensatz)", - "uri": "gemF_eRp_KIM#3.1.1-Fachliche-Information", - "comment": "Mapping for 'fachliche Informationseineit' of the requested medication of the feature document" - } - ], "kind": "resource", "abstract": false, "type": "MedicationRequest", @@ -50,16 +18,6 @@ "derivation": "constraint", "differential": { "element": [ - { - "id": "MedicationRequest", - "path": "MedicationRequest", - "mapping": [ - { - "identity": "Rezeptanforderung-medizinische-Informationen", - "map": "Rezeptanforderung_medizinische_Informationen" - } - ] - }, { "id": "MedicationRequest.extension", "path": "MedicationRequest.extension", @@ -71,7 +29,7 @@ "path": "MedicationRequest.extension", "sliceName": "PriorPrescriptionID", "short": "Provide a previous PrescriptionID that corresponds to the requested medication.", - "definition": "\nThe MedicationRequest can contain a PrescriptionId of a prescription that has already been issued.\n\nIf a previous prescription ID is known, the writing system MAY indicate this in the medication request.\n\nIf this ID is available, the receiving system MUST be able to search for the previous regulation and give the user the opportunity to display and compare the content.\n", + "definition": "\nThe MedicationRequest can contain a PrescriptionId of a prescription that has already been issued.\nIf a previous prescription ID is known, the writing system MAY indicate this in the medication request.\nIf this ID is available, the receiving system MUST be able to search for the previous regulation and give the user the opportunity to display and compare the content.\n", "comment": "Must be given in the form xxx.xxx.xxx.xxx.xxx.xx.", "min": 0, "max": "1", @@ -83,152 +41,78 @@ ] } ], - "mustSupport": true, - "mapping": [ - { - "identity": "Rezeptanforderung-medizinische-Informationen", - "map": "Vorheriges_Rezept" - } - ] + "mustSupport": true }, { - "id": "MedicationRequest.medication[x]", - "path": "MedicationRequest.medication[x]", + "id": "MedicationRequest.modifierExtension:requestMVO", + "path": "MedicationRequest.modifierExtension", + "sliceName": "requestMVO", + "short": "Multiple prescription order", + "definition": "If the prescription is should be a multiple prescription order. Only the 'Kennzeichen' should be stated, indicating that the prescription is requested to be a multiple prescription order.", + "comment": "When this extension is received by a PVS, the prescriber has to be visually notified about the request for a multiple prescription order.", + "min": 0, + "max": "1", "type": [ { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Medication" + "code": "Extension", + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/request-mvo-ex" ] } ], "mustSupport": true, - "mapping": [ - { - "identity": "Rezeptanforderung-medizinische-Informationen", - "map": "Praeparat" - } - ] + "isModifierReason": "When this extension is received by a PVS, the prescriber has to be visually notified about the request for a multiple prescription order." }, { - "id": "MedicationRequest.medication[x].reference", - "path": "MedicationRequest.medication[x].reference", - "min": 1, - "mustSupport": true - }, - { - "id": "MedicationRequest.medication[x].type", - "path": "MedicationRequest.medication[x].type", - "max": "0" - }, - { - "id": "MedicationRequest.medication[x].identifier", - "path": "MedicationRequest.medication[x].identifier", - "max": "0" - }, - { - "id": "MedicationRequest.medication[x].display", - "path": "MedicationRequest.medication[x].display", - "max": "0" - }, - { - "id": "MedicationRequest.subject", - "path": "MedicationRequest.subject", + "id": "MedicationRequest.medication[x]", + "path": "MedicationRequest.medication[x]", "type": [ { "code": "Reference", "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient" + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN", + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding", + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Ingredient", + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_FreeText" ] } ], "mustSupport": true }, { - "id": "MedicationRequest.subject.reference", - "path": "MedicationRequest.subject.reference", - "min": 1 - }, - { - "id": "MedicationRequest.subject.type", - "path": "MedicationRequest.subject.type", - "max": "0" - }, - { - "id": "MedicationRequest.subject.identifier", - "path": "MedicationRequest.subject.identifier", - "max": "0" - }, - { - "id": "MedicationRequest.encounter", - "path": "MedicationRequest.encounter", - "max": "0" - }, - { - "id": "MedicationRequest.requester", - "path": "MedicationRequest.requester", - "short": "Requesting doctor/facility/pharmacy for this MedicationRequest", - "comment": "Is optional to specify here, since it must already be specified in the ServiceRequest", + "id": "MedicationRequest.subject", + "path": "MedicationRequest.subject", + "short": "Patient for whom a dispense is requested on behalf of the patient.", "type": [ { "code": "Reference", "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Practitioner", - "http://hl7.org/fhir/StructureDefinition/Organization" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" ] } ], "mustSupport": true }, { - "id": "MedicationRequest.requester.type", - "path": "MedicationRequest.requester.type", - "max": "0" - }, - { - "id": "MedicationRequest.instantiatesCanonical", - "path": "MedicationRequest.instantiatesCanonical", - "max": "0" - }, - { - "id": "MedicationRequest.instantiatesUri", - "path": "MedicationRequest.instantiatesUri", - "max": "0" - }, - { - "id": "MedicationRequest.basedOn", - "path": "MedicationRequest.basedOn", - "max": "0" - }, - { - "id": "MedicationRequest.groupIdentifier", - "path": "MedicationRequest.groupIdentifier", - "max": "0" - }, - { - "id": "MedicationRequest.courseOfTherapyType", - "path": "MedicationRequest.courseOfTherapyType", - "max": "0" + "id": "MedicationRequest.dosageInstruction", + "path": "MedicationRequest.dosageInstruction", + "mustSupport": true }, { - "id": "MedicationRequest.insurance", - "path": "MedicationRequest.insurance", - "short": "Insurance status of the patient for whom the medication is requested", - "comment": "If this information is already known, it can optionally be given here", - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Coverage" - ] - } - ] + "id": "MedicationRequest.dosageInstruction.text", + "path": "MedicationRequest.dosageInstruction.text", + "short": "Dosieranweisung", + "definition": "Dosieranweisung einer Verordnung", + "maxLength": 500, + "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction", - "path": "MedicationRequest.dosageInstruction", - "max": "1" + "id": "MedicationRequest.dosageInstruction.patientInstruction", + "path": "MedicationRequest.dosageInstruction.patientInstruction", + "short": "Gebrauchsanweisung einer Rezeptur", + "definition": "Gebrauchsanweisung einer Rezeptur", + "maxLength": 500, + "mustSupport": true }, { "id": "MedicationRequest.dispenseRequest", @@ -238,40 +122,37 @@ { "id": "MedicationRequest.dispenseRequest.quantity", "path": "MedicationRequest.dispenseRequest.quantity", + "short": "Number of prescribed units", + "definition": "The number of units of the medication to be supplied per dispense. Usually value and unit are stated which are free text variants. If a structured code is used it must be from UnitsOfMeasure.", "min": 1, "mustSupport": true }, { "id": "MedicationRequest.dispenseRequest.quantity.value", "path": "MedicationRequest.dispenseRequest.quantity.value", - "short": "Number of packs prescribed", - "definition": "Number of packs prescribed", + "short": "Number prescribed", + "definition": "Number prescribed", "min": 1, "mustSupport": true }, { "id": "MedicationRequest.dispenseRequest.quantity.unit", "path": "MedicationRequest.dispenseRequest.quantity.unit", - "max": "0" + "short": "Requested units of the prescription", + "definition": "This is a free text field that can be used to specify the units of the prescription.", + "min": 1, + "mustSupport": true }, { "id": "MedicationRequest.dispenseRequest.quantity.system", "path": "MedicationRequest.dispenseRequest.quantity.system", - "min": 1, - "fixedUri": "http://unitsofmeasure.org", - "mustSupport": true + "fixedUri": "http://unitsofmeasure.org" }, { "id": "MedicationRequest.dispenseRequest.quantity.code", "path": "MedicationRequest.dispenseRequest.quantity.code", - "min": 1, - "fixedCode": "{Package}", - "mustSupport": true - }, - { - "id": "MedicationRequest.dispenseRequest.performer", - "path": "MedicationRequest.dispenseRequest.performer", - "max": "0" + "short": "Code from Unit of measure", + "definition": "If a structured code is used it must be from UnitsOfMeasure" } ] } diff --git a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-message-container.json b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-message-container.json index dcf30fdd..40a6ba97 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-message-container.json +++ b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-message-container.json @@ -2,36 +2,15 @@ "resourceType": "StructureDefinition", "id": "erp-service-request-message-container", "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container", - "version": "1.0", + "version": "1.2", "name": "ERPServiceRequestMessageContainer", "title": "ERP Service Request Message Container", - "status": "active", + "status": "draft", "experimental": false, + "date": "2025-01-01", "publisher": "gematik GmbH", "description": "Bundle, which contains all resources of a message", "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "cda", - "uri": "http://hl7.org/v3/cda", - "name": "CDA (R2)" - }, - { - "identity": "w5", - "uri": "http://hl7.org/fhir/fivews", - "name": "FiveWs Pattern Mapping" - } - ], "kind": "resource", "abstract": false, "type": "Bundle", @@ -39,6 +18,47 @@ "derivation": "constraint", "differential": { "element": [ + { + "id": "Bundle", + "path": "Bundle", + "constraint": [ + { + "key": "service-request-message-container-1", + "severity": "error", + "human": "If the Message is a copy then the focus of the MessageHeader must be a Bundle, otherwise a ServiceRequest.", + "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))", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + }, + { + "key": "service-request-message-container-2", + "severity": "error", + "human": "If the the Prescription-ServiceRequest contains the health-care service as a reference, then the e-mail contact must be present.", + "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())", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + }, + { + "key": "service-request-message-container-3", + "severity": "error", + "human": "If the the Prescription-ServiceRequest contains the health-care service as a reference, then the organization must have the respective type.", + "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')", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + }, + { + "key": "service-request-message-container-4", + "severity": "error", + "human": "If the the Prescription-ServiceRequest is active, not Zyto and the requester is a pharmacy, then the Healthcare Service to receive a copy must be stated.", + "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())", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + }, + { + "key": "service-request-message-container-5", + "severity": "error", + "human": "If the the Dispense-ServiceRequest is active then the requester must be a Health Care Service.", + "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')", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" + } + ] + }, { "id": "Bundle.entry:MessageHeader", "path": "Bundle.entry", diff --git a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-organization.json b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-organization.json index 539a3cc1..a9b6cfbe 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-organization.json +++ b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-organization.json @@ -2,105 +2,83 @@ "resourceType": "StructureDefinition", "id": "erp-service-request-organization", "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization", - "version": "1.0", + "version": "1.2", "name": "ERPServiceRequestOrganization", "title": "ERP Service Request Organization", - "status": "active", + "status": "draft", "experimental": false, + "date": "2025-01-01", "publisher": "gematik GmbH", "description": "Organization that can be used to specify a KIM address", "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "servd", - "uri": "http://www.omg.org/spec/ServD/1.0/", - "name": "ServD" - }, - { - "identity": "w5", - "uri": "http://hl7.org/fhir/fivews", - "name": "FiveWs Pattern Mapping" - } - ], "kind": "resource", "abstract": false, "type": "Organization", - "baseDefinition": "https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization", + "baseDefinition": "https://gematik.de/fhir/directory/StructureDefinition/OrganizationDirectory", "derivation": "constraint", "differential": { "element": [ { - "id": "Organization.identifier", - "path": "Organization.identifier", + "id": "Organization.contact", + "path": "Organization.contact", + "min": 1 + }, + { + "id": "Organization.contact.telecom", + "path": "Organization.contact.telecom", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "system" + } + ], + "rules": "open", + "description": "Slices on contact options", + "ordered": false + }, "min": 1, "mustSupport": true }, { - "id": "Organization.identifier:KIMAdresse", - "path": "Organization.identifier", - "sliceName": "KIMAdresse", + "id": "Organization.contact.telecom:tel", + "path": "Organization.contact.telecom", + "sliceName": "tel", "min": 1, "max": "1", - "type": [ - { - "code": "Identifier", - "profile": [ - "https://gematik.de/fhir/atf/StructureDefinition/identifier-address-kim" - ] - } - ], "mustSupport": true }, { - "id": "Organization.identifier:KIMAdresse.type", - "path": "Organization.identifier.type", + "id": "Organization.contact.telecom:tel.system", + "path": "Organization.contact.telecom.system", "min": 1, - "fixedCodeableConcept": { - "coding": [ - { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" - } - ] - } + "patternCode": "phone" }, { - "id": "Organization.identifier:TIMAdresse", - "path": "Organization.identifier", - "sliceName": "TIMAdresse", + "id": "Organization.contact.telecom:tel.value", + "path": "Organization.contact.telecom.value", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.contact.telecom:kim", + "path": "Organization.contact.telecom", + "sliceName": "kim", "min": 0, "max": "1", - "type": [ - { - "code": "Identifier", - "profile": [ - "https://gematik.de/fhir/atf/StructureDefinition/identifier-address-tim" - ] - } - ] + "mustSupport": true }, { - "id": "Organization.identifier:TIMAdresse.type", - "path": "Organization.identifier.type", + "id": "Organization.contact.telecom:kim.system", + "path": "Organization.contact.telecom.system", "min": 1, - "patternCodeableConcept": { - "coding": [ - { - "code": "tim", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" - } - ] - } + "patternCode": "email" + }, + { + "id": "Organization.contact.telecom:kim.value", + "path": "Organization.contact.telecom.value", + "min": 1, + "mustSupport": true } ] } diff --git a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-patient.json b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-patient.json new file mode 100644 index 00000000..c415fb5f --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-patient.json @@ -0,0 +1,35 @@ +{ + "resourceType": "StructureDefinition", + "id": "erp-service-request-patient", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient", + "version": "1.2", + "name": "ERPServiceRequestPatient", + "title": "ERP Service Request Patient", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "Patient that can be used for the UseCase ServiceRequest", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Patient", + "baseDefinition": "https://gematik.de/fhir/epa/StructureDefinition/epa-patient", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Patient.address", + "path": "Patient.address", + "type": [ + { + "code": "Address", + "profile": [ + "http://fhir.de/StructureDefinition/address-de-basis" + ] + } + ] + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-practitioner.json b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-practitioner.json new file mode 100644 index 00000000..e2b94883 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-practitioner.json @@ -0,0 +1,35 @@ +{ + "resourceType": "StructureDefinition", + "id": "erp-service-request-practitioner", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-practitioner", + "version": "1.2", + "name": "ERPServiceRequestPractitioner", + "title": "ERP Service Request Practitioner", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "Practitioner that can be used to identify the desired performer of a ServiceRequest", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Practitioner", + "baseDefinition": "https://gematik.de/fhir/directory/StructureDefinition/PractitionerDirectory", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Practitioner.identifier", + "path": "Practitioner.identifier", + "min": 2 + }, + { + "id": "Practitioner.identifier:LANR", + "path": "Practitioner.identifier", + "sliceName": "LANR", + "min": 1, + "max": "1" + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-pre-dis-identifier.json b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-pre-dis-identifier.json deleted file mode 100644 index 47b2a337..00000000 --- a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-pre-dis-identifier.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "resourceType": "StructureDefinition", - "id": "erp-service-request-pre-dis-identifier", - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-pre-dis-identifier", - "version": "1.0", - "name": "ERPServiceRequestPreDisIdentifier", - "title": "ERP Service Request Pre Dis Identifier", - "status": "active", - "experimental": false, - "publisher": "gematik GmbH", - "description": "Identifier is used to link a prescription and dispense requests of the same prescription request", - "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "servd", - "uri": "http://www.omg.org/spec/ServD/1.0/", - "name": "ServD" - } - ], - "kind": "complex-type", - "abstract": false, - "type": "Identifier", - "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Identifier", - "derivation": "constraint", - "differential": { - "element": [ - { - "id": "Identifier.system", - "path": "Identifier.system", - "patternUri": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemPreDisIdentifier" - }, - { - "id": "Identifier.value", - "path": "Identifier.value", - "short": "String that references a prescription and delivery request for the same drug.", - "comment": "It is recommended to use a UUID.", - "min": 1, - "mustSupport": true - } - ] - } -} diff --git a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-prescription-request.json b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-prescription-request.json index d5750186..7895d473 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-prescription-request.json +++ b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-prescription-request.json @@ -2,65 +2,15 @@ "resourceType": "StructureDefinition", "id": "erp-service-request-prescription-request", "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request", - "version": "1.0", + "version": "1.2", "name": "ERPServiceRequestPrescriptionRequest", "title": "ERP Service Request Prescription Request", - "status": "active", + "status": "draft", "experimental": false, + "date": "2025-01-01", "publisher": "gematik GmbH", "description": "ServiceRequest, which is used to request a recipe", "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "workflow", - "uri": "http://hl7.org/fhir/workflow", - "name": "Workflow Pattern" - }, - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "w5", - "uri": "http://hl7.org/fhir/fivews", - "name": "FiveWs Pattern Mapping" - }, - { - "identity": "quick", - "uri": "http://siframework.org/cqf", - "name": "Quality Improvement and Clinical Knowledge (QUICK)" - }, - { - "identity": "Rezeptanforderung", - "name": "Rezeptanforderung", - "uri": "gemF_eRp_KIM#3.1.1-Fachliche-Information", - "comment": "Mapping for 'fachliche Informationseinheiten' of the 'Verordnungsanfrage' of the feature document" - }, - { - "identity": "Rezeptanforderung-Rezeptuebermittlung", - "name": "Rezeptanforderung_Rezeptübermittlung", - "uri": "gemF_eRp_KIM#3.1.1-Fachliche-Information", - "comment": "Mapping for 'fachliche Informationseinheiten' of the 'Verordnungsanfrage' of the feature document" - }, - { - "identity": "Rezeptanforderung-Storno", - "name": "Rezeptanforderung_Storno (Anfragender)", - "uri": "gemF_eRp_KIM#3.1.1-Fachliche-Information", - "comment": "Mapping for 'fachliche Informationseinheiten' of the cancellation of a 'Verordnungsanfrage' of the feature document" - }, - { - "identity": "Rezeptanforderung-Ablehnung", - "name": "Rezeptanforderung_Storno (Verordnender)", - "uri": "gemF_eRp_KIM#3.1.1-Fachliche-Information", - "comment": "Mapping for 'fachliche Informationseinheiten' of the refusal of a 'Verordnungsanfrage' of the feature document" - } - ], "kind": "resource", "abstract": false, "type": "ServiceRequest", @@ -71,22 +21,41 @@ { "id": "ServiceRequest", "path": "ServiceRequest", - "mapping": [ + "constraint": [ { - "identity": "Rezeptanforderung", - "map": "Rezeptanforderung" + "key": "servicerequest-prescription-request-1", + "severity": "error", + "human": "If the status is active, the requester must be present.", + "expression": "status = 'active' implies requester.exists()", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" }, { - "identity": "Rezeptanforderung-Rezeptuebermittlung", - "map": "Rezeptanforderung_Rezeptübermittlung" + "key": "servicerequest-prescription-request-2", + "severity": "error", + "human": "If the status is completed and the prescription should be redeemed by the patient, the e-prescription-token must not be present.", + "expression": "(status = 'completed' and modifierExtension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex').exists() and modifierExtension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex').value = true) implies extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex').exists().not()", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" }, { - "identity": "Rezeptanforderung-Storno", - "map": "Rezeptanforderung_Storno" + "key": "servicerequest-prescription-request-3", + "severity": "error", + "human": "If the status is revoked or entered-in-error, then the reasonCode or note must be present.", + "expression": "(status = 'revoked' or status = 'entered-in-error') implies (reasonCode.text.exists() or note.exists())", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" }, { - "identity": "Rezeptanforderung-Ablehnung", - "map": "Rezeptanforderung_Storno" + "key": "servicerequest-prescription-request-4", + "severity": "error", + "human": "If the status is completed, the performer must be present.", + "expression": "status = 'completed' implies performer.exists()", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" + }, + { + "key": "servicerequest-prescription-request-5", + "severity": "error", + "human": "If the status is completed and the prescription should not be redeemed by the patient, the e-prescription-token must be present.", + "expression": "(status = 'completed' and (modifierExtension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex').value = false or modifierExtension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex').exists().not())) implies extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex').exists()", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" } ] }, @@ -99,10 +68,11 @@ "id": "ServiceRequest.extension:EPrescriptionToken", "path": "ServiceRequest.extension", "sliceName": "EPrescriptionToken", - "short": "Here the e-prescription token can be made available for processing in a pharmacy.", + "short": "Here the e-prescription token(s) can be made available for processing in a pharmacy.", + "definition": "One ServiceRequest must adress exactly one request for a medication. However the practitioner might choose to issue multiple prescriptions for that request, therefore the cardinality is 1..*.", "comment": "The token is of the form '/Task/{PrescriptionID}/$accept?ac={AccessCode}. See [gemSpec_DM_eRp](https://fachportal.gematik.de/fachportal-import/files/gemSpec_DM_eRp_V1.5.0.pdf)'.", "min": 0, - "max": "1", + "max": "*", "type": [ { "code": "Extension", @@ -111,17 +81,47 @@ ] } ], - "mustSupport": true, - "mapping": [ + "mustSupport": true + }, + { + "id": "ServiceRequest.modifierExtension:medicationChanged", + "path": "ServiceRequest.modifierExtension", + "sliceName": "medicationChanged", + "short": "Indicates whether the medication has been changed by the prescriber.", + "definition": "If the medication has been changed, the value is set to true.", + "comment": "If the medication has been changed, the receiving system must display the changed medication to the receiving user.", + "min": 0, + "max": "1", + "type": [ { - "identity": "Rezeptanforderung-Rezeptuebermittlung", - "map": "ERezept_Task_ID" - }, + "code": "Extension", + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/changed-medication-ex" + ] + } + ], + "mustSupport": true, + "isModifierReason": "If the medication has been changed, the receiving system must display the changed medication to the receiving user." + }, + { + "id": "ServiceRequest.modifierExtension:redeemByPatient", + "path": "ServiceRequest.modifierExtension", + "sliceName": "redeemByPatient", + "short": "Redeem By Patient", + "definition": "Indicates whether the prescription should be redeemed by the patient.", + "comment": "This determines the Flow Type of the prescription to be set to 160/200 so that the patient can redeem the prescription himself. If not set the Flow Type is set to 169/209.", + "min": 0, + "max": "1", + "type": [ { - "identity": "Rezeptanforderung-Rezeptuebermittlung", - "map": "ERezept_Access_Code" + "code": "Extension", + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex" + ] } - ] + ], + "mustSupport": true, + "isModifierReason": "This determines the Flow Type of the prescription to be set to 160/200 so that the patient can redeem the prescription himself. If not set the Flow Type is set to 169/209." }, { "id": "ServiceRequest.identifier", @@ -156,29 +156,11 @@ } ] }, - { - "id": "ServiceRequest.identifier:predisId", - "path": "ServiceRequest.identifier", - "sliceName": "predisId", - "short": "Identifier that connects a prescription and a dispensing request.", - "definition": "In some applications, it is necessary to know which prescription request belongs to which delivery request. If, for example, a medication is requested, you want to be able to track which is the corresponding delivery request. The predisIdentifier is used for this purpose, which identifies a pair of ServiceRequest**Prescription**Request and ServiceRequest**Dispense**Request together.\n\nDas implementierende System muss in der Lage sein diese Verknüpfung herzustellen als auch zu lesen.", - "comment": "Can be mapped via a UUID, for example.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Identifier", - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-pre-dis-identifier" - ] - } - ] - }, { "id": "ServiceRequest.basedOn", "path": "ServiceRequest.basedOn", "short": "Requested or fulfilled MedicationRequest.", - "definition": "This field references the underlying MedicationRequest, which contains the medical information for the prescription request. If the prescription request is made, the ERPServiceRequestMedicationRequest profile MAY be used.\nWhen the prescription has been created, the corresponding KBV_PR_ERP_Bundle prescription data record must be referenced.", + "definition": "This field references the underlying MedicationRequest, which contains the medical information for the prescription request.", "comment": "Exactly one MedicationRequest is assigned to a ServiceRequest, so that independent processing is possible.", "min": 1, "max": "1", @@ -186,55 +168,27 @@ { "code": "Reference", "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/MedicationRequest" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" ] } ], - "mustSupport": true, - "mapping": [ - { - "identity": "Rezeptanforderung", - "map": "Praeparat" - }, - { - "identity": "Rezeptanforderung-Rezeptuebermittlung", - "map": "Strukturierter_Verordnungsdatensatz" - } - ] + "mustSupport": true }, { "id": "ServiceRequest.requisition", "path": "ServiceRequest.requisition", - "short": "Identifier of the process. All ServiceRequests within a process receive the same ID.", + "short": "Identifier of the overall process. Multiple ServiceRequests within a process are allocated the same ID.", "comment": "Is to be understood as a case or process ID (see mapping) in order to be able to track which request the ServiceRequest belongs to.", "min": 1, "type": [ { "code": "Identifier", "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/identifier-procedure-identifier" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-procedure-identifier" ] } ], - "mustSupport": true, - "mapping": [ - { - "identity": "Rezeptanforderung", - "map": "Vorgangs_ID" - }, - { - "identity": "Rezeptanforderung-Rezeptuebermittlung", - "map": "Vorgangs_ID" - }, - { - "identity": "Rezeptanforderung-Storno", - "map": "Vorgangs_ID" - }, - { - "identity": "Rezeptanforderung-Ablehnung", - "map": "Vorgangs_ID" - } - ] + "mustSupport": true }, { "id": "ServiceRequest.status", @@ -250,29 +204,56 @@ { "id": "ServiceRequest.intent", "path": "ServiceRequest.intent", - "fixedCode": "order" + "fixedCode": "order", + "mustSupport": true }, { "id": "ServiceRequest.priority", "path": "ServiceRequest.priority", - "mapping": [ - { - "identity": "Rezeptanforderung", - "map": "Prioritaet" - } - ] + "short": "Indicates the urgency of the request.", + "definition": "The priority can be used to indicate the urgency of the request.", + "comment": "Allowed values: routine | urgent", + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "https://gematik.de/fhir/erp-servicerequest/ValueSet/service-request-priority-vs" + } }, { "id": "ServiceRequest.code", "path": "ServiceRequest.code", "short": "Indicates the type of service request.", + "min": 1, "mustSupport": true }, { "id": "ServiceRequest.code.coding", "path": "ServiceRequest.code.coding", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open", + "description": "Differentiates between the service request type and additional information.", + "ordered": false + }, + "min": 1, + "mustSupport": true + }, + { + "id": "ServiceRequest.code.coding:request-type", + "path": "ServiceRequest.code.coding", + "sliceName": "request-type", + "short": "Indicates the type of service request.", "min": 1, "max": "1", + "patternCoding": { + "code": "prescription-request", + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" + }, "mustSupport": true, "binding": { "strength": "required", @@ -280,53 +261,34 @@ } }, { - "id": "ServiceRequest.code.coding.system", + "id": "ServiceRequest.code.coding:request-type.system", "path": "ServiceRequest.code.coding.system", "min": 1 }, { - "id": "ServiceRequest.code.coding.code", + "id": "ServiceRequest.code.coding:request-type.code", "path": "ServiceRequest.code.coding.code", - "comment": "#prescription-request defines this ServiceRequest as a prescription request from a doctor.", - "min": 1, - "fixedCode": "prescription-request" - }, - { - "id": "ServiceRequest.orderDetail", - "path": "ServiceRequest.orderDetail", - "min": 1, - "max": "1", - "mustSupport": true - }, - { - "id": "ServiceRequest.orderDetail.coding", - "path": "ServiceRequest.orderDetail.coding", - "short": "Specifies how the recipe request should be fulfilled.", - "comment": "If the prescription goes to a pharmacy, a corresponding ServiceRequest must be included in the bundle.", - "min": 1, - "max": "1", - "mustSupport": true, - "binding": { - "strength": "required", - "valueSet": "https://gematik.de/fhir/erp-servicerequest/ValueSet/prescription-fullfillment-type-vs" - } + "comment": "#prescription-request defines this ServiceRequest as a prescription request from a requester to a doctor.", + "min": 1 }, { "id": "ServiceRequest.subject", "path": "ServiceRequest.subject", "short": "Patient for whom a prescription is requested on behalf of the patient.", - "mustSupport": true, - "mapping": [ + "type": [ { - "identity": "Rezeptanforderung", - "map": "Patienteninformationen" + "code": "Reference", + "targetProfile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient" + ] } - ] + ], + "mustSupport": true }, { "id": "ServiceRequest.occurrence[x]", "path": "ServiceRequest.occurrence[x]", - "short": "Specifies the date on which the prescription is to be issued.", + "short": "Specifies the date on which the prescription is to be issued (Bedarfszeitraum).", "comment": "Can be used by the requester to make the timely urgency clear.", "type": [ { @@ -347,93 +309,93 @@ "id": "ServiceRequest.requester", "path": "ServiceRequest.requester", "short": "Inquiring facility or practitioner.", - "comment": "The KIM address is already stored in the message header. Therefore, the preferred specification is to store a KBV_PR_FOR_Practitioner.", - "min": 1, + "comment": "The KIM address is already stored in the message header.", "type": [ { "code": "Reference", "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Organization", - "http://hl7.org/fhir/StructureDefinition/Practitioner" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" ] } ], - "mustSupport": true, - "mapping": [ - { - "identity": "Rezeptanforderung", - "map": "Adressat_der_Rezeptuebermittlung" - } - ] + "mustSupport": true }, { "id": "ServiceRequest.performer", "path": "ServiceRequest.performer", - "short": "Doctor who is to write the prescription.", + "short": "Doctor who is to issue the prescription.", "type": [ { "code": "Reference", "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Practitioner" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-practitioner" ] } ], - "mustSupport": true, - "mapping": [ - { - "identity": "Rezeptanforderung", - "map": "Adressat_der_Rezeptanforderung" - } - ] + "mustSupport": true }, { "id": "ServiceRequest.reasonCode", "path": "ServiceRequest.reasonCode", - "short": "Code indicating why a prescription is requested.", - "comment": "Also used to indicate why the transaction was canceled in the event of a cancellation.", - "mustSupport": true, - "binding": { - "strength": "required", - "valueSet": "https://gematik.de/fhir/erp-servicerequest/ValueSet/request-reason-vs" - }, - "mapping": [ - { - "identity": "Rezeptanforderung", - "map": "Bedarfsbegruendung (Code)" - }, - { - "identity": "Rezeptanforderung-Storno", - "map": "Begründung der Stornierung" - }, - { - "identity": "Rezeptanforderung-Ablehnung", - "map": "Ablehnungsgrund" - } - ] + "short": "Reason for the prescription request.", + "comment": "The reason for the prescription request can be documented here.", + "mustSupport": true }, { - "id": "ServiceRequest.reasonReference", - "path": "ServiceRequest.reasonReference", - "short": "Reference to an observation resource that indicates how long the current medication will last.", - "comment": "If a reference to the reason is provided, a human-readable entry in .note must also be added in case systems cannot process the referenced observation.", + "id": "ServiceRequest.reasonCode.extension", + "path": "ServiceRequest.reasonCode.extension", + "mustSupport": true + }, + { + "id": "ServiceRequest.reasonCode.extension:remainingSupply", + "path": "ServiceRequest.reasonCode.extension", + "sliceName": "remainingSupply", + "short": "Remaining supply", + "definition": "Indicates the remaining supply of the medication.", + "min": 0, + "max": "1", "type": [ { - "code": "Reference", - "targetProfile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-remaining-medication" + "code": "Extension", + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-ex" ] } ], - "mapping": [ - { - "identity": "Rezeptanforderung", - "map": "Bedarfsbegruendung (Observation)" - }, + "mustSupport": true + }, + { + "id": "ServiceRequest.reasonCode.extension:remainingSupplyFreeText", + "path": "ServiceRequest.reasonCode.extension", + "sliceName": "remainingSupplyFreeText", + "short": "Remaining supply as free text", + "definition": "Here the remaining supply of the medication can be stated as free text.", + "min": 0, + "max": "1", + "type": [ { - "identity": "Rezeptanforderung", - "map": "Restreichweite" + "code": "Extension", + "profile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-free-text-ex" + ] } - ] + ], + "mustSupport": true + }, + { + "id": "ServiceRequest.reasonCode.coding", + "path": "ServiceRequest.reasonCode.coding", + "max": "1", + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "https://gematik.de/fhir/erp-servicerequest/ValueSet/medication-request-reason-vs" + } + }, + { + "id": "ServiceRequest.reasonCode.text", + "path": "ServiceRequest.reasonCode.text", + "mustSupport": true }, { "id": "ServiceRequest.supportingInfo", @@ -446,14 +408,17 @@ } ], "rules": "open", - "description": "Supporting information for the prescription request" + "description": "Additional information on the prescription request.", + "ordered": false }, "mustSupport": true }, { - "id": "ServiceRequest.supportingInfo:AuslieferndeApotheke", + "id": "ServiceRequest.supportingInfo:pflegeeinrichtungKopie", "path": "ServiceRequest.supportingInfo", - "sliceName": "AuslieferndeApotheke", + "sliceName": "pflegeeinrichtungKopie", + "short": "Reference to the care facility that receives a copy of the prescription.", + "comment": "This needs to be set if the initiating Requester is a pharmacy.", "min": 0, "max": "1", "type": [ @@ -467,7 +432,7 @@ "mustSupport": true }, { - "id": "ServiceRequest.supportingInfo:AuslieferndeApotheke.type", + "id": "ServiceRequest.supportingInfo:pflegeeinrichtungKopie.type", "path": "ServiceRequest.supportingInfo.type", "min": 1, "patternUri": "Organization" @@ -477,25 +442,14 @@ "path": "ServiceRequest.note", "short": "Further information on the prescription request.", "comment": "Any use cases that are not specified can be placed here in free text.", - "mustSupport": true, - "mapping": [ - { - "identity": "Rezeptanforderung", - "map": "Freitext" - }, - { - "identity": "Rezeptanforderung-Rezeptuebermittlung", - "map": "Hinweise_fuer_Empfaenger" - }, - { - "identity": "Rezeptanforderung-Rezeptuebermittlung", - "map": "Freitext" - }, - { - "identity": "Rezeptanforderung-Ablehnung", - "map": "Freitext" - } - ] + "mustSupport": true + }, + { + "id": "ServiceRequest.note.time", + "path": "ServiceRequest.note.time", + "comment": "This is used in order to sort the Annotations", + "min": 1, + "mustSupport": true } ] } diff --git a/Resources/fsh-generated/resources/StructureDefinition-identifier-procedure-identifier.json b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-procedure-identifier.json similarity index 66% rename from Resources/fsh-generated/resources/StructureDefinition-identifier-procedure-identifier.json rename to Resources/fsh-generated/resources/StructureDefinition-erp-service-request-procedure-identifier.json index 1909c965..e3ce85e2 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-identifier-procedure-identifier.json +++ b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-procedure-identifier.json @@ -1,32 +1,16 @@ { "resourceType": "StructureDefinition", - "id": "identifier-procedure-identifier", - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/identifier-procedure-identifier", - "version": "1.0", + "id": "erp-service-request-procedure-identifier", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-procedure-identifier", + "version": "1.2", "name": "ERPServiceRequestProcedureIdentifier", "title": "ERP Service Request Procedure Identifier", - "status": "active", + "status": "draft", "experimental": false, + "date": "2025-01-01", "publisher": "gematik GmbH", "description": "This identifier is used to identify service requests of a process", "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "servd", - "uri": "http://www.omg.org/spec/ServD/1.0/", - "name": "ServD" - } - ], "kind": "complex-type", "abstract": false, "type": "Identifier", @@ -37,7 +21,9 @@ { "id": "Identifier.system", "path": "Identifier.system", - "patternUri": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" + "min": 1, + "patternUri": "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier", + "mustSupport": true }, { "id": "Identifier.value", diff --git a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-remaining-medication.json b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-remaining-medication.json deleted file mode 100644 index e6e60528..00000000 --- a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-remaining-medication.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "resourceType": "StructureDefinition", - "id": "erp-service-request-remaining-medication", - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-remaining-medication", - "version": "1.0", - "name": "ERPServiceRequestRemainingMedication", - "title": "ERP Service Request Remaining Medication", - "status": "active", - "experimental": false, - "publisher": "gematik GmbH", - "description": "This observation describes how long or how much of a medication is left", - "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "workflow", - "uri": "http://hl7.org/fhir/workflow", - "name": "Workflow Pattern" - }, - { - "identity": "sct-concept", - "uri": "http://snomed.info/conceptdomain", - "name": "SNOMED CT Concept Domain Binding" - }, - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "w5", - "uri": "http://hl7.org/fhir/fivews", - "name": "FiveWs Pattern Mapping" - }, - { - "identity": "sct-attr", - "uri": "http://snomed.org/attributebinding", - "name": "SNOMED CT Attribute Binding" - } - ], - "kind": "resource", - "abstract": false, - "type": "Observation", - "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Observation", - "derivation": "constraint", - "differential": { - "element": [ - { - "id": "Observation.status", - "path": "Observation.status", - "fixedCode": "final" - }, - { - "id": "Observation.code", - "path": "Observation.code", - "mustSupport": true, - "binding": { - "strength": "required", - "valueSet": "https://gematik.de/fhir/erp-servicerequest/ValueSet/medication-observation-vs" - } - }, - { - "id": "Observation.code.coding.code", - "path": "Observation.code.coding.code", - "short": "Identifies this observation as an indication of the remaining range of a medication", - "fixedCode": "range-of-medication" - }, - { - "id": "Observation.subject", - "path": "Observation.subject", - "short": "Reference of the patient receiving the medication", - "min": 1, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient" - ] - } - ], - "mustSupport": true - }, - { - "id": "Observation.value[x]", - "path": "Observation.value[x]", - "short": "Indication of the remaining range in quantity or date on which the medication expires", - "min": 1, - "type": [ - { - "code": "Quantity" - }, - { - "code": "dateTime" - } - ], - "mustSupport": true - } - ] - } -} diff --git a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-request-header.json b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-request-header.json index 1811a47d..c515fa14 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-request-header.json +++ b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-request-header.json @@ -2,31 +2,15 @@ "resourceType": "StructureDefinition", "id": "erp-service-request-request-header", "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header", - "version": "1.0", + "version": "1.2", "name": "ERPServiceRequestRequestHeader", "title": "ERP Service Request Request Header", - "status": "active", + "status": "draft", "experimental": false, + "date": "2025-01-01", "publisher": "gematik GmbH", "description": "Header containing information about the sender and addressee", "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "w5", - "uri": "http://hl7.org/fhir/fivews", - "name": "FiveWs Pattern Mapping" - } - ], "kind": "resource", "abstract": false, "type": "MessageHeader", @@ -66,17 +50,58 @@ "valueSet": "https://gematik.de/fhir/erp-servicerequest/ValueSet/service-identifier-vs" } }, + { + "id": "MessageHeader.destination.receiver.identifier", + "path": "MessageHeader.destination.receiver.identifier", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-telematik-id" + ] + } + ] + }, + { + "id": "MessageHeader.sender.identifier", + "path": "MessageHeader.sender.identifier", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-telematik-id" + ] + } + ] + }, + { + "id": "MessageHeader.responsible", + "path": "MessageHeader.responsible", + "short": "The organization that is responsible for the request.", + "comment": "This organization will be stated in the message header as the sender of the message.", + "min": 1, + "type": [ + { + "code": "Reference", + "targetProfile": [ + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" + ] + } + ], + "mustSupport": true + }, { "id": "MessageHeader.focus", "path": "MessageHeader.focus", "short": "Specification of the ServiceRequest that contains the essential information for a given use case.", - "comment": "Since a request should address exactly one medication, a ServiceRequest must also be specified accordingly.", + "comment": "One Message can contain multiple ServiceRequests which each are identified with an ID.", "type": [ { "code": "Reference", "targetProfile": [ "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request", - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-dispense-request" + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-dispense-request", + "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" ] } ] diff --git a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-request-identifier.json b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-request-identifier.json index de09ea98..fe35f5e2 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-request-identifier.json +++ b/Resources/fsh-generated/resources/StructureDefinition-erp-service-request-request-identifier.json @@ -2,31 +2,15 @@ "resourceType": "StructureDefinition", "id": "erp-service-request-request-identifier", "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-identifier", - "version": "1.0", + "version": "1.2", "name": "ERPServiceRequestRequestIdentifier", "title": "ERP Service Request Request Identifier", - "status": "active", + "status": "draft", "experimental": false, + "date": "2025-01-01", "publisher": "gematik GmbH", "description": "This identifier is used to identify a single ServiceRequest", "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "servd", - "uri": "http://www.omg.org/spec/ServD/1.0/", - "name": "ServD" - } - ], "kind": "complex-type", "abstract": false, "type": "Identifier", @@ -37,7 +21,9 @@ { "id": "Identifier.system", "path": "Identifier.system", - "fixedUri": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" + "min": 1, + "patternUri": "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier", + "mustSupport": true }, { "id": "Identifier.value", diff --git a/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-dispense-request-confirmation.json b/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-dispense-request-confirmation.json new file mode 100644 index 00000000..31274f04 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-dispense-request-confirmation.json @@ -0,0 +1,553 @@ +{ + "resourceType": "StructureDefinition", + "id": "gem-erp-sr-log-dispense-request-confirmation", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request-confirmation", + "version": "1.2", + "name": "GEM_ERP_SR_LOG_DispenseRequest_Confirmation", + "title": "Logical Model Dispenseieranforderung_Bestätigung", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "Fachliches Modell zur Beschreibung einer Bestätigung einer Dispenseieranforderung", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "name": "Dispensieranforderung Bestätigung Fachliches Mapping", + "uri": "ERPServiceRequestDispenseRequest", + "comment": "Mapping des Fachmodells aus GEM_ERP_SR_LOG_DispenseRequest_Confirmation auf das FHIR-Modell ERPServiceRequestDispenseRequest" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "name": "Quelle der Dispensieranforderung Bestätigung Informationen", + "comment": "Beschreibt die Quelle der Dispensieranforderung Bestätigung Informatione" + } + ], + "kind": "logical", + "abstract": false, + "type": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request-confirmation", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element", + "derivation": "specialization", + "differential": { + "element": [ + { + "id": "gem-erp-sr-log-dispense-request-confirmation", + "path": "gem-erp-sr-log-dispense-request-confirmation", + "short": "Logical Model Dispenseieranforderung_Bestätigung", + "definition": "Fachliches Modell zur Beschreibung einer Bestätigung einer Dispenseieranforderung", + "constraint": [ + { + "key": "log-dispense-request-confirmation-1", + "severity": "error", + "human": "Wenn eine Anfrage erfüllt wird (status = 'completed'), müssen Abgabeinformationen vorhanden sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request-confirmation" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten", + "path": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten", + "short": "Metadaten im MessageHeader", + "definition": "Metadaten im MessageHeader", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Erstellendes AVS" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.Empfaenger", + "path": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.Empfaenger", + "short": "Empfänger der Nachricht", + "definition": "Empfänger der Nachricht", + "min": 1, + "max": "*", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Aus initialer Dispensieranforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.Empfaenger.KIMAdresse", + "path": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.Empfaenger.KIMAdresse", + "short": "KIM-Adresse des Empfängers", + "definition": "KIM-Adresse des Empfängers", + "min": 1, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination.endpoint" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Aus initialer Dispensieranforderung (KIM Nachricht)" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.Empfaenger.TelematikID", + "path": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.Empfaenger.TelematikID", + "short": "Telematik-ID des Absenders", + "definition": "Telematik-ID des Absenders", + "min": 0, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination.receiver.identifier.value" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Aus initialer Dispensieranforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.Absender", + "path": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.Absender", + "short": "Absender der Nachricht", + "definition": "Absender der Nachricht", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Erstellendes AVS" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.Absender.TelematikID", + "path": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.Absender.TelematikID", + "short": "Telematik-ID des Absenders", + "definition": "Telematik-ID des Absenders", + "min": 0, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender.identifier.value" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Erstellendes AVS, SMC-B oder HBA Zertifikat" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.Absender.Name", + "path": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.Absender.Name", + "short": "Name des Absenders", + "definition": "Name des Absenders", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender.display" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Erstellendes AVS" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.AbsendendesSystem", + "path": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.AbsendendesSystem", + "short": "Absendendes System", + "definition": "Absendendes System", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Erstellendes AVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.AbsendendesSystem.Name", + "path": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.AbsendendesSystem.Name", + "short": "Name des Herstellers des absendenden Systems", + "definition": "Name des Herstellers des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.name" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Erstellendes AVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.AbsendendesSystem.Software", + "path": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.AbsendendesSystem.Software", + "short": "Name der Software des absendenden Systems", + "definition": "Name der Software des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.software" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Erstellendes AVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.AbsendendesSystem.Version", + "path": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.AbsendendesSystem.Version", + "short": "Version des absendenden Systems", + "definition": "Version des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.version" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Erstellendes AVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.AbsendendesSystem.EMailKontakt", + "path": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.AbsendendesSystem.EMailKontakt", + "short": "E-Mail-Kontakt des absendenden Systems", + "definition": "E-Mail-Kontakt des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.contact.value" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Erstellendes AVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.AbsendendesSystem.Website", + "path": "gem-erp-sr-log-dispense-request-confirmation.MetaDaten.AbsendendesSystem.Website", + "short": "Website des absendenden Systems", + "definition": "Website des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.endpoint" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Erstellendes AVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.Status", + "path": "gem-erp-sr-log-dispense-request-confirmation.Status", + "short": "Status", + "definition": "Status der Anforderung. Wird genutzt, um den Bearbeitungsstand einer Anfrage zu verfolgen. Im Falle der Dispensieranforderung wird eine erledigte Anfrage mit dem Status 'completed' geschickt und signalisiert somit eine neue Anfrage.", + "min": 1, + "max": "1", + "type": [ + { + "code": "code" + } + ], + "constraint": [ + { + "key": "log-dispense-request-confirmation-1", + "severity": "error", + "human": "Wenn eine Anfrage erfüllt wird (status = 'completed'), müssen Abgabeinformationen vorhanden sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request-confirmation" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.status" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "AVS", + "comment": "Setzt den Status der Anfrage auf 'completed'" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.VorgangsID", + "path": "gem-erp-sr-log-dispense-request-confirmation.VorgangsID", + "short": "ID des Vorgangs", + "definition": "Wird vom initialen Sender gesetzt und muss immer mitgeführt werden.", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.identifier:requestId.value" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Dispensieranforderung", + "comment": "VorgangsID aus der initialen Dispensieranforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.Freitext", + "path": "gem-erp-sr-log-dispense-request-confirmation.Freitext", + "short": "Freitext", + "definition": "Individuelle Nachricht an den Empfänger", + "min": 0, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.note" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Nutzer des AVS", + "comment": "Abfrage im Moment der Bestätigung" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.Anhaenge", + "path": "gem-erp-sr-log-dispense-request-confirmation.Anhaenge", + "short": "Anhänge", + "definition": "Anhänge zur Anforderung. Das können PDFs, Bilder oder andere Dokumente sein.", + "comment": "Werden auf Ebene der KIM-Nachricht angehangen", + "min": 0, + "max": "*", + "type": [ + { + "code": "Attachment" + } + ], + "mapping": [ + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "Nutzer", + "comment": "Angabe im Moment der Bestätigung" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.Belieferungsart", + "path": "gem-erp-sr-log-dispense-request-confirmation.Belieferungsart", + "short": "Belieferungsart", + "definition": "Angabe der Belieferungsart", + "min": 0, + "max": "1", + "type": [ + { + "code": "Coding" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.code.coding[delivery-type]" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.Belieferungsart.BelieferungsartCode", + "path": "gem-erp-sr-log-dispense-request-confirmation.Belieferungsart.BelieferungsartCode", + "short": "Belieferungsart-Code", + "definition": "Folgende Codes sind zulässig: Abholung durch Pflegedienst, Lieferung der Apotheke, Abholung durch Patienten", + "min": 1, + "max": "1", + "type": [ + { + "code": "Coding" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.code.coding[delivery-type].code" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.Medikation", + "path": "gem-erp-sr-log-dispense-request-confirmation.Medikation", + "short": "Medikation", + "definition": "Angaben zur Medikation", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "constraint": [ + { + "key": "log-dispense-request-confirmation-1", + "severity": "error", + "human": "Wenn eine Anfrage erfüllt wird (status = 'completed'), müssen Abgabeinformationen vorhanden sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request-confirmation" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.supportingInfo:Abgabedaten" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "AVS", + "comment": "Informationen aus Abgabedatensatz" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request-confirmation.Medikation.Abgabeinformationen", + "path": "gem-erp-sr-log-dispense-request-confirmation.Medikation.Abgabeinformationen", + "short": "Medizinische Verordnungsinformationen", + "definition": "MedicationDispense und Medication Objekt aus den Abgabedaten.", + "min": 1, + "max": "1", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org/fhir/StructureDefinition/MedicationDispense" + ] + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationDispense" + }, + { + "identity": "Quelle-Dispensieranforderung-Bestaetigung-Mapping", + "map": "AVS", + "comment": "Informationen aus Abgabedatensatz (MedicationDispense und Medication)" + } + ] + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-dispense-request.json b/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-dispense-request.json new file mode 100644 index 00000000..5e41d935 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-dispense-request.json @@ -0,0 +1,874 @@ +{ + "resourceType": "StructureDefinition", + "id": "gem-erp-sr-log-dispense-request", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request", + "version": "1.2", + "name": "GEM_ERP_SR_LOG_DispenseRequest", + "title": "Logical Model Dispenseieranforderung", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "Fachliches Modell zur Beschreibung einer Dispenseieranforderung", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "name": "Dispensieranforderung Fachliches Mapping", + "uri": "ERPServiceRequestDispenseRequest", + "comment": "Mapping des Fachmodells aus GEM_ERP_SR_LOG_DispenseRequest auf das FHIR-Modell ERPServiceRequestDispenseRequest" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "name": "Quelle der Dispensieranforderungsinformationen", + "comment": "Beschreibt die Quelle der Dispensieranforderungsinformationen. Wird von der Pflegeeinrichtung zur Anforderung zur Abgabe von Arzneimitteln verwendet." + } + ], + "kind": "logical", + "abstract": false, + "type": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element", + "derivation": "specialization", + "differential": { + "element": [ + { + "id": "gem-erp-sr-log-dispense-request", + "path": "gem-erp-sr-log-dispense-request", + "short": "Logical Model Dispenseieranforderung", + "definition": "Fachliches Modell zur Beschreibung einer Dispenseieranforderung", + "constraint": [ + { + "key": "log-dispense-request-1", + "severity": "error", + "human": "Wenn eine Anfrage gestellt wird (status = 'active'), muss der Anfragende eine Pflegeeinrichtung sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request" + }, + { + "key": "log-dispense-request-2", + "severity": "error", + "human": "Wenn eine Anfrage gestellt wird (status = 'active'), muss auch der E-Rezept-Token vorhanden sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request" + }, + { + "key": "log-dispense-request-3", + "severity": "error", + "human": "Wenn als Belieferungsart 'Lieferung an Alternative Addresse' angegeben wird, dann muss die Adresse auch angegeben werden.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.MetaDaten", + "path": "gem-erp-sr-log-dispense-request.MetaDaten", + "short": "Metadaten im MessageHeader", + "definition": "Metadaten im MessageHeader", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Erstellendes PS", + "comment": "Pflegesystem" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.MetaDaten.Empfaenger", + "path": "gem-erp-sr-log-dispense-request.MetaDaten.Empfaenger", + "short": "Empfänger der Nachricht", + "definition": "Empfänger der Nachricht", + "min": 1, + "max": "*", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Aus Kontaktmanagement oder VZD Suche" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.MetaDaten.Empfaenger.KIMAdresse", + "path": "gem-erp-sr-log-dispense-request.MetaDaten.Empfaenger.KIMAdresse", + "short": "KIM-Adresse des Empfängers", + "definition": "KIM-Adresse des Empfängers", + "min": 1, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination.endpoint" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Aus Kontaktmanagement oder VZD Suche" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.MetaDaten.Empfaenger.TelematikID", + "path": "gem-erp-sr-log-dispense-request.MetaDaten.Empfaenger.TelematikID", + "short": "Telematik-ID des Absenders", + "definition": "Telematik-ID des Absenders", + "min": 0, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination.receiver.identifier.value" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Aus Kontaktmanagement oder VZD Suche" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.MetaDaten.Absender", + "path": "gem-erp-sr-log-dispense-request.MetaDaten.Absender", + "short": "Absender der Nachricht", + "definition": "Absender der Nachricht", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Erstellendes PS", + "comment": "Pflegesystem" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.MetaDaten.Absender.TelematikID", + "path": "gem-erp-sr-log-dispense-request.MetaDaten.Absender.TelematikID", + "short": "Telematik-ID des Absenders", + "definition": "Telematik-ID des Absenders", + "min": 0, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender.identifier.value" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Erstellendes PS, SMC-B Zertifikat" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.MetaDaten.Absender.Name", + "path": "gem-erp-sr-log-dispense-request.MetaDaten.Absender.Name", + "short": "Name des Absenders", + "definition": "Name des Absenders", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender.display" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Erstellendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.MetaDaten.AbsendendesSystem", + "path": "gem-erp-sr-log-dispense-request.MetaDaten.AbsendendesSystem", + "short": "Absendendes System", + "definition": "Absendendes System", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.MetaDaten.AbsendendesSystem.Name", + "path": "gem-erp-sr-log-dispense-request.MetaDaten.AbsendendesSystem.Name", + "short": "Name des Herstellers des absendenden Systems", + "definition": "Name des Herstellers des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.name" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.MetaDaten.AbsendendesSystem.Software", + "path": "gem-erp-sr-log-dispense-request.MetaDaten.AbsendendesSystem.Software", + "short": "Name der Software des absendenden Systems", + "definition": "Name der Software des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.software" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.MetaDaten.AbsendendesSystem.Version", + "path": "gem-erp-sr-log-dispense-request.MetaDaten.AbsendendesSystem.Version", + "short": "Version des absendenden Systems", + "definition": "Version des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.version" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.MetaDaten.AbsendendesSystem.EMailKontakt", + "path": "gem-erp-sr-log-dispense-request.MetaDaten.AbsendendesSystem.EMailKontakt", + "short": "E-Mail-Kontakt des absendenden Systems", + "definition": "E-Mail-Kontakt des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.contact.value" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.MetaDaten.AbsendendesSystem.Website", + "path": "gem-erp-sr-log-dispense-request.MetaDaten.AbsendendesSystem.Website", + "short": "Website des absendenden Systems", + "definition": "Website des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.endpoint" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.Status", + "path": "gem-erp-sr-log-dispense-request.Status", + "short": "Status", + "definition": "Status der Anforderung. Wird genutzt, um den Bearbeitungsstand einer Anfrage zu verfolgen. Im Falle der initialen Dispensieranforderung wird eine Anfrage mit dem Status 'active' erstellt und geschickt und signalisiert somit eine neue Anfrage.", + "min": 1, + "max": "1", + "type": [ + { + "code": "code" + } + ], + "constraint": [ + { + "key": "log-dispense-request-1", + "severity": "error", + "human": "Wenn eine Anfrage gestellt wird (status = 'active'), muss der Anfragende eine Pflegeeinrichtung sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request" + }, + { + "key": "log-dispense-request-2", + "severity": "error", + "human": "Wenn eine Anfrage gestellt wird (status = 'active'), muss auch der E-Rezept-Token vorhanden sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.status" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Anfragendes PS", + "comment": "Setzt den Status der Anfrage auf 'active'" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.VorgangsID", + "path": "gem-erp-sr-log-dispense-request.VorgangsID", + "short": "ID des Vorgangs", + "definition": "Wird vom initialen Sender gesetzt und muss immer mitgeführt werden.", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.identifier:requestId.value" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Initiale Rezeptanforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.ERezeptToken", + "path": "gem-erp-sr-log-dispense-request.ERezeptToken", + "short": "E-Rezept-Token", + "definition": "Token der für die Einlösung der Verordnung gebraucht wird.", + "comment": "Angabe nach gemSpec_DM_eRp#A_19554.", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "constraint": [ + { + "key": "log-dispense-request-2", + "severity": "error", + "human": "Wenn eine Anfrage gestellt wird (status = 'active'), muss auch der E-Rezept-Token vorhanden sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.extension:EPrescriptionToken" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Rezeptanforderung_Bestätigung", + "comment": "Wurde vom verordnenden Arzt bereitgestellt" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.involvierteParteien", + "path": "gem-erp-sr-log-dispense-request.involvierteParteien", + "short": "Involvierte Parteien", + "definition": "Angaben zu den involvierten Parteien", + "min": 1, + "max": "*", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.requester" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.involvierteParteien.Anfragender", + "path": "gem-erp-sr-log-dispense-request.involvierteParteien.Anfragender", + "short": "Anfragender", + "definition": "Angaben zum anfragenden", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.requester(ERPServiceRequestOrganization)" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Anfragendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.involvierteParteien.Anfragender.AnfragenderTyp", + "path": "gem-erp-sr-log-dispense-request.involvierteParteien.Anfragender.AnfragenderTyp", + "short": "Typ des Anfragenden", + "definition": "Folgende Typen sind zulässig: Apotheke, Pflegeeinrichtung", + "min": 1, + "max": "1", + "type": [ + { + "code": "Coding" + } + ], + "constraint": [ + { + "key": "log-dispense-request-1", + "severity": "error", + "human": "Wenn eine Anfrage gestellt wird (status = 'active'), muss der Anfragende eine Pflegeeinrichtung sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.requester.type" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.involvierteParteien.Anfragender.Name", + "path": "gem-erp-sr-log-dispense-request.involvierteParteien.Anfragender.Name", + "short": "Name des Anfragenden", + "definition": "Name des Anfragenden", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestOrganization.name" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Anfragendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.involvierteParteien.Anfragender.Adresse", + "path": "gem-erp-sr-log-dispense-request.involvierteParteien.Anfragender.Adresse", + "short": "Straßenadresse des Anfragenden", + "definition": "Straßenadresse des Anfragenden", + "min": 0, + "max": "1", + "type": [ + { + "code": "Address" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestOrganization.address" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Anfragendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.involvierteParteien.Anfragender.Telefon", + "path": "gem-erp-sr-log-dispense-request.involvierteParteien.Anfragender.Telefon", + "short": "Telefonnummer des Anfragenden", + "definition": "Telefonnummer des Anfragenden", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestOrganization.contact.telecom:tel.value" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Anfragendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.involvierteParteien.PatientenInformationen", + "path": "gem-erp-sr-log-dispense-request.involvierteParteien.PatientenInformationen", + "short": "Patienteninformationen", + "definition": "Angaben zum Patienten", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.subject(ERPServiceRequestPatient)" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.involvierteParteien.PatientenInformationen.PatientenIdentifierKVNR", + "path": "gem-erp-sr-log-dispense-request.involvierteParteien.PatientenInformationen.PatientenIdentifierKVNR", + "short": "KVNR des Patienten", + "definition": "KVNR des Patienten", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPatient.identifier.value" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.involvierteParteien.PatientenInformationen.PatientenName", + "path": "gem-erp-sr-log-dispense-request.involvierteParteien.PatientenInformationen.PatientenName", + "short": "Name des Patienten", + "definition": "Strukturierte Angabe des Namens des Patienten", + "min": 1, + "max": "1", + "type": [ + { + "code": "HumanName" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPatient.name" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.involvierteParteien.PatientenInformationen.PatientenGeburtstag", + "path": "gem-erp-sr-log-dispense-request.involvierteParteien.PatientenInformationen.PatientenGeburtstag", + "short": "Geburtstag des Patienten", + "definition": "Angabe des Geburtstags mit Jahr, Monat und Tag", + "min": 1, + "max": "1", + "type": [ + { + "code": "date" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPatient.birthDate" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.Freitext", + "path": "gem-erp-sr-log-dispense-request.Freitext", + "short": "Freitext", + "definition": "Individuelle Nachricht an den Empfänger", + "min": 0, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.note" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Nutzer des PS", + "comment": "Abfrage im Moment der Anforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.Belieferungsart", + "path": "gem-erp-sr-log-dispense-request.Belieferungsart", + "short": "Belieferungsart", + "definition": "Angabe der Belieferungsart", + "min": 0, + "max": "1", + "type": [ + { + "code": "Coding" + } + ], + "constraint": [ + { + "key": "log-dispense-request-3", + "severity": "error", + "human": "Wenn als Belieferungsart 'Lieferung an Alternative Addresse' angegeben wird, dann muss die Adresse auch angegeben werden.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.code.coding[delivery-type]" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.Belieferungsart.BelieferungsartCode", + "path": "gem-erp-sr-log-dispense-request.Belieferungsart.BelieferungsartCode", + "short": "Belieferungsart-Code", + "definition": "Folgende Codes sind zulässig: Abholung durch Pflegedienst, Lieferung der Apotheke, Abholung durch Patienten", + "min": 1, + "max": "1", + "type": [ + { + "code": "Coding" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.code.coding[delivery-type].code" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.Belieferungsart.AlternativeAdresse", + "path": "gem-erp-sr-log-dispense-request.Belieferungsart.AlternativeAdresse", + "short": "Alternative Adresse", + "definition": "Alternative Adresse für die Lieferung", + "min": 0, + "max": "1", + "type": [ + { + "code": "Address" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.extension[alternativeDeliveryAddress]" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.Prioritaet", + "path": "gem-erp-sr-log-dispense-request.Prioritaet", + "short": "Priorität", + "definition": "Angabe der Priorität der Anforderung", + "min": 0, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.priority" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Nutzer des PS", + "comment": "Abfrage im Moment der Anforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.Prioritaet.PrioritaetCode", + "path": "gem-erp-sr-log-dispense-request.Prioritaet.PrioritaetCode", + "short": "Priorität der Anforderung", + "definition": "Folgende Prioritäten sind zulässig: Hoch, Normal", + "min": 1, + "max": "1", + "type": [ + { + "code": "Coding" + } + ], + "mapping": [ + { + "identity": "Dispensieranforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequest.priority" + }, + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Nutzer des PS", + "comment": "Abfrage im Moment der Anforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.Anhaenge", + "path": "gem-erp-sr-log-dispense-request.Anhaenge", + "short": "Anhänge", + "definition": "Anhänge zur Bestätigung. Das können PDFs, Bilder oder andere Dokumente sein.", + "comment": "Werden auf Ebene der KIM-Nachricht angehangen", + "min": 0, + "max": "*", + "type": [ + { + "code": "Attachment" + } + ], + "mapping": [ + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Nutzer oder PS", + "comment": "Angabe im Moment der Bestätigung" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.Anhaenge.Medikationsplan", + "path": "gem-erp-sr-log-dispense-request.Anhaenge.Medikationsplan", + "short": "Medikationsplan", + "definition": "Anhang des Medikationsplans", + "min": 0, + "max": "1", + "type": [ + { + "code": "Attachment" + } + ], + "mapping": [ + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Nutzer, PS oder Rezeptanforderung_Bestätigung", + "comment": "Aktualisierung und ggf. automatische Generierung vom PS" + } + ] + }, + { + "id": "gem-erp-sr-log-dispense-request.Anhaenge.weitereAnhaenge", + "path": "gem-erp-sr-log-dispense-request.Anhaenge.weitereAnhaenge", + "short": "Weitere Anhänge", + "definition": "Weitere Anhänge", + "min": 0, + "max": "*", + "type": [ + { + "code": "Attachment" + } + ], + "mapping": [ + { + "identity": "Quelle-Dispensieranforderung-Mapping", + "map": "Nutzer oder PS" + } + ] + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-message-copy.json b/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-message-copy.json new file mode 100644 index 00000000..5d93f582 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-message-copy.json @@ -0,0 +1,396 @@ +{ + "resourceType": "StructureDefinition", + "id": "gem-erp-sr-log-message-copy", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-message-copy", + "version": "1.2", + "name": "GEM_ERP_SR_LOG_MessageCopy", + "title": "Logical ServiceRequest_Nachricht_Kopie", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "Fachliches Modell zur Beschreibung einer Kopie für die Pflegeeinrichtung.", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "name": "Nachrichten Kopie Fachliches Mapping", + "uri": "ERPServiceRequestRequestHeader", + "comment": "Mapping des Fachmodells aus GEM_ERP_SR_LOG_MessageCopy auf das FHIR-Modell ERPServiceRequestRequestHeader" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "name": "Quelle der Informationen für die Nachrichtenkopie", + "comment": "Beschreibt die Quelle der Informationen für die Nachrichtenkopie. Diese werden immer versendet, wenn die Rezeptanforderung und deren Bestätigung zwischen Arzt und Apotheke ausgetauscht werden." + } + ], + "kind": "logical", + "abstract": false, + "type": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-message-copy", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element", + "derivation": "specialization", + "differential": { + "element": [ + { + "id": "gem-erp-sr-log-message-copy", + "path": "gem-erp-sr-log-message-copy", + "short": "Logical ServiceRequest_Nachricht_Kopie", + "definition": "Fachliches Modell zur Beschreibung einer Kopie für die Pflegeeinrichtung." + }, + { + "id": "gem-erp-sr-log-message-copy.MetaDaten", + "path": "gem-erp-sr-log-message-copy.MetaDaten", + "short": "Metadaten im MessageHeader", + "definition": "Metadaten im MessageHeader", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "Erstellendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-message-copy.MetaDaten.Empfaenger", + "path": "gem-erp-sr-log-message-copy.MetaDaten.Empfaenger", + "short": "Empfänger der Nachricht", + "definition": "Empfänger der Nachricht", + "min": 1, + "max": "*", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "VZD oder Rezeptanforderung", + "comment": "Wenn die Nachricht initial erstellt wird kann die Apotheke die Informationen aus dem System oder VZD beziehen. Der Verordnende kann die Informationen aus der Rezeptanforderung beziehen." + } + ] + }, + { + "id": "gem-erp-sr-log-message-copy.MetaDaten.Empfaenger.KIMAdresse", + "path": "gem-erp-sr-log-message-copy.MetaDaten.Empfaenger.KIMAdresse", + "short": "KIM-Adresse des Empfängers", + "definition": "KIM-Adresse des Empfängers", + "min": 1, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination.endpoint" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "VZD oder Rezeptanforderung", + "comment": "Wenn die Nachricht initial erstellt wird kann die Apotheke die Informationen aus dem System oder VZD beziehen. Der Verordnende kann die Informationen aus der Rezeptanforderung beziehen." + } + ] + }, + { + "id": "gem-erp-sr-log-message-copy.MetaDaten.Empfaenger.TelematikID", + "path": "gem-erp-sr-log-message-copy.MetaDaten.Empfaenger.TelematikID", + "short": "Telematik-ID des Absenders", + "definition": "Telematik-ID des Absenders", + "min": 0, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination.receiver.identifier.value" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "VZD oder Rezeptanforderung", + "comment": "Wenn die Nachricht initial erstellt wird kann die Apotheke die Informationen aus dem System oder VZD beziehen. Der Verordnende kann die Informationen aus der Rezeptanforderung beziehen." + } + ] + }, + { + "id": "gem-erp-sr-log-message-copy.MetaDaten.Absender", + "path": "gem-erp-sr-log-message-copy.MetaDaten.Absender", + "short": "Absender der Nachricht", + "definition": "Absender der Nachricht", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "Erstellendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-message-copy.MetaDaten.Absender.TelematikID", + "path": "gem-erp-sr-log-message-copy.MetaDaten.Absender.TelematikID", + "short": "Telematik-ID des Absenders", + "definition": "Telematik-ID des Absenders", + "min": 0, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender.identifier.value" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "Erstellendes PS, SMC-B oder HBA Zertifikat" + } + ] + }, + { + "id": "gem-erp-sr-log-message-copy.MetaDaten.Absender.Name", + "path": "gem-erp-sr-log-message-copy.MetaDaten.Absender.Name", + "short": "Name des Absenders", + "definition": "Name des Absenders", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender.display" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "Erstellendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-message-copy.MetaDaten.AbsendendesSystem", + "path": "gem-erp-sr-log-message-copy.MetaDaten.AbsendendesSystem", + "short": "Absendendes System", + "definition": "Absendendes System", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-message-copy.MetaDaten.AbsendendesSystem.Name", + "path": "gem-erp-sr-log-message-copy.MetaDaten.AbsendendesSystem.Name", + "short": "Name des Herstellers des absendenden Systems", + "definition": "Name des Herstellers des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.name" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-message-copy.MetaDaten.AbsendendesSystem.Software", + "path": "gem-erp-sr-log-message-copy.MetaDaten.AbsendendesSystem.Software", + "short": "Name der Software des absendenden Systems", + "definition": "Name der Software des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.software" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-message-copy.MetaDaten.AbsendendesSystem.Version", + "path": "gem-erp-sr-log-message-copy.MetaDaten.AbsendendesSystem.Version", + "short": "Version des absendenden Systems", + "definition": "Version des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.version" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-message-copy.MetaDaten.AbsendendesSystem.EMailKontakt", + "path": "gem-erp-sr-log-message-copy.MetaDaten.AbsendendesSystem.EMailKontakt", + "short": "E-Mail-Kontakt des absendenden Systems", + "definition": "E-Mail-Kontakt des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.contact.value" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-message-copy.MetaDaten.AbsendendesSystem.Website", + "path": "gem-erp-sr-log-message-copy.MetaDaten.AbsendendesSystem.Website", + "short": "Website des absendenden Systems", + "definition": "Website des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.endpoint" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-message-copy.IndikatorKopie", + "path": "gem-erp-sr-log-message-copy.IndikatorKopie", + "short": "Indikator Kopie", + "definition": "Indikator, ob es sich um eine Kopie handelt.", + "min": 1, + "max": "1", + "type": [ + { + "code": "boolean" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestRequestHeader.eventCoding.code = 'eRezept_Rezeptanforderung;message-copy'" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "Erstellendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-message-copy.Anforderungsinformationen", + "path": "gem-erp-sr-log-message-copy.Anforderungsinformationen", + "short": "Anforderungsinformationen", + "definition": "Kopie der Informationen, die dem Empfänger des Originals übertragen wurden. Dabei wird der komplette Datensatz versendet. Siehe\n- [Logical Model Rezeptanforderung](https://simplifier.net/erezept-servicerequest/gem-erp-sr-log-prescription-request)\n- [Logical Model Rezeptanforderung_Storno](https://simplifier.net/erezept-servicerequest/gem-erp-sr-log-prescription-request-cancellation)\n- [Logical Model Rezeptanforderung_Bestätigung](https://simplifier.net/erezept-servicerequest/gem-erp-sr-log-prescription-request-confirmation)", + "min": 1, + "max": "1", + "type": [ + { + "code": "Bundle" + } + ], + "mapping": [ + { + "identity": "Nachrichten-Kopie-Fachliches-Mapping", + "map": "ERPServiceRequestRequestHeader.focus(ERPServiceRequestMessageContainer)" + }, + { + "identity": "Quelle-Message-Copy-Mapping", + "map": "FHIR-Datensatz der zum Empfänger des Originals geschickt wird" + } + ] + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-prescription-request-cancellation.json b/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-prescription-request-cancellation.json new file mode 100644 index 00000000..62405943 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-prescription-request-cancellation.json @@ -0,0 +1,515 @@ +{ + "resourceType": "StructureDefinition", + "id": "gem-erp-sr-log-prescription-request-cancellation", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request-cancellation", + "version": "1.2", + "name": "GEM_ERP_SR_LOG_PrescriptionRequest_Cancellation", + "title": "Logical Model Rezeptanforderung_Storno", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "Fachliches Modell zur Beschreibung einer Stornierung einer Rezeptanforderung seitens der Pflegeeinrichtung.", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "name": "Rezeptanforderung Stornierung Fachliches Mapping", + "uri": "ERPServiceRequestPrescriptionRequest", + "comment": "Mapping des Fachmodells aus GEM_ERP_SR_LOG_PrescriptionRequest_Cancellation auf das FHIR-Modell ERPServiceRequestPrescriptionRequest" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "name": "Quelle der Rezeptanforderung Stornierung Informationen", + "comment": "Beschreibt die Quelle der Rezeptanforderung Stornierung Informatione" + } + ], + "kind": "logical", + "abstract": false, + "type": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request-cancellation", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element", + "derivation": "specialization", + "differential": { + "element": [ + { + "id": "gem-erp-sr-log-prescription-request-cancellation", + "path": "gem-erp-sr-log-prescription-request-cancellation", + "short": "Logical Model Rezeptanforderung_Storno", + "definition": "Fachliches Modell zur Beschreibung einer Stornierung einer Rezeptanforderung seitens der Pflegeeinrichtung." + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten", + "path": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten", + "short": "Metadaten im MessageHeader", + "definition": "Metadaten im MessageHeader", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "Erstellendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.Empfaenger", + "path": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.Empfaenger", + "short": "Empfänger der Nachricht", + "definition": "Empfänger der Nachricht", + "min": 1, + "max": "*", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "Aus initialer Rezeptanforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.Empfaenger.KIMAdresse", + "path": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.Empfaenger.KIMAdresse", + "short": "KIM-Adresse des Empfängers", + "definition": "KIM-Adresse des Empfängers", + "min": 1, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination.endpoint" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "Aus initialer Rezeptanforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.Empfaenger.TelematikID", + "path": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.Empfaenger.TelematikID", + "short": "Telematik-ID des Absenders", + "definition": "Telematik-ID des Absenders", + "min": 0, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination.receiver.identifier.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "Aus initialer Rezeptanforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.Absender", + "path": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.Absender", + "short": "Absender der Nachricht", + "definition": "Absender der Nachricht", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "Erstellendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.Absender.TelematikID", + "path": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.Absender.TelematikID", + "short": "Telematik-ID des Absenders", + "definition": "Telematik-ID des Absenders", + "min": 0, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender.identifier.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "Erstellendes PS, SMC-B oder HBA Zertifikat" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.Absender.Name", + "path": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.Absender.Name", + "short": "Name des Absenders", + "definition": "Name des Absenders", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender.display" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "Erstellendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.AbsendendesSystem", + "path": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.AbsendendesSystem", + "short": "Absendendes System", + "definition": "Absendendes System", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.AbsendendesSystem.Name", + "path": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.AbsendendesSystem.Name", + "short": "Name des Herstellers des absendenden Systems", + "definition": "Name des Herstellers des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.name" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.AbsendendesSystem.Software", + "path": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.AbsendendesSystem.Software", + "short": "Name der Software des absendenden Systems", + "definition": "Name der Software des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.software" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.AbsendendesSystem.Version", + "path": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.AbsendendesSystem.Version", + "short": "Version des absendenden Systems", + "definition": "Version des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.version" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.AbsendendesSystem.EMailKontakt", + "path": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.AbsendendesSystem.EMailKontakt", + "short": "E-Mail-Kontakt des absendenden Systems", + "definition": "E-Mail-Kontakt des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.contact.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.AbsendendesSystem.Website", + "path": "gem-erp-sr-log-prescription-request-cancellation.MetaDaten.AbsendendesSystem.Website", + "short": "Website des absendenden Systems", + "definition": "Website des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.endpoint" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.Status", + "path": "gem-erp-sr-log-prescription-request-cancellation.Status", + "short": "Status", + "definition": "Status der Anforderung. Wird genutzt, um den Bearbeitungsstand einer Anfrage zu verfolgen. Im Falle der Storinierung einer Rezeptanforderung wird eine Anfrage mit dem Status 'revoked' erstellt und geschickt.", + "min": 1, + "max": "1", + "type": [ + { + "code": "code" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.status" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "PS", + "comment": "Setzt den Status der Anfrage auf 'revoked'" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.Grund", + "path": "gem-erp-sr-log-prescription-request-cancellation.Grund", + "short": "Grund der Stornierung", + "definition": "Der Grund, warum die Stornierung angegeben wurde kann als Freitext hinterlegt werden.", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.reasonCode.text" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "Nutzer des PS", + "comment": "Abfrage im Moment der Stornierung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.VorgangsID", + "path": "gem-erp-sr-log-prescription-request-cancellation.VorgangsID", + "short": "ID des Vorgangs", + "definition": "Wird hier genutzt, um die Anfrage die storniert werden soll, zu referenzieren.", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.identifier:requestId.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Stornierung-Mapping", + "map": "PS", + "comment": "Aus initialer Rezeptanforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.Medikation", + "path": "gem-erp-sr-log-prescription-request-cancellation.Medikation", + "short": "Medikation", + "definition": "Angaben zur Medikation", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.basedOn(ERPServiceRequestMedicationRequest)" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.Medikation.MedikationsReferenz", + "path": "gem-erp-sr-log-prescription-request-cancellation.Medikation.MedikationsReferenz", + "short": "Referenz auf das Medikamentenobjekt", + "definition": "Referenz auf das Medikamentenobjekt nach KBV_Verordnung (Freitext, PZN, Wirkstoff, Rezeptur)", + "comment": "Folgende Profile aus dem E-Rezept Verordnungsdatensatz sind zulässig: KBV_PR_ERP_Medication_Compounding, KBV_PR_ERP_Medication_FreeText, KBV_PR_ERP_Medication _Ingredient, KBV_PR_ERP_Medication_PZN", + "min": 0, + "max": "1", + "type": [ + { + "code": "Medication" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.medicationReference" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.Medikation.AnzahlPackungen", + "path": "gem-erp-sr-log-prescription-request-cancellation.Medikation.AnzahlPackungen", + "short": "Anzahl der Packungen", + "definition": "Anzahl der Packungen", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.dispenseRequest.quantity" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.Medikation.AnzahlPackungen.Einheit", + "path": "gem-erp-sr-log-prescription-request-cancellation.Medikation.AnzahlPackungen.Einheit", + "short": "Einheit der Menge, fix auf 'Packung' gesetzt", + "definition": "Einheit der Menge, fix auf 'Packung' gesetzt", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.unit" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-cancellation.Medikation.AnzahlPackungen.Wert", + "path": "gem-erp-sr-log-prescription-request-cancellation.Medikation.AnzahlPackungen.Wert", + "short": "Anzahl der Packungen", + "definition": "Anzahl der Packungen", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Stornierung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.value" + } + ] + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-prescription-request-confirmation.json b/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-prescription-request-confirmation.json new file mode 100644 index 00000000..24228066 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-prescription-request-confirmation.json @@ -0,0 +1,697 @@ +{ + "resourceType": "StructureDefinition", + "id": "gem-erp-sr-log-prescription-request-confirmation", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request-confirmation", + "version": "1.2", + "name": "GEM_ERP_SR_LOG_PrescriptionRequest_Confirmation", + "title": "Logical Model Rezeptanforderung_Bestätigung", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "Fachliches Modell zur Beschreibung einer Bestätigung einer Rezeptanforderung", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "name": "Rezeptanforderung Bestätigung Fachliches Mapping", + "uri": "ERPServiceRequestPrescriptionRequest", + "comment": "Mapping des Fachmodells aus GEM_ERP_SR_LOG_PrescriptionRequest_Confirmation auf das FHIR-Modell ERPServiceRequestPrescriptionRequest" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "name": "Quelle der Rezeptanforderung Bestätigung Informationen", + "comment": "Beschreibt die Quelle der Rezeptanforderung Bestätigung Informatione" + } + ], + "kind": "logical", + "abstract": false, + "type": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request-confirmation", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element", + "derivation": "specialization", + "differential": { + "element": [ + { + "id": "gem-erp-sr-log-prescription-request-confirmation", + "path": "gem-erp-sr-log-prescription-request-confirmation", + "short": "Logical Model Rezeptanforderung_Bestätigung", + "definition": "Fachliches Modell zur Beschreibung einer Bestätigung einer Rezeptanforderung", + "constraint": [ + { + "key": "log-prescription-request-confirmation-1", + "severity": "error", + "human": "Wenn eine Anfrage bestätigt wird (status = 'completed'), muss der E-Rezept Token vorhanden sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request-confirmation" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten", + "path": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten", + "short": "Metadaten im MessageHeader", + "definition": "Metadaten im MessageHeader", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Erstellendes PVS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.Empfaenger", + "path": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.Empfaenger", + "short": "Empfänger der Nachricht", + "definition": "Empfänger der Nachricht", + "min": 1, + "max": "*", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Aus initialer Rezeptanforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.Empfaenger.KIMAdresse", + "path": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.Empfaenger.KIMAdresse", + "short": "KIM-Adresse des Empfängers", + "definition": "KIM-Adresse des Empfängers", + "min": 1, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination.endpoint" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Aus initialer Rezeptanforderung (KIM Nachricht)" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.Empfaenger.TelematikID", + "path": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.Empfaenger.TelematikID", + "short": "Telematik-ID des Absenders", + "definition": "Telematik-ID des Absenders", + "min": 0, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination.receiver.identifier.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Aus initialer Rezeptanforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.Absender", + "path": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.Absender", + "short": "Absender der Nachricht", + "definition": "Absender der Nachricht", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Erstellendes PVS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.Absender.TelematikID", + "path": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.Absender.TelematikID", + "short": "Telematik-ID des Absenders", + "definition": "Telematik-ID des Absenders", + "min": 0, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender.identifier.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Erstellendes PVS, SMC-B oder HBA Zertifikat" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.Absender.Name", + "path": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.Absender.Name", + "short": "Name des Absenders", + "definition": "Name des Absenders", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender.display" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Erstellendes PVS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.AbsendendesSystem", + "path": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.AbsendendesSystem", + "short": "Absendendes System", + "definition": "Absendendes System", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Erstellendes PVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.AbsendendesSystem.Name", + "path": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.AbsendendesSystem.Name", + "short": "Name des Herstellers des absendenden Systems", + "definition": "Name des Herstellers des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.name" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Erstellendes PVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.AbsendendesSystem.Software", + "path": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.AbsendendesSystem.Software", + "short": "Name der Software des absendenden Systems", + "definition": "Name der Software des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.software" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Erstellendes PVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.AbsendendesSystem.Version", + "path": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.AbsendendesSystem.Version", + "short": "Version des absendenden Systems", + "definition": "Version des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.version" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Erstellendes PVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.AbsendendesSystem.EMailKontakt", + "path": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.AbsendendesSystem.EMailKontakt", + "short": "E-Mail-Kontakt des absendenden Systems", + "definition": "E-Mail-Kontakt des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.contact.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Erstellendes PVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.AbsendendesSystem.Website", + "path": "gem-erp-sr-log-prescription-request-confirmation.MetaDaten.AbsendendesSystem.Website", + "short": "Website des absendenden Systems", + "definition": "Website des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.endpoint" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Erstellendes PVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.ERezeptToken", + "path": "gem-erp-sr-log-prescription-request-confirmation.ERezeptToken", + "short": "E-Rezept-Token", + "definition": "Token der für die Einlösung der Verordnung gebraucht wird. Angabe nach gemSpec_DM_eRp#A_19554. Ein Arzt kann sich entscheiden für eine Anfrage mehrere Rezepte auszustellen, daher ist die Angabe von mehreren Token erlaubt", + "min": 1, + "max": "*", + "type": [ + { + "code": "string" + } + ], + "constraint": [ + { + "key": "log-prescription-request-confirmation-1", + "severity": "error", + "human": "Wenn eine Anfrage bestätigt wird (status = 'completed'), muss der E-Rezept Token vorhanden sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request-confirmation" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.extension:EPrescriptionToken" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "E-Rezept-Fachdienst", + "comment": "Token lässt sich aus den Informationen des E-Rezept Fachdienstes erzeugen" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.Status", + "path": "gem-erp-sr-log-prescription-request-confirmation.Status", + "short": "Status", + "definition": "Status der Anforderung. Wird genutzt, um den Bearbeitungsstand einer Anfrage zu verfolgen. Im Falle der Bestätigung der Rezeptanforderung wird eine Anfrage mit dem Status 'completed' geschickt.", + "min": 1, + "max": "1", + "type": [ + { + "code": "code" + } + ], + "constraint": [ + { + "key": "log-prescription-request-confirmation-1", + "severity": "error", + "human": "Wenn eine Anfrage bestätigt wird (status = 'completed'), muss der E-Rezept Token vorhanden sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request-confirmation" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.status" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "PVS", + "comment": "Setzt den Status der Anfrage auf 'completed'" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.VorgangsID", + "path": "gem-erp-sr-log-prescription-request-confirmation.VorgangsID", + "short": "ID des Vorgangs", + "definition": "Wird vom initialen Sender gesetzt und muss in der Antwort mitgeführt werden.", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.identifier:requestId.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Rezeptanforderung", + "comment": "VorgangsID aus der initialen Rezeptanforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.VersichertenEinloesung", + "path": "gem-erp-sr-log-prescription-request-confirmation.VersichertenEinloesung", + "short": "Versicherten Einlösung", + "definition": "Angabe, ob der Versicherte das E-Rezept selbst einlösen möchte.", + "min": 0, + "max": "1", + "type": [ + { + "code": "boolean" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.extension:redeemByPatient.valueBoolean" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Rezeptanforderung", + "comment": "Aus der initialen Rezeptanforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.Freitext", + "path": "gem-erp-sr-log-prescription-request-confirmation.Freitext", + "short": "Freitext", + "definition": "Individuelle Nachricht an den Empfänger", + "min": 0, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.note" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Nutzer des PVS", + "comment": "Abfrage im Moment der Bestätigung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.Anhaenge", + "path": "gem-erp-sr-log-prescription-request-confirmation.Anhaenge", + "short": "Anhänge", + "definition": "Anhänge zur Bestätigung. Das können PDFs, Bilder oder andere Dokumente sein.", + "comment": "Werden auf Ebene der KIM-Nachricht angehangen", + "min": 0, + "max": "*", + "type": [ + { + "code": "Attachment" + } + ], + "mapping": [ + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Nutzer oder PVS", + "comment": "Angabe im Moment der Bestätigung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.Anhaenge.Medikationsplan", + "path": "gem-erp-sr-log-prescription-request-confirmation.Anhaenge.Medikationsplan", + "short": "Medikationsplan", + "definition": "Anhang des Medikationsplans", + "min": 0, + "max": "1", + "type": [ + { + "code": "Attachment" + } + ], + "mapping": [ + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Nutzer oder PVS", + "comment": "Aktualisierung und ggf. automatische Generierung vom PVS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.Anhaenge.weitereAnhaenge", + "path": "gem-erp-sr-log-prescription-request-confirmation.Anhaenge.weitereAnhaenge", + "short": "Weitere Anhänge", + "definition": "Weitere Anhänge", + "min": 0, + "max": "*", + "type": [ + { + "code": "Attachment" + } + ], + "mapping": [ + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "Nutzer oder PVS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.AenderungVerordnung", + "path": "gem-erp-sr-log-prescription-request-confirmation.AenderungVerordnung", + "short": "Änderung der Verordnung", + "definition": "Gibt an, ob das verordnete Arzneimittel von dem angefragten abweicht.", + "min": 0, + "max": "1", + "type": [ + { + "code": "boolean" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.extension:medicationChanged" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.Medikation", + "path": "gem-erp-sr-log-prescription-request-confirmation.Medikation", + "short": "Medikation", + "definition": "Angaben zur Medikation", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.basedOn(ERPServiceRequestMedicationRequest)" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "PVS", + "comment": "Informationen aus Verordnungsdatensatz" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.Medikation.MedizinischeInformationenAusVerordnung", + "path": "gem-erp-sr-log-prescription-request-confirmation.Medikation.MedizinischeInformationenAusVerordnung", + "short": "Medizinische Verordnungsinformationen", + "definition": "MedicationRequest und Medication Objekt aus der KBV_Verordnung.", + "min": 1, + "max": "1", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org/fhir/StructureDefinition/MedicationRequest" + ] + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.medicationReference" + }, + { + "identity": "Quelle-Rezeptanforderung-Bestaetigung-Mapping", + "map": "PVS", + "comment": "Informationen aus Verordnungsdatensatz (MedicationRequest und Medication)" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.Medikation.AnzahlPackungen", + "path": "gem-erp-sr-log-prescription-request-confirmation.Medikation.AnzahlPackungen", + "short": "Anzahl der Packungen", + "definition": "Anzahl der Packungen", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.dispenseRequest.quantity" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.Medikation.AnzahlPackungen.Einheit", + "path": "gem-erp-sr-log-prescription-request-confirmation.Medikation.AnzahlPackungen.Einheit", + "short": "Einheit der Menge, fix auf 'Packung' gesetzt", + "definition": "Einheit der Menge, fix auf 'Packung' gesetzt", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.unit" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.Medikation.AnzahlPackungen.Wert", + "path": "gem-erp-sr-log-prescription-request-confirmation.Medikation.AnzahlPackungen.Wert", + "short": "Anzahl der Packungen", + "definition": "Anzahl der Packungen", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.value" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-confirmation.Medikation.Dosieranweisungen", + "path": "gem-erp-sr-log-prescription-request-confirmation.Medikation.Dosieranweisungen", + "short": "Dosieranweisungen", + "definition": "Dosieranweisungen, wie sie auch in der Verordnung angegeben sind", + "min": 0, + "max": "1", + "type": [ + { + "code": "Dosage" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Bestaetigung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.dosageInstruction" + } + ] + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-prescription-request-rejection.json b/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-prescription-request-rejection.json new file mode 100644 index 00000000..9a6e0f6b --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-prescription-request-rejection.json @@ -0,0 +1,515 @@ +{ + "resourceType": "StructureDefinition", + "id": "gem-erp-sr-log-prescription-request-rejection", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request-rejection", + "version": "1.2", + "name": "GEM_ERP_SR_LOG_PrescriptionRequest_Rejection", + "title": "Logical Model Rezeptanforderung_Storno (Ablehnung)", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "Fachliches Modell zur Beschreibung einer Ablehnung einer Rezeptanforderung seitens des Verordnenden.", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "name": "Rezeptanforderung Ablehnung Fachliches Mapping", + "uri": "ERPServiceRequestPrescriptionRequest", + "comment": "Mapping des Fachmodells aus GEM_ERP_SR_LOG_PrescriptionRequest_Rejection auf das FHIR-Modell ERPServiceRequestPrescriptionRequest" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "name": "Quelle der Rezeptanforderung Ablehnung Informationen", + "comment": "Beschreibt die Quelle der Rezeptanforderung Ablehnung Informatione" + } + ], + "kind": "logical", + "abstract": false, + "type": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request-rejection", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element", + "derivation": "specialization", + "differential": { + "element": [ + { + "id": "gem-erp-sr-log-prescription-request-rejection", + "path": "gem-erp-sr-log-prescription-request-rejection", + "short": "Logical Model Rezeptanforderung_Storno (Ablehnung)", + "definition": "Fachliches Modell zur Beschreibung einer Ablehnung einer Rezeptanforderung seitens des Verordnenden." + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.MetaDaten", + "path": "gem-erp-sr-log-prescription-request-rejection.MetaDaten", + "short": "Metadaten im MessageHeader", + "definition": "Metadaten im MessageHeader", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "PVS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.Empfaenger", + "path": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.Empfaenger", + "short": "Empfänger der Nachricht", + "definition": "Empfänger der Nachricht", + "min": 1, + "max": "*", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "Aus initialer Rezeptanforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.Empfaenger.KIMAdresse", + "path": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.Empfaenger.KIMAdresse", + "short": "KIM-Adresse des Empfängers", + "definition": "KIM-Adresse des Empfängers", + "min": 1, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination.endpoint" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "Aus initialer Rezeptanforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.Empfaenger.TelematikID", + "path": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.Empfaenger.TelematikID", + "short": "Telematik-ID des Absenders", + "definition": "Telematik-ID des Absenders", + "min": 0, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination.receiver.identifier.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "Aus initialer Rezeptanforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.Absender", + "path": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.Absender", + "short": "Absender der Nachricht", + "definition": "Absender der Nachricht", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "PVS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.Absender.TelematikID", + "path": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.Absender.TelematikID", + "short": "Telematik-ID des Absenders", + "definition": "Telematik-ID des Absenders", + "min": 0, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender.identifier.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "PVS, SMC-B oder HBA Zertifikat" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.Absender.Name", + "path": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.Absender.Name", + "short": "Name des Absenders", + "definition": "Name des Absenders", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender.display" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "PVS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.AbsendendesSystem", + "path": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.AbsendendesSystem", + "short": "Absendendes System", + "definition": "Absendendes System", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "PVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.AbsendendesSystem.Name", + "path": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.AbsendendesSystem.Name", + "short": "Name des Herstellers des absendenden Systems", + "definition": "Name des Herstellers des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.name" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "PVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.AbsendendesSystem.Software", + "path": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.AbsendendesSystem.Software", + "short": "Name der Software des absendenden Systems", + "definition": "Name der Software des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.software" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "PVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.AbsendendesSystem.Version", + "path": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.AbsendendesSystem.Version", + "short": "Version des absendenden Systems", + "definition": "Version des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.version" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "PVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.AbsendendesSystem.EMailKontakt", + "path": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.AbsendendesSystem.EMailKontakt", + "short": "E-Mail-Kontakt des absendenden Systems", + "definition": "E-Mail-Kontakt des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.contact.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "PVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.AbsendendesSystem.Website", + "path": "gem-erp-sr-log-prescription-request-rejection.MetaDaten.AbsendendesSystem.Website", + "short": "Website des absendenden Systems", + "definition": "Website des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.endpoint" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "PVS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.Status", + "path": "gem-erp-sr-log-prescription-request-rejection.Status", + "short": "Status", + "definition": "Status der Anforderung. Wird genutzt, um den Bearbeitungsstand einer Anfrage zu verfolgen. Im Falle der Storinierung einer Rezeptanforderung wird eine Anfrage mit dem Status 'revoked' erstellt und geschickt.", + "min": 1, + "max": "1", + "type": [ + { + "code": "code" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.status" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "PVS", + "comment": "Setzt den Status der Anfrage auf 'revoked'" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.Grund", + "path": "gem-erp-sr-log-prescription-request-rejection.Grund", + "short": "Grund der Ablehnung", + "definition": "Der Grund, warum die Rezeptanforderung abgelehnt wurde muss als Freitext hinterlegt werden.", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.reasonCode.text" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "Nutzer des PVS", + "comment": "Abfrage im Moment der Ablehnung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.VorgangsID", + "path": "gem-erp-sr-log-prescription-request-rejection.VorgangsID", + "short": "ID des Vorgangs", + "definition": "Wird hier genutzt, um die Anfrage die storniert werden soll, zu referenzieren.", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.identifier:requestId.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Ablehnung-Mapping", + "map": "PVS", + "comment": "Aus initialer Rezeptanforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.Medikation", + "path": "gem-erp-sr-log-prescription-request-rejection.Medikation", + "short": "Medikation", + "definition": "Angaben zur Medikation", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.basedOn(ERPServiceRequestMedicationRequest)" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.Medikation.MedikationsReferenz", + "path": "gem-erp-sr-log-prescription-request-rejection.Medikation.MedikationsReferenz", + "short": "Referenz auf das Medikamentenobjekt", + "definition": "Referenz auf das Medikamentenobjekt nach KBV_Verordnung (Freitext, PZN, Wirkstoff, Rezeptur)", + "comment": "Folgende Profile aus dem E-Rezept Verordnungsdatensatz sind zulässig: KBV_PR_ERP_Medication_Compounding, KBV_PR_ERP_Medication_FreeText, KBV_PR_ERP_Medication _Ingredient, KBV_PR_ERP_Medication_PZN", + "min": 0, + "max": "1", + "type": [ + { + "code": "Medication" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.medicationReference" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.Medikation.AnzahlPackungen", + "path": "gem-erp-sr-log-prescription-request-rejection.Medikation.AnzahlPackungen", + "short": "Anzahl der Packungen", + "definition": "Anzahl der Packungen", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.dispenseRequest.quantity" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.Medikation.AnzahlPackungen.Einheit", + "path": "gem-erp-sr-log-prescription-request-rejection.Medikation.AnzahlPackungen.Einheit", + "short": "Einheit der Menge, fix auf 'Packung' gesetzt", + "definition": "Einheit der Menge, fix auf 'Packung' gesetzt", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.unit" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request-rejection.Medikation.AnzahlPackungen.Wert", + "path": "gem-erp-sr-log-prescription-request-rejection.Medikation.AnzahlPackungen.Wert", + "short": "Anzahl der Packungen", + "definition": "Anzahl der Packungen", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Ablehnung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.value" + } + ] + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-prescription-request.json b/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-prescription-request.json new file mode 100644 index 00000000..3631c549 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-gem-erp-sr-log-prescription-request.json @@ -0,0 +1,1275 @@ +{ + "resourceType": "StructureDefinition", + "id": "gem-erp-sr-log-prescription-request", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request", + "version": "1.2", + "name": "GEM_ERP_SR_LOG_PrescriptionRequest", + "title": "Logical Model Rezeptanforderung", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "Fachliches Modell zur Beschreibung einer Rezeptanforderung", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "name": "Rezeptanforderung Fachliches Mapping", + "uri": "ERPServiceRequestPrescriptionRequest", + "comment": "Mapping des Fachmodells aus GEM_ERP_SR_LOG_PrescriptionRequest auf das FHIR-Modell ERPServiceRequestPrescriptionRequest" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "name": "Quelle der Rezeptanforderungsinformationen", + "comment": "Beschreibt die Quelle der Rezeptanforderungsinformationen" + } + ], + "kind": "logical", + "abstract": false, + "type": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element", + "derivation": "specialization", + "differential": { + "element": [ + { + "id": "gem-erp-sr-log-prescription-request", + "path": "gem-erp-sr-log-prescription-request", + "short": "Logical Model Rezeptanforderung", + "definition": "Fachliches Modell zur Beschreibung einer Rezeptanforderung", + "constraint": [ + { + "key": "log-prescription-request-1", + "severity": "error", + "human": "Wenn eine Anfrage gestellt wird (status = 'active'), muss auch der Anfragende vorhanden sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request" + }, + { + "key": "log-prescription-request-2", + "severity": "error", + "human": "Wenn eine Anfrage von einer Apotheke (involvierteParteien.Anfragender.AnfragenderTyp = 'APO') gestellt wird, muss die Angabe der Pflegeeinrichtung zur Kopie angegeben werden (involvierteParteien.PflegeeinrichtungKopie).", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.MetaDaten", + "path": "gem-erp-sr-log-prescription-request.MetaDaten", + "short": "Metadaten im MessageHeader", + "definition": "Metadaten im MessageHeader", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Erstellendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.MetaDaten.Empfaenger", + "path": "gem-erp-sr-log-prescription-request.MetaDaten.Empfaenger", + "short": "Empfänger der Nachricht", + "definition": "Empfänger der Nachricht", + "min": 1, + "max": "*", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Aus Kontaktmanagement oder VZD Suche" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.MetaDaten.Empfaenger.KIMAdresse", + "path": "gem-erp-sr-log-prescription-request.MetaDaten.Empfaenger.KIMAdresse", + "short": "KIM-Adresse des Empfängers", + "definition": "KIM-Adresse des Empfängers", + "min": 1, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination.endpoint" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Aus Kontaktmanagement oder VZD Suche" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.MetaDaten.Empfaenger.TelematikID", + "path": "gem-erp-sr-log-prescription-request.MetaDaten.Empfaenger.TelematikID", + "short": "Telematik-ID des Absenders", + "definition": "Telematik-ID des Absenders", + "min": 0, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.destination.receiver.identifier.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Aus Kontaktmanagement oder VZD Suche" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.MetaDaten.Absender", + "path": "gem-erp-sr-log-prescription-request.MetaDaten.Absender", + "short": "Absender der Nachricht", + "definition": "Absender der Nachricht", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Erstellendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.MetaDaten.Absender.TelematikID", + "path": "gem-erp-sr-log-prescription-request.MetaDaten.Absender.TelematikID", + "short": "Telematik-ID des Absenders", + "definition": "Telematik-ID des Absenders", + "min": 0, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender.identifier.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Erstellendes PS, SMC-B oder HBA Zertifikat" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.MetaDaten.Absender.Name", + "path": "gem-erp-sr-log-prescription-request.MetaDaten.Absender.Name", + "short": "Name des Absenders", + "definition": "Name des Absenders", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.sender.display" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Erstellendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.MetaDaten.AbsendendesSystem", + "path": "gem-erp-sr-log-prescription-request.MetaDaten.AbsendendesSystem", + "short": "Absendendes System", + "definition": "Absendendes System", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.MetaDaten.AbsendendesSystem.Name", + "path": "gem-erp-sr-log-prescription-request.MetaDaten.AbsendendesSystem.Name", + "short": "Name des Herstellers des absendenden Systems", + "definition": "Name des Herstellers des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.name" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.MetaDaten.AbsendendesSystem.Software", + "path": "gem-erp-sr-log-prescription-request.MetaDaten.AbsendendesSystem.Software", + "short": "Name der Software des absendenden Systems", + "definition": "Name der Software des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.software" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.MetaDaten.AbsendendesSystem.Version", + "path": "gem-erp-sr-log-prescription-request.MetaDaten.AbsendendesSystem.Version", + "short": "Version des absendenden Systems", + "definition": "Version des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.version" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.MetaDaten.AbsendendesSystem.EMailKontakt", + "path": "gem-erp-sr-log-prescription-request.MetaDaten.AbsendendesSystem.EMailKontakt", + "short": "E-Mail-Kontakt des absendenden Systems", + "definition": "E-Mail-Kontakt des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.contact.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.MetaDaten.AbsendendesSystem.Website", + "path": "gem-erp-sr-log-prescription-request.MetaDaten.AbsendendesSystem.Website", + "short": "Website des absendenden Systems", + "definition": "Website des absendenden Systems", + "min": 1, + "max": "1", + "type": [ + { + "code": "url" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestDispenseRequestHeader.source.endpoint" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Erstellendes PS", + "comment": "Automatisiert durch Software gesetzt" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Status", + "path": "gem-erp-sr-log-prescription-request.Status", + "short": "Status", + "definition": "Status der Anforderung. Wird genutzt, um den Bearbeitungsstand einer Anfrage zu verfolgen. Im Falle der Rezeptanforderung wird eine Anfrage mit dem Status 'active' erstellt und geschickt und signalisiert somit eine neue Anfrage.", + "min": 1, + "max": "1", + "type": [ + { + "code": "code" + } + ], + "constraint": [ + { + "key": "log-prescription-request-1", + "severity": "error", + "human": "Wenn eine Anfrage gestellt wird (status = 'active'), muss auch der Anfragende vorhanden sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.status" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS", + "comment": "Setzt den Status der Anfrage auf 'active'" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.VorgangsID", + "path": "gem-erp-sr-log-prescription-request.VorgangsID", + "short": "ID des Vorgangs", + "definition": "Wird vom initialen Sender gesetzt und muss immer mitgeführt werden.", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.identifier:requestId.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS", + "comment": "Erzeugt einen Vorgang und generiert eine VorgangsID" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.VersichertenEinloesung", + "path": "gem-erp-sr-log-prescription-request.VersichertenEinloesung", + "short": "Versicherten Einlösung", + "definition": "Angabe, ob der Versicherte das E-Rezept selbst einlösen möchte.", + "min": 0, + "max": "1", + "type": [ + { + "code": "boolean" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.extension:redeemByPatient.valueBoolean" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Nutzer des PS", + "comment": "Angabemöglichkeit im Moment der Anforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien", + "short": "Involvierte Parteien", + "definition": "Angaben zu den involvierten Parteien", + "min": 1, + "max": "*", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.subject/performer/requester" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.PatientenInformationen", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.PatientenInformationen", + "short": "Patienteninformationen", + "definition": "Angaben zum Patienten", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.subject(ERPServiceRequestPatient)" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS", + "comment": "Abfrage aus Stammdatenmanagement" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.PatientenInformationen.PatientenIdentifierKVNR", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.PatientenInformationen.PatientenIdentifierKVNR", + "short": "KVNR des Patienten", + "definition": "KVNR des Patienten", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPatient.identifier.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.PatientenInformationen.PatientenName", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.PatientenInformationen.PatientenName", + "short": "Name des Patienten", + "definition": "Strukturierte Angabe des Namens des Patienten", + "min": 1, + "max": "1", + "type": [ + { + "code": "HumanName" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPatient.name" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.PatientenInformationen.PatientenGeburtstag", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.PatientenInformationen.PatientenGeburtstag", + "short": "Geburtstag des Patienten", + "definition": "Angabe des Geburtstags mit Jahr, Monat und Tag", + "min": 1, + "max": "1", + "type": [ + { + "code": "date" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPatient.birthDate" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.VerordnenderArzt", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.VerordnenderArzt", + "short": "Verordnender Arzt", + "definition": "Angaben zum verordnenden Arzt. Anzugeben, wenn ein Arzt zur Ausstellung identifiziert werden kann.", + "min": 0, + "max": "*", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.performer(ERPServiceRequestPractitioner)" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS", + "comment": "Falls vorher bekannt aus Kontaktmanagement oder vorheriger RezeptID" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.VerordnenderArzt.LANR", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.VerordnenderArzt.LANR", + "short": "LANR des Arztes", + "definition": "LANR des Arztes", + "min": 0, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPractitioner.identifier.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.VerordnenderArzt.Name", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.VerordnenderArzt.Name", + "short": "Name des Arztes", + "definition": "Name des Arztes", + "min": 1, + "max": "1", + "type": [ + { + "code": "HumanName" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPractitioner.name" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.Anfragender", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.Anfragender", + "short": "Anfragender", + "definition": "Angaben zum anfragenden", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "constraint": [ + { + "key": "log-prescription-request-1", + "severity": "error", + "human": "Wenn eine Anfrage gestellt wird (status = 'active'), muss auch der Anfragende vorhanden sein.", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.requester(ERPServiceRequestOrganization)" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.Anfragender.AnfragenderTyp", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.Anfragender.AnfragenderTyp", + "short": "Typ des Anfragenden", + "definition": "Folgende Typen sind zulässig: Apotheke, Pflegeeinrichtung", + "min": 1, + "max": "1", + "type": [ + { + "code": "Coding" + } + ], + "constraint": [ + { + "key": "log-prescription-request-2", + "severity": "error", + "human": "Wenn eine Anfrage von einer Apotheke (involvierteParteien.Anfragender.AnfragenderTyp = 'APO') gestellt wird, muss die Angabe der Pflegeeinrichtung zur Kopie angegeben werden (involvierteParteien.PflegeeinrichtungKopie).", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.Anfragender.Name", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.Anfragender.Name", + "short": "Name des Anfragenden", + "definition": "Name des Anfragenden", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestOrganization.name" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.Anfragender.Adresse", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.Anfragender.Adresse", + "short": "Straßenadresse des Anfragenden", + "definition": "Straßenadresse des Anfragenden", + "min": 0, + "max": "1", + "type": [ + { + "code": "Address" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestOrganization.address" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.Anfragender.Telefon", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.Anfragender.Telefon", + "short": "Telefonnummer des Anfragenden", + "definition": "Telefonnummer des Anfragenden", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestOrganization.contact.telecom:tel.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.PflegeeinrichtungKopie", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.PflegeeinrichtungKopie", + "short": "Zu benachrichtigende Pflegeeinrichtung", + "definition": "Angaben zur Pflegeeinrichtung, die über den Ablauf der Rezeptanforderung per Kopie informiert werden soll. Muss angegeben werden, wenn die Apotheke die Rezeptanforderung stellt.", + "min": 0, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "constraint": [ + { + "key": "log-prescription-request-2", + "severity": "error", + "human": "Wenn eine Anfrage von einer Apotheke (involvierteParteien.Anfragender.AnfragenderTyp = 'APO') gestellt wird, muss die Angabe der Pflegeeinrichtung zur Kopie angegeben werden (involvierteParteien.PflegeeinrichtungKopie).", + "source": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.supportingInfo:pflegeeinrichtungKopie(ERPServiceRequestOrganization)" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes AVS", + "comment": "Im Fall, dass die Apotheke die Anfrage initiiert" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.PflegeeinrichtungKopie.Name", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.PflegeeinrichtungKopie.Name", + "short": "Name der Pflegeeinrichtung", + "definition": "Name der Pflegeeinrichtung", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestOrganization.name" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes AVS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.PflegeeinrichtungKopie.Telefon", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.PflegeeinrichtungKopie.Telefon", + "short": "Telefonnummer der Pflegeeinrichtung", + "definition": "Telefonnummer der Pflegeeinrichtung", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestOrganization.contact.telecom:tel.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes AVS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.involvierteParteien.PflegeeinrichtungKopie.KIMAdresse", + "path": "gem-erp-sr-log-prescription-request.involvierteParteien.PflegeeinrichtungKopie.KIMAdresse", + "short": "KIM-Adresse der Pflegeeinrichtung", + "definition": "KIM-Adresse der Pflegeeinrichtung", + "min": 1, + "max": "1", + "type": [ + { + "code": "Address" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestOrganization.contact.telecom:kim.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes AVS" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Freitext", + "path": "gem-erp-sr-log-prescription-request.Freitext", + "short": "Freitext", + "definition": "Individuelle Nachricht an den Empfänger", + "min": 0, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.note" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Nutzer des PS", + "comment": "Abfrage im Moment der Anforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.GrundDerAnforderung", + "path": "gem-erp-sr-log-prescription-request.GrundDerAnforderung", + "short": "Grund der Anforderung", + "definition": "Entweder Codiert oder als Freitext", + "min": 0, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.reasonCode" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Nutzer des PS", + "comment": "Abfrage im Moment der Anforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.GrundDerAnforderung.GrundCode", + "path": "gem-erp-sr-log-prescription-request.GrundDerAnforderung.GrundCode", + "short": "Code des Grundes", + "definition": "Folgende Gründe sind vorgesehen: Korrektur, Reichweite erschöpft(Dauermedikation), nach Vitalwertmessung, nach Bedarf (z.B. aufgrund von Schmerzen)", + "min": 0, + "max": "1", + "type": [ + { + "code": "Coding" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.reasonCode.coding" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Nutzer des PS", + "comment": "Abfrage im Moment der Anforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.GrundDerAnforderung.GrundText", + "path": "gem-erp-sr-log-prescription-request.GrundDerAnforderung.GrundText", + "short": "Text des Grundes", + "definition": "Text des Grundes", + "min": 0, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.reasonCode.text" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Nutzer des PS", + "comment": "Abfrage im Moment der Anforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Prioritaet", + "path": "gem-erp-sr-log-prescription-request.Prioritaet", + "short": "Priorität", + "definition": "Angabe der Priorität der Anforderung", + "min": 0, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.priority" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Nutzer des PS", + "comment": "Abfrage im Moment der Anforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Prioritaet.PrioritaetCode", + "path": "gem-erp-sr-log-prescription-request.Prioritaet.PrioritaetCode", + "short": "Priorität der Anforderung", + "definition": "Folgende Prioritäten sind zulässig: Hoch, Normal", + "min": 1, + "max": "1", + "type": [ + { + "code": "Coding" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.priority" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Nutzer des PS", + "comment": "Abfrage im Moment der Anforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Restreichweite", + "path": "gem-erp-sr-log-prescription-request.Restreichweite", + "short": "Restreichweite", + "definition": "Angabe der Restreichweite", + "min": 0, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.reasonCode.extension:remainingSupply" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS oder Nutzer des PS", + "comment": "Abfrage/ Eingabe im Moment der Anforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Restreichweite.Freitext", + "path": "gem-erp-sr-log-prescription-request.Restreichweite.Freitext", + "short": "Restreichweite in Tage oder Anzahl an Einheiten", + "definition": "Restreichweite in Tage oder Anzahl an Einheiten", + "min": 0, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.reasonCode.extension:remainingSupplyFreeText.valueString" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Nutzer des PS", + "comment": "Abfrage im Moment der Anforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Restreichweite.Einheit", + "path": "gem-erp-sr-log-prescription-request.Restreichweite.Einheit", + "short": "Einheit der Restreichweite", + "definition": "Einheit der Restreichweite", + "min": 0, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.reasonCode.extension:remainingSupply.unit" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS", + "comment": "Ggf. automatisierte Berechnung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Restreichweite.Wert", + "path": "gem-erp-sr-log-prescription-request.Restreichweite.Wert", + "short": "Wert der Restreichweite", + "definition": "Wert der Restreichweite", + "min": 0, + "max": "1", + "type": [ + { + "code": "decimal" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.reasonCode.extension:remainingSupply.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS", + "comment": "Ggf. automatisierte Berechnung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Anhaenge", + "path": "gem-erp-sr-log-prescription-request.Anhaenge", + "short": "Anhänge", + "definition": "Anhänge zur Anforderung. Das können PDFs, Bilder oder andere Dokumente sein.", + "comment": "Werden auf Ebene der KIM-Nachricht angehangen", + "min": 0, + "max": "*", + "type": [ + { + "code": "Attachment" + } + ], + "mapping": [ + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS oder Nutzer des PS", + "comment": "Generierung oder Bereitstellung im Moment der Anforderung" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Medikation", + "path": "gem-erp-sr-log-prescription-request.Medikation", + "short": "Medikation", + "definition": "Angaben zur Medikation", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestPrescriptionRequest.basedOn(ERPServiceRequestMedicationRequest)" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS oder Nutzer des PS", + "comment": "Bereitstellung aus Medikamentenmanagement" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Medikation.VorherigeRezeptID", + "path": "gem-erp-sr-log-prescription-request.Medikation.VorherigeRezeptID", + "short": "ID des vorherigen Rezepts", + "definition": "Kann bei der Anforderung einer Folgeverordnung verwendet werden, um einen Bezug zu einer vorherigen Verordnung herzustellen.", + "min": 0, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.extension:PriorPrescriptionID.valueIdentifier.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS", + "comment": "Kann aus dem Medikamentenmanagement abgefragt werden" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Medikation.MedikationsReferenz", + "path": "gem-erp-sr-log-prescription-request.Medikation.MedikationsReferenz", + "short": "Referenz auf das Medikamentenobjekt", + "definition": "Referenz auf das Medikamentenobjekt nach KBV_Verordnung (Freitext, PZN, Wirkstoff, Rezeptur)", + "comment": "Folgende Profile aus dem E-Rezept Verordnungsdatensatz sind zulässig: KBV_PR_ERP_Medication_Compounding, KBV_PR_ERP_Medication_FreeText, KBV_PR_ERP_Medication _Ingredient, KBV_PR_ERP_Medication_PZN", + "min": 0, + "max": "1", + "type": [ + { + "code": "Medication" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.medication" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS", + "comment": "Bereitstellung aus Medikamentenmanagement" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Medikation.AnzahlPackungen", + "path": "gem-erp-sr-log-prescription-request.Medikation.AnzahlPackungen", + "short": "Anzahl der Packungen", + "definition": "Anzahl der Packungen", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.dispenseReques.quantity" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS oder Nutzer des PS", + "comment": "Bereitstellung aus Medikamentenmanagement" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Medikation.AnzahlPackungen.Einheit", + "path": "gem-erp-sr-log-prescription-request.Medikation.AnzahlPackungen.Einheit", + "short": "Einheit der Menge, fix auf 'Packung' gesetzt", + "definition": "Einheit der Menge, fix auf 'Packung' gesetzt", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.code" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS", + "comment": "Bereitstellung aus Medikamentenmanagement" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Medikation.AnzahlPackungen.Wert", + "path": "gem-erp-sr-log-prescription-request.Medikation.AnzahlPackungen.Wert", + "short": "Anzahl der Packungen", + "definition": "Anzahl der Packungen", + "min": 1, + "max": "1", + "type": [ + { + "code": "string" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.value" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Anfragendes PS oder Nutzer des PS", + "comment": "Bereitstellung aus Medikamentenmanagement" + } + ] + }, + { + "id": "gem-erp-sr-log-prescription-request.Medikation.AngabeMVO", + "path": "gem-erp-sr-log-prescription-request.Medikation.AngabeMVO", + "short": "Angabe MVO", + "definition": "Angabe, ob der anfordernde eine MVO wünscht. Es obliegt dem Verordnenden dem Wunsch nachzukommen. Der verordnende LE entscheidet über die Menge und die Zeiträume", + "min": 0, + "max": "1", + "type": [ + { + "code": "boolean" + } + ], + "mapping": [ + { + "identity": "Rezeptanforderung-Fachliches-Mapping", + "map": "ERPServiceRequestMedicationRequest.extension:requestMVO.extension:Kennzeichen.valueBoolean" + }, + { + "identity": "Quelle-Rezeptanforderung-Mapping", + "map": "Nutzer des PS", + "comment": "Angabemöglichkeit im Moment der Anforderung. Unterstützung ggf. durch PS." + } + ] + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-prescription-id-ex.json b/Resources/fsh-generated/resources/StructureDefinition-prescription-id-ex.json index 38ad5bdc..f7874c2f 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-prescription-id-ex.json +++ b/Resources/fsh-generated/resources/StructureDefinition-prescription-id-ex.json @@ -2,20 +2,14 @@ "resourceType": "StructureDefinition", "id": "prescription-id-ex", "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/prescription-id-ex", - "version": "1.0", + "version": "1.2", "name": "PrescriptionIdEx", - "status": "active", + "status": "draft", "experimental": false, + "date": "2025-01-01", "publisher": "gematik GmbH", "description": "Extension for Prescription ID", "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - } - ], "kind": "complex-type", "abstract": false, "context": [ @@ -66,6 +60,7 @@ { "id": "Extension.value[x]", "path": "Extension.value[x]", + "min": 1, "type": [ { "code": "Identifier", @@ -73,7 +68,8 @@ "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_PrescriptionId" ] } - ] + ], + "mustSupport": true } ] } diff --git a/Resources/fsh-generated/resources/StructureDefinition-redeem-by-patient-ex.json b/Resources/fsh-generated/resources/StructureDefinition-redeem-by-patient-ex.json new file mode 100644 index 00000000..07b3614c --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-redeem-by-patient-ex.json @@ -0,0 +1,80 @@ +{ + "resourceType": "StructureDefinition", + "id": "redeem-by-patient-ex", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex", + "version": "1.2", + "name": "RedeemByPatientEX", + "title": "Redeem By Patient (EX)", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "Extension to indicate if the prescription should be redeemed by the patient.", + "fhirVersion": "4.0.1", + "kind": "complex-type", + "abstract": false, + "context": [ + { + "type": "element", + "expression": "ServiceRequest" + }, + { + "type": "element", + "expression": "MedicationRequest" + }, + { + "type": "element", + "expression": "DeviceRequest" + }, + { + "type": "element", + "expression": "Task" + }, + { + "type": "element", + "expression": "SupplyRequest" + }, + { + "type": "element", + "expression": "ServiceDelivery" + }, + { + "type": "element", + "expression": "Medication" + } + ], + "type": "Extension", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension", + "path": "Extension", + "isModifier": true, + "isModifierReason": "This determines the Flow Type of the prescription to be set to 160/200 so that the patient can redeem the prescription himself. If not set the Flow Type is set to 169/209." + }, + { + "id": "Extension.extension", + "path": "Extension.extension", + "max": "0" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "fixedUri": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "min": 1, + "type": [ + { + "code": "boolean" + } + ], + "mustSupport": true + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-remaining-supply-ex.json b/Resources/fsh-generated/resources/StructureDefinition-remaining-supply-ex.json new file mode 100644 index 00000000..35ebe856 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-remaining-supply-ex.json @@ -0,0 +1,62 @@ +{ + "resourceType": "StructureDefinition", + "id": "remaining-supply-ex", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-ex", + "version": "1.2", + "name": "RemainingSupplyEX", + "title": "Remaining Supply EX", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "This extension is used to specify the remaining supply of a medication", + "fhirVersion": "4.0.1", + "kind": "complex-type", + "abstract": false, + "context": [ + { + "type": "element", + "expression": "Element" + } + ], + "type": "Extension", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension.extension", + "path": "Extension.extension", + "max": "0" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "fixedUri": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-ex" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "min": 1, + "type": [ + { + "code": "Quantity" + } + ], + "mustSupport": true + }, + { + "id": "Extension.value[x].value", + "path": "Extension.value[x].value", + "min": 1, + "mustSupport": true + }, + { + "id": "Extension.value[x].unit", + "path": "Extension.value[x].unit", + "min": 1, + "mustSupport": true + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-remaining-supply-free-text-ex.json b/Resources/fsh-generated/resources/StructureDefinition-remaining-supply-free-text-ex.json new file mode 100644 index 00000000..dc8a04c5 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-remaining-supply-free-text-ex.json @@ -0,0 +1,50 @@ +{ + "resourceType": "StructureDefinition", + "id": "remaining-supply-free-text-ex", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-free-text-ex", + "version": "1.2", + "name": "RemainingSupplyFreeTextEX", + "title": "Remaining Supply FreeText EX", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "This extension is used to state the remaining supply of a medication as a free text", + "fhirVersion": "4.0.1", + "kind": "complex-type", + "abstract": false, + "context": [ + { + "type": "element", + "expression": "Element" + } + ], + "type": "Extension", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension.extension", + "path": "Extension.extension", + "max": "0" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "fixedUri": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-free-text-ex" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "mustSupport": true + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-request-mvo-ex.json b/Resources/fsh-generated/resources/StructureDefinition-request-mvo-ex.json new file mode 100644 index 00000000..c2cae713 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-request-mvo-ex.json @@ -0,0 +1,80 @@ +{ + "resourceType": "StructureDefinition", + "id": "request-mvo-ex", + "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/request-mvo-ex", + "version": "1.2", + "name": "RequestMVOEX", + "title": "Request MVO (EX)", + "status": "draft", + "experimental": false, + "date": "2025-01-01", + "publisher": "gematik GmbH", + "description": "Extension to indicate if the prescription should be issued as a multiple prescription order (MVO).", + "fhirVersion": "4.0.1", + "kind": "complex-type", + "abstract": false, + "context": [ + { + "type": "element", + "expression": "ServiceRequest" + }, + { + "type": "element", + "expression": "MedicationRequest" + }, + { + "type": "element", + "expression": "DeviceRequest" + }, + { + "type": "element", + "expression": "Task" + }, + { + "type": "element", + "expression": "SupplyRequest" + }, + { + "type": "element", + "expression": "ServiceDelivery" + }, + { + "type": "element", + "expression": "Medication" + } + ], + "type": "Extension", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension", + "path": "Extension", + "isModifier": true, + "isModifierReason": "This determines if the prescription is to be issued as a normal prescription or as a multiple prescription order (MVO)." + }, + { + "id": "Extension.extension", + "path": "Extension.extension", + "max": "0" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "fixedUri": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/request-mvo-ex" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "min": 1, + "type": [ + { + "code": "boolean" + } + ], + "mustSupport": true + } + ] + } +} diff --git a/Resources/fsh-generated/resources/ValueSet-delivery-type-vs.json b/Resources/fsh-generated/resources/ValueSet-delivery-type-vs.json new file mode 100644 index 00000000..023f04f3 --- /dev/null +++ b/Resources/fsh-generated/resources/ValueSet-delivery-type-vs.json @@ -0,0 +1,20 @@ +{ + "resourceType": "ValueSet", + "status": "draft", + "name": "DeliveryTypeVS", + "id": "delivery-type-vs", + "title": "Art der Belieferung (VS)", + "description": "Specifies how a dispense request should be fulfilled/ delivered", + "version": "1.2", + "url": "https://gematik.de/fhir/erp-servicerequest/ValueSet/delivery-type-vs", + "experimental": false, + "publisher": "gematik GmbH", + "date": "2025-01-01", + "compose": { + "include": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/delivery-type-cs" + } + ] + } +} diff --git a/Resources/fsh-generated/resources/ValueSet-medication-observation-vs.json b/Resources/fsh-generated/resources/ValueSet-medication-observation-vs.json deleted file mode 100644 index 20002cee..00000000 --- a/Resources/fsh-generated/resources/ValueSet-medication-observation-vs.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "resourceType": "ValueSet", - "status": "active", - "name": "MedicationObservationVS", - "id": "medication-observation-vs", - "title": "Information on medication observation (VS)", - "description": "Specifies types of observations on the status of a drug", - "url": "https://gematik.de/fhir/erp-servicerequest/ValueSet/medication-observation-vs", - "experimental": false, - "publisher": "gematik GmbH", - "version": "1.0", - "compose": { - "include": [ - { - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-observation-cs" - } - ] - } -} diff --git a/Resources/fsh-generated/resources/ValueSet-medication-request-reason-vs.json b/Resources/fsh-generated/resources/ValueSet-medication-request-reason-vs.json new file mode 100644 index 00000000..c22b0927 --- /dev/null +++ b/Resources/fsh-generated/resources/ValueSet-medication-request-reason-vs.json @@ -0,0 +1,20 @@ +{ + "resourceType": "ValueSet", + "status": "draft", + "name": "MedicationRequestReasonVS", + "id": "medication-request-reason-vs", + "title": "Reason for medication request (VS)", + "description": "Provides codes for reasons why medication is requested", + "version": "1.2", + "url": "https://gematik.de/fhir/erp-servicerequest/ValueSet/medication-request-reason-vs", + "experimental": false, + "publisher": "gematik GmbH", + "date": "2025-01-01", + "compose": { + "include": [ + { + "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-request-reason-cs" + } + ] + } +} diff --git a/Resources/fsh-generated/resources/ValueSet-prescription-fullfillment-type-vs.json b/Resources/fsh-generated/resources/ValueSet-prescription-fullfillment-type-vs.json deleted file mode 100644 index f0216c26..00000000 --- a/Resources/fsh-generated/resources/ValueSet-prescription-fullfillment-type-vs.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "resourceType": "ValueSet", - "status": "active", - "name": "PrescriptionFullfillmentTypeVS", - "id": "prescription-fullfillment-type-vs", - "title": "Delivery type of the prescription request (VS)", - "description": "Is used in the Prescription_ServiceRequest to indicate how the prescription should be processed", - "url": "https://gematik.de/fhir/erp-servicerequest/ValueSet/prescription-fullfillment-type-vs", - "experimental": false, - "publisher": "gematik GmbH", - "version": "1.0", - "compose": { - "include": [ - { - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" - } - ] - } -} diff --git a/Resources/fsh-generated/resources/ValueSet-request-reason-vs.json b/Resources/fsh-generated/resources/ValueSet-request-reason-vs.json deleted file mode 100644 index 4d0d0e01..00000000 --- a/Resources/fsh-generated/resources/ValueSet-request-reason-vs.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "resourceType": "ValueSet", - "status": "active", - "name": "RequestReasonVS", - "id": "request-reason-vs", - "title": "Reason for the medication request (VS)", - "description": "Provides codes for reasons why medication is requested", - "url": "https://gematik.de/fhir/erp-servicerequest/ValueSet/request-reason-vs", - "experimental": false, - "publisher": "gematik GmbH", - "version": "1.0", - "compose": { - "include": [ - { - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-request-reason-cs" - }, - { - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/cancellation-reason-cs" - } - ] - } -} diff --git a/Resources/fsh-generated/resources/ValueSet-service-identifier-vs.json b/Resources/fsh-generated/resources/ValueSet-service-identifier-vs.json index bfddc49e..7be973db 100644 --- a/Resources/fsh-generated/resources/ValueSet-service-identifier-vs.json +++ b/Resources/fsh-generated/resources/ValueSet-service-identifier-vs.json @@ -1,54 +1,34 @@ { "resourceType": "ValueSet", - "status": "active", + "status": "draft", "name": "ServiceIdentifierVS", "id": "service-identifier-vs", "title": "Identifier of the use case", "description": "Identifiers for specifying an application of e-prescription communication", + "version": "1.2", "url": "https://gematik.de/fhir/erp-servicerequest/ValueSet/service-identifier-vs", "experimental": false, "publisher": "gematik GmbH", - "version": "1.0", + "date": "2025-01-01", "compose": { "include": [ { "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs", - "concept": [ + "filter": [ { - "code": "eRezept_Rezeptanforderung;Rezeptanfrage", - "display": "Request to a doctor to issue a prescription" - }, - { - "code": "eRezept_Rezeptanforderung;Rezeptanfrage_Storno", - "display": "Cancellation of the prescription request" - }, - { - "code": "eRezept_Rezeptanforderung;Rezeptbestaetigung", - "display": "Confirmation and transmission of an issued prescription" - }, - { - "code": "eRezept_Rezeptanforderung;Abgabeanfrage", - "display": "Request to fulfill a prescription and dispense the drug" - }, - { - "code": "eRezept_Rezeptanforderung;Abgabeanfrage_Storno", - "display": "Cancellation of the delivery request" - }, - { - "code": "eRezept_Rezeptanforderung;Abgabebestaetigung", - "display": "Confirmation of fulfillment and dispensing of a medication" - }, - { - "code": "eRezept_ParenteraleZubereitung;Rezeptanfrage", - "display": "Prescription request for a parenteral preparation" - }, - { - "code": "eRezept_ParenteraleZubereitung;Rezeptanfrage_Storno", - "display": "Cancellation of the prescription request for a parenteral preparation" - }, + "property": "concept", + "op": "is-a", + "value": "eRezept_Rezeptanforderung" + } + ] + }, + { + "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs", + "filter": [ { - "code": "eRezept_ParenteraleZubereitung;Rezeptbestaetigung", - "display": "Confirmation and transmission of an issued prescription for a parenteral preparation" + "property": "concept", + "op": "is-a", + "value": "eRezept_ParenteraleZubereitung" } ] } diff --git a/Resources/fsh-generated/resources/ValueSet-service-request-organization-type-vs.json b/Resources/fsh-generated/resources/ValueSet-service-request-organization-type-vs.json new file mode 100644 index 00000000..5ee06c1e --- /dev/null +++ b/Resources/fsh-generated/resources/ValueSet-service-request-organization-type-vs.json @@ -0,0 +1,34 @@ +{ + "resourceType": "ValueSet", + "status": "draft", + "name": "ServiceRequestOrganizationTypeVS", + "id": "service-request-organization-type-vs", + "title": "ServiceRequest Organization Type (VS)", + "description": "Defines Organizations in the context of a ServiceRequest", + "version": "1.2", + "url": "https://gematik.de/fhir/erp-servicerequest/ValueSet/service-request-organization-type-vs", + "experimental": false, + "publisher": "gematik GmbH", + "date": "2025-01-01", + "compose": { + "include": [ + { + "system": "http://ihe-d.de/CodeSystems/PatientBezogenenGesundheitsversorgung", + "concept": [ + { + "code": "APO", + "display": "Apotheke" + }, + { + "code": "PRA", + "display": "Arztpraxis" + }, + { + "code": "PFL", + "display": "Pflegeheim" + } + ] + } + ] + } +} diff --git a/Resources/fsh-generated/resources/ValueSet-service-request-priority-vs.json b/Resources/fsh-generated/resources/ValueSet-service-request-priority-vs.json new file mode 100644 index 00000000..df660383 --- /dev/null +++ b/Resources/fsh-generated/resources/ValueSet-service-request-priority-vs.json @@ -0,0 +1,28 @@ +{ + "resourceType": "ValueSet", + "status": "draft", + "name": "ServiceRequestPriorityVS", + "id": "service-request-priority-vs", + "title": "Service Request Priority VS", + "description": "Provides codes for the priority of a service request", + "version": "1.2", + "url": "https://gematik.de/fhir/erp-servicerequest/ValueSet/service-request-priority-vs", + "experimental": false, + "publisher": "gematik GmbH", + "date": "2025-01-01", + "compose": { + "include": [ + { + "system": "http://hl7.org/fhir/request-priority", + "concept": [ + { + "code": "routine" + }, + { + "code": "urgent" + } + ] + } + ] + } +} diff --git a/Resources/fsh-generated/resources/ValueSet-service-request-status-vs.json b/Resources/fsh-generated/resources/ValueSet-service-request-status-vs.json index 8df1bad5..a88fbb2d 100644 --- a/Resources/fsh-generated/resources/ValueSet-service-request-status-vs.json +++ b/Resources/fsh-generated/resources/ValueSet-service-request-status-vs.json @@ -1,14 +1,15 @@ { "resourceType": "ValueSet", - "status": "active", + "status": "draft", "name": "ServiceRequestStatusVS", "id": "service-request-status-vs", "title": "Status des ServiceRequests", "description": "Selection of codes to indicate the status of a ServiceRequest", + "version": "1.2", "url": "https://gematik.de/fhir/erp-servicerequest/ValueSet/service-request-status-vs", "experimental": false, "publisher": "gematik GmbH", - "version": "1.0", + "date": "2025-01-01", "compose": { "include": [ { diff --git a/Resources/fsh-generated/resources/ValueSet-service-request-type-vs.json b/Resources/fsh-generated/resources/ValueSet-service-request-type-vs.json index 23326b97..eeb63d77 100644 --- a/Resources/fsh-generated/resources/ValueSet-service-request-type-vs.json +++ b/Resources/fsh-generated/resources/ValueSet-service-request-type-vs.json @@ -1,14 +1,15 @@ { "resourceType": "ValueSet", - "status": "active", + "status": "draft", "name": "ServiceRequestTypeVS", "id": "service-request-type-vs", "title": "Art des ServiceRequests (VS)", "description": "Specifies the type of ServiceRequest and is used to identify ServiceRequests", + "version": "1.2", "url": "https://gematik.de/fhir/erp-servicerequest/ValueSet/service-request-type-vs", "experimental": false, "publisher": "gematik GmbH", - "version": "1.0", + "date": "2025-01-01", "compose": { "include": [ { diff --git a/Resources/images/ServiceRequest_schematics.png b/Resources/images/ServiceRequest_schematics.png new file mode 100644 index 00000000..59fe1f68 Binary files /dev/null and b/Resources/images/ServiceRequest_schematics.png differ diff --git a/Resources/input/fsh/aliases.fsh b/Resources/input/fsh/aliases.fsh index c851ba49..d92b0a10 100644 --- a/Resources/input/fsh/aliases.fsh +++ b/Resources/input/fsh/aliases.fsh @@ -1,30 +1,11 @@ +// External Alias: $UNITSOFMEASURE = http://unitsofmeasure.org +Alias: $CSIHEPatientBezogenenGesundheitsversorgung = http://ihe-d.de/CodeSystems/PatientBezogenenGesundheitsversorgung -Alias: $KBV_PR_FOR_Patient = https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient -Alias: $KBV_PR_FOR_Practitioner = https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner -Alias: $KBV_PR_FOR_Coverage = https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage +// Gematik +Alias: $profession-id-cs = https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID +Alias: $prescription-id-ns = https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId -Alias: $KBV_PR_Base_Organization = https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization - -Alias: $KVID = http://fhir.de/StructureDefinition/identifier-kvid-10 -Alias: $PKVID = http://fhir.de/StructureDefinition/identifier-pkv - -Alias: $KBV_PR_ERP_Medication_Compounding = https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding -Alias: $KBV_PR_ERP_Medication_PZN = https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN -Alias: $KBV_PR_ERP_Prescription = https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription - -Alias: $address-de-basis = http://fhir.de/StructureDefinition/address-de-basis -Alias: $telematikid = http://fhir.de/StructureDefinition/identifier-telematik-id -Alias: $kim = http://gematik.de/fhir/sid/KIM-Adresse -Alias: $tim = http://gematik.de/fhir/sid/TIM-Adresse - -Alias: $Hl7_Request_Status = http://hl7.org/fhir/request-status -Alias: $HL7_Intent_VS = http://hl7.org/fhir/ValueSet/request-intent -Alias: $HL7_Identifier = http://hl7.org/fhir/StructureDefinition/Identifier - -Alias: $GEM_ERP_PR_MedicationDispense = https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense -Alias: $GEM_PR_ATF_MessageBundle = https://gematik.de/fhir/atf/StructureDefinition/bundle-app-transport-framework -Alias: $GEM_PR_ATF_MessageHeader = https://gematik.de/fhir/atf/StructureDefinition/message-header-app-transport -Alias: $GEM_PR_KIM_AdressIdentifier = https://gematik.de/fhir/atf/StructureDefinition/identifier-address-kim -Alias: $GEM_PR_TIM_AdressIdentifier = https://gematik.de/fhir/atf/StructureDefinition/identifier-address-tim -Alias: $GEM_CS_ATF_ServiceIdentifier = https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs +// Alias für Beispiele +Alias: $identifier-kvid-10 = http://fhir.de/sid/gkv/kvid-10 +Alias: $identifier-telematik-id = https://gematik.de/fhir/sid/telematik-id \ No newline at end of file diff --git a/Resources/input/fsh/codesystems/CancellationReasonTypeCS.fsh b/Resources/input/fsh/codesystems/CancellationReasonTypeCS.fsh deleted file mode 100644 index cf7d543a..00000000 --- a/Resources/input/fsh/codesystems/CancellationReasonTypeCS.fsh +++ /dev/null @@ -1,14 +0,0 @@ -CodeSystem: CancellationReasonCS -Id: cancellation-reason-cs -Title: "Cancellation Reason (CS)" -Description: "This code system describes reasons for canceling a request" -* insert MetaCodeSystem(cancellation-reason-cs) - -* #information-missing "Information incomplete" -* #information-incorrect "information incorrect" -* #medication-stopped "Medication was discontinued" -* #medication-paused "Medication has been paused" -* #medication-altered-dosage "Dosage has been changed" -* #medication-occurrence-implausible "Prescription frequency not plausible" -* #consultation-required "Consultation is necessary" -* #successor-already-sent "Follow-up prescription has already been sent" diff --git a/Resources/input/fsh/codesystems/DeliveryTypeCS.fsh b/Resources/input/fsh/codesystems/DeliveryTypeCS.fsh new file mode 100644 index 00000000..1993fb0b --- /dev/null +++ b/Resources/input/fsh/codesystems/DeliveryTypeCS.fsh @@ -0,0 +1,10 @@ +CodeSystem: DeliveryTypeCS +Id: delivery-type-cs +Title: "Art des Belieferung (CS)" +Description: "Specifies how a dispense request should be fulfilled/ delivered" +* insert MetaCodeSystem(delivery-type-cs) + +* #pickup-by-healthcare-service "Abholung durch Pflegeeinrichtung" +* #pickup-by-patient "Abholung durch Patient" +* #delivery-to-healthcare-service "Lieferung an Pflegeeinrichtung" +* #delivery-to-alternative-address "Lieferung an eine alternative Adresse" diff --git a/Resources/input/fsh/codesystems/MedicationRequestReasonCS.fsh b/Resources/input/fsh/codesystems/MedicationRequestReasonCS.fsh index 05ce5663..310d2e00 100644 --- a/Resources/input/fsh/codesystems/MedicationRequestReasonCS.fsh +++ b/Resources/input/fsh/codesystems/MedicationRequestReasonCS.fsh @@ -3,11 +3,7 @@ Id: medication-request-reason-cs Title: "Reason for medication request (CS)" Description: "Provides codes for reasons why medication is requested" * insert MetaCodeSystem(medication-request-reason-cs) -* #medication-runs-out "Medikation geht zu neige" - -CodeSystem: MedicationObservationCS -Id: medication-observation-cs -Title: "Information on medication monitoring (CS)" -Description: "Specifies types of observations on the status of a drug" -* insert MetaCodeSystem(medication-observation-cs) -* #range-of-medication "Indication of the remaining range of the drug" \ No newline at end of file +* #correction "Korrektur" +* #exhausted-range "Reichweite erschöpft(Dauermedikation)" +* #vital-value-measurement "nach Vitalwertmessung" +* #on-demand "nach Bedarf" \ No newline at end of file diff --git a/Resources/input/fsh/codesystems/PrescriptionFullfillmentTypeCS.fsh b/Resources/input/fsh/codesystems/PrescriptionFullfillmentTypeCS.fsh deleted file mode 100644 index fc476515..00000000 --- a/Resources/input/fsh/codesystems/PrescriptionFullfillmentTypeCS.fsh +++ /dev/null @@ -1,8 +0,0 @@ -CodeSystem: PrescriptionFullfillmentTypeCS -Id: prescription-fullfillment-type-cs -Title: "Delivery type of prescription request (CS)" -Description: "Is used in the Prescription_ServiceRequest to indicate how the prescription should be processed" -* insert MetaCodeSystem(prescription-fullfillment-type-cs) - -* #issue-prescription "Issue of the prescription" -* #return-to-requester "Issue of the prescription and transmission to the requesting organization" diff --git a/Resources/input/fsh/conceptmaps/serviceidentifier-to-subject-conceptmap.fsh b/Resources/input/fsh/conceptmaps/serviceidentifier-to-subject-conceptmap.fsh new file mode 100644 index 00000000..6c082e3e --- /dev/null +++ b/Resources/input/fsh/conceptmaps/serviceidentifier-to-subject-conceptmap.fsh @@ -0,0 +1,50 @@ +Instance: ServiceIdentifierToSubjectConceptMap +InstanceOf: ConceptMap +Usage: #definition +Title: "Service Identifier To Subject Concept Map" +Description: "This Concept Map allows for the mapping of a Service Identifier to a Subject Header for a KIM-Message in the context of a Service Request." +* insert VersioningInst +* name = "Service Identifier To Subject Concept Map" +* purpose = "This Concept Map allows for the mapping of a Service Identifier to a Subject Header for a KIM-Message in the context of a Service Request." +* sourceCanonical = "https://gematik.de/fhir/erp-servicerequest/ValueSet/service-identifier-vs" +* targetUri = "Betreffzeile_in_einer_KIM-Nachricht" + +* group.element[+].code = #eRezept_Rezeptanforderung;Rezeptanfrage +* group.element[=].target.display = "Anfrage zur Ausstellung eines E-Rezepts" +* group.element[=].target.equivalence = #equal + +* group.element[+].code = #eRezept_Rezeptanforderung;Rezeptanfrage_Storno +* group.element[=].target.display = "Stornierung einer Rezeptanfrage" +* group.element[=].target.equivalence = #equal + +* group.element[+].code = #eRezept_Rezeptanforderung;Rezeptanfrage_Ablehnung +* group.element[=].target.display = "Ablehnung einer Rezeptanfrage" +* group.element[=].target.equivalence = #equal + +* group.element[+].code = #eRezept_Rezeptanforderung;Rezeptbestaetigung +* group.element[=].target.display = "Rezeptbestätigung und Übermittlung" +* group.element[=].target.equivalence = #equal + +* group.element[+].code = #eRezept_Rezeptanforderung;Abgabeanfrage +* group.element[=].target.display = "Anfrage zur Abgabe eines Medikaments" +* group.element[=].target.equivalence = #equal + +* group.element[+].code = #eRezept_Rezeptanforderung;Abgabebestaetigung +* group.element[=].target.display = "Bestätigung der Medikamentenabgabe" +* group.element[=].target.equivalence = #equal + +* group.element[+].code = #eRezept_Rezeptanforderung;NachrichtKopie +* group.element[=].target.display = "Kopie einer Rezeptanforderung" +* group.element[=].target.equivalence = #equal + +* group.element[+].code = #eRezept_ParenteraleZubereitung;Rezeptanfrage +* group.element[=].target.display = "Anfrage zur Ausstellung eines E-Rezepts einer Zytostatikazubereitung" +* group.element[=].target.equivalence = #equal + +* group.element[+].code = #eRezept_ParenteraleZubereitung;Rezeptanfrage_Storno +* group.element[=].target.display = "Stornierung einer Rezeptanfrage zur Zytostatikazubereitung" +* group.element[=].target.equivalence = #equal + +* group.element[+].code = #eRezept_ParenteraleZubereitung;Rezeptbestaetigung +* group.element[=].target.display = "Rezeptbestätigung einer Rezeptanfrage zur Zytostatikazubereitung" +* group.element[=].target.equivalence = #equal \ No newline at end of file diff --git a/Resources/input/fsh/examples/GEM_ERP_PR_MedicationDispense.fsh b/Resources/input/fsh/examples/GEM_ERP_PR_MedicationDispense.fsh deleted file mode 100644 index 06d352cf..00000000 --- a/Resources/input/fsh/examples/GEM_ERP_PR_MedicationDispense.fsh +++ /dev/null @@ -1,39 +0,0 @@ -Instance: UC1-Medication-Dispense -InstanceOf: GEM_ERP_PR_MedicationDispense -Usage: #inline -Description: "Example MedicationDispense" -* identifier.system = "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId" -* identifier.value = "160.100.000.000.002.36" -* identifier.use = #official -* contained[0] = Example-Response-Medication -* status = RequestStatus#completed -* medicationReference = Reference(Example-Response-Medication) - -* subject - * identifier - * system = "http://fhir.de/sid/gkv/kvid-10" - * value = "X123456789" - -* performer - * actor - * identifier - * system = "https://gematik.de/fhir/sid/telematik-id" - * value = "12345678901234567890" - -* whenHandedOver = "2020-04-16T13:44:27.957+00:00" - -* dosageInstruction - * sequence = 1 - * text = "Eine Tablette täglich" - * timing - * repeat - * frequency = 1 - * period = 1 - * periodUnit = #d - * doseAndRate - * type = http://terminology.hl7.org/CodeSystem/dose-rate-type#ordered - * doseQuantity - * value = 1 - * unit = "tablet" - - diff --git a/Resources/input/fsh/examples/KBV_FOR_Coverage.fsh b/Resources/input/fsh/examples/KBV_FOR_Coverage.fsh deleted file mode 100644 index b6407d3a..00000000 --- a/Resources/input/fsh/examples/KBV_FOR_Coverage.fsh +++ /dev/null @@ -1,19 +0,0 @@ -Instance: Response-Coverage -InstanceOf: $KBV_PR_FOR_Coverage -Usage: #inline -* meta.profile = "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" -* extension[BesonderePersonengruppe].url = "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe" -* extension[BesonderePersonengruppe].valueCoding = https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE#00 -* extension[DMPKennzeichen].url = "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen" -* extension[DMPKennzeichen].valueCoding = https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP#00 -* extension[WOP].url = "http://fhir.de/StructureDefinition/gkv/wop" -* extension[WOP].valueCoding = https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_ITA_WOP#72 -* extension[Versichertenart].url = "http://fhir.de/StructureDefinition/gkv/versichertenart" -* extension[Versichertenart].valueCoding = https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS#3 -* status = RequestStatus#active -* type = http://fhir.de/CodeSystem/versicherungsart-de-basis#GKV -* beneficiary = Reference(Patient/Example-Patient) -* period.end = "2040-04-01" -* payor.identifier.system = "http://fhir.de/sid/arge-ik/iknr" -* payor.identifier.value = "108416214" -* payor.display = "AOK Bayern Die Gesundh." \ No newline at end of file diff --git a/Resources/input/fsh/examples/KBV_FOR_Patient.fsh b/Resources/input/fsh/examples/KBV_FOR_Patient.fsh deleted file mode 100644 index 8bde0783..00000000 --- a/Resources/input/fsh/examples/KBV_FOR_Patient.fsh +++ /dev/null @@ -1,23 +0,0 @@ -Instance: Example-Patient -InstanceOf: $KBV_PR_FOR_Patient -Usage: #inline -Title: "Example-Patient" -Description: "Beispiel Patient" -* meta.profile = "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" -* identifier[versichertenId_GKV].type = http://fhir.de/CodeSystem/identifier-type-de-basis#GKV -* identifier[versichertenId_GKV].system = "http://fhir.de/sid/gkv/kvid-10" -* identifier[versichertenId_GKV].value = "X234567890" -* name[name].use = #official -* name[name].family = "Königsstein" -* name[name].family.extension[nachname].url = "http://hl7.org/fhir/StructureDefinition/humanname-own-name" -* name[name].family.extension[nachname].valueString = "Königsstein" -* name[name].given = "Ludger" -* birthDate = "1935-06-22" -* address[Strassenanschrift].type = #both -* address[Strassenanschrift].line = "Musterstr. 1" -* address[Strassenanschrift].line.extension[Hausnummer].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber" -* address[Strassenanschrift].line.extension[Hausnummer].valueString = "1" -* address[Strassenanschrift].line.extension[Strasse].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName" -* address[Strassenanschrift].line.extension[Strasse].valueString = "Musterstr." -* address[Strassenanschrift].city = "Berlin" -* address[Strassenanschrift].postalCode = "10623" \ No newline at end of file diff --git a/Resources/input/fsh/examples/KBV_FOR_Practitioner.fsh b/Resources/input/fsh/examples/KBV_FOR_Practitioner.fsh deleted file mode 100644 index 872472d0..00000000 --- a/Resources/input/fsh/examples/KBV_FOR_Practitioner.fsh +++ /dev/null @@ -1,22 +0,0 @@ -Instance: Example-Practitioner -InstanceOf: $KBV_PR_FOR_Practitioner -Usage: #inline -Title: "Example-Practitioner" -Description: "Beispielarzt zum Ausstellen der Rezepte" -* identifier[ANR].type = http://terminology.hl7.org/CodeSystem/v2-0203#LANR -* identifier[ANR].system = "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR" -* identifier[ANR].value = "838382202" -* identifier[Telematik-ID].type = http://terminology.hl7.org/CodeSystem/v2-0203#PRN -* identifier[Telematik-ID].system = "https://gematik.de/fhir/sid/telematik-id" -* identifier[Telematik-ID].value = "1-838382202" -* name[name].use = #official -* name[name].family = "Topp-Glücklich" -* name[name].family.extension[nachname].url = "http://hl7.org/fhir/StructureDefinition/humanname-own-name" -* name[name].family.extension[nachname].valueString = "Topp-Glücklich" -* name[name].given = "Hans" -* name[name].prefix = "Dr. med." -* name[name].prefix.extension[prefix-qualifier].url = "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier" -* name[name].prefix.extension[prefix-qualifier].valueCode = #AC -* qualification[Typ].code = https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type#00 -* qualification[Berufsbezeichnung].code = https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung#Berufsbezeichnung -* qualification[Berufsbezeichnung].code.text = "Hausarzt" \ No newline at end of file diff --git a/Resources/input/fsh/examples/KBV_Prescription.fsh b/Resources/input/fsh/examples/KBV_Prescription.fsh index bca1f1bb..af627e01 100644 --- a/Resources/input/fsh/examples/KBV_Prescription.fsh +++ b/Resources/input/fsh/examples/KBV_Prescription.fsh @@ -1,31 +1,5 @@ -Instance: Example-Response-KBV-Prescription -InstanceOf: $KBV_PR_ERP_Prescription -Usage: #inline -* meta.profile = "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" -* extension[Zuzahlungsstatus].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_StatusCoPayment" -* extension[Zuzahlungsstatus].valueCoding = https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_StatusCoPayment#1 -* extension[Notdienstgebuehr].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee" -* extension[Notdienstgebuehr].valueBoolean = false -* extension[BVG].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG" -* extension[BVG].valueBoolean = false -* extension[Mehrfachverordnung].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription" -* extension[Mehrfachverordnung].extension[Kennzeichen].url = "Kennzeichen" -* extension[Mehrfachverordnung].extension[Kennzeichen].valueBoolean = false -* status = RequestStatus#active -* intent = RequestIntent#order -* medicationReference = Reference(Medication/Example-Response-Medication) -* subject = Reference(Patient/Example-Patient) -* authoredOn = "2022-05-20" -* requester = Reference(Practitioner/Example-Practitioner) -* insurance = Reference(Coverage/Response-Coverage) -* dosageInstruction.extension[Dosierungskennzeichen].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag" -* dosageInstruction.extension[Dosierungskennzeichen].valueBoolean = true -* dosageInstruction.text = "2mal tägl. 5ml" -* dispenseRequest.quantity = 1 '{Package}' -* substitution.allowedBoolean = true - Instance: Example-Response-Medication -InstanceOf: $KBV_PR_ERP_Medication_PZN +InstanceOf: KBV_PR_ERP_Medication_PZN Usage: #inline * meta.profile = "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" * extension[Kategorie].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type" diff --git a/Resources/input/fsh/examples/Misc/Example_Address.fsh b/Resources/input/fsh/examples/Misc/Example_Address.fsh new file mode 100644 index 00000000..8f5c9a84 --- /dev/null +++ b/Resources/input/fsh/examples/Misc/Example_Address.fsh @@ -0,0 +1,10 @@ +Instance: Example_Address +InstanceOf: AddressDeBasis +Usage: #inline +Title: "Example_Address" +Description: "Example Address for alternative delivery" +* line[+] = "Hauptstraße 1" +* line[+] = "Zimmer 123" +* city = "Berlin" +* postalCode = "12345" +* country = "Germany" \ No newline at end of file diff --git a/Resources/input/fsh/examples/Misc/Example_Medication.fsh b/Resources/input/fsh/examples/Misc/Example_Medication.fsh new file mode 100644 index 00000000..1fe5e409 --- /dev/null +++ b/Resources/input/fsh/examples/Misc/Example_Medication.fsh @@ -0,0 +1,54 @@ +Instance: Example-Initial-Medication +InstanceOf: KBV_PR_ERP_Medication_PZN +Usage: #inline +* meta.profile = "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" +* extension[Kategorie].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type" +* extension[Kategorie].valueCodeableConcept.coding.version = "http://snomed.info/sct/900000000000207008/version/20220331" +* extension[Kategorie].valueCodeableConcept.coding = http://snomed.info/sct#763158003 "Medicinal product (product)" +* extension[Arzneimittelkategorie].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category" +* extension[Arzneimittelkategorie].valueCoding = https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category#00 +* extension[Impfstoff].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine" +* extension[Impfstoff].valueBoolean = false +* extension[Normgroesse].url = "http://fhir.de/StructureDefinition/normgroesse" +* extension[Normgroesse].valueCode = #N1 +* code = http://fhir.de/CodeSystem/ifa/pzn#08585997 +* code.text = "Prospan® Hustensaft 100ml" +* form = https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM#FLE + +Instance: Example-Initial-Medication-2 +InstanceOf: KBV_PR_ERP_Medication_PZN +Usage: #inline +* meta.profile = "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" +* extension[Kategorie].valueCodeableConcept.coding = http://snomed.info/sct#763158003 "Medicinal product (product)" +* extension[Arzneimittelkategorie].valueCoding = https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category#00 +* extension[Impfstoff].valueBoolean = false +* extension[Normgroesse].valueCode = #N1 +* code = http://fhir.de/CodeSystem/ifa/pzn#02483617 +* code.text = "Buscopan PLUS 20 St" +* form = https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM#FTA + +Instance: Example-Zyto-Medication +InstanceOf: KBV_PR_ERP_Medication_Compounding +Usage: #inline +* meta.profile = "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding|1.1.0" +* extension[Kategorie].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type" +* extension[Kategorie].valueCodeableConcept.coding.version = "http://snomed.info/sct/900000000000207008/version/20220331" +* extension[Kategorie].valueCodeableConcept.coding = http://snomed.info/sct#373873005:860781008=362943005 "Pharmaceutical / biologic product (product) : Has product characteristic (attribute) = Manual method (qualifier value)" +* extension[Arzneimittelkategorie].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category" +* extension[Arzneimittelkategorie].valueCoding = https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category#00 +* extension[Impfstoff].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine" +* extension[Impfstoff].valueBoolean = false +* code = https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type#rezeptur +* form.text = "Infusionslösung" +* amount.numerator.extension[Gesamtmenge].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize" +* amount.numerator.extension[Gesamtmenge].valueString = "500" +* amount.numerator.unit = "ml" +* amount.denominator.value = 1 +* ingredient[0].itemCodeableConcept.text = "Etoposid" +* ingredient[=].strength.numerator.value = 180 +* ingredient[=].strength.numerator.unit = "mg" +* ingredient[=].strength.denominator.value = 1 +* ingredient[+].itemCodeableConcept.text = "NaCl 0,9 %" +* ingredient[=].strength.numerator.value = 500 +* ingredient[=].strength.numerator.unit = "ml" +* ingredient[=].strength.denominator.value = 1 \ No newline at end of file diff --git a/Resources/input/fsh/examples/Misc/Example_MedicationDispense.fsh b/Resources/input/fsh/examples/Misc/Example_MedicationDispense.fsh new file mode 100644 index 00000000..17c8b660 --- /dev/null +++ b/Resources/input/fsh/examples/Misc/Example_MedicationDispense.fsh @@ -0,0 +1,10 @@ +Instance: UC1-Medication-Dispense +InstanceOf: ERPServiceRequestMedicationDispense +Usage: #example +Title: "Example Medication Dispense" +Description: "Example of a Medication Dispense." +* identifier[prescriptionID].system = "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId" +* identifier[prescriptionID].value = "169.100.000.000.002.36" +* subject = Reference(Example-Patient) +* status = #completed +* medicationReference = Reference(Example-Initial-Medication) diff --git a/Resources/input/fsh/examples/Misc/Example_MedicationRequest.fsh b/Resources/input/fsh/examples/Misc/Example_MedicationRequest.fsh new file mode 100644 index 00000000..4eda16ae --- /dev/null +++ b/Resources/input/fsh/examples/Misc/Example_MedicationRequest.fsh @@ -0,0 +1,50 @@ +Instance: Example-Initial-Medication-Request +InstanceOf: ERPServiceRequestMedicationRequest +Usage: #example +* status = #active +* intent = #order +* medicationReference = Reference(Example-Initial-Medication) +* subject = Reference(Example-Patient) +* dispenseRequest.quantity + * value = 1 + * unit = "Packung" + +Instance: Example-Komplex-Medication-Request +InstanceOf: ERPServiceRequestMedicationRequest +Usage: #example +* status = #active +* intent = #order +* medicationReference = Reference(Example-Initial-Medication) +* subject = Reference(Example-Patient) +* dispenseRequest.quantity + * value = 2 + * unit = "Packungen" + +Instance: Example-Initial-Medication-Request-2 +InstanceOf: ERPServiceRequestMedicationRequest +Usage: #inline +* status = #active +* intent = #order +* medicationReference = Reference(Example-Initial-Medication-2) +* subject = Reference(Example-Patient-2) +* dispenseRequest.quantity = 2 '{Package}' "Packungen" + +Instance: Example-Response-Medication-Request +InstanceOf: ERPServiceRequestMedicationRequest +Usage: #example +* status = #active +* intent = #order +* medicationReference = Reference(Example-Response-Medication) +* subject = Reference(Example-Patient) +* dispenseRequest.quantity = 65 'mL' "Milliliter" +* dosageInstruction.text = "1-1-1-0" + +Instance: Example-Zyto-Medication-Request +InstanceOf: ERPServiceRequestMedicationRequest +Usage: #inline +* status = #active +* intent = #order +* medicationReference = Reference(Example-Zyto-Medication) +* subject = Reference(Example-Patient) +* authoredOn = "2022-05-20" +* substitution.allowedBoolean = false \ No newline at end of file diff --git a/Resources/input/fsh/examples/Misc/Example_Organization.fsh b/Resources/input/fsh/examples/Misc/Example_Organization.fsh new file mode 100644 index 00000000..e75b9004 --- /dev/null +++ b/Resources/input/fsh/examples/Misc/Example_Organization.fsh @@ -0,0 +1,78 @@ +Instance: Example-HealthCareService-Organization +InstanceOf: ERPServiceRequestOrganization +Usage: #example +* meta.tag[Origin].code = #owner +* name = "Pflegeheim Immergrün" +* identifier[TelematikID].value = "123456789" +* type[profession].coding = $profession-id-cs#1.2.276.0.76.4.245 "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" +* contact.telecom[tel].system = #phone +* contact.telecom[tel].value = "0301234567" +* contact.telecom[kim].system = #email +* contact.telecom[kim].value = "arbeitsplatz-1@test-pflegeheim.kim.telematik" +* address[+] + * type = #both + * line = "Musterstr. 2" + * city = "Berlin" + * postalCode = "10623" + +Instance: Example-HealthCareService-Organization-no-kim +InstanceOf: ERPServiceRequestOrganization +Usage: #inline +* name = "Pflegeheim Immergrün" +* meta.tag[Origin].code = #owner +* type[profession].coding = $profession-id-cs#1.2.276.0.76.4.245 "Betriebsstätte Gesundheits-, Kranken- und Altenpflege" +* identifier[TelematikID].value = "123456789" +* contact.telecom[tel].system = #phone +* contact.telecom[tel].value = "0301234567" +* address[+] + * type = #both + * line = "Musterstr. 2" + * city = "Berlin" + * postalCode = "10623" + +Instance: Example-HealthCareService-Organization-wrong-type +InstanceOf: ERPServiceRequestOrganization +Usage: #inline +* name = "Pflegeheim Immergrün" +* meta.tag[Origin].code = #owner +* type[profession].coding = $profession-id-cs#1.2.276.0.76.4.54 "Öffentliche Apotheke" +* identifier[TelematikID].value = "123456789" +* contact.telecom[tel].system = #phone +* contact.telecom[tel].value = "0301234567" +* contact.telecom[kim].system = #email +* contact.telecom[kim].value = "arbeitsplatz-1@test-pflegeheim.kim.telematik" +* address[+] + * type = #both + * line = "Musterstr. 2" + * city = "Berlin" + * postalCode = "10623" + +Instance: Example-Pharmacy-Organization +InstanceOf: ERPServiceRequestOrganization +Usage: #inline +* name = "Test Apotheke" +* meta.tag[Origin].code = #owner +* type[profession].coding = $profession-id-cs#1.2.276.0.76.4.54 "Öffentliche Apotheke" +* identifier[TelematikID].value = "123456789" +* contact.telecom[tel].system = #phone +* contact.telecom[tel].value = "0301234567" +* address[+] + * type = #both + * line = "Musterstr. 2" + * city = "Berlin" + * postalCode = "10623" + +Instance: Example-Practitioner-Organization +InstanceOf: ERPServiceRequestOrganization +Usage: #inline +* name = "Test Arztpraxis" +* meta.tag[Origin].code = #owner +* type[profession].coding = $profession-id-cs#1.2.276.0.76.4.50 "Betriebsstätte Arzt" +* identifier[TelematikID].value = "123456789" +* contact.telecom[tel].system = #phone +* contact.telecom[tel].value = "0307654321" +* address[+] + * type = #both + * line = "Musterarztstr. 3" + * city = "Berlin" + * postalCode = "10623" \ No newline at end of file diff --git a/Resources/input/fsh/examples/Misc/Example_Patient.fsh b/Resources/input/fsh/examples/Misc/Example_Patient.fsh new file mode 100644 index 00000000..0667e362 --- /dev/null +++ b/Resources/input/fsh/examples/Misc/Example_Patient.fsh @@ -0,0 +1,45 @@ +Instance: Example-Patient +InstanceOf: ERPServiceRequestPatient +Usage: #example +Title: "Example-Patient" +Description: "Beispiel Patient" +* identifier[KVNR].value = "X234567890" +* name[Name] + * use = #official + * family = "Königsstein" + * family.extension[nachname].url = "http://hl7.org/fhir/StructureDefinition/humanname-own-name" + * family.extension[nachname].valueString = "Königsstein" + * given = "Ludger" +* birthDate = "1935-06-22" +* address[+] + * type = #both + * line = "Musterstr. 1" + * line.extension[Hausnummer].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber" + * line.extension[Hausnummer].valueString = "1" + * line.extension[Strasse].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName" + * line.extension[Strasse].valueString = "Musterstr." + * city = "Berlin" + * postalCode = "10623" + +Instance: Example-Patient-2 +InstanceOf: ERPServiceRequestPatient +Usage: #inline +Title: "Example-Patient-2" +Description: "Beispiel Patient 2" +* identifier[KVNR].value = "X098765432" +* name[Name] + * use = #official + * family = "Edgarson" + * family.extension[nachname].url = "http://hl7.org/fhir/StructureDefinition/humanname-own-name" + * family.extension[nachname].valueString = "Edgarson" + * given = "Peter" +* birthDate = "1974-01-31" +* address[+] + * type = #both + * line = "Erikastraße 43" + * line.extension[Hausnummer].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber" + * line.extension[Hausnummer].valueString = "43" + * line.extension[Strasse].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName" + * line.extension[Strasse].valueString = "Erikastraße" + * city = "Berlin" + * postalCode = "10742" \ No newline at end of file diff --git a/Resources/input/fsh/examples/Misc/Example_Practitioner.fsh b/Resources/input/fsh/examples/Misc/Example_Practitioner.fsh new file mode 100644 index 00000000..ad1d4fce --- /dev/null +++ b/Resources/input/fsh/examples/Misc/Example_Practitioner.fsh @@ -0,0 +1,14 @@ +Instance: Example-Practitioner +InstanceOf: ERPServiceRequestPractitioner +Usage: #example +Title: "Example-Practitioner" +Description: "Beispielarzt zum Ausstellen der Rezepte" +* meta.tag[Origin].code = #owner +* identifier[LANR].value = "838382202" +* identifier[TelematikID].value = "1-838382202" +* name[+] + * use = #official + * family = "Topp-Glücklich" + * given = "Hans" + * prefix = "Dr. med." + * text = "Dr. med. Hans Topp-Glücklich" \ No newline at end of file diff --git a/Resources/input/fsh/examples/Misc/Identifier.fsh b/Resources/input/fsh/examples/Misc/Identifier.fsh index 013ef34a..490e16ab 100644 --- a/Resources/input/fsh/examples/Misc/Identifier.fsh +++ b/Resources/input/fsh/examples/Misc/Identifier.fsh @@ -1,59 +1,55 @@ Instance: Pflegeheim-Immergrün-Identifier -InstanceOf: $HL7_Identifier +InstanceOf: IdentifierTelematikId Usage: #inline Title: "Pflegeheim-Immergrün-Identifier" Description: "Example identifier for Nursing Home Evergreen" -* system = "https://gematik.de/fhir/sid/telematik-id" * value = "5-test-telematik-id" Instance: Hans-Topp-Glücklich-Identifier -InstanceOf: $HL7_Identifier +InstanceOf: IdentifierTelematikId Usage: #inline Title: "Hans-Topp-Glücklich-Identifier" Description: "Example identifier for the doctor Hans Topp Glück" -* system = "https://gematik.de/fhir/sid/telematik-id" * value = "1-test-telematik-id" Instance: Test-Apotheke-Identifier -InstanceOf: $HL7_Identifier +InstanceOf: IdentifierTelematikId Usage: #inline Title: "Test-Apotheke-Identifier" Description: "Example identifier for the executing pharmacy" -* system = "https://gematik.de/fhir/sid/telematik-id" * value = "3-test-telematik-id" Instance: Test-Apotheke2-Identifier -InstanceOf: $HL7_Identifier +InstanceOf: IdentifierTelematikId Usage: #inline Title: "Test-Apotheke2-Identifier" Description: "Example identifier for the executing pharmacy" -* system = "https://gematik.de/fhir/sid/telematik-id" * value = "3-test-telematik-id-2" Instance: Pflegeheim-Immergrün-KIM-Identifier -InstanceOf: $GEM_PR_KIM_AdressIdentifier +InstanceOf: IdentifierAddressKIM Usage: #inline Title: "Pflegeheim-Immergrün-KIM-Identifier" Description: "Example KIM-identifier for Nursing Home Evergreen" * value = "pflegeheim.immergrün.arzt@sana-pflegeheime.kim.telematik" Instance: Hans-Topp-Glücklich-KIM-Identifier -InstanceOf: $GEM_PR_KIM_AdressIdentifier +InstanceOf: IdentifierAddressKIM Usage: #inline Title: "Hans-Topp-Glücklich-KIM-Identifier" Description: "Example KIM-identifier for the doctor Hans Topp Glück" * value = "hans@ytopp-gluecklich.kim.telematik" Instance: Test-Apotheke-KIM-Identifier -InstanceOf: $GEM_PR_KIM_AdressIdentifier +InstanceOf: IdentifierAddressKIM Usage: #inline Title: "Test-Apotheke-KIM-Identifier" Description: "Example KIM-identifier for the executing pharmacy" * value = "arbeitsplatz-1@test-apotheke.kim.telematik" Instance: Test-Apotheke2-KIM-Identifier -InstanceOf: $GEM_PR_KIM_AdressIdentifier +InstanceOf: IdentifierAddressKIM Usage: #inline Title: "Test-Apotheke2-KIM-Identifier" Description: "Example KIM-identifier for the executing pharmacy" diff --git a/Resources/input/fsh/examples/Misc/MessageHeader.fsh b/Resources/input/fsh/examples/Misc/MessageHeader.fsh index d8d2baf7..a0de42a9 100644 --- a/Resources/input/fsh/examples/Misc/MessageHeader.fsh +++ b/Resources/input/fsh/examples/Misc/MessageHeader.fsh @@ -1,106 +1,97 @@ RuleSet: HealthCareService-to-Practitioner(SR) -* focus[+] = Reference(ServiceRequest/{SR}) +* focus[0] = Reference(ServiceRequest/{SR}) * sender.identifier = Pflegeheim-Immergrün-Identifier * sender.display = "Pflegeheim Immergrün" -* destination.receiver.identifier = Hans-Topp-Glücklich-Identifier -* destination.receiver.display = "Praxis Hans Topp-Glücklich" +* destination.name = "Praxis Hans Topp-Glücklich" * destination.endpoint = "mailto:practitioner@test.kim.de" * source.name = "HealthCare-Source" * source.software = "HealthCare-Software" * source.version = "1.0.0" * source.contact.system = #email -* source.contact.value = "info@hcs.email" -* source.endpoint = "mailto:healthcare-service@test.kim.de" - -//TODO: MessageHeader ändern .identifier = telematik-id und endpoint = kim-adresse +* source.contact.value = "info@healthcare_ps_solutions.com" +* source.endpoint = "https://healthcare_ps_solutions.com/jira_helpdesk" RuleSet: Practitioner-to-HealthCareService(SR) -* focus[+] = Reference(ServiceRequest/{SR}) +* focus[0] = Reference(ServiceRequest/{SR}) * sender.identifier = Hans-Topp-Glücklich-Identifier * sender.display = "Praxis Hans Topp-Glücklich" * source.name = "Practitioner-Source" * source.software = "Practitioner-Software" * source.version = "1.0.0" * source.contact.system = #email -* source.contact.value = "info@pvs.email" -* source.endpoint = "mailto:practitioner@test.kim.de" -* destination.receiver.identifier = Pflegeheim-Immergrün-Identifier -* destination.receiver.display = "Pflegeheim Immergrün" +* source.contact.value = "info@pvs_solutions.email" +* source.endpoint = "https://pvs_solutions.com/jira_helpdesk" +* destination.name = "Pflegeheim Immergrün" * destination.endpoint = "mailto:healthcare-service@test.kim.de" RuleSet: HealthCareService-to-Pharmacy(SR) -* focus[+] = Reference(ServiceRequest/{SR}) +* focus[0] = Reference(ServiceRequest/{SR}) * sender.identifier = Pflegeheim-Immergrün-Identifier * sender.display = "Pflegeheim Immergrün" * source.name = "HealthCare-Source" * source.software = "HealthCare-Software" * source.version = "1.0.0" * source.contact.system = #email -* source.contact.value = "info@hcs.email" -* source.endpoint = "mailto:healthcare-service@test.kim.de" -* destination.receiver.identifier = Test-Apotheke-Identifier -* destination.receiver.display = "Test Apotheke" +* source.contact.value = "info@healthcare_ps_solutions.com" +* source.endpoint = "https://healthcare_ps_solutions.com/jira_helpdesk" +* destination.name = "Test Apotheke" * destination.endpoint = "mailto:pharmacy@test.kim.de" RuleSet: Pharmacy-to-HealthCareService(SR) -* focus[+] = Reference(ServiceRequest/{SR}) +* focus[0] = Reference(ServiceRequest/{SR}) * sender.identifier = Test-Apotheke-Identifier * sender.display = "Test Apotheke" * source.name = "Pharmacy-Source" * source.software = "Pharmacy-Software" * source.version = "1.0.0" * source.contact.system = #email -* source.contact.value = "info@avs.email" -* source.endpoint = "mailto:pharmacy@test.kim.de" -* destination.receiver.identifier = Pflegeheim-Immergrün-Identifier -* destination.receiver.display = "Pflegeheim Immergrün" +* source.contact.value = "info@avs_solutions.com" +* source.endpoint = "https://avs_solutions.com/jira_helpdesk" +* destination.name = "Pflegeheim Immergrün" * destination.endpoint = "mailto:healthcare-service@test.kim.de" RuleSet: Pharmacy-to-Practitioner(SR) -* focus[+] = Reference(ServiceRequest/{SR}) +* focus[0] = Reference(ServiceRequest/{SR}) * sender.identifier = Test-Apotheke-Identifier * sender.display = "Test Apotheke" * source.name = "Pharmacy-Source" * source.software = "Pharmacy-Software" * source.version = "1.0.0" * source.contact.system = #email -* source.contact.value = "info@avs.email" -* source.endpoint = "mailto:pharmacy@test.kim.de" -* destination.receiver.identifier = Hans-Topp-Glücklich-Identifier -* destination.receiver.display = "Praxis Hans Topp-Glücklich" +* source.contact.value = "info@avs_solutions.com" +* source.endpoint = "https://avs_solutions.com/jira_helpdesk" +* destination.name = "Praxis Hans Topp-Glücklich" * destination.endpoint = "mailto:practitioner@test.kim.de" RuleSet: Practitioner-to-Pharmacy(SR) -* focus[+] = Reference(ServiceRequest/{SR}) +* focus[0] = Reference(ServiceRequest/{SR}) * sender.identifier = Hans-Topp-Glücklich-Identifier * sender.display = "Praxis Hans Topp-Glücklich" * source.name = "Practitioner-Source" * source.software = "Practitioner-Software" * source.version = "1.0.0" * source.contact.system = #email -* source.contact.value = "info@pvs.email" -* source.endpoint = "mailto:practitioner@test.kim.de" -* destination.receiver.identifier = Test-Apotheke-Identifier -* destination.receiver.display = "Test Apotheke" +* source.contact.value = "info@pvs_solutions.email" +* source.endpoint = "https://pvs_solutions.com/jira_helpdesk" +* destination.name = "Test Apotheke" * destination.endpoint = "mailto:pharmacy@test.kim.dee" RuleSet: Pharmacy1-to-Pharmacy2(SR) -* focus[+] = Reference(ServiceRequest/{SR}) +* focus[0] = Reference(ServiceRequest/{SR}) * sender.identifier = Test-Apotheke-Identifier * sender.display = "Test Apotheke" * source.name = "Pharmacy-Source" * source.software = "Pharmacy-Software" * source.version = "1.0.0" * source.contact.system = #email -* source.contact.value = "info@avs.email" -* source.endpoint = "mailto:pharmacy@test.kim.de" -* destination.receiver.identifier = Test-Apotheke2-Identifier -* destination.receiver.display = "Test Apotheke 2" +* source.contact.value = "info@avs_solutions.com" +* source.endpoint = "https://avs_solutions.com/jira_helpdesk" +* destination.name = "Test Apotheke 2" * destination.endpoint = "mailto:pharamacy_2@test.kim.de" RuleSet: Pharmacy2-to-Pharmacy1(SR) -* focus[+] = Reference(ServiceRequest/{SR}) +* focus[0] = Reference(ServiceRequest/{SR}) * sender.identifier = Test-Apotheke2-Identifier * sender.display = "Test Apotheke 2" * sender.display = "Test Apotheke" @@ -108,17 +99,8 @@ RuleSet: Pharmacy2-to-Pharmacy1(SR) * source.software = "Pharmacy-Software-2" * source.version = "1.0.0" * source.contact.system = #email -* source.contact.value = "info@avs_2.email" -* source.endpoint = "mailto:pharmacy_2@test.kim.de" -* destination.receiver.identifier = Test-Apotheke-Identifier -* destination.receiver.display = "Test Apotheke-2" +* source.contact.value = "info@avs_solutions-2.com" +* source.endpoint = "https://avs_solutions-2.com/jira_helpdesk" +* destination.name = "Test Apotheke-2" * destination.endpoint = "mailto:pharmacy@test.kim.de" -/* -Instance: UC4-Pharmacy-to-Practitioner-MessageHeader -InstanceOf: ERPServiceRequestRequestHeader -Usage: #inline -Title: "Pharmacy-to-Practitioner-MessageHeader" -Description: "Message Header from Pharmacy to Practitioner" -* insert HealthCareService-to-Practitioner(UC1-Initial-Prescription-Request) -*/ diff --git a/Resources/input/fsh/examples/UC1/UC1_Bundles.fsh b/Resources/input/fsh/examples/UC1/UC1_Bundles.fsh index 4545043a..965a6a84 100644 --- a/Resources/input/fsh/examples/UC1/UC1_Bundles.fsh +++ b/Resources/input/fsh/examples/UC1/UC1_Bundles.fsh @@ -4,23 +4,25 @@ Usage: #example Title: "Medication Request To Prescriber" Description: "Request sent to Prescriber to get a Prescription" * identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" -* timestamp = "2015-02-07T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-HealthCareService-to-Practitioner-MessageHeader" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-HealthCareService-to-Practitioner-MessageHeader" * entry[=].resource = UC1-HealthCareService-to-Practitioner-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" +* entry[=].resource = Example-HealthCareService-Organization + +// ServiceRequest * entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-Initial-Prescription-Request" * entry[=].resource = UC1-Initial-Prescription-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +//Medication Request * entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" * entry[=].resource = Example-Initial-Medication-Request * entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" * entry[=].resource = Example-Initial-Medication -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" -* entry[=].resource = Example-Patient -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" -* entry[=].resource = Example-HealthCareService-Organization -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Observation/Medication-Runs-Out-Example-dateTime" -* entry[=].resource = Medication-Runs-Out-Example-dateTime -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Observation/Medication-Runs-Out-Example-Quantity" -* entry[=].resource = Medication-Runs-Out-Example-Quantity + Instance: UC1-2-Fullfilled-Prescription-Request InstanceOf: ERPServiceRequestMessageContainer @@ -28,23 +30,24 @@ Usage: #example Title: "Fullfilled Prescription Request" Description: "Response sent from Practitioner back to HealthCareService" * identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" -* timestamp = "2023-01-30T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-Practitioner-to-HealthCareService-MessageHeader" +* timestamp = "2025-05-14T08:15:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-Practitioner-to-HealthCareService-MessageHeader" * entry[=].resource = UC1-Practitioner-to-HealthCareService-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization" +* entry[=].resource = Example-Practitioner-Organization + +// ServiceRequest * entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-Response-Prescription-Request" * entry[=].resource = UC1-Response-Prescription-Request -* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-KBV-Prescription" -* entry[=].resource = Example-Response-KBV-Prescription -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Response-Medication" -* entry[=].resource = Example-Response-Medication -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Practitioner/Example-Practitioner" -* entry[=].resource = Example-Practitioner * entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" * entry[=].resource = Example-Patient -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Coverage/Response-Coverage" -* entry[=].resource = Response-Coverage -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" -* entry[=].resource = Example-HealthCareService-Organization + +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-Medication-Request" +* entry[=].resource = Example-Response-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Response-Medication" +* entry[=].resource = Example-Response-Medication Instance: UC1-3-Dispense-Request-To-Pharmacy InstanceOf: ERPServiceRequestMessageContainer @@ -52,13 +55,18 @@ Usage: #example Title: "DispenseRequestToPharmacy" Description: "Request sent to pharmacy to request a dispense of the medication" * identifier.value = "urn:uuid:c80f6c55-92f8-4518-ba66-cb193da09336" -* timestamp = "2023-02-01T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-HealthCareService-to-Pharmacy-MessageHeader" +* timestamp = "2025-05-14T08:23:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-HealthCareService-to-Pharmacy-MessageHeader" * entry[=].resource = UC1-HealthCareService-to-Pharmacy-MessageHeader -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" -* entry[=].resource = Example-Patient +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" +* entry[=].resource = Example-HealthCareService-Organization + +// ServiceRequest * entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-Initial-Dispense-Request" * entry[=].resource = UC1-Initial-Dispense-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient Instance: UC1-4-Fullfilled-DispenseRequest-To-Pharmacy InstanceOf: ERPServiceRequestMessageContainer @@ -66,14 +74,65 @@ Usage: #example Title: "DispenseRequestToPharmacy" Description: "Response sent from pharmacy to requester" * identifier.value = "urn:uuid:c80f6c55-92f8-4518-ba66-cb193da09336" -* timestamp = "2023-02-01T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-Pharmacy-to-HealthCareService-MessageHeader" +* timestamp = "2025-05-14T08:30:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-Pharmacy-to-HealthCareService-MessageHeader" * entry[=].resource = UC1-Pharmacy-to-HealthCareService-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" +* entry[=].resource = Example-Pharmacy-Organization + +// ServiceRequest * entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-Response-Dispense-Request" * entry[=].resource = UC1-Response-Dispense-Request * entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" * entry[=].resource = Example-Patient -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Response-Medication" -* entry[=].resource = Example-Response-Medication + +// Medication Dispense * entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationDispense/UC1-Medication-Dispense" * entry[=].resource = UC1-Medication-Dispense +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" +* entry[=].resource = Example-Initial-Medication + +Instance: UC1-3-Alt-Delivery-Dispense-Request-To-Pharmacy +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "DispenseRequestToPharmacy" +Description: "Request sent to pharmacy to request a dispense of the medication" +* identifier.value = "urn:uuid:fa23be14-c00a-4ddc-8128-82ace2f9a80b" +* timestamp = "2025-05-14T08:23:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-Alt-Delivery-HealthCareService-to-Pharmacy-MessageHeader" +* entry[=].resource = UC1-Alt-Delivery-HealthCareService-to-Pharmacy-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" +* entry[=].resource = Example-HealthCareService-Organization + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-Alt-Delivery-Initial-Dispense-Request" +* entry[=].resource = UC1-Alt-Delivery-Initial-Dispense-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +Instance: UC1-4-Alt-Delivery-Fullfilled-DispenseRequest-To-Pharmacy +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "DispenseRequestToPharmacy" +Description: "Response sent from pharmacy to requester" +* identifier.value = "urn:uuid:ebad657e-589f-4386-ad81-19352ca21310" +* timestamp = "2025-05-14T08:30:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-Alt-Delivery-Pharmacy-to-HealthCareService-MessageHeader" +* entry[=].resource = UC1-Alt-Delivery-Pharmacy-to-HealthCareService-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" +* entry[=].resource = Example-Pharmacy-Organization + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-Alt-Delivery-Response-Dispense-Request" +* entry[=].resource = UC1-Alt-Delivery-Response-Dispense-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +// Medication Dispense +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationDispense/UC1-Medication-Dispense" +* entry[=].resource = UC1-Medication-Dispense +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" +* entry[=].resource = Example-Initial-Medication \ No newline at end of file diff --git a/Resources/input/fsh/examples/UC1/UC1_MessageHeader.fsh b/Resources/input/fsh/examples/UC1/UC1_MessageHeader.fsh index 1ca357b7..52270163 100644 --- a/Resources/input/fsh/examples/UC1/UC1_MessageHeader.fsh +++ b/Resources/input/fsh/examples/UC1/UC1_MessageHeader.fsh @@ -4,30 +4,52 @@ Usage: #example Title: "HealthCareService-to-Practitioner-MessageHeader" Description: "Message Header from HealthCareService to Practitioner" * insert HealthCareService-to-Practitioner(UC1-Initial-Prescription-Request) -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Rezeptanfrage +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage +* responsible = Reference(Example-HealthCareService-Organization) Instance: UC1-Practitioner-to-HealthCareService-MessageHeader InstanceOf: ERPServiceRequestRequestHeader Usage: #inline Title: "Practitioner-to-HealthCareService-MessageHeader" Description: "Message Header from Practitioner to HealthCareService" -* insert HealthCareService-to-Practitioner(UC1-Response-Prescription-Request) -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Rezeptbestaetigung +* insert Practitioner-to-HealthCareService(UC1-Response-Prescription-Request) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptbestaetigung +* responsible = Reference(Example-Practitioner-Organization) Instance: UC1-HealthCareService-to-Pharmacy-MessageHeader InstanceOf: ERPServiceRequestRequestHeader Usage: #inline Title: "HealthCareService-to-Pharmacy-MessageHeader" Description: "Message Header from HealthCareService to Pharmacy" -* insert HealthCareService-to-Practitioner(UC1-Initial-Dispense-Request) -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Abgabeanfrage +* insert HealthCareService-to-Pharmacy(UC1-Initial-Dispense-Request) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Abgabeanfrage +* responsible = Reference(Example-HealthCareService-Organization) Instance: UC1-Pharmacy-to-HealthCareService-MessageHeader InstanceOf: ERPServiceRequestRequestHeader Usage: #inline Title: "Pharmacy-to-HealthCareService-MessageHeader" Description: "Message Header from Pharmacy to HealthCareService" -* insert HealthCareService-to-Practitioner(UC1-Response-Dispense-Request) -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Abgabebestaetigung +* insert Pharmacy-to-HealthCareService(UC1-Response-Dispense-Request) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Abgabebestaetigung +* responsible = Reference(Example-Pharmacy-Organization) +// Alternative Addresse +Instance: UC1-Alt-Delivery-HealthCareService-to-Pharmacy-MessageHeader +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "Alt-Delivery-HealthCareService-to-Pharmacy-MessageHeader" +Description: "Message Header from HealthCareService to Pharmacy" +* insert HealthCareService-to-Pharmacy(UC1-Alt-Delivery-Initial-Dispense-Request) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Abgabeanfrage +* responsible = Reference(Example-HealthCareService-Organization) + +Instance: UC1-Alt-Delivery-Pharmacy-to-HealthCareService-MessageHeader +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "Alt-Delivery-Pharmacy-to-HealthCareService-MessageHeader" +Description: "Message Header from Pharmacy to HealthCareService" +* insert Pharmacy-to-HealthCareService(UC1-Alt-Delivery-Response-Dispense-Request) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Abgabebestaetigung +* responsible = Reference(Example-Pharmacy-Organization) diff --git a/Resources/input/fsh/examples/UC1/UC1_ServiceRequests.fsh b/Resources/input/fsh/examples/UC1/UC1_ServiceRequests.fsh index 327e6370..ce2d199d 100644 --- a/Resources/input/fsh/examples/UC1/UC1_ServiceRequests.fsh +++ b/Resources/input/fsh/examples/UC1/UC1_ServiceRequests.fsh @@ -1,98 +1,117 @@ // Prescription Service Requests Instance: UC1-Initial-Prescription-Request InstanceOf: ERPServiceRequestPrescriptionRequest -Usage: #inline +Usage: #example Title: "Initial Prescription Request" Description: "This ServiceRequest is sent initially to the prescribing practitioner" -* identifier[0] - * system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" - * value = "1" -* identifier[+].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemPreDisIdentifier" -* identifier[=].value = "PreDis-1" +* identifier[requestId].value = "1" * basedOn = Reference(Example-Initial-Medication-Request) -* requisition[0].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" -* requisition[=].value = "GroupID-UC1" +* requisition.value = "GroupID-UC1" * status = RequestStatus#active * intent = RequestIntent#order -* code = ServiceRequestTypeCS#prescription-request -* subject = Reference(Patient/Example-Patient) -* orderDetail = PrescriptionFullfillmentTypeCS#return-to-requester -* occurrenceDateTime = "2023-02-01" -* authoredOn = "2023-01-27" +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* occurrenceDateTime = "2025-05-14T12:00:00+02:00" +* authoredOn = "2025-05-13" * requester = Reference(Example-HealthCareService-Organization) -* performer.identifier = Hans-Topp-Glücklich-Identifier -* reasonCode = MedicationRequestReasonCS#medication-runs-out -* reasonReference[+] = Reference(Observation/Medication-Runs-Out-Example-dateTime) -* reasonReference[+] = Reference(Observation/Medication-Runs-Out-Example-Quantity) -* note[+].text = "Medikament läuft am 31.01.2023 aus. Es sind noch 7 stk übrig. " +* priority = #urgent +* reasonCode = MedicationRequestReasonCS#exhausted-range + * text = "Medikament läuft am 15.05.2025 aus. Es sind noch 7 stk übrig." + * extension[remainingSupply].valueQuantity + * value = 7 + * unit = "Stück" +* note[+].text = "Wird weiterhin benötigt, bitte um Verlängerung." +* note[=].time = "2025-05-13T14:23:12+02:00" Instance: UC1-Response-Prescription-Request InstanceOf: ERPServiceRequestPrescriptionRequest Usage: #inline -Title: "Initial Prescription Request" +Title: "Completed Response Prescription Request" Description: "ServiceRequest that is returned to the requester" -* extension[EPrescriptionToken].valueIdentifier.system = "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken" -* extension[EPrescriptionToken].valueIdentifier.value = "Task/160.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" -* identifier[0] - * system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" - * value = "1" -* identifier[+].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemPreDisIdentifier" -* identifier[=].value = "PreDis-1" -* basedOn = Reference(Example-Response-KBV-Prescription) -* requisition[0].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" -* requisition[=].value = "GroupID-UC1" +* identifier[requestId].value = "1" +* requisition.value = "GroupID-UC1" +* extension[EPrescriptionToken].valueIdentifier.value = "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" * status = RequestStatus#completed -* intent = RequestIntent#order -* code = ServiceRequestTypeCS#prescription-request +* basedOn = Reference(Example-Response-Medication-Request) * subject = Reference(Example-Patient) -* orderDetail = PrescriptionFullfillmentTypeCS#return-to-requester -* occurrenceDateTime = "2023-01-30" //update wann es tatsächlich ausgestellt wurde -* authoredOn = "2023-01-27" -* requester = Reference(Example-HealthCareService-Organization) -* performer = Reference(Example-Practitioner) -* note[+].text = "Medikament läuft am 31.01.2023 aus. Es sind noch 7 stk übrig. " +* authoredOn = "2025-05-13" +* intent = RequestIntent#order +* performer.identifier = Hans-Topp-Glücklich-Identifier +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* note[+].text = "Wird weiterhin benötigt, bitte um Verlängerung." +* note[=].time = "2025-05-14T08:12:23+02:00" // Dispense Service Requests - Instance: UC1-Initial-Dispense-Request InstanceOf: ERPServiceRequestDispenseRequest Usage: #inline Title: "Initial Dispense Request" Description: "This ServiceRequest is sent initially to the dispensing pharmacy" -* extension[EPrescriptionToken].valueIdentifier.system = "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken" -* extension[EPrescriptionToken].valueIdentifier.value = "Task/160.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" -* identifier[0] - * system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" - * value = "2" -* identifier[+].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemPreDisIdentifier" -* identifier[=].value = "PreDis-1" -* requisition[0].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" -* requisition[=].value = "GroupID-UC1" +* extension[EPrescriptionToken].valueIdentifier.value = "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" +* identifier[requestId].value = "2" +* requisition.value = "GroupID-UC1" * status = RequestStatus#active * intent = RequestIntent#filler-order -* code = ServiceRequestTypeCS#dispense-request * subject = Reference(Example-Patient) -* occurrenceDateTime = "2023-02-01" -* authoredOn = "2023-02-01" +* code.coding[request-type] = ServiceRequestTypeCS#dispense-request +* requester = Reference(Example-HealthCareService-Organization) +* authoredOn = "2025-05-14" +* priority = #urgent +* note[+].text = "Wird weiterhin benötigt, bitte um Verlängerung. Bitte um schnelle Bearbeitung" +* note[=].time = "2025-05-14T08:22:05+02:00" Instance: UC1-Response-Dispense-Request InstanceOf: ERPServiceRequestDispenseRequest Usage: #inline Title: "Initial Dispense Request" Description: "This ServiceRequest is sent initially to the dispensing pharmacy" -* identifier[0] - * system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" - * value = "2" -* identifier[+].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemPreDisIdentifier" -* identifier[=].value = "PreDis-1" -* requisition[0].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" -* requisition[=].value = "GroupID-UC1" +* identifier[requestId].value = "2" +* requisition.value = "GroupID-UC1" * status = RequestStatus#completed * intent = RequestIntent#filler-order -* code = ServiceRequestTypeCS#dispense-request +* code.coding[request-type] = ServiceRequestTypeCS#dispense-request * subject = Reference(Example-Patient) -* occurrenceDateTime = "2023-02-01" -* authoredOn = "2023-02-01" +* authoredOn = "2025-05-14" * supportingInfo[AbgabeDaten] = Reference (UC1-Medication-Dispense) * supportingInfo[AbgabeDaten].type = "MedicationDispense" (exactly) +* note[+].text = "Lagert vor Ort. Kann bis 13:00 heute per Botendienst geliefert werden." +* note[=].time = "2025-05-14T08:27:05+02:00" + +// Dispense Service Requests - Alternative Delivery +Instance: UC1-Alt-Delivery-Initial-Dispense-Request +InstanceOf: ERPServiceRequestDispenseRequest +Usage: #inline +Title: "Initial Dispense Request" +Description: "This ServiceRequest is sent initially to the dispensing pharmacy" +* extension[EPrescriptionToken].valueIdentifier.value = "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" +* extension[alternativeDeliveryAddress].valueAddress = Example_Address +* identifier[requestId].value = "2" +* requisition.value = "GroupID-UC1" +* status = RequestStatus#active +* intent = RequestIntent#filler-order +* subject = Reference(Example-Patient) +* code.coding[request-type] = ServiceRequestTypeCS#dispense-request +* code.coding[delivery-type] = DeliveryTypeCS#delivery-to-alternative-address +* requester = Reference(Example-HealthCareService-Organization) +* authoredOn = "2025-05-14" +* priority = #urgent +* note[+].text = "Bitte um schnelle Bearbeitung" +* note[=].time = "2025-05-14T08:22:05+02:00" +Instance: UC1-Alt-Delivery-Response-Dispense-Request +InstanceOf: ERPServiceRequestDispenseRequest +Usage: #inline +Title: "Initial Dispense Request" +Description: "This ServiceRequest is sent initially to the dispensing pharmacy" +* identifier[requestId].value = "2" +* requisition.value = "GroupID-UC1" +* status = RequestStatus#completed +* intent = RequestIntent#filler-order +* code.coding[request-type] = ServiceRequestTypeCS#dispense-request +* code.coding[delivery-type] = DeliveryTypeCS#delivery-to-alternative-address +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-14" +* supportingInfo[AbgabeDaten] = Reference (UC1-Medication-Dispense) +* supportingInfo[AbgabeDaten].type = "MedicationDispense" (exactly) +* note[+].text = "Lagert vor Ort. Kommt mit Extra Botendienst." +* note[=].time = "2025-05-14T08:27:05+02:00" diff --git a/Resources/input/fsh/examples/UC1_Ablehnung/UC1_Ablehnung_Bundles.fsh b/Resources/input/fsh/examples/UC1_Ablehnung/UC1_Ablehnung_Bundles.fsh new file mode 100644 index 00000000..42ef2db2 --- /dev/null +++ b/Resources/input/fsh/examples/UC1_Ablehnung/UC1_Ablehnung_Bundles.fsh @@ -0,0 +1,22 @@ +Instance: UC1-Rejection-Of-Prescriber +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "Rejectionrequest sent from Prescriber" +Description: "Response sent from Practitioner back to HealthCareService" +* identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" +* timestamp = "2025-05-13T16:15:54.239+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-Practitioner-to-HealthCareService-MessageHeader-Rejection" +* entry[=].resource = UC1-Practitioner-to-HealthCareService-MessageHeader-Rejection +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization" +* entry[=].resource = Example-Practitioner-Organization +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-Rejection-Prescription-Request" +* entry[=].resource = UC1-Rejection-Prescription-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" +* entry[=].resource = Example-Initial-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" +* entry[=].resource = Example-Initial-Medication \ No newline at end of file diff --git a/Resources/input/fsh/examples/UC1_Ablehnung/UC1_Ablehnung_MessageHeader.fsh b/Resources/input/fsh/examples/UC1_Ablehnung/UC1_Ablehnung_MessageHeader.fsh new file mode 100644 index 00000000..df39fbc3 --- /dev/null +++ b/Resources/input/fsh/examples/UC1_Ablehnung/UC1_Ablehnung_MessageHeader.fsh @@ -0,0 +1,14 @@ +Instance: UC1-Practitioner-to-HealthCareService-MessageHeader-Rejection +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "Practitioner-to-HealthCareService-MessageHeader-Rejection" +Description: "Cancellation Message Header from Practitioner to HealthCareService" +* insert HealthCareService-to-Practitioner(UC1-Rejection-Prescription-Request) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage_Ablehnung +* source.name = "Practitioner-Source" +* source.software = "Practitioner-Software" +* source.version = "1.0.0" +* source.contact.system = #email +* source.contact.value = "info@practitioner.email" +* source.endpoint = "http://practitioner.endpoint" +* responsible = Reference(Example-Practitioner-Organization) diff --git a/Resources/input/fsh/examples/UC1_Ablehnung/UC1_Ablehnung_ServiceRequests.fsh b/Resources/input/fsh/examples/UC1_Ablehnung/UC1_Ablehnung_ServiceRequests.fsh new file mode 100644 index 00000000..bd29f484 --- /dev/null +++ b/Resources/input/fsh/examples/UC1_Ablehnung/UC1_Ablehnung_ServiceRequests.fsh @@ -0,0 +1,15 @@ +// Prescription Service Requests +Instance: UC1-Rejection-Prescription-Request +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #inline +Title: "Rejected Prescription Request" +Description: "This ServiceRequest is sent initially to the prescribing practitioner" +* identifier[requestId].value = "1" +* requisition.value = "GroupID-UC1" +* status = RequestStatus#revoked +* intent = RequestIntent#order +* basedOn = Reference(Example-Initial-Medication-Request) +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" +* reasonCode.text = "Hr. Königsstein braucht das Medikament nicht mehr" \ No newline at end of file diff --git a/Resources/input/fsh/examples/UC1_MultipleRequests/UC1_MultipleRequest_Bundles.fsh b/Resources/input/fsh/examples/UC1_MultipleRequests/UC1_MultipleRequest_Bundles.fsh new file mode 100644 index 00000000..0c4c1659 --- /dev/null +++ b/Resources/input/fsh/examples/UC1_MultipleRequests/UC1_MultipleRequest_Bundles.fsh @@ -0,0 +1,119 @@ +Instance: UC1-MULTI-1-Prescription-Request-To-Prescriber +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "Medication Request To Prescriber" +Description: "Request sent to Prescriber to get a Prescription. Same Medicat" +* identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-MULTI-HealthCareService-to-Practitioner-MessageHeader" +* entry[=].resource = UC1-MULTI-HealthCareService-to-Practitioner-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" +* entry[=].resource = Example-HealthCareService-Organization + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-MULTI-Initial-Prescription-Request-1" +* entry[=].resource = UC1-MULTI-Initial-Prescription-Request-1 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-MULTI-Initial-Prescription-Request-2" +* entry[=].resource = UC1-MULTI-Initial-Prescription-Request-2 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient-2" +* entry[=].resource = Example-Patient-2 + +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" +* entry[=].resource = Example-Initial-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" +* entry[=].resource = Example-Initial-Medication +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request-2" +* entry[=].resource = Example-Initial-Medication-Request-2 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication-2" +* entry[=].resource = Example-Initial-Medication-2 + +Instance: UC1-MULTI-2-Response-Prescription-Request-1 +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "Response Prescription Request" +Description: "Response from Practitioner containing the completed prescriptions" +* identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" +* timestamp = "2025-05-14T08:15:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-MULTI-Practitioner-to-HealthCareService-MessageHeader-1" +* entry[=].resource = UC1-MULTI-Practitioner-to-HealthCareService-MessageHeader-1 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization" +* entry[=].resource = Example-Practitioner-Organization + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-MULTI-Response-Prescription-Request-1" +* entry[=].resource = UC1-MULTI-Response-Prescription-Request-1 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-Medication-Request" +* entry[=].resource = Example-Response-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Response-Medication" +* entry[=].resource = Example-Response-Medication + +Instance: UC1-MULTI-2-Response-Prescription-Request-2 +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "Response Prescription Request" +Description: "Response from Practitioner containing the rejected prescription requests" +* identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" +* timestamp = "2025-05-14T08:15:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-MULTI-Practitioner-to-HealthCareService-MessageHeader-2" +* entry[=].resource = UC1-MULTI-Practitioner-to-HealthCareService-MessageHeader-2 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization" +* entry[=].resource = Example-Practitioner-Organization + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-MULTI-Response-Prescription-Request-2" +* entry[=].resource = UC1-MULTI-Response-Prescription-Request-2 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient-2" +* entry[=].resource = Example-Patient-2 + +// Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request-2" +* entry[=].resource = Example-Initial-Medication-Request-2 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication-2" +* entry[=].resource = Example-Initial-Medication-2 + +Instance: Komplex-MULTI-1-Prescription-Request +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "Medication Request To Prescriber" +Description: "Request sent to Prescriber to get a Prescription. Same Medicat" +* identifier.value = "urn:uuid:7a6f9dc9-9aa9-4ee0-bec4-64460d3edb94" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/Komplex-MULTI-HealthCareService-to-Practitioner-MessageHeader" +* entry[=].resource = Komplex-MULTI-HealthCareService-to-Practitioner-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" +* entry[=].resource = Example-HealthCareService-Organization + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-MULTI-Initial-Prescription-Request-1" +* entry[=].resource = UC1-MULTI-Initial-Prescription-Request-1 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/Komplex-MULTI-Initial-Prescription-Request-3" +* entry[=].resource = Komplex-MULTI-Initial-Prescription-Request-3 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-MULTI-Initial-Prescription-Request-2" +* entry[=].resource = UC1-MULTI-Initial-Prescription-Request-2 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient-2" +* entry[=].resource = Example-Patient-2 + +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" +* entry[=].resource = Example-Initial-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Komplex-Medication-Request" +* entry[=].resource = Example-Komplex-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" +* entry[=].resource = Example-Initial-Medication +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request-2" +* entry[=].resource = Example-Initial-Medication-Request-2 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication-2" +* entry[=].resource = Example-Initial-Medication-2 diff --git a/Resources/input/fsh/examples/UC1_MultipleRequests/UC1_MultipleRequests_MessageHeader.fsh b/Resources/input/fsh/examples/UC1_MultipleRequests/UC1_MultipleRequests_MessageHeader.fsh new file mode 100644 index 00000000..834eb532 --- /dev/null +++ b/Resources/input/fsh/examples/UC1_MultipleRequests/UC1_MultipleRequests_MessageHeader.fsh @@ -0,0 +1,39 @@ +Instance: UC1-MULTI-HealthCareService-to-Practitioner-MessageHeader +InstanceOf: ERPServiceRequestRequestHeader +Usage: #example +Title: "HealthCareService-to-Practitioner-MessageHeader" +Description: "Message Header from HealthCareService to Practitioner" +* insert HealthCareService-to-Practitioner(UC1-MULTI-Initial-Prescription-Request-1) +* focus[+] = Reference(UC1-MULTI-Initial-Prescription-Request-2) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage +* responsible = Reference(Example-HealthCareService-Organization) + +Instance: UC1-MULTI-Practitioner-to-HealthCareService-MessageHeader-1 +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "Practitioner-to-HealthCareService-MessageHeader" +Description: "Message Header from Practitioner to HealthCareService" +* insert Practitioner-to-HealthCareService(UC1-MULTI-Response-Prescription-Request-1) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptbestaetigung +* responsible = Reference(Example-Practitioner-Organization) + +Instance: UC1-MULTI-Practitioner-to-HealthCareService-MessageHeader-2 +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "Practitioner-to-HealthCareService-MessageHeader" +Description: "Message Header from Practitioner to HealthCareService" +* insert Practitioner-to-HealthCareService(UC1-MULTI-Response-Prescription-Request-2) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage_Storno +* responsible = Reference(Example-Practitioner-Organization) + +Instance: Komplex-MULTI-HealthCareService-to-Practitioner-MessageHeader +InstanceOf: ERPServiceRequestRequestHeader +Usage: #example +Title: "HealthCareService-to-Practitioner-MessageHeader" +Description: "Message Header from HealthCareService to Practitioner" +* insert HealthCareService-to-Practitioner(UC1-MULTI-Initial-Prescription-Request-1) +* focus[+] = Reference(UC1-MULTI-Initial-Prescription-Request-2) +* focus[+] = Reference(Komplex-MULTI-Initial-Prescription-Request-3) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage +* responsible = Reference(Example-HealthCareService-Organization) + diff --git a/Resources/input/fsh/examples/UC1_MultipleRequests/UC1_MultipleRequests_ServiceRequests.fsh b/Resources/input/fsh/examples/UC1_MultipleRequests/UC1_MultipleRequests_ServiceRequests.fsh new file mode 100644 index 00000000..76b00b09 --- /dev/null +++ b/Resources/input/fsh/examples/UC1_MultipleRequests/UC1_MultipleRequests_ServiceRequests.fsh @@ -0,0 +1,106 @@ +// Prescription Service Requests +Instance: UC1-MULTI-Initial-Prescription-Request-1 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #example +Title: "Initial Prescription Request Mutli 1" +Description: "This ServiceRequest is sent initially to the prescribing practitioner" +* identifier[requestId].value = "multi-1" +* basedOn = Reference(Example-Initial-Medication-Request) +* requisition.value = "GroupID-UC1-MULTI" +* status = RequestStatus#active +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* occurrenceDateTime = "2025-05-15" +* reasonCode.extension[remainingSupply].valueQuantity + * value = 2 + * unit = "Tabletten" +* authoredOn = "2025-05-13" +* requester = Reference(Example-HealthCareService-Organization) +* note[+].text = "Für die Nacht sehr hilfreich." +* note[=].time = "2025-05-13T12:23:12+02:00" + +Instance: UC1-MULTI-Initial-Prescription-Request-2 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #example +Title: "Initial Prescription Request Multi 2" +Description: "This ServiceRequest is sent initially to the prescribing practitioner" +* identifier[requestId].value = "multi-2" +* basedOn = Reference(Example-Initial-Medication-Request-2) +* requisition.value = "GroupID-UC1-MULTI" +* status = RequestStatus#active +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient-2) +* authoredOn = "2025-05-13" +* requester = Reference(Example-HealthCareService-Organization) +* note[+].text = "Für den Bedarfsfall" +* note[=].time = "2025-05-13T12:23:12+02:00" + +Instance: UC1-MULTI-Response-Prescription-Request-1 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #inline +Title: "Completed Response Prescription Request" +Description: "ServiceRequest that is returned to the requester" +* identifier[requestId].value = "multi-1" +* requisition.value = "GroupID-UC1-MULTI" +* extension[EPrescriptionToken].valueIdentifier.value = "Task/169.100.000.000.543.72/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" +* status = RequestStatus#completed +* basedOn = Reference(Example-Response-Medication-Request) +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* performer.identifier = Hans-Topp-Glücklich-Identifier +* note[+].text = "Sehr geehrte Damen und Herren,\n Wir haben alles entsprechend im Rezept hinterlegt. Es wurden 2 Packungen statt einer verschrieben.\n Mit kollegialen Grüßen,\n Topp Glücklich." +* note[=].time = "2025-05-14T08:12:23+02:00" + +Instance: UC1-MULTI-Response-Prescription-Request-2 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #inline +Title: "Completed Response Prescription Request" +Description: "ServiceRequest that is returned to the requester" +* identifier[requestId].value = "multi-2" +* requisition.value = "GroupID-UC1-MULTI" +* status = RequestStatus#revoked +* subject = Reference(Example-Patient-2) +* basedOn = Reference(Example-Initial-Medication-Request-2) +* authoredOn = "2025-05-13" +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* performer.identifier = Hans-Topp-Glücklich-Identifier +* reasonCode.text = "Hr. Edgarson braucht das Buscopan nicht mehr, wird abgesetzt und aus dem Medkationsplan entfernt." +* note[+].text = "Sehr geehrte Damen und Herren,\n Die Rezeptanfrage wurde abgelehnt, s. Grund." +* note[=].time = "2025-05-14T08:12:23+02:00" + +Instance: Komplex-MULTI-Initial-Prescription-Request-3 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #example +Title: "Komplex-MULTI-Initial-Prescription-Request-3" +Description: "This ServiceRequest is sent initially to the prescribing practitioner" +* identifier[requestId].value = "komplex-multi" +* basedOn = Reference(Example-Komplex-Medication-Request) +* requisition.value = "GroupID-UC1-MULTI" +* status = RequestStatus#active +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* reasonCode.extension[remainingSupplyFreeText].valueString = "2 Tabletten" +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" +* requester = Reference(Example-HealthCareService-Organization) + +// Instance: Komplex-MULTI-Response-Prescription-Request-3 +// InstanceOf: ERPServiceRequestPrescriptionRequest +// Usage: #inline +// Title: "Komplex-MULTI-Initial-Prescription-Request-3" +// Description: "This ServiceRequest is sent initially to the prescribing practitioner" +// * identifier[requestId].value = "komplex-multi" +// * basedOn = Reference(Example-Komplex-Medication-Request) +// * extension[EPrescriptionToken].valueIdentifier.value = "Task/169.555.000.000.333.21/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" +// * requisition.value = "GroupID-UC1-MULTI" +// * status = RequestStatus#active +// * intent = RequestIntent#order +// * code.coding[request-type] = ServiceRequestTypeCS#prescription-request +// * subject = Reference(Example-Patient) +// * authoredOn = "2025-05-13" +// * requester = Reference(Example-HealthCareService-Organization) \ No newline at end of file diff --git a/Resources/input/fsh/examples/UC1_Storno/UC1_Storno_Bundles.fsh b/Resources/input/fsh/examples/UC1_Storno/UC1_Storno_Bundles.fsh index 4e6eef58..c2c47fb5 100644 --- a/Resources/input/fsh/examples/UC1_Storno/UC1_Storno_Bundles.fsh +++ b/Resources/input/fsh/examples/UC1_Storno/UC1_Storno_Bundles.fsh @@ -4,76 +4,19 @@ Usage: #example Title: "Cancelled Medication Request To Prescriber" Description: "Cancellationrequest sent to Prescriber to get a Prescription" * identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" -* timestamp = "2015-02-07T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-HealthCareService-to-Practitioner-MessageHeader-Storno" +* timestamp = "2025-05-13T15:32:12.239+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-HealthCareService-to-Practitioner-MessageHeader-Storno" * entry[=].resource = UC1-HealthCareService-to-Practitioner-MessageHeader-Storno -* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-Cancelled-Prescription-Request" -* entry[=].resource = UC1-Cancelled-Prescription-Request -* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" -* entry[=].resource = Example-Initial-Medication-Request -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" -* entry[=].resource = Example-Initial-Medication -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" -* entry[=].resource = Example-Patient * entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" * entry[=].resource = Example-HealthCareService-Organization -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Observation/Medication-Runs-Out-Example-dateTime" -* entry[=].resource = Medication-Runs-Out-Example-dateTime -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Observation/Medication-Runs-Out-Example-Quantity" -* entry[=].resource = Medication-Runs-Out-Example-Quantity - -Instance: UC1-Storno-2-Cancellation-Of-Prescriber -InstanceOf: ERPServiceRequestMessageContainer -Usage: #example -Title: "Cancellationrequest sent from Prescriber" -Description: "Response sent from Practitioner back to HealthCareService" -* identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" -* timestamp = "2023-01-30T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-Practitioner-to-HealthCareService-MessageHeader-Storno" -* entry[=].resource = UC1-Practitioner-to-HealthCareService-MessageHeader-Storno +// ServiceRequest * entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-Cancelled-Prescription-Request" * entry[=].resource = UC1-Cancelled-Prescription-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient +//Medication Request * entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" * entry[=].resource = Example-Initial-Medication-Request * entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" -* entry[=].resource = Example-Initial-Medication -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" -* entry[=].resource = Example-Patient -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" -* entry[=].resource = Example-HealthCareService-Organization -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Observation/Medication-Runs-Out-Example-dateTime" -* entry[=].resource = Medication-Runs-Out-Example-dateTime -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Observation/Medication-Runs-Out-Example-Quantity" -* entry[=].resource = Medication-Runs-Out-Example-Quantity - -Instance: UC1-Storno-3-Cancellation-Of-Dispense-Requester -InstanceOf: ERPServiceRequestMessageContainer -Usage: #example -Title: "DispenseRequestToPharmacy" -Description: "Request sent to Pharmacy to request a dispense of the medication" -* identifier.value = "urn:uuid:c80f6c55-92f8-4518-ba66-cb193da09336" -* timestamp = "2023-02-01T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-HealthCareService-to-Pharmacy-MessageHeader-Storno" -* entry[=].resource = UC1-HealthCareService-to-Pharmacy-MessageHeader-Storno -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" -* entry[=].resource = Example-Patient -* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-Cancelled-Dispense-Request" -* entry[=].resource = UC1-Cancelled-Dispense-Request - -Instance: UC1-Storno-4-Cancellation-Of-Dispenser -InstanceOf: ERPServiceRequestMessageContainer -Usage: #example -Title: "DispenseRequestToPharmacy" -Description: "Request sent to Pharmacy to request a dispense of the medication" -* identifier.value = "urn:uuid:c80f6c55-92f8-4518-ba66-cb193da09336" -* timestamp = "2023-02-01T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC1-Pharmacy-to-HealthCareService-MessageHeader-Storno" -* entry[=].resource = UC1-Pharmacy-to-HealthCareService-MessageHeader-Storno -* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC1-Cancelled-Dispense-Request" -* entry[=].resource = UC1-Cancelled-Dispense-Request -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" -* entry[=].resource = Example-Patient -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Response-Medication" -* entry[=].resource = Example-Response-Medication -* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationDispense/UC1-Medication-Dispense" -* entry[=].resource = UC1-Medication-Dispense +* entry[=].resource = Example-Initial-Medication \ No newline at end of file diff --git a/Resources/input/fsh/examples/UC1_Storno/UC1_Storno_MessageHeader.fsh b/Resources/input/fsh/examples/UC1_Storno/UC1_Storno_MessageHeader.fsh index b04167ee..c36cde50 100644 --- a/Resources/input/fsh/examples/UC1_Storno/UC1_Storno_MessageHeader.fsh +++ b/Resources/input/fsh/examples/UC1_Storno/UC1_Storno_MessageHeader.fsh @@ -4,54 +4,11 @@ Usage: #inline Title: "HealthCareService-to-Practitioner-MessageHeader-Storno" Description: "Cancellation Message Header from HealthCareService to Practitioner" * insert HealthCareService-to-Practitioner(UC1-Cancelled-Prescription-Request) -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Rezeptanfrage_Storno +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage_Storno * source.name = "HealthCare-Source" * source.software = "HealthCare-Software" * source.version = "1.0.0" * source.contact.system = #email * source.contact.value = "info@healthcare.email" * source.endpoint = "http://healthcare.endpoint" - -Instance: UC1-Practitioner-to-HealthCareService-MessageHeader-Storno -InstanceOf: ERPServiceRequestRequestHeader -Usage: #inline -Title: "Practitioner-to-HealthCareService-MessageHeader-Storno" -Description: "Cancellation Message Header from Practitioner to HealthCareService" -* insert HealthCareService-to-Practitioner(UC1-Cancelled-Prescription-Request) -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Rezeptanfrage_Storno -* source.name = "Practitioner-Source" -* source.software = "Practitioner-Software" -* source.version = "1.0.0" -* source.contact.system = #email -* source.contact.value = "info@practitioner.email" -* source.endpoint = "http://practitioner.endpoint" - -Instance: UC1-HealthCareService-to-Pharmacy-MessageHeader-Storno -InstanceOf: ERPServiceRequestRequestHeader -Usage: #inline -Title: "HealthCareService-to-Pharmacy-MessageHeader-Storno" -Description: "Cancellation Message Header from HealthCareService to Pharmacy" -* insert HealthCareService-to-Practitioner(UC1-Cancelled-Dispense-Request) -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Abgabeanfrage_Storno -* source.name = "HealthCare-Source" -* source.software = "HealthCare-Software" -* source.version = "1.0.0" -* source.contact.system = #email -* source.contact.value = "info@healthcare.email" -* source.endpoint = "http://healthcare.endpoint" - -Instance: UC1-Pharmacy-to-HealthCareService-MessageHeader-Storno -InstanceOf: ERPServiceRequestRequestHeader -Usage: #inline -Title: "Pharmacy-to-HealthCareService-MessageHeader-Storno" -Description: "Cancellation Message Header from Pharmacy to HealthCareService" -* insert HealthCareService-to-Practitioner(UC1-Cancelled-Dispense-Request) -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Abgabeanfrage_Storno -* source.name = "Pharmacy-Source" -* source.software = "Pharmacy-Software" -* source.version = "1.0.0" -* source.contact.system = #email -* source.contact.value = "info@pharmacy.email" -* source.endpoint = "http://pharmacy.endpoint" - - +* responsible = Reference(Example-HealthCareService-Organization) \ No newline at end of file diff --git a/Resources/input/fsh/examples/UC1_Storno/UC1_Storno_ServiceRequests.fsh b/Resources/input/fsh/examples/UC1_Storno/UC1_Storno_ServiceRequests.fsh index bc7c5084..96ae24cb 100644 --- a/Resources/input/fsh/examples/UC1_Storno/UC1_Storno_ServiceRequests.fsh +++ b/Resources/input/fsh/examples/UC1_Storno/UC1_Storno_ServiceRequests.fsh @@ -4,43 +4,17 @@ InstanceOf: ERPServiceRequestPrescriptionRequest Usage: #inline Title: "Initial Prescription Request" Description: "This ServiceRequest is sent initially to the prescribing practitioner" -* identifier[0] - * system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" - * value = "1" -* basedOn = Reference(Example-Initial-Medication-Request) -* requisition[0].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" -* requisition[=].value = "GroupID-UC1" -* status = RequestStatus#revoked +* identifier[requestId].value = "1" +* requisition.value = "GroupID-UC1" +* status = RequestStatus#entered-in-error * intent = RequestIntent#order -* code = ServiceRequestTypeCS#prescription-request -* subject = Reference(Patient/Example-Patient) -* orderDetail = PrescriptionFullfillmentTypeCS#return-to-requester -* occurrenceDateTime = "2023-02-01" -* authoredOn = "2023-01-27" +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* basedOn = Reference(Example-Initial-Medication-Request) +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" * requester = Reference(Example-HealthCareService-Organization) * performer.identifier = Hans-Topp-Glücklich-Identifier -* reasonCode = MedicationRequestReasonCS#medication-runs-out -* reasonReference[+] = Reference(Observation/Medication-Runs-Out-Example-dateTime) -* reasonReference[+] = Reference(Observation/Medication-Runs-Out-Example-Quantity) -* note[+].text = "Medikament läuft am 31.01.2023 aus. Es sind noch 7 stk übrig. " - -// Dispense Service Requests - -Instance: UC1-Cancelled-Dispense-Request -InstanceOf: ERPServiceRequestDispenseRequest -Usage: #inline -Title: "Initial Dispense Request" -Description: "This ServiceRequest is sent initially to the dispensing pharmacy" -* extension[EPrescriptionToken].valueIdentifier.system = "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken" -* extension[EPrescriptionToken].valueIdentifier.value = "Task/160.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" -* identifier[0] - * system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" - * value = "2" -* requisition[0].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" -* requisition[=].value = "GroupID-UC1" -* status = RequestStatus#revoked -* intent = RequestIntent#filler-order -* subject = Reference(Example-Patient) -* code = ServiceRequestTypeCS#dispense-request -* occurrenceDateTime = "2023-02-01" -* authoredOn = "2023-02-01" \ No newline at end of file +* reasonCode + * text = "Falsche Medikation angefragt, neuer Antrag wird erstellt." +* note[+].text = "Bitte um stornierung der Anfrage." +* note[=].time = "2025-05-13T15:31:12+02:00" \ No newline at end of file diff --git a/Resources/input/fsh/examples/UC2/UC2_Bundles.fsh b/Resources/input/fsh/examples/UC2/UC2_Bundles.fsh index 07d66f89..0d627e35 100644 --- a/Resources/input/fsh/examples/UC2/UC2_Bundles.fsh +++ b/Resources/input/fsh/examples/UC2/UC2_Bundles.fsh @@ -1,107 +1,50 @@ - -Instance: UC2-1-Prescription-Request-To-HealthCareService +Instance: UC2-1-Prescription-Request-To-Prescriber InstanceOf: ERPServiceRequestMessageContainer Usage: #example -Title: "Medication Request To HealthCareService" -Description: "Request sent to HealthCareService to forward to prescriber" +Title: "Medication Request To Prescriber" +Description: "Request sent to Prescriber to get a Prescription" * identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" -* timestamp = "2015-02-07T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC2-1-Pharmacy-to-HealthCareService-MessageHeader" -* entry[=].resource = UC2-1-Pharmacy-to-HealthCareService-MessageHeader +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC2-HealthCareService-to-Practitioner-MessageHeader" +* entry[=].resource = UC2-HealthCareService-to-Practitioner-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" +* entry[=].resource = Example-HealthCareService-Organization + +// ServiceRequest * entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC2-Initial-Prescription-Request" * entry[=].resource = UC2-Initial-Prescription-Request -* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" -* entry[=].resource = Example-Initial-Medication-Request -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" -* entry[=].resource = Example-Initial-Medication * entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" * entry[=].resource = Example-Patient -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" -* entry[=].resource = Example-Pharmacy-Organization -Instance: UC2-2-Prescription-Request-To-Prescriber -InstanceOf: ERPServiceRequestMessageContainer -Usage: #example -Title: "Medication Request To Prescriber" -Description: "Request sent to Prescriber to get a Prescription" -* identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" -* timestamp = "2015-02-07T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC2-2-HealthCareService-to-Practitioner-MessageHeader" -* entry[=].resource = UC2-2-HealthCareService-to-Practitioner-MessageHeader -* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC2-Initial-Prescription-Request" -* entry[=].resource = UC2-Initial-Prescription-Request +//Medication Request * entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" * entry[=].resource = Example-Initial-Medication-Request * entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" * entry[=].resource = Example-Initial-Medication -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" -* entry[=].resource = Example-Patient -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" -* entry[=].resource = Example-Pharmacy-Organization -Instance: UC2-3-Fullfilled-Prescription-Request -InstanceOf: ERPServiceRequestMessageContainer -Usage: #example -Title: "Fullfilled Prescription Request" -Description: "Response sent from Practitioner back to HealthCareService" -* identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" -* timestamp = "2023-01-30T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC2-3-Practitioner-to-HealthCareService-MessageHeader" -* entry[=].resource = UC2-3-Practitioner-to-HealthCareService-MessageHeader -* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC2-Response-Prescription-Request" -* entry[=].resource = UC2-Response-Prescription-Request -* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-KBV-Prescription" -* entry[=].resource = Example-Response-KBV-Prescription -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Response-Medication" -* entry[=].resource = Example-Response-Medication -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Practitioner/Example-Practitioner" -* entry[=].resource = Example-Practitioner -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" -* entry[=].resource = Example-Patient -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Coverage/Response-Coverage" -* entry[=].resource = Response-Coverage -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" -* entry[=].resource = Example-Pharmacy-Organization -Instance: UC2-4-Fullfilled-Prescription-Request +Instance: UC2-2-Fullfilled-Prescription-Request InstanceOf: ERPServiceRequestMessageContainer Usage: #example Title: "Fullfilled Prescription Request" Description: "Response sent from Practitioner back to HealthCareService" * identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" -* timestamp = "2023-01-30T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC2-4-HealthCareService-to-Pharmacy-MessageHeader" -* entry[=].resource = UC2-4-HealthCareService-to-Pharmacy-MessageHeader +* timestamp = "2025-05-14T08:15:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC2-Practitioner-to-HealthCareService-MessageHeader" +* entry[=].resource = UC2-Practitioner-to-HealthCareService-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization" +* entry[=].resource = Example-Practitioner-Organization + +// ServiceRequest * entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC2-Response-Prescription-Request" * entry[=].resource = UC2-Response-Prescription-Request -* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-KBV-Prescription" -* entry[=].resource = Example-Response-KBV-Prescription -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Response-Medication" -* entry[=].resource = Example-Response-Medication -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Practitioner/Example-Practitioner" -* entry[=].resource = Example-Practitioner * entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" * entry[=].resource = Example-Patient -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Coverage/Response-Coverage" -* entry[=].resource = Response-Coverage -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" -* entry[=].resource = Example-Pharmacy-Organization - -Instance: UC2-5-Fullfilled-DispenseRequest-To-HealthCareService -InstanceOf: ERPServiceRequestMessageContainer -Usage: #example -Title: "Fulfilled Dispense info to HealthCareService" -Description: "Request sent from Pharmacy to to inform HealthCareService about dispense" -* identifier.value = "urn:uuid:c80f6c55-92f8-4518-ba66-cb193da09336" -* timestamp = "2023-02-01T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC2-5-Pharmacy-to-HealthCareService-MessageHeader" -* entry[=].resource = UC2-5-Pharmacy-to-HealthCareService-MessageHeader -* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC2-Response-Dispense-Request" -* entry[=].resource = UC2-Response-Dispense-Request -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" -* entry[=].resource = Example-Patient +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-Medication-Request" +* entry[=].resource = Example-Response-Medication-Request * entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Response-Medication" * entry[=].resource = Example-Response-Medication -* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationDispense/UC1-Medication-Dispense" -* entry[=].resource = UC1-Medication-Dispense diff --git a/Resources/input/fsh/examples/UC2/UC2_MessageHeader.fsh b/Resources/input/fsh/examples/UC2/UC2_MessageHeader.fsh index e32139a4..267be9f6 100644 --- a/Resources/input/fsh/examples/UC2/UC2_MessageHeader.fsh +++ b/Resources/input/fsh/examples/UC2/UC2_MessageHeader.fsh @@ -1,40 +1,19 @@ -Instance: UC2-1-Pharmacy-to-HealthCareService-MessageHeader +Instance: UC2-HealthCareService-to-Practitioner-MessageHeader InstanceOf: ERPServiceRequestRequestHeader -Usage: #inline -Title: "Pharmacy-to-HealthCareService-MessageHeader" -Description: "Message Header from Pharmacy to HealthCareService" -* insert Pharmacy-to-Practitioner(UC2-Initial-Prescription-Request) //Das ist korrekt, Pflegeeinrichtung ist Proxy -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Rezeptanfrage - - -Instance: UC2-2-HealthCareService-to-Practitioner-MessageHeader -InstanceOf: ERPServiceRequestRequestHeader -Usage: #inline +Usage: #example Title: "HealthCareService-to-Practitioner-MessageHeader" Description: "Message Header from HealthCareService to Practitioner" -* insert Pharmacy-to-Practitioner(UC2-Initial-Prescription-Request) //Das ist korrekt, Pflegeeinrichtung ist Proxy -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Rezeptanfrage +* insert HealthCareService-to-Practitioner(UC2-Initial-Prescription-Request) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage +* responsible = Reference(Example-HealthCareService-Organization) -Instance: UC2-3-Practitioner-to-HealthCareService-MessageHeader +Instance: UC2-Practitioner-to-HealthCareService-MessageHeader InstanceOf: ERPServiceRequestRequestHeader Usage: #inline Title: "Practitioner-to-HealthCareService-MessageHeader" Description: "Message Header from Practitioner to HealthCareService" -* insert Practitioner-to-Pharmacy(UC2-Response-Prescription-Request) //Das ist korrekt, Pflegeeinrichtung ist Proxy -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Rezeptbestaetigung +* insert Practitioner-to-HealthCareService(UC2-Response-Prescription-Request) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptbestaetigung +* responsible = Reference(Example-Practitioner-Organization) -Instance: UC2-4-HealthCareService-to-Pharmacy-MessageHeader -InstanceOf: ERPServiceRequestRequestHeader -Usage: #inline -Title: "HealthCareService-to-Pharmacy-MessageHeader" -Description: "Message Header from HealthCareService to Pharmacy" -* insert Practitioner-to-Pharmacy(UC2-Response-Prescription-Request) -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Rezeptbestaetigung -Instance: UC2-5-Pharmacy-to-HealthCareService-MessageHeader -InstanceOf: ERPServiceRequestRequestHeader -Usage: #inline -Title: "Pharmacy-to-HealthCareService-MessageHeader" -Description: "Message Header from Practitioner to Pharmacy" -* insert Pharmacy-to-HealthCareService(UC2-Response-Dispense-Request) -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Abgabebestaetigung \ No newline at end of file diff --git a/Resources/input/fsh/examples/UC2/UC2_ServiceRequests.fsh b/Resources/input/fsh/examples/UC2/UC2_ServiceRequests.fsh index ab3e3297..394c6ca9 100644 --- a/Resources/input/fsh/examples/UC2/UC2_ServiceRequests.fsh +++ b/Resources/input/fsh/examples/UC2/UC2_ServiceRequests.fsh @@ -1,64 +1,36 @@ // Prescription Service Requests Instance: UC2-Initial-Prescription-Request InstanceOf: ERPServiceRequestPrescriptionRequest -Usage: #inline +Usage: #example Title: "Initial Prescription Request" Description: "This ServiceRequest is sent initially to the prescribing practitioner" -* identifier[0] - * system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" - * value = "req-1" +* identifier[requestId].value = "1" +* modifierExtension[redeemByPatient].valueBoolean = true * basedOn = Reference(Example-Initial-Medication-Request) -* requisition[0].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" -* requisition[=].value = "GroupID-2" +* requisition.value = "GroupID-UC2" * status = RequestStatus#active * intent = RequestIntent#order -* code = ServiceRequestTypeCS#prescription-request -* subject = Reference(Patient/Example-Patient) -* orderDetail = PrescriptionFullfillmentTypeCS#return-to-requester -* occurrenceDateTime = "2023-02-01" -* authoredOn = "2023-01-27" -* requester = Reference(Example-Pharmacy-Organization) -* performer.identifier = Hans-Topp-Glücklich-Identifier +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" +* requester = Reference(Example-HealthCareService-Organization) +* note[+].text = "Rezeptanfrage zur Einlösung von Herrn Königsstein." +* note[=].time = "2025-05-13T14:23:12+02:00" Instance: UC2-Response-Prescription-Request InstanceOf: ERPServiceRequestPrescriptionRequest Usage: #inline -Title: "Fullfilled Prescription Request" +Title: "Completed Response Prescription Request" Description: "ServiceRequest that is returned to the requester" -* extension[EPrescriptionToken].valueIdentifier.system = "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken" -* extension[EPrescriptionToken].valueIdentifier.value = "Task/160.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" -* identifier[0] - * system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" - * value = "req-1" -* basedOn = Reference(Example-Response-KBV-Prescription) -* requisition[0].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" -* requisition[=].value = "GroupID-2" -* status = RequestStatus#completed -* intent = RequestIntent#order -* code = ServiceRequestTypeCS#prescription-request -* subject = Reference(Example-Patient) -* orderDetail = PrescriptionFullfillmentTypeCS#return-to-requester -* occurrenceDateTime = "2023-01-30" //update wann es tatsächlich ausgestellt wurde -* authoredOn = "2023-01-27" -* requester = Reference(Example-Pharmacy-Organization) -* performer = Reference(Example-Practitioner) - -// Fullfilled Dispense -Instance: UC2-Response-Dispense-Request -InstanceOf: ERPServiceRequestDispenseRequest -Usage: #inline -Title: "Dispense Request back to HealthCareService" -Description: "This ServiceRequest is sent initially to the dispensing pharmacy" -* identifier[0] - * system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" - * value = "req-2" -* requisition[0].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" -* requisition[=].value = "GroupID-2" +* identifier[requestId].value = "1" +* requisition.value = "GroupID-UC2" +* modifierExtension[redeemByPatient].valueBoolean = true * status = RequestStatus#completed -* intent = RequestIntent#filler-order -* code = ServiceRequestTypeCS#dispense-request +* basedOn = Reference(Example-Response-Medication-Request) * subject = Reference(Example-Patient) -* occurrenceDateTime = "2023-02-01" -* authoredOn = "2023-02-01" -* supportingInfo[AbgabeDaten] = Reference (UC1-Medication-Dispense) -* supportingInfo[AbgabeDaten].type = "MedicationDispense" (exactly) +* authoredOn = "2025-05-13" +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* performer.identifier = Hans-Topp-Glücklich-Identifier +* note[+].text = "Bereit zur Abholung." +* note[=].time = "2025-05-14T08:12:23+02:00" diff --git a/Resources/input/fsh/examples/UC3/UC3_Bundles.fsh b/Resources/input/fsh/examples/UC3/UC3_Bundles.fsh index 231d91b8..82ce369d 100644 --- a/Resources/input/fsh/examples/UC3/UC3_Bundles.fsh +++ b/Resources/input/fsh/examples/UC3/UC3_Bundles.fsh @@ -1,43 +1,83 @@ Instance: UC3-1-Prescription-Request-To-Prescriber InstanceOf: ERPServiceRequestMessageContainer Usage: #example -Title: "Medication Request To Prescriber" -Description: "Request sent to Prescriber to get a Prescription" +Title: "Medication Request from Pharmacy To Prescriber" +Description: "Request sent from Pharmacy to Prescriber to get a Prescription" * identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" -* timestamp = "2015-02-07T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC3-HealthCareService-to-Practitioner-MessageHeader" -* entry[=].resource = UC3-HealthCareService-to-Practitioner-MessageHeader +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC3-Pharmacy-to-Practitioner-MessageHeader" +* entry[=].resource = UC3-Pharmacy-to-Practitioner-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" +* entry[=].resource = Example-Pharmacy-Organization +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" +* entry[=].resource = Example-HealthCareService-Organization + +// ServiceRequest * entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC3-Initial-Prescription-Request" * entry[=].resource = UC3-Initial-Prescription-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +//Medication Request * entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" * entry[=].resource = Example-Initial-Medication-Request * entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" * entry[=].resource = Example-Initial-Medication -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" -* entry[=].resource = Example-Patient -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" -* entry[=].resource = Example-HealthCareService-Organization + +Instance: UC3-1-Prescription-Request-To-Prescriber-COPY +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "Copy of Medication Request from Pharmacy To Prescriber" +Description: "Copy of Request sent from Pharmacy to Prescriber to get a Prescription" +* identifier.value = "urn:uuid:183371e3-e58d-471c-a540-912c94fb0c51" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC3-Pharmacy-to-HealthCareService-MessageHeader" +* entry[=].resource = UC3-Pharmacy-to-HealthCareService-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Bundle/UC3-1-Prescription-Request-To-Prescriber" +* entry[=].resource = UC3-1-Prescription-Request-To-Prescriber +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" +* entry[=].resource = Example-Pharmacy-Organization Instance: UC3-2-Fullfilled-Prescription-Request InstanceOf: ERPServiceRequestMessageContainer Usage: #example Title: "Fullfilled Prescription Request" -Description: "Response sent from Practitioner back to HealthCareService" +Description: "Response sent from Practitioner back to Pharmacy" * identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" -* timestamp = "2023-01-30T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC3-Practitioner-to-HealthCareService-MessageHeader" -* entry[=].resource = UC3-Practitioner-to-HealthCareService-MessageHeader +* timestamp = "2025-05-14T08:15:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC3-Practitioner-to-Pharmacy-MessageHeader" +* entry[=].resource = UC3-Practitioner-to-Pharmacy-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization" +* entry[=].resource = Example-Practitioner-Organization + +//ServiceRequest * entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC3-Response-Prescription-Request" * entry[=].resource = UC3-Response-Prescription-Request -* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-KBV-Prescription" -* entry[=].resource = Example-Response-KBV-Prescription -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Response-Medication" -* entry[=].resource = Example-Response-Medication -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Practitioner/Example-Practitioner" -* entry[=].resource = Example-Practitioner * entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" * entry[=].resource = Example-Patient -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Coverage/Response-Coverage" -* entry[=].resource = Response-Coverage -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" -* entry[=].resource = Example-HealthCareService-Organization +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Practitioner/Example-Practitioner" +* entry[=].resource = Example-Practitioner + +// MedicationRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-Medication-Request" +* entry[=].resource = Example-Response-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Response-Medication" +* entry[=].resource = Example-Response-Medication + +Instance: UC3-2-Fullfilled-Prescription-Request-COPY +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "Copy of Fullfilled Prescription Request" +Description: "Copy of Response sent from Practitioner back to Pharmacy" +* identifier.value = "urn:uuid:2c60b3d3-a901-4df2-92ef-a9c3e525fa43" +* timestamp = "2025-05-14T08:15:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC3-Practitioner-to-HealthCareService-MessageHeader" +* entry[=].resource = UC3-Practitioner-to-HealthCareService-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Bundle/UC3-2-Fullfilled-Prescription-Request" +* entry[=].resource = UC3-2-Fullfilled-Prescription-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization" +* entry[=].resource = Example-Practitioner-Organization diff --git a/Resources/input/fsh/examples/UC3/UC3_MessageHeader.fsh b/Resources/input/fsh/examples/UC3/UC3_MessageHeader.fsh index 5d09337e..b88320b4 100644 --- a/Resources/input/fsh/examples/UC3/UC3_MessageHeader.fsh +++ b/Resources/input/fsh/examples/UC3/UC3_MessageHeader.fsh @@ -1,15 +1,37 @@ -Instance: UC3-HealthCareService-to-Practitioner-MessageHeader +Instance: UC3-Pharmacy-to-Practitioner-MessageHeader InstanceOf: ERPServiceRequestRequestHeader Usage: #inline -Title: "HealthCareService-to-Practitioner-MessageHeader" -Description: "Message Header from HealthCareService to Practitioner" -* insert HealthCareService-to-Practitioner(UC3-Initial-Prescription-Request) -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Rezeptanfrage +Title: "Pharmacy-to-Practitioner-MessageHeader" +Description: "Message Header from Pharmacy to Practitioner" +* insert Pharmacy-to-Practitioner(UC3-Initial-Prescription-Request) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage +* responsible = Reference(Example-Pharmacy-Organization) + +Instance: UC3-Practitioner-to-Pharmacy-MessageHeader +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "Practitioner-to-Pharmacy-MessageHeader" +Description: "Message Header from Practitioner to Pharmacy" +* insert Pharmacy-to-Practitioner(UC3-Response-Prescription-Request) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptbestaetigung +* responsible = Reference(Example-Practitioner-Organization) Instance: UC3-Practitioner-to-HealthCareService-MessageHeader InstanceOf: ERPServiceRequestRequestHeader Usage: #inline Title: "Practitioner-to-HealthCareService-MessageHeader" Description: "Message Header from Practitioner to HealthCareService" -* insert HealthCareService-to-Practitioner(UC3-Response-Prescription-Request) -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Rezeptbestaetigung +* insert Practitioner-to-HealthCareService(UC3-2-Fullfilled-Prescription-Request) +* focus[0] = Reference(Bundle/UC3-2-Fullfilled-Prescription-Request) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;NachrichtKopie +* responsible = Reference(Example-Practitioner-Organization) + +Instance: UC3-Pharmacy-to-HealthCareService-MessageHeader +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "Pharmacy-to-HealthCareService-MessageHeader" +Description: "Message Header from Pharmacy to HealthCareService" +* insert Pharmacy-to-HealthCareService(UC3-1-Prescription-Request-To-Prescriber) +* focus[0] = Reference(Bundle/UC3-1-Prescription-Request-To-Prescriber) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;NachrichtKopie +* responsible = Reference(Example-Pharmacy-Organization) \ No newline at end of file diff --git a/Resources/input/fsh/examples/UC3/UC3_ServiceRequests.fsh b/Resources/input/fsh/examples/UC3/UC3_ServiceRequests.fsh index 468b4b75..71d1fd02 100644 --- a/Resources/input/fsh/examples/UC3/UC3_ServiceRequests.fsh +++ b/Resources/input/fsh/examples/UC3/UC3_ServiceRequests.fsh @@ -4,41 +4,29 @@ InstanceOf: ERPServiceRequestPrescriptionRequest Usage: #inline Title: "Initial Prescription Request" Description: "This ServiceRequest is sent initially to the prescribing practitioner" -* identifier[0] - * system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" - * value = "1" +* identifier[requestId].value = "1" * basedOn = Reference(Example-Initial-Medication-Request) -* requisition[0].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" -* requisition[=].value = "GroupID-UC3" +* requisition.value = "GroupID-UC3" * status = RequestStatus#active * intent = RequestIntent#order -* code = ServiceRequestTypeCS#prescription-request -* subject = Reference(Patient/Example-Patient) -* orderDetail = PrescriptionFullfillmentTypeCS#issue-prescription -* occurrenceDateTime = "2023-02-01" -* authoredOn = "2023-01-27" -* requester = Reference(Example-HealthCareService-Organization) -* performer.identifier = Hans-Topp-Glücklich-Identifier +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" +* requester = Reference(Example-Pharmacy-Organization) +* supportingInfo[pflegeeinrichtungKopie] = Reference(Example-HealthCareService-Organization) Instance: UC3-Response-Prescription-Request InstanceOf: ERPServiceRequestPrescriptionRequest Usage: #inline Title: "Initial Prescription Request" Description: "ServiceRequest that is returned to the requester" -* extension[EPrescriptionToken].valueIdentifier.system = "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken" -* extension[EPrescriptionToken].valueIdentifier.value = "Task/160.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" -* identifier[0] - * system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" - * value = "1" -* basedOn = Reference(Example-Response-KBV-Prescription) -* requisition[0].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" -* requisition[=].value = "GroupID-UC3" +* extension[EPrescriptionToken].valueIdentifier.value = "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" +* identifier[requestId].value = "1" +* basedOn = Reference(Example-Response-Medication-Request) +* requisition.value = "GroupID-UC3" * status = RequestStatus#completed * intent = RequestIntent#order -* code = ServiceRequestTypeCS#prescription-request +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request * subject = Reference(Example-Patient) -* orderDetail = PrescriptionFullfillmentTypeCS#issue-prescription -* occurrenceDateTime = "2023-01-30" //update wann es tatsächlich ausgestellt wurde -* authoredOn = "2023-01-27" -* requester = Reference(Example-HealthCareService-Organization) +* authoredOn = "2025-05-13" * performer = Reference(Example-Practitioner) diff --git a/Resources/input/fsh/examples/UC4/UC4_Bundles.fsh b/Resources/input/fsh/examples/UC4/UC4_Bundles.fsh index 1e32d534..0fece45b 100644 --- a/Resources/input/fsh/examples/UC4/UC4_Bundles.fsh +++ b/Resources/input/fsh/examples/UC4/UC4_Bundles.fsh @@ -2,43 +2,51 @@ Instance: UC4-1-Prescription-and-Dispense-Request-To-Prescriber InstanceOf: ERPServiceRequestMessageContainer Usage: #example -Title: "Medication Request To Prescriber" +Title: "Zyto Medication Request To Prescriber" Description: "Request sent to Prescriber to get a Prescription" * identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" -* timestamp = "2015-02-07T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC4-1-Pharmacy-to-Practitioner-MessageHeader" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC4-1-Pharmacy-to-Practitioner-MessageHeader" * entry[=].resource = UC4-1-Pharmacy-to-Practitioner-MessageHeader -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" -* entry[=].resource = Example-Patient +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" +* entry[=].resource = Example-Pharmacy-Organization + +// ServiceRequest * entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC4-Initial-Prescription-Request" * entry[=].resource = UC4-Initial-Prescription-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +// MedicationRequest * entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Zyto-Medication-Request" * entry[=].resource = Example-Zyto-Medication-Request * entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Zyto-Medication" * entry[=].resource = Example-Zyto-Medication -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" -* entry[=].resource = Example-Pharmacy-Organization Instance: UC4-2-Prescription-Request-To-Pharmacy InstanceOf: ERPServiceRequestMessageContainer Usage: #example -Title: "DispenseRequestToPharmacy" +Title: "Fullfilled Zyto Prescription Request" Description: "Request sent to Pharmacy to request a dispense of the medication" * identifier.value = "urn:uuid:c80f6c55-92f8-4518-ba66-cb193da09336" -* timestamp = "2023-02-01T13:28:17.239+02:00" -* entry[0].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC4-2-Practitioner-to-Pharmacy-MessageHeader" +* timestamp = "2025-05-14T08:15:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/UC4-2-Practitioner-to-Pharmacy-MessageHeader" * entry[=].resource = UC4-2-Practitioner-to-Pharmacy-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization" +* entry[=].resource = Example-Practitioner-Organization + +// ServiceRequest * entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC4-Response-Prescription-Request" * entry[=].resource = UC4-Response-Prescription-Request -* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-KBV-Prescription" -* entry[=].resource = Example-Response-KBV-Prescription -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Response-Medication" -* entry[=].resource = Example-Response-Medication -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Coverage/Response-Coverage" -* entry[=].resource = Response-Coverage * entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" * entry[=].resource = Example-Patient * entry[+].fullUrl = "http://erp-servicerequest-test.de/Practitioner/Example-Practitioner" * entry[=].resource = Example-Practitioner -* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" -* entry[=].resource = Example-Pharmacy-Organization + +// MedicationRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Zyto-Medication-Request" +* entry[=].resource = Example-Zyto-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Zyto-Medication" +* entry[=].resource = Example-Zyto-Medication diff --git a/Resources/input/fsh/examples/UC4/UC4_MessageHeader.fsh b/Resources/input/fsh/examples/UC4/UC4_MessageHeader.fsh index 436a5c00..e95025ff 100644 --- a/Resources/input/fsh/examples/UC4/UC4_MessageHeader.fsh +++ b/Resources/input/fsh/examples/UC4/UC4_MessageHeader.fsh @@ -1,10 +1,11 @@ Instance: UC4-1-Pharmacy-to-Practitioner-MessageHeader InstanceOf: ERPServiceRequestRequestHeader Usage: #inline -Title: "TODO" -Description: "TODO" +Title: "Pharmacy-to-Practitioner-MessageHeader" +Description: "Message Header from Pharmacy to Practitioner" * insert Pharmacy-to-Practitioner(UC4-Initial-Prescription-Request) -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_ParenteraleZubereitung;Rezeptanfrage +* eventCoding = ServiceIdentifierCS#eRezept_ParenteraleZubereitung;Rezeptanfrage +* responsible = Reference(Example-Pharmacy-Organization) Instance: UC4-2-Practitioner-to-Pharmacy-MessageHeader InstanceOf: ERPServiceRequestRequestHeader @@ -12,4 +13,5 @@ Usage: #inline Title: "Practitioner-to-Pharmacy-MessageHeader" Description: "Message Header from Practitioner to Pharmacy" * insert Practitioner-to-Pharmacy(UC4-Response-Prescription-Request) -* eventCoding = $GEM_CS_ATF_ServiceIdentifier#eRezept_ParenteraleZubereitung;Rezeptbestaetigung \ No newline at end of file +* eventCoding = ServiceIdentifierCS#eRezept_ParenteraleZubereitung;Rezeptbestaetigung +* responsible = Reference(Example-Practitioner-Organization) \ No newline at end of file diff --git a/Resources/input/fsh/examples/UC4/UC4_ServiceRequests.fsh b/Resources/input/fsh/examples/UC4/UC4_ServiceRequests.fsh index 57461686..d55a88e6 100644 --- a/Resources/input/fsh/examples/UC4/UC4_ServiceRequests.fsh +++ b/Resources/input/fsh/examples/UC4/UC4_ServiceRequests.fsh @@ -4,8 +4,8 @@ InstanceOf: ERPServiceRequestPrescriptionRequest Usage: #inline Title: "Initial Prescription Request" Description: "This ServiceRequest is sent initially to the prescribing practitioner" -* identifier[0] - * system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" +* identifier[+] + * system = "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier" * value = "1" * identifier[+] * system = "https://gematik.de/fhir/erp-servicerequest/sid/patient-id" @@ -20,27 +20,22 @@ Description: "This ServiceRequest is sent initially to the prescribing practitio * system = "https://my-very-own-zyto-identifier" * value = "My-ID-bdbdf8a1-ffa4-4f16-a6c4-38e690ac5548" * basedOn = Reference(Example-Zyto-Medication-Request) -* requisition[0].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" -* requisition[=].value = "GroupID-UC4" +* requisition.value = "GroupID-UC4" * status = RequestStatus#active * intent = RequestIntent#order -* code = ServiceRequestTypeCS#prescription-request -* subject = Reference(Patient/Example-Patient) -* orderDetail = PrescriptionFullfillmentTypeCS#return-to-requester -* occurrenceDateTime = "2023-02-01" -* authoredOn = "2023-01-27" +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" * requester = Reference(Example-Pharmacy-Organization) -* performer.identifier = Hans-Topp-Glücklich-Identifier Instance: UC4-Response-Prescription-Request InstanceOf: ERPServiceRequestPrescriptionRequest Usage: #inline Title: "Fullfilled Prescription Request" Description: "ServiceRequest that is returned to the requester" -* extension[EPrescriptionToken].valueIdentifier.system = "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken" -* extension[EPrescriptionToken].valueIdentifier.value = "Task/160.100.000.000.004.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" -* identifier[0] - * system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" +* extension[EPrescriptionToken].valueIdentifier.value = "Task/169.100.000.000.004.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" +* identifier[+] + * system = "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier" * value = "1" * identifier[+] * system = "https://gematik.de/fhir/erp-servicerequest/sid/patient-id" @@ -54,15 +49,11 @@ Description: "ServiceRequest that is returned to the requester" * identifier[+] * system = "https://my-very-own-zyto-identifier" * value = "My-ID-bdbdf8a1-ffa4-4f16-a6c4-38e690ac5548" -* basedOn = Reference(Example-Response-KBV-Prescription) -* requisition[0].system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" -* requisition[=].value = "GroupID-UC4" +* basedOn = Reference(Example-Zyto-Medication-Request) +* requisition.value = "GroupID-UC4" * status = RequestStatus#completed * intent = RequestIntent#order -* code = ServiceRequestTypeCS#prescription-request +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request * subject = Reference(Example-Patient) -* orderDetail = PrescriptionFullfillmentTypeCS#return-to-requester -* occurrenceDateTime = "2023-01-30" //update wann es tatsächlich ausgestellt wurde -* authoredOn = "2023-01-27" -* requester = Reference(Example-Pharmacy-Organization) +* authoredOn = "2025-05-13" * performer = Reference(Example-Practitioner) diff --git a/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-Changed-Medication.fsh b/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-Changed-Medication.fsh new file mode 100644 index 00000000..a8abd252 --- /dev/null +++ b/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-Changed-Medication.fsh @@ -0,0 +1,50 @@ +Instance: XSLT-Changed-Medication-Bundle +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "Prescription Request with changed Medication" +Description: "A prescription request which has a changed Medication in the Response" +* identifier.value = "urn:uuid:29888885-6639-481c-934e-4b7b51745084" +* timestamp = "2025-05-14T08:15:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/XSLT-Changed-Medication-Header" +* entry[=].resource = XSLT-Changed-Medication-Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Practitioner-Organization" +* entry[=].resource = Example-Practitioner-Organization + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/XSLT-Changed-Medication-ServiceRequest" +* entry[=].resource = XSLT-Changed-Medication-ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-Medication-Request" +* entry[=].resource = Example-Response-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Response-Medication" +* entry[=].resource = Example-Response-Medication + +Instance: XSLT-Changed-Medication-Header +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "HealthCareService-to-Practitioner-MessageHeader" +Description: "Message Header from HealthCareService to Practitioner" +* insert Practitioner-to-HealthCareService(XSLT-Changed-Medication-ServiceRequest) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptbestaetigung +* responsible = Reference(Example-Practitioner-Organization) + +Instance: XSLT-Changed-Medication-ServiceRequest +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #inline +Title: "Initial Prescription Request" +Description: "This ServiceRequest is sent initially to the prescribing practitioner" +* identifier[requestId].value = "1" +* requisition.value = "XSLT-Changed-Medication" +* extension[EPrescriptionToken].valueIdentifier.value = "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" +* modifierExtension[medicationChanged].valueBoolean = true +* status = RequestStatus#completed +* basedOn = Reference(Example-Response-Medication-Request) +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" +* intent = RequestIntent#order +* performer.identifier = Hans-Topp-Glücklich-Identifier +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request \ No newline at end of file diff --git a/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-Prior-Prescription-ID.fsh b/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-Prior-Prescription-ID.fsh new file mode 100644 index 00000000..ce62140b --- /dev/null +++ b/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-Prior-Prescription-ID.fsh @@ -0,0 +1,61 @@ +Instance: XSLT-Prior-Prescription-ID-Bundle +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "Prescription Request with changed Medication" +Description: "A prescription request which has a changed Medication in the Response" +* identifier.value = "urn:uuid:c881f35a-2463-4b0b-9164-0f7fc2e35136" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/XSLT-Prior-Prescription-ID-Header" +* entry[=].resource = XSLT-Prior-Prescription-ID-Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" +* entry[=].resource = Example-HealthCareService-Organization + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/XSLT-Prior-Prescription-ID-ServiceRequest" +* entry[=].resource = XSLT-Prior-Prescription-ID-ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/XSLT-Prior-Prescription-ID-Medication-Request" +* entry[=].resource = XSLT-Prior-Prescription-ID-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" +* entry[=].resource = Example-Initial-Medication + +Instance: XSLT-Prior-Prescription-ID-Header +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "HealthCareService-to-Practitioner-MessageHeader" +Description: "Message Header from HealthCareService to Practitioner" +* insert HealthCareService-to-Practitioner(XSLT-Prior-Prescription-ID-ServiceRequest) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage +* responsible = Reference(Example-HealthCareService-Organization) + +Instance: XSLT-Prior-Prescription-ID-ServiceRequest +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #inline +Title: "Initial Prescription Request" +Description: "This ServiceRequest is sent initially to the prescribing practitioner" +* identifier[requestId].value = "1" +* basedOn = Reference(XSLT-Prior-Prescription-ID-Medication-Request) +* requisition.value = "XSLT-Prior-Prescription-ID" +* status = RequestStatus#active +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* occurrenceDateTime = "2025-05-14T12:00:00+02:00" +* authoredOn = "2025-05-13" +* requester = Reference(Example-HealthCareService-Organization) + +Instance: XSLT-Prior-Prescription-ID-Medication-Request +InstanceOf: ERPServiceRequestMedicationRequest +Usage: #inline +* status = #active +* intent = #order +* extension[PriorPrescriptionID].valueIdentifier.value = "160.000.033.491.280.78" +* medicationReference = Reference(Example-Initial-Medication) +* subject = Reference(Example-Patient) +* dispenseRequest.quantity + * value = 1 + * unit = "Packung" \ No newline at end of file diff --git a/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-Redeem-By-Patient.fsh b/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-Redeem-By-Patient.fsh new file mode 100644 index 00000000..2c1612d4 --- /dev/null +++ b/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-Redeem-By-Patient.fsh @@ -0,0 +1,50 @@ +Instance: XSLT-Redeem-By-Patient-Bundle +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "Prescription Request with changed Medication" +Description: "A prescription request which has a changed Medication in the Response" +* identifier.value = "urn:uuid:c881f35a-2463-4b0b-9164-0f7fc2e35136" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/XSLT-Redeem-By-Patient-Header" +* entry[=].resource = XSLT-Redeem-By-Patient-Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" +* entry[=].resource = Example-HealthCareService-Organization + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/XSLT-Redeem-By-Patient-ServiceRequest" +* entry[=].resource = XSLT-Redeem-By-Patient-ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" +* entry[=].resource = Example-Initial-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" +* entry[=].resource = Example-Initial-Medication + +Instance: XSLT-Redeem-By-Patient-Header +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "HealthCareService-to-Practitioner-MessageHeader" +Description: "Message Header from HealthCareService to Practitioner" +* insert HealthCareService-to-Practitioner(XSLT-Redeem-By-Patient-ServiceRequest) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage +* responsible = Reference(Example-HealthCareService-Organization) + +Instance: XSLT-Redeem-By-Patient-ServiceRequest +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #inline +Title: "Initial Prescription Request" +Description: "This ServiceRequest is sent initially to the prescribing practitioner" +* identifier[requestId].value = "1" +* modifierExtension[redeemByPatient].valueBoolean = true +* basedOn = Reference(Example-Initial-Medication-Request) +* requisition.value = "XSLT-Redeem-By-Patient" +* status = RequestStatus#active +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* occurrenceDateTime = "2025-05-14T12:00:00+02:00" +* authoredOn = "2025-05-13" +* requester = Reference(Example-HealthCareService-Organization) \ No newline at end of file diff --git a/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-RequestMVO.fsh b/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-RequestMVO.fsh new file mode 100644 index 00000000..188d405e --- /dev/null +++ b/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-RequestMVO.fsh @@ -0,0 +1,61 @@ +Instance: XSLT-Request-MVO-Bundle +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "Prescription Request with changed Medication" +Description: "A prescription request which has a changed Medication in the Response" +* identifier.value = "urn:uuid:c881f35a-2463-4b0b-9164-0f7fc2e35136" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/XSLT-Request-MVO-Header" +* entry[=].resource = XSLT-Request-MVO-Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" +* entry[=].resource = Example-HealthCareService-Organization + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/XSLT-Request-MVO-ServiceRequest" +* entry[=].resource = XSLT-Request-MVO-ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/XSLT-Request-MVO-Medication-Request" +* entry[=].resource = XSLT-Request-MVO-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" +* entry[=].resource = Example-Initial-Medication + +Instance: XSLT-Request-MVO-Header +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "HealthCareService-to-Practitioner-MessageHeader" +Description: "Message Header from HealthCareService to Practitioner" +* insert HealthCareService-to-Practitioner(XSLT-Request-MVO-ServiceRequest) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage +* responsible = Reference(Example-HealthCareService-Organization) + +Instance: XSLT-Request-MVO-ServiceRequest +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #inline +Title: "Initial Prescription Request" +Description: "This ServiceRequest is sent initially to the prescribing practitioner" +* identifier[requestId].value = "1" +* basedOn = Reference(XSLT-Request-MVO-Medication-Request) +* requisition.value = "XSLT-Request-MVO" +* status = RequestStatus#active +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* occurrenceDateTime = "2025-05-14T12:00:00+02:00" +* authoredOn = "2025-05-13" +* requester = Reference(Example-HealthCareService-Organization) + +Instance: XSLT-Request-MVO-Medication-Request +InstanceOf: ERPServiceRequestMedicationRequest +Usage: #inline +* status = #active +* intent = #order +* modifierExtension[requestMVO].valueBoolean = true +* medicationReference = Reference(Example-Initial-Medication) +* subject = Reference(Example-Patient) +* dispenseRequest.quantity + * value = 1 + * unit = "Packung" \ No newline at end of file diff --git a/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-Urgent.fsh b/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-Urgent.fsh new file mode 100644 index 00000000..2bd1ffc2 --- /dev/null +++ b/Resources/input/fsh/examples/XSLT-Test-Bundles/XSLT-Urgent.fsh @@ -0,0 +1,50 @@ +Instance: XSLT-Urgent-Bundle +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "Prescription Request with changed Medication" +Description: "A prescription request which has a changed Medication in the Response" +* identifier.value = "urn:uuid:c881f35a-2463-4b0b-9164-0f7fc2e35136" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/XSLT-Urgent-Header" +* entry[=].resource = XSLT-Urgent-Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" +* entry[=].resource = Example-HealthCareService-Organization + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/XSLT-Urgent-ServiceRequest" +* entry[=].resource = XSLT-Urgent-ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" +* entry[=].resource = Example-Initial-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" +* entry[=].resource = Example-Initial-Medication + +Instance: XSLT-Urgent-Header +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "HealthCareService-to-Practitioner-MessageHeader" +Description: "Message Header from HealthCareService to Practitioner" +* insert HealthCareService-to-Practitioner(XSLT-Urgent-ServiceRequest) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage +* responsible = Reference(Example-HealthCareService-Organization) + +Instance: XSLT-Urgent-ServiceRequest +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #inline +Title: "Initial Prescription Request" +Description: "This ServiceRequest is sent initially to the prescribing practitioner" +* identifier[requestId].value = "1" +* basedOn = Reference(Example-Initial-Medication-Request) +* requisition.value = "XSLT-Urgent" +* status = RequestStatus#active +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* occurrenceDateTime = "2025-05-14T12:00:00+02:00" +* authoredOn = "2025-05-13" +* requester = Reference(Example-HealthCareService-Organization) +* priority = #urgent \ No newline at end of file diff --git a/Resources/input/fsh/extensions/AlternativeDeliveryAddressEX.fsh b/Resources/input/fsh/extensions/AlternativeDeliveryAddressEX.fsh new file mode 100644 index 00000000..069abf43 --- /dev/null +++ b/Resources/input/fsh/extensions/AlternativeDeliveryAddressEX.fsh @@ -0,0 +1,8 @@ +Extension: AlternativeDeliveryAddressEX +Id: alternative-delivery-address-ex +Title: "Alternative Delivery Address (EX)" +Description: "This extension is used to specify an alternative delivery Address" +Context: ServiceRequest, MedicationRequest, DeviceRequest, Task, SupplyRequest +* insert Meta (alternative-delivery-address-ex) +* value[x] only AddressDeBasis +* value[x] 1..1 MS diff --git a/Resources/input/fsh/extensions/DidChangeMedicationEX.fsh b/Resources/input/fsh/extensions/DidChangeMedicationEX.fsh new file mode 100644 index 00000000..ce696b97 --- /dev/null +++ b/Resources/input/fsh/extensions/DidChangeMedicationEX.fsh @@ -0,0 +1,10 @@ +Extension: ChangedMedicationEX +Id: changed-medication-ex +Title: "Changed Medication (EX)" +Description: "This extension is used to specify if the medication has been changed by the prescriber" +Context: ServiceRequest, MedicationRequest, DeviceRequest, Task, SupplyRequest, Medication +* insert Meta (changed-medication-ex) +* . ^isModifier = true +* . ^isModifierReason = "If the medication has been changed, the receiving system must display that the medication has been changed." +* value[x] only boolean +* value[x] 1..1 MS \ No newline at end of file diff --git a/Resources/input/fsh/extensions/EPrescriptionTokenEX.fsh b/Resources/input/fsh/extensions/EPrescriptionTokenEX.fsh index 1b3a4867..c5e7b20b 100644 --- a/Resources/input/fsh/extensions/EPrescriptionTokenEX.fsh +++ b/Resources/input/fsh/extensions/EPrescriptionTokenEX.fsh @@ -2,7 +2,6 @@ Extension: EPrescriptionTokenEX Id: eprescription-token-ex Title: "E-Prescription Token Extension" Description: "This extension is used to specify an e-prescription token" -// TODO: Add Context * ^context[0].type = #element * ^context[=].expression = "ServiceRequest" * ^context[+].type = #element diff --git a/Resources/input/fsh/extensions/PrescriptionIdEX.fsh b/Resources/input/fsh/extensions/PrescriptionIdEX.fsh index 237d163e..8db1ee2c 100644 --- a/Resources/input/fsh/extensions/PrescriptionIdEX.fsh +++ b/Resources/input/fsh/extensions/PrescriptionIdEX.fsh @@ -16,4 +16,6 @@ Description: "Extension for Prescription ID" * ^context[+].type = #element * ^context[=].expression = "Medication" * insert Meta (prescription-id-ex) -* value[x] only GEM_ERP_PR_PrescriptionId \ No newline at end of file +* value[x] 1..1 MS +* value[x] only Identifier +* valueIdentifier only GEM_ERP_PR_PrescriptionId \ No newline at end of file diff --git a/Resources/input/fsh/extensions/RedeemByPatientEX.fsh b/Resources/input/fsh/extensions/RedeemByPatientEX.fsh new file mode 100644 index 00000000..fca46062 --- /dev/null +++ b/Resources/input/fsh/extensions/RedeemByPatientEX.fsh @@ -0,0 +1,23 @@ +Extension: RedeemByPatientEX +Id: redeem-by-patient-ex +Title: "Redeem By Patient (EX)" +Description: "Extension to indicate if the prescription should be redeemed by the patient." +* ^context[0].type = #element +* ^context[=].expression = "ServiceRequest" +* ^context[+].type = #element +* ^context[=].expression = "MedicationRequest" +* ^context[+].type = #element +* ^context[=].expression = "DeviceRequest" +* ^context[+].type = #element +* ^context[=].expression = "Task" +* ^context[+].type = #element +* ^context[=].expression = "SupplyRequest" +* ^context[+].type = #element +* ^context[=].expression = "ServiceDelivery" +* ^context[+].type = #element +* ^context[=].expression = "Medication" +* insert Meta (redeem-by-patient-ex) +* . ^isModifier = true +* . ^isModifierReason = "This determines the Flow Type of the prescription to be set to 160/200 so that the patient can redeem the prescription himself. If not set the Flow Type is set to 169/209." +* value[x] only boolean +* value[x] 1..1 MS \ No newline at end of file diff --git a/Resources/input/fsh/extensions/RemainingSupplyEX.fsh b/Resources/input/fsh/extensions/RemainingSupplyEX.fsh new file mode 100644 index 00000000..76a34c6b --- /dev/null +++ b/Resources/input/fsh/extensions/RemainingSupplyEX.fsh @@ -0,0 +1,9 @@ +Extension: RemainingSupplyEX +Id: remaining-supply-ex +Title: "Remaining Supply EX" +Description: "This extension is used to specify the remaining supply of a medication" +* insert Meta (remaining-supply-ex) +* value[x] 1..1 MS +* value[x] only Quantity +* valueQuantity.value 1..1 MS +* valueQuantity.unit 1..1 MS \ No newline at end of file diff --git a/Resources/input/fsh/extensions/RemainingSupplyFreeTextEX.fsh b/Resources/input/fsh/extensions/RemainingSupplyFreeTextEX.fsh new file mode 100644 index 00000000..f413a71a --- /dev/null +++ b/Resources/input/fsh/extensions/RemainingSupplyFreeTextEX.fsh @@ -0,0 +1,7 @@ +Extension: RemainingSupplyFreeTextEX +Id: remaining-supply-free-text-ex +Title: "Remaining Supply FreeText EX" +Description: "This extension is used to state the remaining supply of a medication as a free text" +* insert Meta (remaining-supply-free-text-ex) +* value[x] 1..1 MS +* value[x] only string \ No newline at end of file diff --git a/Resources/input/fsh/extensions/RequestMVOEX.fsh b/Resources/input/fsh/extensions/RequestMVOEX.fsh new file mode 100644 index 00000000..4baa6ec0 --- /dev/null +++ b/Resources/input/fsh/extensions/RequestMVOEX.fsh @@ -0,0 +1,23 @@ +Extension: RequestMVOEX +Id: request-mvo-ex +Title: "Request MVO (EX)" +Description: "Extension to indicate if the prescription should be issued as a multiple prescription order (MVO)." +* ^context[0].type = #element +* ^context[=].expression = "ServiceRequest" +* ^context[+].type = #element +* ^context[=].expression = "MedicationRequest" +* ^context[+].type = #element +* ^context[=].expression = "DeviceRequest" +* ^context[+].type = #element +* ^context[=].expression = "Task" +* ^context[+].type = #element +* ^context[=].expression = "SupplyRequest" +* ^context[+].type = #element +* ^context[=].expression = "ServiceDelivery" +* ^context[+].type = #element +* ^context[=].expression = "Medication" +* insert Meta (request-mvo-ex) +* . ^isModifier = true +* . ^isModifierReason = "This determines if the prescription is to be issued as a normal prescription or as a multiple prescription order (MVO)." +* value[x] only boolean +* value[x] 1..1 MS \ No newline at end of file diff --git a/Resources/input/fsh/logical-models/dispense-request-confirmation-log.fsh b/Resources/input/fsh/logical-models/dispense-request-confirmation-log.fsh new file mode 100644 index 00000000..84a30c11 --- /dev/null +++ b/Resources/input/fsh/logical-models/dispense-request-confirmation-log.fsh @@ -0,0 +1,30 @@ +Logical: GEM_ERP_SR_LOG_DispenseRequest_Confirmation +Parent: Element +Id: gem-erp-sr-log-dispense-request-confirmation +Title: "Logical Model Dispenseieranforderung_Bestätigung" +Description: "Fachliches Modell zur Beschreibung einer Bestätigung einer Dispenseieranforderung" +* insert Versioning +* insert RS_LOG_MessageHeader + +* obeys log-dispense-request-confirmation-1 + +// Administrative Informationen +* Status 1..1 code "Status" "Status der Anforderung. Wird genutzt, um den Bearbeitungsstand einer Anfrage zu verfolgen. Im Falle der Dispensieranforderung wird eine erledigte Anfrage mit dem Status 'completed' geschickt und signalisiert somit eine neue Anfrage." + * obeys log-dispense-request-confirmation-1 +* VorgangsID 1..1 string "ID des Vorgangs" "Wird vom initialen Sender gesetzt und muss immer mitgeführt werden." + +* Freitext 0..1 string "Freitext" "Individuelle Nachricht an den Empfänger" +* Anhaenge 0..* Attachment "Anhänge" "Anhänge zur Anforderung. Das können PDFs, Bilder oder andere Dokumente sein." + * ^comment = "Werden auf Ebene der KIM-Nachricht angehangen" + +* Belieferungsart 0..1 Coding "Belieferungsart" "Angabe der Belieferungsart" + * BelieferungsartCode 1..1 Coding "Belieferungsart-Code" "Folgende Codes sind zulässig: Abholung durch Pflegedienst, Lieferung der Apotheke, Abholung durch Patienten" + +// Medizinische Informationen +* Medikation 1..1 BackboneElement "Medikation" "Angaben zur Medikation" + * obeys log-dispense-request-confirmation-1 + * Abgabeinformationen 1..1 Reference(MedicationDispense) "Medizinische Verordnungsinformationen" "MedicationDispense und Medication Objekt aus den Abgabedaten." + +Invariant: log-dispense-request-confirmation-1 +Description: "Wenn eine Anfrage erfüllt wird (status = 'completed'), müssen Abgabeinformationen vorhanden sein." +Severity: #error \ No newline at end of file diff --git a/Resources/input/fsh/logical-models/dispense-request-log.fsh b/Resources/input/fsh/logical-models/dispense-request-log.fsh new file mode 100644 index 00000000..4a2bd707 --- /dev/null +++ b/Resources/input/fsh/logical-models/dispense-request-log.fsh @@ -0,0 +1,61 @@ +Logical: GEM_ERP_SR_LOG_DispenseRequest +Parent: Element +Id: gem-erp-sr-log-dispense-request +Title: "Logical Model Dispenseieranforderung" +Description: "Fachliches Modell zur Beschreibung einer Dispenseieranforderung" +* insert Versioning +* insert RS_LOG_MessageHeader + +* obeys log-dispense-request-1 +* obeys log-dispense-request-2 +* obeys log-dispense-request-3 + +// Administrative Informationen +* Status 1..1 code "Status" "Status der Anforderung. Wird genutzt, um den Bearbeitungsstand einer Anfrage zu verfolgen. Im Falle der initialen Dispensieranforderung wird eine Anfrage mit dem Status 'active' erstellt und geschickt und signalisiert somit eine neue Anfrage." + * obeys log-dispense-request-1 + * obeys log-dispense-request-2 +* VorgangsID 1..1 string "ID des Vorgangs" "Wird vom initialen Sender gesetzt und muss immer mitgeführt werden." +* ERezeptToken 1..1 string "E-Rezept-Token" "Token der für die Einlösung der Verordnung gebraucht wird." + * ^comment = "Angabe nach gemSpec_DM_eRp#A_19554." + * obeys log-dispense-request-2 + +* involvierteParteien 1..* BackboneElement "Involvierte Parteien" "Angaben zu den involvierten Parteien" + * Anfragender 1..1 BackboneElement "Anfragender" "Angaben zum anfragenden" + * AnfragenderTyp 1..1 Coding "Typ des Anfragenden" "Folgende Typen sind zulässig: Apotheke, Pflegeeinrichtung" + * obeys log-dispense-request-1 + * Name 1..1 string "Name des Anfragenden" + * Adresse 0..1 Address "Straßenadresse des Anfragenden" + * Telefon 1..1 string "Telefonnummer des Anfragenden" + + * PatientenInformationen 1..1 BackboneElement "Patienteninformationen" "Angaben zum Patienten" + * PatientenIdentifierKVNR 1..1 string "KVNR des Patienten" + * PatientenName 1..1 HumanName "Name des Patienten" "Strukturierte Angabe des Namens des Patienten" + * PatientenGeburtstag 1..1 date "Geburtstag des Patienten" "Angabe des Geburtstags mit Jahr, Monat und Tag" + + +* Freitext 0..1 string "Freitext" "Individuelle Nachricht an den Empfänger" + +* Belieferungsart 0..1 Coding "Belieferungsart" "Angabe der Belieferungsart" + * obeys log-dispense-request-3 + * BelieferungsartCode 1..1 Coding "Belieferungsart-Code" "Folgende Codes sind zulässig: Abholung durch Pflegedienst, Lieferung der Apotheke, Abholung durch Patienten" + * AlternativeAdresse 0..1 Address "Alternative Adresse" "Alternative Adresse für die Lieferung" + +* Prioritaet 0..1 BackboneElement "Priorität" "Angabe der Priorität der Anforderung" + * PrioritaetCode 1..1 Coding "Priorität der Anforderung" "Folgende Prioritäten sind zulässig: Hoch, Normal" + +* Anhaenge 0..* Attachment "Anhänge" "Anhänge zur Bestätigung. Das können PDFs, Bilder oder andere Dokumente sein." + * Medikationsplan 0..1 Attachment "Medikationsplan" "Anhang des Medikationsplans" + * weitereAnhaenge 0..* Attachment "Weitere Anhänge" "Weitere Anhänge" + * ^comment = "Werden auf Ebene der KIM-Nachricht angehangen" + +Invariant: log-dispense-request-1 +Description: "Wenn eine Anfrage gestellt wird (status = 'active'), muss der Anfragende eine Pflegeeinrichtung sein." +Severity: #error + +Invariant: log-dispense-request-2 +Description: "Wenn eine Anfrage gestellt wird (status = 'active'), muss auch der E-Rezept-Token vorhanden sein." +Severity: #error + +Invariant: log-dispense-request-3 +Description: "Wenn als Belieferungsart 'Lieferung an Alternative Addresse' angegeben wird, dann muss die Adresse auch angegeben werden." +Severity: #error \ No newline at end of file diff --git a/Resources/input/fsh/logical-models/prescription-request-cancellation-log.fsh b/Resources/input/fsh/logical-models/prescription-request-cancellation-log.fsh new file mode 100644 index 00000000..a58bc0a3 --- /dev/null +++ b/Resources/input/fsh/logical-models/prescription-request-cancellation-log.fsh @@ -0,0 +1,20 @@ +Logical: GEM_ERP_SR_LOG_PrescriptionRequest_Cancellation +Parent: Element +Id: gem-erp-sr-log-prescription-request-cancellation +Title: "Logical Model Rezeptanforderung_Storno" +Description: "Fachliches Modell zur Beschreibung einer Stornierung einer Rezeptanforderung seitens der Pflegeeinrichtung." +* insert Versioning +* insert RS_LOG_MessageHeader + +// Administrative Informationen +* Status 1..1 code "Status" "Status der Anforderung. Wird genutzt, um den Bearbeitungsstand einer Anfrage zu verfolgen. Im Falle der Storinierung einer Rezeptanforderung wird eine Anfrage mit dem Status 'revoked' erstellt und geschickt." +* Grund 1..1 string "Grund der Stornierung" "Der Grund, warum die Stornierung angegeben wurde kann als Freitext hinterlegt werden." +* VorgangsID 1..1 string "ID des Vorgangs" "Wird hier genutzt, um die Anfrage die storniert werden soll, zu referenzieren." + +// Medizinische Daten +* Medikation 1..1 BackboneElement "Medikation" "Angaben zur Medikation" + * MedikationsReferenz 0..1 Medication "Referenz auf das Medikamentenobjekt" "Referenz auf das Medikamentenobjekt nach KBV_Verordnung (Freitext, PZN, Wirkstoff, Rezeptur)" + * ^comment = "Folgende Profile aus dem E-Rezept Verordnungsdatensatz sind zulässig: KBV_PR_ERP_Medication_Compounding, KBV_PR_ERP_Medication_FreeText, KBV_PR_ERP_Medication _Ingredient, KBV_PR_ERP_Medication_PZN" + * AnzahlPackungen 1..1 BackboneElement "Anzahl der Packungen" + * Einheit 1..1 string "Einheit der Menge, fix auf 'Packung' gesetzt" + * Wert 1..1 string "Anzahl der Packungen" \ No newline at end of file diff --git a/Resources/input/fsh/logical-models/prescription-request-confirmation-log.fsh b/Resources/input/fsh/logical-models/prescription-request-confirmation-log.fsh new file mode 100644 index 00000000..ecdad973 --- /dev/null +++ b/Resources/input/fsh/logical-models/prescription-request-confirmation-log.fsh @@ -0,0 +1,40 @@ +Logical: GEM_ERP_SR_LOG_PrescriptionRequest_Confirmation +Parent: Element +Id: gem-erp-sr-log-prescription-request-confirmation +Title: "Logical Model Rezeptanforderung_Bestätigung" +Description: "Fachliches Modell zur Beschreibung einer Bestätigung einer Rezeptanforderung" +* insert Versioning + +* insert RS_LOG_MessageHeader + +* obeys log-prescription-request-confirmation-1 + +// Administrative Informationen +* ERezeptToken 1..* string "E-Rezept-Token" "Token der für die Einlösung der Verordnung gebraucht wird. Angabe nach gemSpec_DM_eRp#A_19554. Ein Arzt kann sich entscheiden für eine Anfrage mehrere Rezepte auszustellen, daher ist die Angabe von mehreren Token erlaubt" + * obeys log-prescription-request-confirmation-1 + +* Status 1..1 code "Status" "Status der Anforderung. Wird genutzt, um den Bearbeitungsstand einer Anfrage zu verfolgen. Im Falle der Bestätigung der Rezeptanforderung wird eine Anfrage mit dem Status 'completed' geschickt." + * obeys log-prescription-request-confirmation-1 +* VorgangsID 1..1 string "ID des Vorgangs" "Wird vom initialen Sender gesetzt und muss in der Antwort mitgeführt werden." +* VersichertenEinloesung 0..1 boolean "Versicherten Einlösung" "Angabe, ob der Versicherte das E-Rezept selbst einlösen möchte." + +* Freitext 0..1 string "Freitext" "Individuelle Nachricht an den Empfänger" + +* Anhaenge 0..* Attachment "Anhänge" "Anhänge zur Bestätigung. Das können PDFs, Bilder oder andere Dokumente sein." + * Medikationsplan 0..1 Attachment "Medikationsplan" "Anhang des Medikationsplans" + * weitereAnhaenge 0..* Attachment "Weitere Anhänge" "Weitere Anhänge" + * ^comment = "Werden auf Ebene der KIM-Nachricht angehangen" + +// Medizinische Informationen +* AenderungVerordnung 0..1 boolean "Änderung der Verordnung" "Gibt an, ob das verordnete Arzneimittel von dem angefragten abweicht." + +* Medikation 1..1 BackboneElement "Medikation" "Angaben zur Medikation" + * MedizinischeInformationenAusVerordnung 1..1 Reference(MedicationRequest) "Medizinische Verordnungsinformationen" "MedicationRequest und Medication Objekt aus der KBV_Verordnung." + * AnzahlPackungen 1..1 BackboneElement "Anzahl der Packungen" + * Einheit 1..1 string "Einheit der Menge, fix auf 'Packung' gesetzt" + * Wert 1..1 string "Anzahl der Packungen" + * Dosieranweisungen 0..1 Dosage "Dosieranweisungen" "Dosieranweisungen, wie sie auch in der Verordnung angegeben sind" + +Invariant: log-prescription-request-confirmation-1 +Description: "Wenn eine Anfrage bestätigt wird (status = 'completed'), muss der E-Rezept Token vorhanden sein." +Severity: #error \ No newline at end of file diff --git a/Resources/input/fsh/logical-models/prescription-request-log.fsh b/Resources/input/fsh/logical-models/prescription-request-log.fsh new file mode 100644 index 00000000..5cfaf8cc --- /dev/null +++ b/Resources/input/fsh/logical-models/prescription-request-log.fsh @@ -0,0 +1,77 @@ +Logical: GEM_ERP_SR_LOG_PrescriptionRequest +Parent: Element +Id: gem-erp-sr-log-prescription-request +Title: "Logical Model Rezeptanforderung" +Description: "Fachliches Modell zur Beschreibung einer Rezeptanforderung" +* insert Versioning + +* insert RS_LOG_MessageHeader + +* obeys log-prescription-request-1 +* obeys log-prescription-request-2 + +// Administrative Informationen +* Status 1..1 code "Status" "Status der Anforderung. Wird genutzt, um den Bearbeitungsstand einer Anfrage zu verfolgen. Im Falle der Rezeptanforderung wird eine Anfrage mit dem Status 'active' erstellt und geschickt und signalisiert somit eine neue Anfrage." + * obeys log-prescription-request-1 +* VorgangsID 1..1 string "ID des Vorgangs" "Wird vom initialen Sender gesetzt und muss immer mitgeführt werden." +* VersichertenEinloesung 0..1 boolean "Versicherten Einlösung" "Angabe, ob der Versicherte das E-Rezept selbst einlösen möchte." + +* involvierteParteien 1..* BackboneElement "Involvierte Parteien" "Angaben zu den involvierten Parteien" + * PatientenInformationen 1..1 BackboneElement "Patienteninformationen" "Angaben zum Patienten" + * PatientenIdentifierKVNR 1..1 string "KVNR des Patienten" + * PatientenName 1..1 HumanName "Name des Patienten" "Strukturierte Angabe des Namens des Patienten" + * PatientenGeburtstag 1..1 date "Geburtstag des Patienten" "Angabe des Geburtstags mit Jahr, Monat und Tag" + + * VerordnenderArzt 0..* BackboneElement "Verordnender Arzt" "Angaben zum verordnenden Arzt. Anzugeben, wenn ein Arzt zur Ausstellung identifiziert werden kann." + * LANR 0..1 string "LANR des Arztes" + * Name 1..1 HumanName "Name des Arztes" + + * Anfragender 1..1 BackboneElement "Anfragender" "Angaben zum anfragenden" + * obeys log-prescription-request-1 + * AnfragenderTyp 1..1 Coding "Typ des Anfragenden" "Folgende Typen sind zulässig: Apotheke, Pflegeeinrichtung" + * obeys log-prescription-request-2 + * Name 1..1 string "Name des Anfragenden" + * Adresse 0..1 Address "Straßenadresse des Anfragenden" + * Telefon 1..1 string "Telefonnummer des Anfragenden" + + * PflegeeinrichtungKopie 0..1 BackboneElement "Zu benachrichtigende Pflegeeinrichtung" "Angaben zur Pflegeeinrichtung, die über den Ablauf der Rezeptanforderung per Kopie informiert werden soll. Muss angegeben werden, wenn die Apotheke die Rezeptanforderung stellt." + * obeys log-prescription-request-2 + * Name 1..1 string "Name der Pflegeeinrichtung" + * Telefon 1..1 string "Telefonnummer der Pflegeeinrichtung" + * KIMAdresse 1..1 Address "KIM-Adresse der Pflegeeinrichtung" + +* Freitext 0..1 string "Freitext" "Individuelle Nachricht an den Empfänger" + +* GrundDerAnforderung 0..1 BackboneElement "Grund der Anforderung" "Entweder Codiert oder als Freitext" + * GrundCode 0..1 Coding "Code des Grundes" "Folgende Gründe sind vorgesehen: Korrektur, Reichweite erschöpft(Dauermedikation), nach Vitalwertmessung, nach Bedarf (z.B. aufgrund von Schmerzen)" + * GrundText 0..1 string "Text des Grundes" + +* Prioritaet 0..1 BackboneElement "Priorität" "Angabe der Priorität der Anforderung" + * PrioritaetCode 1..1 Coding "Priorität der Anforderung" "Folgende Prioritäten sind zulässig: Hoch, Normal" + +* Restreichweite 0..1 BackboneElement "Restreichweite" "Angabe der Restreichweite" + * Freitext 0..1 string "Restreichweite in Tage oder Anzahl an Einheiten" + * Einheit 0..1 string "Einheit der Restreichweite" + * Wert 0..1 decimal "Wert der Restreichweite" + +* Anhaenge 0..* Attachment "Anhänge" "Anhänge zur Anforderung. Das können PDFs, Bilder oder andere Dokumente sein." + * ^comment = "Werden auf Ebene der KIM-Nachricht angehangen" + +// Medizinische Informationen +* Medikation 1..1 BackboneElement "Medikation" "Angaben zur Medikation" + * VorherigeRezeptID 0..1 BackboneElement "ID des vorherigen Rezepts" "Kann bei der Anforderung einer Folgeverordnung verwendet werden, um einen Bezug zu einer vorherigen Verordnung herzustellen." + * MedikationsReferenz 0..1 Medication "Referenz auf das Medikamentenobjekt" "Referenz auf das Medikamentenobjekt nach KBV_Verordnung (Freitext, PZN, Wirkstoff, Rezeptur)" + * ^comment = "Folgende Profile aus dem E-Rezept Verordnungsdatensatz sind zulässig: KBV_PR_ERP_Medication_Compounding, KBV_PR_ERP_Medication_FreeText, KBV_PR_ERP_Medication _Ingredient, KBV_PR_ERP_Medication_PZN" + * AnzahlPackungen 1..1 BackboneElement "Anzahl der Packungen" + * Einheit 1..1 string "Einheit der Menge, fix auf 'Packung' gesetzt" + * Wert 1..1 string "Anzahl der Packungen" + // Konfiguratorische Informationen + * AngabeMVO 0..1 boolean "Angabe MVO" "Angabe, ob der anfordernde eine MVO wünscht. Es obliegt dem Verordnenden dem Wunsch nachzukommen. Der verordnende LE entscheidet über die Menge und die Zeiträume" + +Invariant: log-prescription-request-1 +Description: "Wenn eine Anfrage gestellt wird (status = 'active'), muss auch der Anfragende vorhanden sein." +Severity: #error + +Invariant: log-prescription-request-2 +Description: "Wenn eine Anfrage von einer Apotheke (involvierteParteien.Anfragender.AnfragenderTyp = 'APO') gestellt wird, muss die Angabe der Pflegeeinrichtung zur Kopie angegeben werden (involvierteParteien.PflegeeinrichtungKopie)." +Severity: #error \ No newline at end of file diff --git a/Resources/input/fsh/logical-models/prescription-request-rejection-log.fsh b/Resources/input/fsh/logical-models/prescription-request-rejection-log.fsh new file mode 100644 index 00000000..ac364f25 --- /dev/null +++ b/Resources/input/fsh/logical-models/prescription-request-rejection-log.fsh @@ -0,0 +1,20 @@ +Logical: GEM_ERP_SR_LOG_PrescriptionRequest_Rejection +Parent: Element +Id: gem-erp-sr-log-prescription-request-rejection +Title: "Logical Model Rezeptanforderung_Storno (Ablehnung)" +Description: "Fachliches Modell zur Beschreibung einer Ablehnung einer Rezeptanforderung seitens des Verordnenden." +* insert Versioning +* insert RS_LOG_MessageHeader + +// Administrative Informationen +* Status 1..1 code "Status" "Status der Anforderung. Wird genutzt, um den Bearbeitungsstand einer Anfrage zu verfolgen. Im Falle der Storinierung einer Rezeptanforderung wird eine Anfrage mit dem Status 'revoked' erstellt und geschickt." +* Grund 1..1 string "Grund der Ablehnung" "Der Grund, warum die Rezeptanforderung abgelehnt wurde muss als Freitext hinterlegt werden." +* VorgangsID 1..1 string "ID des Vorgangs" "Wird hier genutzt, um die Anfrage die storniert werden soll, zu referenzieren." + +// Medizinische Daten +* Medikation 1..1 BackboneElement "Medikation" "Angaben zur Medikation" + * MedikationsReferenz 0..1 Medication "Referenz auf das Medikamentenobjekt" "Referenz auf das Medikamentenobjekt nach KBV_Verordnung (Freitext, PZN, Wirkstoff, Rezeptur)" + * ^comment = "Folgende Profile aus dem E-Rezept Verordnungsdatensatz sind zulässig: KBV_PR_ERP_Medication_Compounding, KBV_PR_ERP_Medication_FreeText, KBV_PR_ERP_Medication _Ingredient, KBV_PR_ERP_Medication_PZN" + * AnzahlPackungen 1..1 BackboneElement "Anzahl der Packungen" + * Einheit 1..1 string "Einheit der Menge, fix auf 'Packung' gesetzt" + * Wert 1..1 string "Anzahl der Packungen" \ No newline at end of file diff --git a/Resources/input/fsh/logical-models/service-request-message-copy-log.fsh b/Resources/input/fsh/logical-models/service-request-message-copy-log.fsh new file mode 100644 index 00000000..3d78685c --- /dev/null +++ b/Resources/input/fsh/logical-models/service-request-message-copy-log.fsh @@ -0,0 +1,15 @@ +Logical: GEM_ERP_SR_LOG_MessageCopy +Parent: Element +Id: gem-erp-sr-log-message-copy +Title: "Logical ServiceRequest_Nachricht_Kopie" +Description: "Fachliches Modell zur Beschreibung einer Kopie für die Pflegeeinrichtung." +* insert Versioning +* insert RS_LOG_MessageHeader + +* IndikatorKopie 1..1 boolean "Indikator Kopie" "Indikator, ob es sich um eine Kopie handelt." +* Anforderungsinformationen 1..1 Bundle "Anforderungsinformationen" """ +Kopie der Informationen, die dem Empfänger des Originals übertragen wurden. Dabei wird der komplette Datensatz versendet. Siehe +- [Logical Model Rezeptanforderung](https://simplifier.net/erezept-servicerequest/gem-erp-sr-log-prescription-request) +- [Logical Model Rezeptanforderung_Storno](https://simplifier.net/erezept-servicerequest/gem-erp-sr-log-prescription-request-cancellation) +- [Logical Model Rezeptanforderung_Bestätigung](https://simplifier.net/erezept-servicerequest/gem-erp-sr-log-prescription-request-confirmation) +""" \ No newline at end of file diff --git a/Resources/input/fsh/mappings/dispense-sr-mapping.fsh b/Resources/input/fsh/mappings/dispense-sr-mapping.fsh deleted file mode 100644 index 6538b179..00000000 --- a/Resources/input/fsh/mappings/dispense-sr-mapping.fsh +++ /dev/null @@ -1,25 +0,0 @@ -Mapping: ERPServiceRequestDispenseRequest -Source: ERPServiceRequestDispenseRequest -Target: "gemF_eRp_KIM#3.1.1-Fachliche-Information" -Id: Dispensieranforderung-Rezeptuebermittlung -Title: "Dispensieranforderung_Rezeptübermittlung" -Description: "Mapping for 'fachliche Informationseineit' of the 'Belieferungsanfrage' of the feature document" -* -> "Dispensieranforderung_Rezeptübermittlung" -* extension[EPrescriptionToken] -> "ERezept_Access_Code" -* extension[EPrescriptionToken] -> "ERezept_Task_ID" -* basedOn -> "Strukturierter_Verordnungsdatensatz" -* requisition -> "Vorgangs_ID" -* note -> "Hinweise_fuer_Empfänger" -* note -> "Freitext" - -Mapping: ERPServiceRequestDispenseRequestApproval -Source: ERPServiceRequestDispenseRequest -Target: "gemF_eRp_KIM#3.1.1-Fachliche-Information" -Id: Dispensieranforderung-Bestaetigung -Title: "Dispensieranforderung_Bestätigung" -Description: "Mapping for 'fachliche Informationseineit' of the 'Belieferungsanfrage' of the feature document" -* -> "Dispensieranforderung_Bestätigung" -* requisition -> "Vorgangs_ID" -* supportingInfo[AbgabeDaten] -> "Strukturierter_Dispensierungsdatensatz" -* note -> "Hinweise_fuer_Empfänger" -* note -> "Freitext" diff --git a/Resources/input/fsh/mappings/log-profile-mappings/dispense-confirmation-sr-mapping.fsh b/Resources/input/fsh/mappings/log-profile-mappings/dispense-confirmation-sr-mapping.fsh new file mode 100644 index 00000000..1287c26e --- /dev/null +++ b/Resources/input/fsh/mappings/log-profile-mappings/dispense-confirmation-sr-mapping.fsh @@ -0,0 +1,21 @@ +Mapping: DispensieranforderungBestaetigungFachlichesMapping +Source: GEM_ERP_SR_LOG_DispenseRequest_Confirmation +Target: "ERPServiceRequestDispenseRequest" +Id: Dispensieranforderung-Bestaetigung-Fachliches-Mapping +Title: "Dispensieranforderung Bestätigung Fachliches Mapping" +Description: "Mapping des Fachmodells aus GEM_ERP_SR_LOG_DispenseRequest_Confirmation auf das FHIR-Modell ERPServiceRequestDispenseRequest" + +// MetaDaten +* insert RS_MAP_MetaDaten + +// Administrative Informationen +* Status -> "ERPServiceRequestDispenseRequest.status" +* VorgangsID -> "ERPServiceRequestDispenseRequest.identifier:requestId.value" + +* Freitext -> "ERPServiceRequestDispenseRequest.note" + +* Belieferungsart -> "ERPServiceRequestDispenseRequest.code.coding[delivery-type]" + * BelieferungsartCode -> "ERPServiceRequestDispenseRequest.code.coding[delivery-type].code" + +* Medikation -> "ERPServiceRequestDispenseRequest.supportingInfo:Abgabedaten" + * Abgabeinformationen -> "ERPServiceRequestMedicationDispense" \ No newline at end of file diff --git a/Resources/input/fsh/mappings/log-profile-mappings/dispense-sr-mapping.fsh b/Resources/input/fsh/mappings/log-profile-mappings/dispense-sr-mapping.fsh new file mode 100644 index 00000000..8d380327 --- /dev/null +++ b/Resources/input/fsh/mappings/log-profile-mappings/dispense-sr-mapping.fsh @@ -0,0 +1,35 @@ +Mapping: DispensieranforderungFachlichesMapping +Source: GEM_ERP_SR_LOG_DispenseRequest +Target: "ERPServiceRequestDispenseRequest" +Id: Dispensieranforderung-Fachliches-Mapping +Title: "Dispensieranforderung Fachliches Mapping" +Description: "Mapping des Fachmodells aus GEM_ERP_SR_LOG_DispenseRequest auf das FHIR-Modell ERPServiceRequestDispenseRequest" + +// MetaDaten +* insert RS_MAP_MetaDaten + +// Administrative Informationen +* Status -> "ERPServiceRequestDispenseRequest.status" +* VorgangsID -> "ERPServiceRequestDispenseRequest.identifier:requestId.value" +* ERezeptToken -> "ERPServiceRequestDispenseRequest.extension:EPrescriptionToken" + +* involvierteParteien -> "ERPServiceRequestDispenseRequest.requester" + * Anfragender -> "ERPServiceRequestDispenseRequest.requester(ERPServiceRequestOrganization)" + * AnfragenderTyp -> "ERPServiceRequestDispenseRequest.requester.type" + * Name -> "ERPServiceRequestOrganization.name" + * Adresse -> "ERPServiceRequestOrganization.address" + * Telefon -> "ERPServiceRequestOrganization.contact.telecom:tel.value" + + * PatientenInformationen -> "ERPServiceRequestDispenseRequest.subject(ERPServiceRequestPatient)" + * PatientenIdentifierKVNR -> "ERPServiceRequestPatient.identifier.value" + * PatientenName -> "ERPServiceRequestPatient.name" + * PatientenGeburtstag -> "ERPServiceRequestPatient.birthDate" + +* Freitext -> "ERPServiceRequestDispenseRequest.note" + +* Belieferungsart -> "ERPServiceRequestDispenseRequest.code.coding[delivery-type]" + * BelieferungsartCode -> "ERPServiceRequestDispenseRequest.code.coding[delivery-type].code" + * AlternativeAdresse -> "ERPServiceRequestDispenseRequest.extension[alternativeDeliveryAddress]" + +* Prioritaet -> "ERPServiceRequestDispenseRequest.priority" + * PrioritaetCode -> "ERPServiceRequestDispenseRequest.priority" \ No newline at end of file diff --git a/Resources/input/fsh/mappings/log-profile-mappings/message-copy-sr-mapping.fsh b/Resources/input/fsh/mappings/log-profile-mappings/message-copy-sr-mapping.fsh new file mode 100644 index 00000000..2f22c27d --- /dev/null +++ b/Resources/input/fsh/mappings/log-profile-mappings/message-copy-sr-mapping.fsh @@ -0,0 +1,12 @@ +Mapping: NachrichtenKopieFachlichesMapping +Source: GEM_ERP_SR_LOG_MessageCopy +Target: "ERPServiceRequestRequestHeader" +Id: Nachrichten-Kopie-Fachliches-Mapping +Title: "Nachrichten Kopie Fachliches Mapping" +Description: "Mapping des Fachmodells aus GEM_ERP_SR_LOG_MessageCopy auf das FHIR-Modell ERPServiceRequestRequestHeader" + +// MetaDaten +* insert RS_MAP_MetaDaten + +* IndikatorKopie -> "ERPServiceRequestRequestHeader.eventCoding.code = 'eRezept_Rezeptanforderung;message-copy'" +* Anforderungsinformationen -> "ERPServiceRequestRequestHeader.focus(ERPServiceRequestMessageContainer)" diff --git a/Resources/input/fsh/mappings/log-profile-mappings/prescription-cancellation-sr-mapping.fsh b/Resources/input/fsh/mappings/log-profile-mappings/prescription-cancellation-sr-mapping.fsh new file mode 100644 index 00000000..38e2c9bd --- /dev/null +++ b/Resources/input/fsh/mappings/log-profile-mappings/prescription-cancellation-sr-mapping.fsh @@ -0,0 +1,22 @@ +Mapping: RezeptanforderungStornierungFachlichesMapping +Source: GEM_ERP_SR_LOG_PrescriptionRequest_Cancellation +Target: "ERPServiceRequestPrescriptionRequest" +Id: Rezeptanforderung-Stornierung-Fachliches-Mapping +Title: "Rezeptanforderung Stornierung Fachliches Mapping" +Description: "Mapping des Fachmodells aus GEM_ERP_SR_LOG_PrescriptionRequest_Cancellation auf das FHIR-Modell ERPServiceRequestPrescriptionRequest" + +// MetaDaten +* insert RS_MAP_MetaDaten + +// Administrative Informationen +* Status -> "ERPServiceRequestPrescriptionRequest.status" +* VorgangsID -> "ERPServiceRequestPrescriptionRequest.identifier:requestId.value" + +* Grund -> "ERPServiceRequestPrescriptionRequest.reasonCode.text" + +// Medizinische Daten +* Medikation -> "ERPServiceRequestPrescriptionRequest.basedOn(ERPServiceRequestMedicationRequest)" + * MedikationsReferenz -> "ERPServiceRequestMedicationRequest.medicationReference" + * AnzahlPackungen -> "ERPServiceRequestMedicationRequest.dispenseRequest.quantity" + * Einheit -> "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.unit" + * Wert -> "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.value" diff --git a/Resources/input/fsh/mappings/log-profile-mappings/prescription-confirmation-sr-mapping.fsh b/Resources/input/fsh/mappings/log-profile-mappings/prescription-confirmation-sr-mapping.fsh new file mode 100644 index 00000000..44cbd30a --- /dev/null +++ b/Resources/input/fsh/mappings/log-profile-mappings/prescription-confirmation-sr-mapping.fsh @@ -0,0 +1,28 @@ +Mapping: RezeptanforderungBestaetigungFachlichesMapping +Source: GEM_ERP_SR_LOG_PrescriptionRequest_Confirmation +Target: "ERPServiceRequestPrescriptionRequest" +Id: Rezeptanforderung-Bestaetigung-Fachliches-Mapping +Title: "Rezeptanforderung Bestätigung Fachliches Mapping" +Description: "Mapping des Fachmodells aus GEM_ERP_SR_LOG_PrescriptionRequest_Confirmation auf das FHIR-Modell ERPServiceRequestPrescriptionRequest" + +// MetaDaten +* insert RS_MAP_MetaDaten + +// Administrative Informationen +* Status -> "ERPServiceRequestPrescriptionRequest.status" +* VorgangsID -> "ERPServiceRequestPrescriptionRequest.identifier:requestId.value" +* VersichertenEinloesung -> "ERPServiceRequestPrescriptionRequest.extension:redeemByPatient.valueBoolean" + +* ERezeptToken -> "ERPServiceRequestPrescriptionRequest.extension:EPrescriptionToken" +* AenderungVerordnung -> "ERPServiceRequestPrescriptionRequest.extension:medicationChanged" + + +* Freitext -> "ERPServiceRequestPrescriptionRequest.note" + +// Medizinische Informationen +* Medikation -> "ERPServiceRequestPrescriptionRequest.basedOn(ERPServiceRequestMedicationRequest)" + * MedizinischeInformationenAusVerordnung -> "ERPServiceRequestMedicationRequest.medicationReference" + * AnzahlPackungen -> "ERPServiceRequestMedicationRequest.dispenseRequest.quantity" + * Einheit -> "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.unit" + * Wert -> "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.value" + * Dosieranweisungen -> "ERPServiceRequestMedicationRequest.dosageInstruction" diff --git a/Resources/input/fsh/mappings/log-profile-mappings/prescription-rejection-sr-mapping.fsh b/Resources/input/fsh/mappings/log-profile-mappings/prescription-rejection-sr-mapping.fsh new file mode 100644 index 00000000..29d3ebf4 --- /dev/null +++ b/Resources/input/fsh/mappings/log-profile-mappings/prescription-rejection-sr-mapping.fsh @@ -0,0 +1,22 @@ +Mapping: RezeptanforderungAblehnungFachlichesMapping +Source: GEM_ERP_SR_LOG_PrescriptionRequest_Rejection +Target: "ERPServiceRequestPrescriptionRequest" +Id: Rezeptanforderung-Ablehnung-Fachliches-Mapping +Title: "Rezeptanforderung Ablehnung Fachliches Mapping" +Description: "Mapping des Fachmodells aus GEM_ERP_SR_LOG_PrescriptionRequest_Rejection auf das FHIR-Modell ERPServiceRequestPrescriptionRequest" + +// MetaDaten +* insert RS_MAP_MetaDaten + +// Administrative Informationen +* Status -> "ERPServiceRequestPrescriptionRequest.status" +* VorgangsID -> "ERPServiceRequestPrescriptionRequest.identifier:requestId.value" + +* Grund -> "ERPServiceRequestPrescriptionRequest.reasonCode.text" + +// Medizinische Daten +* Medikation -> "ERPServiceRequestPrescriptionRequest.basedOn(ERPServiceRequestMedicationRequest)" + * MedikationsReferenz -> "ERPServiceRequestMedicationRequest.medicationReference" + * AnzahlPackungen -> "ERPServiceRequestMedicationRequest.dispenseRequest.quantity" + * Einheit -> "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.unit" + * Wert -> "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.value" diff --git a/Resources/input/fsh/mappings/log-profile-mappings/prescription-sr-mapping.fsh b/Resources/input/fsh/mappings/log-profile-mappings/prescription-sr-mapping.fsh new file mode 100644 index 00000000..29941081 --- /dev/null +++ b/Resources/input/fsh/mappings/log-profile-mappings/prescription-sr-mapping.fsh @@ -0,0 +1,59 @@ +Mapping: RezeptanforderungFachlichesMapping +Source: GEM_ERP_SR_LOG_PrescriptionRequest +Target: "ERPServiceRequestPrescriptionRequest" +Id: Rezeptanforderung-Fachliches-Mapping +Title: "Rezeptanforderung Fachliches Mapping" +Description: "Mapping des Fachmodells aus GEM_ERP_SR_LOG_PrescriptionRequest auf das FHIR-Modell ERPServiceRequestPrescriptionRequest" + +// MetaDaten +* insert RS_MAP_MetaDaten + +// Administrative Informationen +* Status -> "ERPServiceRequestPrescriptionRequest.status" +* VorgangsID -> "ERPServiceRequestPrescriptionRequest.identifier:requestId.value" +* VersichertenEinloesung -> "ERPServiceRequestPrescriptionRequest.extension:redeemByPatient.valueBoolean" + +* involvierteParteien -> "ERPServiceRequestPrescriptionRequest.subject/performer/requester" + * PatientenInformationen -> "ERPServiceRequestPrescriptionRequest.subject(ERPServiceRequestPatient)" + * PatientenIdentifierKVNR -> "ERPServiceRequestPatient.identifier.value" + * PatientenName -> "ERPServiceRequestPatient.name" + * PatientenGeburtstag -> "ERPServiceRequestPatient.birthDate" + + * VerordnenderArzt -> "ERPServiceRequestPrescriptionRequest.performer(ERPServiceRequestPractitioner)" + * LANR -> "ERPServiceRequestPractitioner.identifier.value" + * Name -> "ERPServiceRequestPractitioner.name" + + * Anfragender -> "ERPServiceRequestPrescriptionRequest.requester(ERPServiceRequestOrganization)" + * Name -> "ERPServiceRequestOrganization.name" + * Adresse -> "ERPServiceRequestOrganization.address" + * Telefon -> "ERPServiceRequestOrganization.contact.telecom:tel.value" + + * PflegeeinrichtungKopie -> "ERPServiceRequestPrescriptionRequest.supportingInfo:pflegeeinrichtungKopie(ERPServiceRequestOrganization)" + * Name -> "ERPServiceRequestOrganization.name" + * Telefon -> "ERPServiceRequestOrganization.contact.telecom:tel.value" + * KIMAdresse -> "ERPServiceRequestOrganization.contact.telecom:kim.value" + +* Freitext -> "ERPServiceRequestPrescriptionRequest.note" + +* GrundDerAnforderung -> "ERPServiceRequestPrescriptionRequest.reasonCode" + * GrundCode -> "ERPServiceRequestPrescriptionRequest.reasonCode.coding" + * GrundText -> "ERPServiceRequestPrescriptionRequest.reasonCode.text" + +* Prioritaet -> "ERPServiceRequestPrescriptionRequest.priority" + * PrioritaetCode -> "ERPServiceRequestPrescriptionRequest.priority" + +* Restreichweite -> "ERPServiceRequestPrescriptionRequest.reasonCode.extension:remainingSupply" + * Freitext -> "ERPServiceRequestPrescriptionRequest.reasonCode.extension:remainingSupplyFreeText.valueString" + * Einheit -> "ERPServiceRequestPrescriptionRequest.reasonCode.extension:remainingSupply.unit" + * Wert -> "ERPServiceRequestPrescriptionRequest.reasonCode.extension:remainingSupply.value" + +// Medizinische Informationen +* Medikation -> "ERPServiceRequestPrescriptionRequest.basedOn(ERPServiceRequestMedicationRequest)" + * VorherigeRezeptID -> "ERPServiceRequestMedicationRequest.extension:PriorPrescriptionID.valueIdentifier.value" + * MedikationsReferenz -> "ERPServiceRequestMedicationRequest.medication" + * AnzahlPackungen -> "ERPServiceRequestMedicationRequest.dispenseReques.quantity" + * Einheit -> "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.code" + * Wert -> "ERPServiceRequestMedicationRequest.dispenseRequest.quantity.value" + // Konfiguratorische Informationen + * AngabeMVO -> "ERPServiceRequestMedicationRequest.extension:requestMVO.extension:Kennzeichen.valueBoolean" + diff --git a/Resources/input/fsh/mappings/mediationrequest-mapping.fsh b/Resources/input/fsh/mappings/mediationrequest-mapping.fsh deleted file mode 100644 index 97aeb83c..00000000 --- a/Resources/input/fsh/mappings/mediationrequest-mapping.fsh +++ /dev/null @@ -1,9 +0,0 @@ -Mapping: MedicationRequestMapping -Source: ERPServiceRequestMedicationRequest -Target: "gemF_eRp_KIM#3.1.1-Fachliche-Information" -Id: Rezeptanforderung-medizinische-Informationen -Title: "Medication Request Mapping (Strukturierter_Verordnungsdatensatz)" -Description: "Mapping for 'fachliche Informationseineit' of the requested medication of the feature document" -* -> "Rezeptanforderung_medizinische_Informationen" -* extension[PriorPrescriptionID] -> "Vorheriges_Rezept" -* medication[x] -> "Praeparat" \ No newline at end of file diff --git a/Resources/input/fsh/mappings/prescription-sr-mapping.fsh b/Resources/input/fsh/mappings/prescription-sr-mapping.fsh deleted file mode 100644 index 9dd6fe30..00000000 --- a/Resources/input/fsh/mappings/prescription-sr-mapping.fsh +++ /dev/null @@ -1,52 +0,0 @@ -Mapping: ERPServiceRequestPrescriptionRequest -Source: ERPServiceRequestPrescriptionRequest -Target: "gemF_eRp_KIM#3.1.1-Fachliche-Information" -Id: Rezeptanforderung -Title: "Rezeptanforderung" -Description: "Mapping for 'fachliche Informationseinheiten' of the 'Verordnungsanfrage' of the feature document" -* -> "Rezeptanforderung" -* requisition -> "Vorgangs_ID" -* priority -> "Prioritaet" -* performer -> "Adressat_der_Rezeptanforderung" -* requester -> "Adressat_der_Rezeptuebermittlung" -* subject -> "Patienteninformationen" -* basedOn -> "Praeparat" -* reasonCode -> "Bedarfsbegruendung (Code)" -* reasonReference -> "Bedarfsbegruendung (Observation)" -* reasonReference -> "Restreichweite" -* note -> "Freitext" - -Mapping: ERPServiceRequestPrescriptionRequestRezeptuebermittlung -Source: ERPServiceRequestPrescriptionRequest -Target: "gemF_eRp_KIM#3.1.1-Fachliche-Information" -Id: Rezeptanforderung-Rezeptuebermittlung -Title: "Rezeptanforderung_Rezeptübermittlung" -Description: "Mapping for 'fachliche Informationseinheiten' of the 'Verordnungsanfrage' of the feature document" -* -> "Rezeptanforderung_Rezeptübermittlung" -* extension[EPrescriptionTokenEX] -> "ERezept_Task_ID" -* extension[EPrescriptionTokenEX] -> "ERezept_Access_Code" -* requisition -> "Vorgangs_ID" -* basedOn -> "Strukturierter_Verordnungsdatensatz" -* note -> "Hinweise_fuer_Empfaenger" -* note -> "Freitext" - -Mapping: ERPServiceRequestPrescriptionRequestStorno -Source: ERPServiceRequestPrescriptionRequest -Target: "gemF_eRp_KIM#3.1.1-Fachliche-Information" -Id: Rezeptanforderung-Storno -Title: "Rezeptanforderung_Storno (Anfragender)" -Description: "Mapping for 'fachliche Informationseinheiten' of the cancellation of a 'Verordnungsanfrage' of the feature document" -* -> "Rezeptanforderung_Storno" -* requisition -> "Vorgangs_ID" -* reasonCode -> "Begründung der Stornierung" - -Mapping: ERPServiceRequestPrescriptionRequestAblehnung -Source: ERPServiceRequestPrescriptionRequest -Target: "gemF_eRp_KIM#3.1.1-Fachliche-Information" -Id: Rezeptanforderung-Ablehnung -Title: "Rezeptanforderung_Storno (Verordnender)" -Description: "Mapping for 'fachliche Informationseinheiten' of the refusal of a 'Verordnungsanfrage' of the feature document" -* -> "Rezeptanforderung_Storno" -* requisition -> "Vorgangs_ID" -* reasonCode -> "Ablehnungsgrund" -* note -> "Freitext" \ No newline at end of file diff --git a/Resources/input/fsh/mappings/source_mappings/dispense-request-confirmation-source-mappings.fsh b/Resources/input/fsh/mappings/source_mappings/dispense-request-confirmation-source-mappings.fsh new file mode 100644 index 00000000..d36d7a67 --- /dev/null +++ b/Resources/input/fsh/mappings/source_mappings/dispense-request-confirmation-source-mappings.fsh @@ -0,0 +1,32 @@ +Mapping: GEM_ERP_SR_LOG_DispenseRequestConfirmationSourceMapping +Source: GEM_ERP_SR_LOG_DispenseRequest_Confirmation +Id: Quelle-Dispensieranforderung-Bestaetigung-Mapping +Title: "Quelle der Dispensieranforderung Bestätigung Informationen" +Description: "Beschreibt die Quelle der Dispensieranforderung Bestätigung Informatione" + +// MetaDaten +* MetaDaten -> "Erstellendes AVS" + * Empfaenger -> "Aus initialer Dispensieranforderung" + * KIMAdresse -> "Aus initialer Dispensieranforderung (KIM Nachricht)" + * TelematikID -> "Aus initialer Dispensieranforderung" + * Absender -> "Erstellendes AVS" + * TelematikID -> "Erstellendes AVS, SMC-B oder HBA Zertifikat" + * Name -> "Erstellendes AVS" + * AbsendendesSystem -> "Erstellendes AVS" "Automatisiert durch Software gesetzt" + * Name -> "Erstellendes AVS" "Automatisiert durch Software gesetzt" + * Software -> "Erstellendes AVS" "Automatisiert durch Software gesetzt" + * Version -> "Erstellendes AVS" "Automatisiert durch Software gesetzt" + * EMailKontakt -> "Erstellendes AVS" "Automatisiert durch Software gesetzt" + * Website -> "Erstellendes AVS" "Automatisiert durch Software gesetzt" + +// Administrative Informationen +* Status -> "AVS" "Setzt den Status der Anfrage auf 'completed'" +* VorgangsID -> "Dispensieranforderung" "VorgangsID aus der initialen Dispensieranforderung" + +* Freitext -> "Nutzer des AVS" "Abfrage im Moment der Bestätigung" + +* Anhaenge -> "Nutzer" "Angabe im Moment der Bestätigung" + +// Medizinische Informationen +* Medikation -> "AVS" "Informationen aus Abgabedatensatz" + * Abgabeinformationen -> "AVS" "Informationen aus Abgabedatensatz (MedicationDispense und Medication)" \ No newline at end of file diff --git a/Resources/input/fsh/mappings/source_mappings/dispense-request-source-mappings.fsh b/Resources/input/fsh/mappings/source_mappings/dispense-request-source-mappings.fsh new file mode 100644 index 00000000..b286fc42 --- /dev/null +++ b/Resources/input/fsh/mappings/source_mappings/dispense-request-source-mappings.fsh @@ -0,0 +1,40 @@ +Mapping: GEM_ERP_SR_LOG_DispenseRequestSourceMapping +Source: GEM_ERP_SR_LOG_DispenseRequest +Id: Quelle-Dispensieranforderung-Mapping +Title: "Quelle der Dispensieranforderungsinformationen" +Description: "Beschreibt die Quelle der Dispensieranforderungsinformationen. Wird von der Pflegeeinrichtung zur Anforderung zur Abgabe von Arzneimitteln verwendet." + +// MetaDaten +* MetaDaten -> "Erstellendes PS" "Pflegesystem" + * Empfaenger -> "Aus Kontaktmanagement oder VZD Suche" + * KIMAdresse -> "Aus Kontaktmanagement oder VZD Suche" + * TelematikID -> "Aus Kontaktmanagement oder VZD Suche" + * Absender -> "Erstellendes PS" "Pflegesystem" + * TelematikID -> "Erstellendes PS, SMC-B Zertifikat" + * Name -> "Erstellendes PS" + * AbsendendesSystem -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Name -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Software -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Version -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * EMailKontakt -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Website -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + +// Administrative Informationen +* Status -> "Anfragendes PS" "Setzt den Status der Anfrage auf 'active'" +* VorgangsID -> "Initiale Rezeptanforderung" +* ERezeptToken -> "Rezeptanforderung_Bestätigung" "Wurde vom verordnenden Arzt bereitgestellt" + +* involvierteParteien + * Anfragender -> "Anfragendes PS" + * Name -> "Anfragendes PS" + * Adresse -> "Anfragendes PS" + * Telefon -> "Anfragendes PS" + +* Freitext -> "Nutzer des PS" "Abfrage im Moment der Anforderung" + +* Prioritaet -> "Nutzer des PS" "Abfrage im Moment der Anforderung" + * PrioritaetCode -> "Nutzer des PS" "Abfrage im Moment der Anforderung" + +* Anhaenge -> "Nutzer oder PS" "Angabe im Moment der Bestätigung" + * Medikationsplan -> "Nutzer, PS oder Rezeptanforderung_Bestätigung" "Aktualisierung und ggf. automatische Generierung vom PS" + * weitereAnhaenge -> "Nutzer oder PS" diff --git a/Resources/input/fsh/mappings/source_mappings/prescription-request-cancellation-source-mappings.fsh b/Resources/input/fsh/mappings/source_mappings/prescription-request-cancellation-source-mappings.fsh new file mode 100644 index 00000000..a86c18a4 --- /dev/null +++ b/Resources/input/fsh/mappings/source_mappings/prescription-request-cancellation-source-mappings.fsh @@ -0,0 +1,51 @@ +Mapping: GEM_ERP_SR_LOG_PrescriptionRequestCancellationSourceMapping +Source: GEM_ERP_SR_LOG_PrescriptionRequest_Cancellation +Id: Quelle-Rezeptanforderung-Stornierung-Mapping +Title: "Quelle der Rezeptanforderung Stornierung Informationen" +Description: "Beschreibt die Quelle der Rezeptanforderung Stornierung Informatione" + +// MetaDaten +* MetaDaten -> "Erstellendes PS" + * Empfaenger -> "Aus initialer Rezeptanforderung" + * KIMAdresse -> "Aus initialer Rezeptanforderung" + * TelematikID -> "Aus initialer Rezeptanforderung" + * Absender -> "Erstellendes PS" + * TelematikID -> "Erstellendes PS, SMC-B oder HBA Zertifikat" + * Name -> "Erstellendes PS" + * AbsendendesSystem -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Name -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Software -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Version -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * EMailKontakt -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Website -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + +// Administrative Informationen +* Status -> "PS" "Setzt den Status der Anfrage auf 'revoked'" +* Grund -> "Nutzer des PS" "Abfrage im Moment der Stornierung" +* VorgangsID -> "PS" "Aus initialer Rezeptanforderung" + +Mapping: GEM_ERP_SR_LOG_PrescriptionRequestRejectionSourceMapping +Source: GEM_ERP_SR_LOG_PrescriptionRequest_Rejection +Id: Quelle-Rezeptanforderung-Ablehnung-Mapping +Title: "Quelle der Rezeptanforderung Ablehnung Informationen" +Description: "Beschreibt die Quelle der Rezeptanforderung Ablehnung Informatione" + +// MetaDaten +* MetaDaten -> "PVS" + * Empfaenger -> "Aus initialer Rezeptanforderung" + * KIMAdresse -> "Aus initialer Rezeptanforderung" + * TelematikID -> "Aus initialer Rezeptanforderung" + * Absender -> "PVS" + * TelematikID -> "PVS, SMC-B oder HBA Zertifikat" + * Name -> "PVS" + * AbsendendesSystem -> "PVS" "Automatisiert durch Software gesetzt" + * Name -> "PVS" "Automatisiert durch Software gesetzt" + * Software -> "PVS" "Automatisiert durch Software gesetzt" + * Version -> "PVS" "Automatisiert durch Software gesetzt" + * EMailKontakt -> "PVS" "Automatisiert durch Software gesetzt" + * Website -> "PVS" "Automatisiert durch Software gesetzt" + +// Administrative Informationen +* Status -> "PVS" "Setzt den Status der Anfrage auf 'revoked'" +* Grund -> "Nutzer des PVS" "Abfrage im Moment der Ablehnung" +* VorgangsID -> "PVS" "Aus initialer Rezeptanforderung" \ No newline at end of file diff --git a/Resources/input/fsh/mappings/source_mappings/prescription-request-confirmation-source-mappings.fsh b/Resources/input/fsh/mappings/source_mappings/prescription-request-confirmation-source-mappings.fsh new file mode 100644 index 00000000..067b147b --- /dev/null +++ b/Resources/input/fsh/mappings/source_mappings/prescription-request-confirmation-source-mappings.fsh @@ -0,0 +1,36 @@ +Mapping: GEM_ERP_SR_LOG_PrescriptionRequestConfirmationSourceMapping +Source: GEM_ERP_SR_LOG_PrescriptionRequest_Confirmation +Id: Quelle-Rezeptanforderung-Bestaetigung-Mapping +Title: "Quelle der Rezeptanforderung Bestätigung Informationen" +Description: "Beschreibt die Quelle der Rezeptanforderung Bestätigung Informatione" + +// MetaDaten +* MetaDaten -> "Erstellendes PVS" + * Empfaenger -> "Aus initialer Rezeptanforderung" + * KIMAdresse -> "Aus initialer Rezeptanforderung (KIM Nachricht)" + * TelematikID -> "Aus initialer Rezeptanforderung" + * Absender -> "Erstellendes PVS" + * TelematikID -> "Erstellendes PVS, SMC-B oder HBA Zertifikat" + * Name -> "Erstellendes PVS" + * AbsendendesSystem -> "Erstellendes PVS" "Automatisiert durch Software gesetzt" + * Name -> "Erstellendes PVS" "Automatisiert durch Software gesetzt" + * Software -> "Erstellendes PVS" "Automatisiert durch Software gesetzt" + * Version -> "Erstellendes PVS" "Automatisiert durch Software gesetzt" + * EMailKontakt -> "Erstellendes PVS" "Automatisiert durch Software gesetzt" + * Website -> "Erstellendes PVS" "Automatisiert durch Software gesetzt" + +// Administrative Informationen +* ERezeptToken -> "E-Rezept-Fachdienst" "Token lässt sich aus den Informationen des E-Rezept Fachdienstes erzeugen" +* VersichertenEinloesung -> "Rezeptanforderung" "Aus der initialen Rezeptanforderung" +* Status -> "PVS" "Setzt den Status der Anfrage auf 'completed'" +* VorgangsID -> "Rezeptanforderung" "VorgangsID aus der initialen Rezeptanforderung" + +* Freitext -> "Nutzer des PVS" "Abfrage im Moment der Bestätigung" + +* Anhaenge -> "Nutzer oder PVS" "Angabe im Moment der Bestätigung" + * Medikationsplan -> "Nutzer oder PVS" "Aktualisierung und ggf. automatische Generierung vom PVS" + * weitereAnhaenge -> "Nutzer oder PVS" + +// Medizinische Informationen +* Medikation -> "PVS" "Informationen aus Verordnungsdatensatz" + * MedizinischeInformationenAusVerordnung -> "PVS" "Informationen aus Verordnungsdatensatz (MedicationRequest und Medication)" \ No newline at end of file diff --git a/Resources/input/fsh/mappings/source_mappings/prescription-request-source-mappings.fsh b/Resources/input/fsh/mappings/source_mappings/prescription-request-source-mappings.fsh new file mode 100644 index 00000000..2a201c7c --- /dev/null +++ b/Resources/input/fsh/mappings/source_mappings/prescription-request-source-mappings.fsh @@ -0,0 +1,72 @@ +Mapping: GEM_ERP_SR_LOG_PrescriptionRequestSourceMapping +Source: GEM_ERP_SR_LOG_PrescriptionRequest +Id: Quelle-Rezeptanforderung-Mapping +Title: "Quelle der Rezeptanforderungsinformationen" +Description: "Beschreibt die Quelle der Rezeptanforderungsinformationen" + +// MetaDaten +* MetaDaten -> "Erstellendes PS" + * Empfaenger -> "Aus Kontaktmanagement oder VZD Suche" + * KIMAdresse -> "Aus Kontaktmanagement oder VZD Suche" + * TelematikID -> "Aus Kontaktmanagement oder VZD Suche" + * Absender -> "Erstellendes PS" + * TelematikID -> "Erstellendes PS, SMC-B oder HBA Zertifikat" + * Name -> "Erstellendes PS" + * AbsendendesSystem -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Name -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Software -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Version -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * EMailKontakt -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Website -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + +// Administrative Informationen +* Status -> "Anfragendes PS" "Setzt den Status der Anfrage auf 'active'" +* VorgangsID -> "Anfragendes PS" "Erzeugt einen Vorgang und generiert eine VorgangsID" +* VersichertenEinloesung -> "Nutzer des PS" "Angabemöglichkeit im Moment der Anforderung" + +* involvierteParteien + * PatientenInformationen -> "Anfragendes PS" "Abfrage aus Stammdatenmanagement" + * PatientenIdentifierKVNR -> "Anfragendes PS" + * PatientenName -> "Anfragendes PS" + * PatientenGeburtstag -> "Anfragendes PS" + + * VerordnenderArzt -> "Anfragendes PS" "Falls vorher bekannt aus Kontaktmanagement oder vorheriger RezeptID" + * LANR -> "Anfragendes PS" + * Name -> "Anfragendes PS" + + * Anfragender -> "Anfragendes PS" + * Name -> "Anfragendes PS" + * Adresse -> "Anfragendes PS" + * Telefon -> "Anfragendes PS" + + * PflegeeinrichtungKopie -> "Anfragendes AVS" "Im Fall, dass die Apotheke die Anfrage initiiert" + * Name -> "Anfragendes AVS" + * Telefon -> "Anfragendes AVS" + * KIMAdresse -> "Anfragendes AVS" + +* Freitext -> "Nutzer des PS" "Abfrage im Moment der Anforderung" + +* GrundDerAnforderung -> "Nutzer des PS" "Abfrage im Moment der Anforderung" + * GrundCode -> "Nutzer des PS" "Abfrage im Moment der Anforderung" + * GrundText -> "Nutzer des PS" "Abfrage im Moment der Anforderung" + +* Prioritaet -> "Nutzer des PS" "Abfrage im Moment der Anforderung" + * PrioritaetCode -> "Nutzer des PS" "Abfrage im Moment der Anforderung" + +* Restreichweite -> "Anfragendes PS oder Nutzer des PS" "Abfrage/ Eingabe im Moment der Anforderung" + * Freitext -> "Nutzer des PS" "Abfrage im Moment der Anforderung" + * Einheit -> "Anfragendes PS" "Ggf. automatisierte Berechnung" + * Wert -> "Anfragendes PS" "Ggf. automatisierte Berechnung" + +* Anhaenge -> "Anfragendes PS oder Nutzer des PS" "Generierung oder Bereitstellung im Moment der Anforderung" + +// Medizinische Informationen +* Medikation -> "Anfragendes PS oder Nutzer des PS" "Bereitstellung aus Medikamentenmanagement" + * VorherigeRezeptID -> "Anfragendes PS" "Kann aus dem Medikamentenmanagement abgefragt werden" + * MedikationsReferenz -> "Anfragendes PS" "Bereitstellung aus Medikamentenmanagement" + * AnzahlPackungen -> "Anfragendes PS oder Nutzer des PS" "Bereitstellung aus Medikamentenmanagement" + * Einheit -> "Anfragendes PS" "Bereitstellung aus Medikamentenmanagement" + * Wert -> "Anfragendes PS oder Nutzer des PS" "Bereitstellung aus Medikamentenmanagement" + + // Konfiguratorische Informationen + * AngabeMVO -> "Nutzer des PS" "Angabemöglichkeit im Moment der Anforderung. Unterstützung ggf. durch PS." diff --git a/Resources/input/fsh/mappings/source_mappings/service-request-message-copy-source-mappings.fsh b/Resources/input/fsh/mappings/source_mappings/service-request-message-copy-source-mappings.fsh new file mode 100644 index 00000000..e11169ae --- /dev/null +++ b/Resources/input/fsh/mappings/source_mappings/service-request-message-copy-source-mappings.fsh @@ -0,0 +1,23 @@ +Mapping: GEM_ERP_SR_LOG_MessageCopySourceMapping +Source: GEM_ERP_SR_LOG_MessageCopy +Id: Quelle-Message-Copy-Mapping +Title: "Quelle der Informationen für die Nachrichtenkopie" +Description: "Beschreibt die Quelle der Informationen für die Nachrichtenkopie. Diese werden immer versendet, wenn die Rezeptanforderung und deren Bestätigung zwischen Arzt und Apotheke ausgetauscht werden." + +// MetaDaten +* MetaDaten -> "Erstellendes PS" + * Empfaenger -> "VZD oder Rezeptanforderung" "Wenn die Nachricht initial erstellt wird kann die Apotheke die Informationen aus dem System oder VZD beziehen. Der Verordnende kann die Informationen aus der Rezeptanforderung beziehen." + * KIMAdresse -> "VZD oder Rezeptanforderung" "Wenn die Nachricht initial erstellt wird kann die Apotheke die Informationen aus dem System oder VZD beziehen. Der Verordnende kann die Informationen aus der Rezeptanforderung beziehen." + * TelematikID -> "VZD oder Rezeptanforderung" "Wenn die Nachricht initial erstellt wird kann die Apotheke die Informationen aus dem System oder VZD beziehen. Der Verordnende kann die Informationen aus der Rezeptanforderung beziehen." + * Absender -> "Erstellendes PS" + * TelematikID -> "Erstellendes PS, SMC-B oder HBA Zertifikat" + * Name -> "Erstellendes PS" + * AbsendendesSystem -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Name -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Software -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Version -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * EMailKontakt -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + * Website -> "Erstellendes PS" "Automatisiert durch Software gesetzt" + +* IndikatorKopie -> "Erstellendes PS" +* Anforderungsinformationen -> "FHIR-Datensatz der zum Empfänger des Originals geschickt wird" \ No newline at end of file diff --git a/Resources/input/fsh/profiles/10_Practitioner.fsh b/Resources/input/fsh/profiles/10_Practitioner.fsh new file mode 100644 index 00000000..d70c1a1e --- /dev/null +++ b/Resources/input/fsh/profiles/10_Practitioner.fsh @@ -0,0 +1,8 @@ +Profile: ERPServiceRequestPractitioner +Parent: PractitionerDirectory +Id: erp-service-request-practitioner +Title: "ERP Service Request Practitioner" +Description: "Practitioner that can be used to identify the desired performer of a ServiceRequest" +* insert Meta (erp-service-request-practitioner) + +* identifier[LANR] 1..1 \ No newline at end of file diff --git a/Resources/input/fsh/profiles/1_Bundle.fsh b/Resources/input/fsh/profiles/1_Bundle.fsh index eb618840..e49467b5 100644 --- a/Resources/input/fsh/profiles/1_Bundle.fsh +++ b/Resources/input/fsh/profiles/1_Bundle.fsh @@ -1,29 +1,38 @@ Profile: ERPServiceRequestMessageContainer -Parent: $GEM_PR_ATF_MessageBundle +Parent: BundleAppTransportFramework Id: erp-service-request-message-container Title: "ERP Service Request Message Container" Description: "Bundle, which contains all resources of a message" * insert Meta (erp-service-request-message-container) +* obeys service-request-message-container-1 +* obeys service-request-message-container-2 +* obeys service-request-message-container-3 +* obeys service-request-message-container-4 +* obeys service-request-message-container-5 * entry[MessageHeader].resource only ERPServiceRequestRequestHeader -/* -Beispielinstanzen finden sich unter ../examples +Invariant: service-request-message-container-1 +Description: "If the Message is a copy then the focus of the MessageHeader must be a Bundle, otherwise a ServiceRequest." +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))" +Severity: #error -Folgende UseCases sind beschrieben: -UC1: Pflegeeinrichtung -> Arzt -> Pflegeeinrichtung -> Apotheke -UC2: Pflegeeinrichtung -> Arzt -> Apotheke -> Pflegeeinrichtung -UC3: Pflegeeinrichtung -> Arzt -> Pflegeeinrichtung (Patient geht selbst zur Apotheke) -UC4(parenterele Zubereitung): Apotheke -> Arzt -> Apotheke -*/ +Invariant: service-request-message-container-2 +Description: "If the the Prescription-ServiceRequest contains the health-care service as a reference, then the e-mail contact must be present." +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())" +Severity: #error +Invariant: service-request-message-container-3 +Description: "If the the Prescription-ServiceRequest contains the health-care service as a reference, then the organization must have the respective type." +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')" +Severity: #error -/* +Invariant: service-request-message-container-4 +Description: "If the the Prescription-ServiceRequest is active, not Zyto and the requester is a pharmacy, then the Healthcare Service to receive a copy must be stated." +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())" +Severity: #error -UC2: -* PrescriptionRequest zum Arzt -* PrescriptionRequest (complete, ohne Token) an Pflegeeinrichtung -* DispenseRequest (da generiert, active, mit Token) an Apotheke -* DispenseRequest (active ohne Token) an Pflegeeinrichtung -* DispenseRequest (complete) an Pflegeeinrichtung -*/ +Invariant: service-request-message-container-5 +Description: "If the the Dispense-ServiceRequest is active then the requester must be a Health Care Service." +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')" +Severity: #error \ No newline at end of file diff --git a/Resources/input/fsh/profiles/2_MessageHeader.fsh b/Resources/input/fsh/profiles/2_MessageHeader.fsh index 13ab6c6a..7d4e5e86 100644 --- a/Resources/input/fsh/profiles/2_MessageHeader.fsh +++ b/Resources/input/fsh/profiles/2_MessageHeader.fsh @@ -1,14 +1,25 @@ Profile: ERPServiceRequestRequestHeader -Parent: $GEM_PR_ATF_MessageHeader +Parent: MessageHeaderAppTransportFramework Id: erp-service-request-request-header Title: "ERP Service Request Request Header" Description: "Header containing information about the sender and addressee" * insert Meta (erp-service-request-request-header) +* sender + * identifier only IdentifierTelematikId +* destination + * receiver + * identifier only IdentifierTelematikId + +* responsible 1..1 MS +* responsible only Reference(ERPServiceRequestOrganization) + * ^short = "The organization that is responsible for the request." + * ^comment = "This organization will be stated in the message header as the sender of the message." + * focus MS -* focus only Reference(ERPServiceRequestPrescriptionRequest or ERPServiceRequestDispenseRequest) +* focus only Reference(ERPServiceRequestPrescriptionRequest or ERPServiceRequestDispenseRequest or ERPServiceRequestMessageContainer) * ^short = "Specification of the ServiceRequest that contains the essential information for a given use case." - * ^comment = "Since a request should address exactly one medication, a ServiceRequest must also be specified accordingly." + * ^comment = "One Message can contain multiple ServiceRequests which each are identified with an ID." * eventCoding from ServiceIdentifierVS (required) * ^short = "The event code that indicates in which application and which transmission path the communication is currently taking place" * ^comment = "For more information see [ATF ImplementationGuide](https://simplifier.net/app-transport-framework/~guides)" diff --git a/Resources/input/fsh/profiles/3.1_Prescription_ServiceRequest.fsh b/Resources/input/fsh/profiles/3.1_Prescription_ServiceRequest.fsh index 4d584711..4d480850 100644 --- a/Resources/input/fsh/profiles/3.1_Prescription_ServiceRequest.fsh +++ b/Resources/input/fsh/profiles/3.1_Prescription_ServiceRequest.fsh @@ -5,12 +5,33 @@ Title: "ERP Service Request Prescription Request" Description: "ServiceRequest, which is used to request a recipe" * insert Meta (erp-service-request-prescription-request) +* obeys servicerequest-prescription-request-1 +* obeys servicerequest-prescription-request-2 +* obeys servicerequest-prescription-request-3 +* obeys servicerequest-prescription-request-4 +* obeys servicerequest-prescription-request-5 +// * obeys servicerequest-prescription-request-6 +// * obeys servicerequest-prescription-request-7 + * extension MS -* extension contains - EPrescriptionTokenEX named EPrescriptionToken 0..1 MS +* extension contains EPrescriptionTokenEX named EPrescriptionToken 0..* MS +* modifierExtension contains ChangedMedicationEX named medicationChanged 0..1 MS ?! + and RedeemByPatientEX named redeemByPatient 0..1 MS ?! + * extension[EPrescriptionTokenEX] - * ^short = "Here the e-prescription token can be made available for processing in a pharmacy." + * ^short = "Here the e-prescription token(s) can be made available for processing in a pharmacy." + * ^definition = "One ServiceRequest must adress exactly one request for a medication. However the practitioner might choose to issue multiple prescriptions for that request, therefore the cardinality is 1..*." * ^comment = "The token is of the form '/Task/{PrescriptionID}/$accept?ac={AccessCode}. See [gemSpec_DM_eRp](https://fachportal.gematik.de/fachportal-import/files/gemSpec_DM_eRp_V1.5.0.pdf)'." +* modifierExtension[medicationChanged] + * ^short = "Indicates whether the medication has been changed by the prescriber." + * ^definition = "If the medication has been changed, the value is set to true." + * ^comment = "If the medication has been changed, the receiving system must display the changed medication to the receiving user." + * ^isModifierReason = "If the medication has been changed, the receiving system must display the changed medication to the receiving user." +* modifierExtension[redeemByPatient] + * ^short = "Redeem By Patient" + * ^definition = "Indicates whether the prescription should be redeemed by the patient." + * ^comment = "This determines the Flow Type of the prescription to be set to 160/200 so that the patient can redeem the prescription himself. If not set the Flow Type is set to 169/209." + * ^isModifierReason = "This determines the Flow Type of the prescription to be set to 160/200 so that the patient can redeem the prescription himself. If not set the Flow Type is set to 169/209." * identifier ^slicing.discriminator.type = #pattern * identifier ^slicing.discriminator.path = "system" @@ -18,27 +39,21 @@ Description: "ServiceRequest, which is used to request a recipe" * identifier 1..* MS * ^short = "Defines identifiers to be used in this profile." -* identifier contains requestId 1..1 and predisId 0..1 +* identifier contains + requestId 1..1 * identifier[requestId] only ERPServiceRequestRequestIdentifier * ^short = "Identifier that uniquely references a ServiceRequest." * ^comment = "For referencing and assignment of ServiceRequest, e.g. if one ServiceRequest is to replace another, it is important to be able to make this assignment with the identifier. Can be mapped via a UUID, for example." -* identifier[predisId] only ERPServiceRequestPreDisIdentifier - * ^short = "Identifier that connects a prescription and a dispensing request." - * ^comment = "Can be mapped via a UUID, for example." - * ^definition = "In some applications, it is necessary to know which prescription request belongs to which delivery request. If, for example, a medication is requested, you want to be able to track which is the corresponding delivery request. The predisIdentifier is used for this purpose, which identifies a pair of ServiceRequest**Prescription**Request and ServiceRequest**Dispense**Request together. - -Das implementierende System muss in der Lage sein diese Verknüpfung herzustellen als auch zu lesen." * basedOn 1..1 MS * ^short = "Requested or fulfilled MedicationRequest." * ^comment = "Exactly one MedicationRequest is assigned to a ServiceRequest, so that independent processing is possible." - * ^definition = "This field references the underlying MedicationRequest, which contains the medical information for the prescription request. If the prescription request is made, the ERPServiceRequestMedicationRequest profile MAY be used. -When the prescription has been created, the corresponding KBV_PR_ERP_Bundle prescription data record must be referenced." -* basedOn only Reference(MedicationRequest) + * ^definition = "This field references the underlying MedicationRequest, which contains the medical information for the prescription request." +* basedOn only Reference(ERPServiceRequestMedicationRequest) * requisition 1..1 MS * requisition only ERPServiceRequestProcedureIdentifier - * ^short = "Identifier of the process. All ServiceRequests within a process receive the same ID." + * ^short = "Identifier of the overall process. Multiple ServiceRequests within a process are allocated the same ID." * ^comment = "Is to be understood as a case or process ID (see mapping) in order to be able to track which request the ServiceRequest belongs to." * status MS @@ -46,65 +61,127 @@ When the prescription has been created, the corresponding KBV_PR_ERP_Bundle pres * ^short = "Indicates the processing status of a service request." * ^comment = "If the status changes, this value is overwritten." +* intent MS * intent = #order (exactly) -* code MS +* code 1..1 MS * ^short = "Indicates the type of service request." -* code.coding 1..1 MS -* code.coding from ServiceRequestTypeVS -* code.coding.system 1..1 -* code.coding.code 1..1 -* code.coding.code = #prescription-request (exactly) - * ^comment = "#prescription-request defines this ServiceRequest as a prescription request from a doctor." + + * coding 1..* MS + * ^slicing.discriminator.type = #pattern + * ^slicing.discriminator.path = "$this" + * ^slicing.rules = #open + * ^slicing.description = "Differentiates between the service request type and additional information." + * ^slicing.ordered = false + + * coding contains request-type 1..1 MS + + * coding[request-type] from ServiceRequestTypeVS + * coding[request-type] = ServiceRequestTypeCS#prescription-request + * ^short = "Indicates the type of service request." + * system 1..1 + * code 1..1 + * ^comment = "#prescription-request defines this ServiceRequest as a prescription request from a requester to a doctor." * subject MS +* subject only Reference(ERPServiceRequestPatient) * ^short = "Patient for whom a prescription is requested on behalf of the patient." -* orderDetail 1..1 MS -* orderDetail.coding 1..1 MS -* orderDetail.coding from PrescriptionFullfillmentTypeVS - * ^short = "Specifies how the recipe request should be fulfilled." - * ^comment = "If the prescription goes to a pharmacy, a corresponding ServiceRequest must be included in the bundle." - * occurrence[x] 0..1 MS * occurrence[x] only dateTime - * ^short = "Specifies the date on which the prescription is to be issued." + * ^short = "Specifies the date on which the prescription is to be issued (Bedarfszeitraum)." * ^comment = "Can be used by the requester to make the timely urgency clear." * authoredOn 1..1 MS * ^short = "Creation date of the request." * ^comment = "Is initially created and then no longer changed." - -* requester 1..1 MS -* requester only Reference(Organization or Practitioner) +* requester 0..1 MS // 0..1 für die Antwort, siehe Constraint +* requester only Reference(ERPServiceRequestOrganization) * ^short = "Inquiring facility or practitioner." - * ^comment = "The KIM address is already stored in the message header. Therefore, the preferred specification is to store a KBV_PR_FOR_Practitioner." + * ^comment = "The KIM address is already stored in the message header." * performer MS -* performer only Reference(Practitioner) - * ^short = "Doctor who is to write the prescription." - -* reasonCode MS -* reasonCode from RequestReasonVS - * ^short = "Code indicating why a prescription is requested." - * ^comment = "Also used to indicate why the transaction was canceled in the event of a cancellation." - -* reasonReference only Reference(ERPServiceRequestRemainingMedication) - * ^short = "Reference to an observation resource that indicates how long the current medication will last." - * ^comment = "If a reference to the reason is provided, a human-readable entry in .note must also be added in case systems cannot process the referenced observation." - -* supportingInfo ^slicing.discriminator.type = #pattern -* supportingInfo ^slicing.discriminator.path = "type" -* supportingInfo ^slicing.rules = #open -* supportingInfo ^slicing.description = "Supporting information for the prescription request" - -* supportingInfo MS -* supportingInfo contains -AuslieferndeApotheke 0..1 MS -* supportingInfo[AuslieferndeApotheke] only Reference(ERPServiceRequestOrganization) -* supportingInfo[AuslieferndeApotheke].type = "Organization" +* performer only Reference(ERPServiceRequestPractitioner) + * ^short = "Doctor who is to issue the prescription." * note MS * ^short = "Further information on the prescription request." * ^comment = "Any use cases that are not specified can be placed here in free text." + * time 1..1 MS + * ^comment = "This is used in order to sort the Annotations" + +* reasonCode MS + * ^short = "Reason for the prescription request." + * ^comment = "The reason for the prescription request can be documented here." + * coding 0..1 MS + * coding from MedicationRequestReasonVS (required) + * text 0..1 MS + //Restreichweite + * extension MS + * extension contains + RemainingSupplyEX named remainingSupply 0..1 MS + and RemainingSupplyFreeTextEX named remainingSupplyFreeText 0..1 MS + * extension[remainingSupply] + * ^short = "Remaining supply" + * ^definition = "Indicates the remaining supply of the medication." + * extension[remainingSupplyFreeText] + * ^short = "Remaining supply as free text" + * ^definition = "Here the remaining supply of the medication can be stated as free text." + +* priority 0..1 MS + * ^short = "Indicates the urgency of the request." + * ^definition = "The priority can be used to indicate the urgency of the request." + * ^comment = "Allowed values: routine | urgent" +* priority from ServiceRequestPriorityVS (required) + +* supportingInfo MS + * ^slicing.discriminator.type = #pattern + * ^slicing.discriminator.path = "type" + * ^slicing.rules = #open + * ^slicing.description = "Additional information on the prescription request." + * ^slicing.ordered = false + +* supportingInfo contains pflegeeinrichtungKopie 0..1 MS + +* supportingInfo[pflegeeinrichtungKopie] only Reference(ERPServiceRequestOrganization) +* supportingInfo[pflegeeinrichtungKopie] + * ^short = "Reference to the care facility that receives a copy of the prescription." + * ^comment = "This needs to be set if the initiating Requester is a pharmacy." + * type = "Organization" + +Invariant: servicerequest-prescription-request-1 +Description: "If the status is active, the requester must be present." +Expression: "status = 'active' implies requester.exists()" +Severity: #error + +Invariant: servicerequest-prescription-request-2 +Description: "If the status is completed and the prescription should be redeemed by the patient, the e-prescription-token must not be present." +Expression: "(status = 'completed' and modifierExtension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex').exists() and modifierExtension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex').value = true) implies extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex').exists().not()" +Severity: #error + +Invariant: servicerequest-prescription-request-3 +Description: "If the status is revoked or entered-in-error, then the reasonCode or note must be present." +Expression: "(status = 'revoked' or status = 'entered-in-error') implies (reasonCode.text.exists() or note.exists())" +Severity: #error + +Invariant: servicerequest-prescription-request-4 +Description: "If the status is completed, the performer must be present." +Expression: "status = 'completed' implies performer.exists()" +Severity: #error + +Invariant: servicerequest-prescription-request-5 +Description: "If the status is completed and the prescription should not be redeemed by the patient, the e-prescription-token must be present." +Expression: "(status = 'completed' and (modifierExtension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex').value = false or modifierExtension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex').exists().not())) implies extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex').exists()" +Severity: #error + +// Wird aktuell nicht gebraucht, da basedOn immer vorhanden ist. Wenn PDFs nicht mehr gebraucht werden, könnte das wieder genutzt werden. +// Invariant: servicerequest-prescription-request-6 +// Description: "If the status is active, then basedOn is required." +// Expression: "status = 'active' implies basedOn.exists()" +// Severity: #error + +// Invariant: servicerequest-prescription-request-7 +// Description: "If the status is completed, then basedOn is required." +// Expression: "status = 'completed' implies basedOn.exists()" +// Severity: #error \ No newline at end of file diff --git a/Resources/input/fsh/profiles/3.2_Dispense_ServiceRequest.fsh b/Resources/input/fsh/profiles/3.2_Dispense_ServiceRequest.fsh index 21039da1..d3f9501c 100644 --- a/Resources/input/fsh/profiles/3.2_Dispense_ServiceRequest.fsh +++ b/Resources/input/fsh/profiles/3.2_Dispense_ServiceRequest.fsh @@ -5,54 +5,89 @@ Title: "ERP Service Request Dispense Request" Description: "ServiceRequest that is used to supply a recipe" * insert Meta (erp-service-request-dispense-request) +* obeys servicerequest-dispense-request-1 +* obeys servicerequest-dispense-request-2 +* obeys servicerequest-dispense-request-3 +* obeys servicerequest-dispense-request-4 + +* modifierExtension contains ChangedMedicationEX named medicationChanged 0..1 MS ?! + +* modifierExtension[medicationChanged] + * ^short = "Indicates whether the medication has been changed by the pharmacy." + * ^definition = "If the medication has been changed, the value is set to true." + * ^comment = "If the medication has been changed, the receiving system must display the changed medication to the receiving user." + * ^isModifierReason = "If the medication has been changed, the receiving system must display the changed medication to the receiving user." + * extension MS * extension contains - EPrescriptionTokenEX named EPrescriptionToken 0..1 MS //muss 0..1 sein für den Fall, dass die Pflegeeinrichtung den DispenseRequest an den Arzt schickt, der es dann zur Apotheke weiterleitet + EPrescriptionTokenEX named EPrescriptionToken 0..1 MS and + AlternativeDeliveryAddressEX named alternativeDeliveryAddress 0..1 MS + * extension[EPrescriptionToken] * ^short = "The e-prescription token for delivery to the pharmacy can be provided here." * ^comment = "The token is of the form '/Task/{PrescriptionID}/$accept?ac={AccessCode}. See [gemSpec_DM_eRp](https://fachportal.gematik.de/fachportal-import/files/gemSpec_DM_eRp_V1.5.0.pdf)'." +* extension[alternativeDeliveryAddress] + * ^short = "Alternative delivery address." + * ^definition = "If the ServiceRequest states that the delivery should be delivered to an alternative address, it must be stated here." + * identifier ^slicing.discriminator.type = #pattern * identifier ^slicing.discriminator.path = "system" * identifier ^slicing.rules = #open * identifier ^slicing.description = "Defines identifiers to be used in a process" * identifier 1..* MS -* identifier contains requestId 1..1 and predisId 0..1 +* identifier contains requestId 1..1 * identifier[requestId] only ERPServiceRequestRequestIdentifier * ^short = "Identifier that uniquely references a ServiceRequest." * ^comment = "For referencing and assignment of ServiceRequest, e.g. if one ServiceRequest is to replace another, it is important to be able to make this assignment with the identifier. Can be mapped via a UUID, for example." -* identifier[predisId] only ERPServiceRequestPreDisIdentifier - * ^short = "Identifier that connects a prescription and a dispensing request." - * ^comment = "Can be mapped via a UUID, for example." - * ^definition = "In some applications, it is necessary to know which prescription request belongs to which delivery request. If, for example, a medication is requested, you want to be able to track which is the corresponding delivery request. The predisIdentifier is used for this purpose, which identifies a pair of ServiceRequest**Prescription**Request and ServiceRequest**Dispense**Request together." * requisition 1..1 MS * requisition only ERPServiceRequestProcedureIdentifier * ^short = "Identifier of the process. All ServiceRequests within a process receive the same ID." * ^comment = "Is to be understood as a case or process ID in order to be able to track which request the ServiceRequest belongs to." -* subject MS -* subject only Reference(Patient) - * ^short = "Patient for whom a prescription is to be delivered." - * status MS * status from ServiceRequestStatusVS * ^short = "Indicates the processing status of a service request." * ^comment = "If the status changes, this value is overwritten." +* subject MS +* subject only Reference(ERPServiceRequestPatient) + * ^short = "Patient for whom a dispense is requested on behalf of the patient." + * intent = #filler-order (exactly) -* code MS +* code 1..1 MS * ^short = "Indicates the type of service request." -* code.coding 1..1 MS -* code.coding from ServiceRequestTypeVS -* code.coding.system 1..1 -* code.coding.code 1..1 -* code.coding.code = #dispense-request (exactly) - * ^comment = "#dispense-request serves as a service request for a pharmacy to deliver a prescription." - -* occurrence[x] 1..1 MS + + * coding 1..* MS + * ^slicing.discriminator.type = #pattern + * ^slicing.discriminator.path = "$this" + * ^slicing.rules = #open + * ^slicing.description = "Differentiates between the service request type and additional information." + * ^slicing.ordered = false + + * coding contains + request-type 1..1 MS + and delivery-type 0..1 MS + + * coding[request-type] from ServiceRequestTypeVS + * coding[request-type] = ServiceRequestTypeCS#dispense-request + * ^short = "Indicates the type of service request." + * system 1..1 + * code 1..1 + * ^comment = "#dispense-request serves as a service request for a pharmacy to deliver a prescription." + + * coding[delivery-type] from DeliveryTypeVS + * ^patternCoding.system = https://gematik.de/fhir/erp-servicerequest/CodeSystem/delivery-type-cs + * ^short = "Indicates how the delivery should be made." + * ^definition = "The delivery type can be used to indicate how the delivery should be made. The following options are available: pickup-by-healthcare-service, pickup-by-patient, delivery-to-healthcare-service, delivery-to-alternative-address." + * ^comment = "If the delivery type is delivery-to-alternative-address, the alternative address must be specified in location." + * system 1..1 + * code 1..1 + +* occurrence[x] 0..1 MS * occurrence[x] only dateTime * ^short = "Indicates the date when the medication should be delivered." @@ -60,19 +95,51 @@ Description: "ServiceRequest that is used to supply a recipe" * ^short = "Creation date of the request." * ^comment = "Is initially created and then no longer changed." +* requester 0..1 MS +* requester only Reference(ERPServiceRequestOrganization) + * ^short = "Inquiring facility or practitioner." + * ^comment = "The KIM address is already stored in the message header." + +* priority 0..1 MS + * ^short = "Indicates the urgency of the request." + * ^definition = "The priority can be used to indicate the urgency of the request." + * ^comment = "Allowed values: routine | urgent" +* priority from ServiceRequestPriorityVS (required) + * supportingInfo ^slicing.discriminator.type = #pattern * supportingInfo ^slicing.discriminator.path = "type" * supportingInfo ^slicing.rules = #open -* supportingInfo ^slicing.description = "Supporting information about delivery" +* supportingInfo ^slicing.description = "Supporting information about dispense" * supportingInfo MS * supportingInfo contains AbgabeDaten 0..1 MS -// TODO: wenn status = erfüllt dann Abgabedaten vorhanden -* supportingInfo[AbgabeDaten] only Reference(MedicationDispense) + +* supportingInfo[AbgabeDaten] only Reference(ERPServiceRequestMedicationDispense) * supportingInfo[AbgabeDaten].type = "MedicationDispense" (exactly) - * ^short = "Delivery data that is also sent to the e-prescription specialist service." - * ^comment = "In this way, the inquiring facility/person can understand which medications are actually supplied." + * ^short = "Dispense data that is also sent to the e-prescription server." * note MS - * ^short = "Further information on delivery." + * ^short = "Further information on the dispense request." * ^comment = "Any use cases that are not specified can be placed here in free text." + * time 1..1 MS + * ^comment = "This is used in order to sort the Annotations" + +Invariant: servicerequest-dispense-request-1 +Description: "If the status is active, then requester must be present." +Expression: "status = 'active' implies requester.exists()" +Severity: #error + +Invariant: servicerequest-dispense-request-2 +Description: "If the status is active, then the e-prescription-token must be present." +Expression: "status = 'active' implies extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex').exists()" +Severity: #error + +Invariant: servicerequest-dispense-request-3 +Description: "If the status is completed, then the dispense data must be present." +Expression: "status = 'completed' implies supportingInfo.where(type='MedicationDispense').exists()" +Severity: #error + +Invariant: servicerequest-dispense-request-4 +Description: "If the the code for the delivery type is alternatve-address, then the address must be stated." +Expression: "(status = 'active' and code.coding.where(system='https://gematik.de/fhir/erp-servicerequest/CodeSystem/delivery-type-cs').exists() and code.coding.where(system='https://gematik.de/fhir/erp-servicerequest/CodeSystem/delivery-type-cs').code = 'delivery-to-alternative-address') implies (extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/alternative-delivery-address-ex').exists() and extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/alternative-delivery-address-ex').value.empty().not())" +Severity: #error diff --git a/Resources/input/fsh/profiles/4.1_MedicationRequest.fsh b/Resources/input/fsh/profiles/4.1_MedicationRequest.fsh new file mode 100644 index 00000000..a397ee30 --- /dev/null +++ b/Resources/input/fsh/profiles/4.1_MedicationRequest.fsh @@ -0,0 +1,59 @@ +Profile: ERPServiceRequestMedicationRequest +Parent: MedicationRequest +Id: erp-service-request-medication-request +Title: "ERP Service Request Medication Request" +Description: "Medical and pharmaceutical information for the prescription request" +* insert Meta (erp-service-request-medication-request) + +* extension MS + * ^comment = "If the previous recipe ID is known, it can be named here" +* extension contains PrescriptionIdEx named PriorPrescriptionID 0..1 MS +* modifierExtension contains RequestMVOEX named requestMVO 0..1 MS ?! + +* subject MS +* subject only Reference(ERPServiceRequestPatient) + * ^short = "Patient for whom a dispense is requested on behalf of the patient." + +* extension[PriorPrescriptionID] + * ^short = "Provide a previous PrescriptionID that corresponds to the requested medication." + * ^comment = "Must be given in the form xxx.xxx.xxx.xxx.xxx.xx." + * ^definition = " +The MedicationRequest can contain a PrescriptionId of a prescription that has already been issued. +If a previous prescription ID is known, the writing system MAY indicate this in the medication request. +If this ID is available, the receiving system MUST be able to search for the previous regulation and give the user the opportunity to display and compare the content. +" +* modifierExtension[requestMVO] + * ^short = "Multiple prescription order" + * ^definition = "If the prescription is should be a multiple prescription order. Only the 'Kennzeichen' should be stated, indicating that the prescription is requested to be a multiple prescription order." + * ^comment = "When this extension is received by a PVS, the prescriber has to be visually notified about the request for a multiple prescription order." + * ^isModifier = true + * ^isModifierReason = "When this extension is received by a PVS, the prescriber has to be visually notified about the request for a multiple prescription order." + +* medication[x] MS +* medication[x] only Reference(KBV_PR_ERP_Medication_PZN or KBV_PR_ERP_Medication_Compounding or KBV_PR_ERP_Medication_Ingredient or KBV_PR_ERP_Medication_FreeText) + +* dispenseRequest 0..1 MS + * quantity 1..1 MS + * ^short = "Number of prescribed units" + * ^definition = "The number of units of the medication to be supplied per dispense. Usually value and unit are stated which are free text variants. If a structured code is used it must be from UnitsOfMeasure." + * value 1..1 MS + * ^short = "Number prescribed" + * ^definition = "Number prescribed" + * system 0..1 + * system = $UNITSOFMEASURE (exactly) + * code 0..1 + * ^short = "Code from Unit of measure" + * ^definition = "If a structured code is used it must be from UnitsOfMeasure" + * unit 1..1 MS + * ^short = "Requested units of the prescription" + * ^definition = "This is a free text field that can be used to specify the units of the prescription." + +* dosageInstruction MS + * text MS + * ^short = "Dosieranweisung" + * ^definition = "Dosieranweisung einer Verordnung" + * ^maxLength = 500 + * patientInstruction MS + * ^short = "Gebrauchsanweisung einer Rezeptur" + * ^definition = "Gebrauchsanweisung einer Rezeptur" + * ^maxLength = 500 \ No newline at end of file diff --git a/Resources/input/fsh/profiles/4.2_MedicationDispense.fsh b/Resources/input/fsh/profiles/4.2_MedicationDispense.fsh new file mode 100644 index 00000000..b82adae0 --- /dev/null +++ b/Resources/input/fsh/profiles/4.2_MedicationDispense.fsh @@ -0,0 +1,24 @@ +Profile: ERPServiceRequestMedicationDispense +Parent: MedicationDispense +Id: erp-service-request-medication-dispense +Title: "ERP Service Request Medication Dispense" +Description: "Medical and pharmaceutical information for the dispense information" +* insert Meta (erp-service-request-medication-dispense) + +* identifier MS + * ^slicing.discriminator.type = #pattern + * ^slicing.discriminator.path = "$this" + * ^slicing.rules = #open + * ^slicing.description = "Slicing for identifier elements" + * ^slicing.ordered = false + +* identifier contains prescriptionID 1..1 +* identifier[prescriptionID] only GEM_ERP_PR_PrescriptionId +* identifier[prescriptionID] ^patternIdentifier.system = $prescription-id-ns + +* subject MS +* subject only Reference(ERPServiceRequestPatient) + * ^short = "Patient for whom a dispense is requested on behalf of the patient." + +* medication[x] MS +* medication[x] only Reference(KBV_PR_ERP_Medication_PZN or KBV_PR_ERP_Medication_Compounding or KBV_PR_ERP_Medication_Ingredient or KBV_PR_ERP_Medication_FreeText) diff --git a/Resources/input/fsh/profiles/4_MedicationRequest.fsh b/Resources/input/fsh/profiles/4_MedicationRequest.fsh deleted file mode 100644 index 7d9d3e15..00000000 --- a/Resources/input/fsh/profiles/4_MedicationRequest.fsh +++ /dev/null @@ -1,142 +0,0 @@ -Profile: ERPServiceRequestMedicationRequest -Parent: MedicationRequest -Id: erp-service-request-medication-request -Title: "ERP Service Request Medication Request" -Description: "Medical and pharmaceutical information for the prescription request" -* insert Meta (erp-service-request-medication-request) - -* extension MS - * ^comment = "If the previous recipe ID is known, it can be named here" -* extension contains - PrescriptionIdEx named PriorPrescriptionID 0..1 MS -* extension[PriorPrescriptionID] - * ^short = "Provide a previous PrescriptionID that corresponds to the requested medication." - * ^comment = "Must be given in the form xxx.xxx.xxx.xxx.xxx.xx." - * ^definition = " -The MedicationRequest can contain a PrescriptionId of a prescription that has already been issued. - -If a previous prescription ID is known, the writing system MAY indicate this in the medication request. - -If this ID is available, the receiving system MUST be able to search for the previous regulation and give the user the opportunity to display and compare the content. -" - -* medication[x] MS -* medication[x] only Reference - -* medicationReference 1..1 MS -* medicationReference.reference 1..1 MS -* medicationReference.type 0..0 -* medicationReference.identifier 0..0 -* medicationReference.display 0..0 - -* subject MS -* subject only Reference(Patient) -* subject.type 0..0 -* subject.identifier 0..0 -* subject.reference 1..1 - -* encounter 0..0 - -* requester MS - * ^short = "Requesting doctor/facility/pharmacy for this MedicationRequest" - * ^comment = "Is optional to specify here, since it must already be specified in the ServiceRequest" -* requester only Reference(Practitioner or Organization) -* requester.type 0..0 -* requester.identifier 0..1 -* requester.reference 0..1 - -* instantiatesCanonical 0..0 -* instantiatesUri 0..0 -* basedOn 0..0 -* groupIdentifier 0..0 -* courseOfTherapyType 0..0 - -// Wenn eine Coverage genutzt wird, kann es auch gleich die richtige sein -* insurance only Reference(Coverage) - * ^short = "Insurance status of the patient for whom the medication is requested" - * ^comment = "If this information is already known, it can optionally be given here" -* insurance 0..1 - -* dosageInstruction 0..1 - -* dispenseRequest 0..1 MS -* dispenseRequest.quantity 1..1 MS -* dispenseRequest.quantity.value 1..1 MS -* dispenseRequest.quantity.value ^short = "Number of packs prescribed" -* dispenseRequest.quantity.value ^definition = "Number of packs prescribed" -* dispenseRequest.quantity.unit 0..0 -* dispenseRequest.quantity.system 1..1 MS -* dispenseRequest.quantity.system = $UNITSOFMEASURE (exactly) -* dispenseRequest.quantity.code 1..1 MS -* dispenseRequest.quantity.code = #{Package} (exactly) -* dispenseRequest.performer 0..0 - -* substitution 0..1 - -Instance: Example-Initial-Medication-Request -InstanceOf: ERPServiceRequestMedicationRequest -Usage: #example -* extension[PriorPrescriptionID].valueIdentifier - * system = "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId" - * value = "160.100.000.000.001.36" -* status = #active -* intent = #order -* medicationReference = Reference(Example-Initial-Medication) -* subject = Reference(Example-Patient) -* authoredOn = "2022-05-20" -* dosageInstruction.text = "2mal tägl. 5ml" -* dispenseRequest.quantity = 1 '{Package}' -* substitution.allowedBoolean = true - -Instance: Example-Initial-Medication -InstanceOf: $KBV_PR_ERP_Medication_PZN -Usage: #inline -* meta.profile = "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" -* extension[Kategorie].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type" -* extension[Kategorie].valueCodeableConcept.coding.version = "http://snomed.info/sct/900000000000207008/version/20220331" -* extension[Kategorie].valueCodeableConcept.coding = http://snomed.info/sct#763158003 "Medicinal product (product)" -* extension[Arzneimittelkategorie].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category" -* extension[Arzneimittelkategorie].valueCoding = https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category#00 -* extension[Impfstoff].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine" -* extension[Impfstoff].valueBoolean = false -* extension[Normgroesse].url = "http://fhir.de/StructureDefinition/normgroesse" -* extension[Normgroesse].valueCode = #N1 -* code = http://fhir.de/CodeSystem/ifa/pzn#08585997 -* code.text = "Prospan® Hustensaft 100ml" -* form = https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM#FLE - -Instance: Example-Zyto-Medication-Request -InstanceOf: ERPServiceRequestMedicationRequest -Usage: #inline -* status = #active -* intent = #order -* medicationReference = Reference(Example-Zyto-Medication) -* subject = Reference(Example-Patient) -* authoredOn = "2022-05-20" -* substitution.allowedBoolean = false - -Instance: Example-Zyto-Medication -InstanceOf: $KBV_PR_ERP_Medication_Compounding -Usage: #inline -* meta.profile = "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding|1.1.0" -* extension[Kategorie].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type" -* extension[Kategorie].valueCodeableConcept.coding.version = "http://snomed.info/sct/900000000000207008/version/20220331" -* extension[Kategorie].valueCodeableConcept.coding = http://snomed.info/sct#373873005:860781008=362943005 -* extension[Arzneimittelkategorie].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category" -* extension[Arzneimittelkategorie].valueCoding = https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category#00 -* extension[Impfstoff].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine" -* extension[Impfstoff].valueBoolean = false -* code = https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type#rezeptur -* form.text = "Infusionslösung" -* amount.numerator.extension[Gesamtmenge].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize" -* amount.numerator.extension[Gesamtmenge].valueString = "500" -* amount.numerator.unit = "ml" -* amount.denominator.value = 1 -* ingredient[0].itemCodeableConcept.text = "Etoposid" -* ingredient[=].strength.numerator.value = 180 -* ingredient[=].strength.numerator.unit = "mg" -* ingredient[=].strength.denominator.value = 1 -* ingredient[+].itemCodeableConcept.text = "NaCl 0,9 %" -* ingredient[=].strength.numerator.value = 500 -* ingredient[=].strength.numerator.unit = "ml" -* ingredient[=].strength.denominator.value = 1 diff --git a/Resources/input/fsh/profiles/6.1_AnforderungIdentifier.fsh b/Resources/input/fsh/profiles/6.1_AnforderungIdentifier.fsh index 9c98a5df..5c3781c5 100644 --- a/Resources/input/fsh/profiles/6.1_AnforderungIdentifier.fsh +++ b/Resources/input/fsh/profiles/6.1_AnforderungIdentifier.fsh @@ -7,4 +7,5 @@ Description: "This identifier is used to identify a single ServiceRequest" * value 1..1 MS * ^short = "String that uniquely references the ServiceRequest." * ^comment = "It is recommended to use a UUID." -* system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier" (exactly) +* system 1..1 MS +* system = "https://gematik.de/fhir/erp-servicerequest/sid/RequestIdentifier" diff --git a/Resources/input/fsh/profiles/6.2_GroupAnforderungIdentifier.fsh b/Resources/input/fsh/profiles/6.2_GroupAnforderungIdentifier.fsh index 597a118e..3922304b 100644 --- a/Resources/input/fsh/profiles/6.2_GroupAnforderungIdentifier.fsh +++ b/Resources/input/fsh/profiles/6.2_GroupAnforderungIdentifier.fsh @@ -1,10 +1,11 @@ Profile: ERPServiceRequestProcedureIdentifier Parent: Identifier -Id: identifier-procedure-identifier +Id: erp-service-request-procedure-identifier Title: "ERP Service Request Procedure Identifier" Description: "This identifier is used to identify service requests of a process" -* insert Meta (identifier-procedure-identifier) +* insert Meta (erp-service-request-procedure-identifier) * value 1..1 MS * ^short = "String that uniquely references an operation." * ^comment = "It is recommended to use a UUID." -* system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier" +* system 1..1 MS +* system = "https://gematik.de/fhir/erp-servicerequest/sid/ProcedureIdentifier" diff --git a/Resources/input/fsh/profiles/6.2_PreDisIdentifier.fsh b/Resources/input/fsh/profiles/6.2_PreDisIdentifier.fsh deleted file mode 100644 index 86f83594..00000000 --- a/Resources/input/fsh/profiles/6.2_PreDisIdentifier.fsh +++ /dev/null @@ -1,10 +0,0 @@ -Profile: ERPServiceRequestPreDisIdentifier -Parent: Identifier -Id: erp-service-request-pre-dis-identifier -Title: "ERP Service Request Pre Dis Identifier" -Description: "Identifier is used to link a prescription and dispense requests of the same prescription request" -* insert Meta (erp-service-request-pre-dis-identifier) -* value 1..1 MS - * ^short = "String that references a prescription and delivery request for the same drug." - * ^comment = "It is recommended to use a UUID." -* system = "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemPreDisIdentifier" diff --git a/Resources/input/fsh/profiles/7_ReminingObservation.fsh b/Resources/input/fsh/profiles/7_ReminingObservation.fsh deleted file mode 100644 index 5d243d21..00000000 --- a/Resources/input/fsh/profiles/7_ReminingObservation.fsh +++ /dev/null @@ -1,41 +0,0 @@ -Profile: ERPServiceRequestRemainingMedication -Parent: Observation -Id: erp-service-request-remaining-medication -Title: "ERP Service Request Remaining Medication" -Description: "This observation describes how long or how much of a medication is left" -* insert Meta (erp-service-request-remaining-medication) - -* status = #final (exactly) - -* code 1..1 MS -* code from MedicationObservationVS -* code.coding.code = #range-of-medication (exactly) - * ^short = "Identifies this observation as an indication of the remaining range of a medication" - -* subject 1..1 MS -* subject only Reference(Patient) - * ^short = "Reference of the patient receiving the medication" - -* value[x] 1..1 MS -* value[x] only Quantity or dateTime - * ^short = "Indication of the remaining range in quantity or date on which the medication expires" - -Instance: Medication-Runs-Out-Example-dateTime -InstanceOf: ERPServiceRequestRemainingMedication -Usage: #example -Title: "Medication-Runs-Out-Example-dateTime" -Description: "Simple example to show that Medication will last until dateTime" -* subject = Reference(Example-Patient) -* code = MedicationObservationCS#range-of-medication -* valueDateTime = "2023-01-31" - -Instance: Medication-Runs-Out-Example-Quantity -InstanceOf: ERPServiceRequestRemainingMedication -Usage: #example -Title: "Medication-Runs-Out-Example-Quantity" -Description: "Simple example to show how many pieces of medication are left" -* subject = Reference(Example-Patient) -* code = MedicationObservationCS#range-of-medication -* valueQuantity - * value = 7 - * unit = "stk" diff --git a/Resources/input/fsh/profiles/8_Organization.fsh b/Resources/input/fsh/profiles/8_Organization.fsh index 503a57ea..eb9db311 100644 --- a/Resources/input/fsh/profiles/8_Organization.fsh +++ b/Resources/input/fsh/profiles/8_Organization.fsh @@ -1,62 +1,26 @@ Profile: ERPServiceRequestOrganization -Parent: $KBV_PR_Base_Organization +Parent: OrganizationDirectory Id: erp-service-request-organization Title: "ERP Service Request Organization" Description: "Organization that can be used to specify a KIM address" * insert Meta (erp-service-request-organization) -* identifier MS -* identifier contains KIMAdresse 1..1 MS and TIMAdresse 0..1 -* identifier[KIMAdresse] only $GEM_PR_KIM_AdressIdentifier -* identifier[KIMAdresse].type 1..1 -* identifier[KIMAdresse].type = https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType#kim-2.0 (exactly) +* contact 1..* MS + * telecom 1..* MS + * ^slicing.discriminator.type = #pattern + * ^slicing.discriminator.path = "system" + * ^slicing.rules = #open + * ^slicing.description = "Slices on contact options" + * ^slicing.ordered = false + + * telecom contains + tel 1..1 MS + and kim 0..1 MS -* identifier[TIMAdresse] only $GEM_PR_TIM_AdressIdentifier -* identifier[TIMAdresse].type 1..1 -* identifier[TIMAdresse].type = https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType#tim + * telecom[tel].system = #phone + * telecom[tel].value 1..1 MS -Instance: Example-HealthCareService-Organization -InstanceOf: ERPServiceRequestOrganization -Usage: #example -* identifier[Telematik-ID].type = http://terminology.hl7.org/CodeSystem/v2-0203#PRN -* identifier[Telematik-ID].system = "https://gematik.de/fhir/sid/telematik-id" -* identifier[Telematik-ID].value = "1-031234567" -* identifier[KIMAdresse].type = https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType#kim-2.0 -* identifier[KIMAdresse] = Pflegeheim-Immergrün-KIM-Identifier -* identifier[Betriebsstaettennummer].type = http://terminology.hl7.org/CodeSystem/v2-0203#BSNR -* identifier[Betriebsstaettennummer].system = "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR" -* identifier[Betriebsstaettennummer].value = "031234567" -* name = "Pflegeheim Immergrün" -* telecom[0].system = #phone -* telecom[=].value = "0301234567" -* address[Strassenanschrift].type = #both -* address[Strassenanschrift].line = "Musterstr. 2" -* address[Strassenanschrift].line.extension[Hausnummer].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber" -* address[Strassenanschrift].line.extension[Hausnummer].valueString = "2" -* address[Strassenanschrift].line.extension[Strasse].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName" -* address[Strassenanschrift].line.extension[Strasse].valueString = "Musterstr." -* address[Strassenanschrift].city = "Berlin" -* address[Strassenanschrift].postalCode = "10623" + * telecom[kim].system = #email + * telecom[kim].value 1..1 MS + -Instance: Example-Pharmacy-Organization -InstanceOf: ERPServiceRequestOrganization -Usage: #inline -* identifier[Telematik-ID].type = http://terminology.hl7.org/CodeSystem/v2-0203#PRN -* identifier[Telematik-ID].system = "https://gematik.de/fhir/sid/telematik-id" -* identifier[Telematik-ID].value = "1-57634852" -* identifier[KIMAdresse].type = https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType#kim-2.0 -* identifier[KIMAdresse] = Test-Apotheke-KIM-Identifier -* identifier[Betriebsstaettennummer].type = http://terminology.hl7.org/CodeSystem/v2-0203#BSNR -* identifier[Betriebsstaettennummer].system = "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR" -* identifier[Betriebsstaettennummer].value = "581463872" -* name = "Test Apotheke" -* telecom[0].system = #phone -* telecom[=].value = "0301234567" -* address[Strassenanschrift].type = #both -* address[Strassenanschrift].line = "Musterstr. 2" -* address[Strassenanschrift].line.extension[Hausnummer].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber" -* address[Strassenanschrift].line.extension[Hausnummer].valueString = "2" -* address[Strassenanschrift].line.extension[Strasse].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName" -* address[Strassenanschrift].line.extension[Strasse].valueString = "Musterstr." -* address[Strassenanschrift].city = "Berlin" -* address[Strassenanschrift].postalCode = "10623" \ No newline at end of file diff --git a/Resources/input/fsh/profiles/9_Patient.fsh b/Resources/input/fsh/profiles/9_Patient.fsh new file mode 100644 index 00000000..38f32ee9 --- /dev/null +++ b/Resources/input/fsh/profiles/9_Patient.fsh @@ -0,0 +1,8 @@ +Profile: ERPServiceRequestPatient +Parent: EPAPatient +Id: erp-service-request-patient +Title: "ERP Service Request Patient" +Description: "Patient that can be used for the UseCase ServiceRequest" +* insert Meta (erp-service-request-patient) + +* address only AddressDeBasis \ No newline at end of file diff --git a/Resources/input/fsh/rulesets/logical.fsh b/Resources/input/fsh/rulesets/logical.fsh new file mode 100644 index 00000000..984f72f0 --- /dev/null +++ b/Resources/input/fsh/rulesets/logical.fsh @@ -0,0 +1,29 @@ +RuleSet: RS_LOG_MessageHeader +* MetaDaten 1..1 BackboneElement "Metadaten im MessageHeader" + * Empfaenger 1..* BackboneElement "Empfänger der Nachricht" + * KIMAdresse 1..1 url "KIM-Adresse des Empfängers" + * TelematikID 0..1 url "Telematik-ID des Absenders" + * Absender 1..1 BackboneElement "Absender der Nachricht" + * TelematikID 0..1 url "Telematik-ID des Absenders" + * Name 1..1 string "Name des Absenders" + * AbsendendesSystem 1..1 BackboneElement "Absendendes System" + * Name 1..1 string "Name des Herstellers des absendenden Systems" + * Software 1..1 string "Name der Software des absendenden Systems" + * Version 1..1 string "Version des absendenden Systems" + * EMailKontakt 1..1 string "E-Mail-Kontakt des absendenden Systems" + * Website 1..1 url "Website des absendenden Systems" + +RuleSet: RS_MAP_MetaDaten +* MetaDaten -> "ERPServiceRequestDispenseRequestHeader" + * Empfaenger -> "ERPServiceRequestDispenseRequestHeader.destination" + * KIMAdresse -> "ERPServiceRequestDispenseRequestHeader.destination.endpoint" + * TelematikID -> "ERPServiceRequestDispenseRequestHeader.destination.receiver.identifier.value" + * Absender -> "ERPServiceRequestDispenseRequestHeader.sender" + * TelematikID -> "ERPServiceRequestDispenseRequestHeader.sender.identifier.value" + * Name -> "ERPServiceRequestDispenseRequestHeader.sender.display" + * AbsendendesSystem -> "ERPServiceRequestDispenseRequestHeader.source" + * Name -> "ERPServiceRequestDispenseRequestHeader.source.name" + * Software -> "ERPServiceRequestDispenseRequestHeader.source.software" + * Version -> "ERPServiceRequestDispenseRequestHeader.source.version" + * EMailKontakt -> "ERPServiceRequestDispenseRequestHeader.source.contact.value" + * Website -> "ERPServiceRequestDispenseRequestHeader.source.endpoint" diff --git a/Resources/input/fsh/ruleset.fsh b/Resources/input/fsh/rulesets/versioning.fsh similarity index 68% rename from Resources/input/fsh/ruleset.fsh rename to Resources/input/fsh/rulesets/versioning.fsh index 7c0a1299..ebb12a4a 100644 --- a/Resources/input/fsh/ruleset.fsh +++ b/Resources/input/fsh/rulesets/versioning.fsh @@ -1,9 +1,20 @@ // General rule for to handle versions for all structure definitions RuleSet: Versioning -* ^status = #active +* ^status = #draft * ^experimental = false * ^publisher = "gematik GmbH" -* ^version = "1.0" +* ^version = "1.2" +* ^date = "2025-01-01" + +RuleSet: VersioningInst +* status = #draft +* experimental = false +* publisher = "gematik GmbH" +* version = "1.2" +* date = "2025-01-01" +* contact.name = "gematik GmbH" +* contact.telecom.system = #url +* contact.telecom.value = "https://www.gematik.de" RuleSet: Meta (profileName) * insert Versioning diff --git a/Resources/input/fsh/valuesets/DeliveryTypeVS.fsh b/Resources/input/fsh/valuesets/DeliveryTypeVS.fsh new file mode 100644 index 00000000..ece8ca77 --- /dev/null +++ b/Resources/input/fsh/valuesets/DeliveryTypeVS.fsh @@ -0,0 +1,6 @@ +ValueSet: DeliveryTypeVS +Id: delivery-type-vs +Title: "Art der Belieferung (VS)" +Description: "Specifies how a dispense request should be fulfilled/ delivered" +* insert MetaValueSet (delivery-type-vs) +* include codes from system DeliveryTypeCS \ No newline at end of file diff --git a/Resources/input/fsh/valuesets/MedicationRequestReasonVS.fsh b/Resources/input/fsh/valuesets/MedicationRequestReasonVS.fsh index 8cf86abc..50dda780 100644 --- a/Resources/input/fsh/valuesets/MedicationRequestReasonVS.fsh +++ b/Resources/input/fsh/valuesets/MedicationRequestReasonVS.fsh @@ -1,14 +1,7 @@ -ValueSet: RequestReasonVS -Id: request-reason-vs -Title: "Reason for the medication request (VS)" +ValueSet: MedicationRequestReasonVS +Id: medication-request-reason-vs +Title: "Reason for medication request (VS)" Description: "Provides codes for reasons why medication is requested" -* insert MetaValueSet(request-reason-vs) -* include codes from system MedicationRequestReasonCS -* include codes from system CancellationReasonCS +* insert MetaValueSet(medication-request-reason-vs) -ValueSet: MedicationObservationVS -Id: medication-observation-vs -Title: "Information on medication observation (VS)" -Description: "Specifies types of observations on the status of a drug" -* insert MetaValueSet(medication-observation-vs) -* include codes from system MedicationObservationCS \ No newline at end of file +* include codes from system MedicationRequestReasonCS \ No newline at end of file diff --git a/Resources/input/fsh/valuesets/PrescriptionFullfillmentTypeVS.fsh b/Resources/input/fsh/valuesets/PrescriptionFullfillmentTypeVS.fsh deleted file mode 100644 index b913e8cd..00000000 --- a/Resources/input/fsh/valuesets/PrescriptionFullfillmentTypeVS.fsh +++ /dev/null @@ -1,6 +0,0 @@ -ValueSet: PrescriptionFullfillmentTypeVS -Id: prescription-fullfillment-type-vs -Title: "Delivery type of the prescription request (VS)" -Description: "Is used in the Prescription_ServiceRequest to indicate how the prescription should be processed" -* insert MetaValueSet (prescription-fullfillment-type-vs) -* include codes from system PrescriptionFullfillmentTypeCS \ No newline at end of file diff --git a/Resources/input/fsh/valuesets/ServiceIdentifierVS.fsh b/Resources/input/fsh/valuesets/ServiceIdentifierVS.fsh index a43fd5b7..fa7f6982 100644 --- a/Resources/input/fsh/valuesets/ServiceIdentifierVS.fsh +++ b/Resources/input/fsh/valuesets/ServiceIdentifierVS.fsh @@ -3,12 +3,8 @@ Id: service-identifier-vs Title: "Identifier of the use case" Description: "Identifiers for specifying an application of e-prescription communication" * insert MetaValueSet(service-identifier-vs) -* $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Rezeptanfrage "Request to a doctor to issue a prescription" -* $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Rezeptanfrage_Storno "Cancellation of the prescription request" -* $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Rezeptbestaetigung "Confirmation and transmission of an issued prescription" -* $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Abgabeanfrage "Request to fulfill a prescription and dispense the drug" -* $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Abgabeanfrage_Storno "Cancellation of the delivery request" -* $GEM_CS_ATF_ServiceIdentifier#eRezept_Rezeptanforderung;Abgabebestaetigung "Confirmation of fulfillment and dispensing of a medication" -* $GEM_CS_ATF_ServiceIdentifier#eRezept_ParenteraleZubereitung;Rezeptanfrage "Prescription request for a parenteral preparation" -* $GEM_CS_ATF_ServiceIdentifier#eRezept_ParenteraleZubereitung;Rezeptanfrage_Storno "Cancellation of the prescription request for a parenteral preparation" -* $GEM_CS_ATF_ServiceIdentifier#eRezept_ParenteraleZubereitung;Rezeptbestaetigung "Confirmation and transmission of an issued prescription for a parenteral preparation" \ No newline at end of file +// Rezeptanforderung +* include codes from system ServiceIdentifierCS where concept is-a #eRezept_Rezeptanforderung + +// Anwendungsfertige Zytostatikazubereitungen +* include codes from system ServiceIdentifierCS where concept is-a #eRezept_ParenteraleZubereitung \ No newline at end of file diff --git a/Resources/input/fsh/valuesets/ServiceRequestOrganizationTypeVS.fsh b/Resources/input/fsh/valuesets/ServiceRequestOrganizationTypeVS.fsh new file mode 100644 index 00000000..f56cd2d7 --- /dev/null +++ b/Resources/input/fsh/valuesets/ServiceRequestOrganizationTypeVS.fsh @@ -0,0 +1,9 @@ +ValueSet: ServiceRequestOrganizationTypeVS +Id: service-request-organization-type-vs +Title: "ServiceRequest Organization Type (VS)" +Description: "Defines Organizations in the context of a ServiceRequest" +* insert MetaValueSet(service-request-organization-type-vs) + +* include $CSIHEPatientBezogenenGesundheitsversorgung#APO "Apotheke" +* include $CSIHEPatientBezogenenGesundheitsversorgung#PRA "Arztpraxis" +* include $CSIHEPatientBezogenenGesundheitsversorgung#PFL "Pflegeheim" \ No newline at end of file diff --git a/Resources/input/fsh/valuesets/ServiceRequestPriorityVS.fsh b/Resources/input/fsh/valuesets/ServiceRequestPriorityVS.fsh new file mode 100644 index 00000000..270429e1 --- /dev/null +++ b/Resources/input/fsh/valuesets/ServiceRequestPriorityVS.fsh @@ -0,0 +1,7 @@ +ValueSet: ServiceRequestPriorityVS +Id: service-request-priority-vs +Title: "Service Request Priority VS" +Description: "Provides codes for the priority of a service request" +* insert MetaValueSet (service-request-priority-vs) +* include RequestPriority#routine +* include RequestPriority#urgent \ No newline at end of file diff --git a/Resources/input/fsh/valuesets/ServiceRequestStatusVS.fsh b/Resources/input/fsh/valuesets/ServiceRequestStatusVS.fsh index bddb485e..40e825d3 100644 --- a/Resources/input/fsh/valuesets/ServiceRequestStatusVS.fsh +++ b/Resources/input/fsh/valuesets/ServiceRequestStatusVS.fsh @@ -3,7 +3,7 @@ Id: service-request-status-vs Title: "Status des ServiceRequests" Description: "Selection of codes to indicate the status of a ServiceRequest" * insert MetaValueSet (service-request-status-vs) -* include codes from system $Hl7_Request_Status -* exclude $Hl7_Request_Status#draft -* exclude $Hl7_Request_Status#on-hold -* exclude $Hl7_Request_Status#unknown \ No newline at end of file +* include codes from system RequestStatus +* exclude RequestStatus#draft +* exclude RequestStatus#on-hold +* exclude RequestStatus#unknown \ No newline at end of file diff --git a/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-1.fsh b/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-1.fsh new file mode 100644 index 00000000..134f91d3 --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-1.fsh @@ -0,0 +1,67 @@ +/* +This file contains Tests for service-request-message-container-1 + +Description: "If the Message is a copy then the focus must be a Bundle, otherwise a ServiceRequest." +Expression: "(event.coding.code = 'eRezept_Rezeptanforderung;NachrichtKopie' implies focus.resolve().is(Bundle)) and (event.coding.code != 'eRezept_Rezeptanforderung;NachrichtKopie' implies focus.resolve().is(ServiceRequest))" +*/ + +//TEST: CopyMessage, but focus is ServiceRequest +Instance: INVALID-message-container-1-1-of-2 +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "Invalid Request from Pharmacy To Prescriber" +Description: "Invalid Request Header Example" +* identifier.value = "urn:uuid:39850775-6726-44fe-9739-c5114ebf0a93" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/INVALID-Pharmacy-to-Practitioner-MessageHeader-1" +* entry[=].resource = INVALID-Pharmacy-to-Practitioner-MessageHeader-1 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" +* entry[=].resource = Example-Pharmacy-Organization +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" +* entry[=].resource = Example-HealthCareService-Organization +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/UC3-Initial-Prescription-Request" +* entry[=].resource = UC3-Initial-Prescription-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" +* entry[=].resource = Example-Initial-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" +* entry[=].resource = Example-Initial-Medication + +Instance: INVALID-Pharmacy-to-Practitioner-MessageHeader-1 +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "INVALID-Pharmacy-to-Practitioner-MessageHeader-1" +Description: "Invalid Message Header from Pharmacy to HealthCareService" +* insert Pharmacy-to-Practitioner(UC3-Initial-Prescription-Request) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;NachrichtKopie +* responsible = Reference(Example-Pharmacy-Organization) + +//TEST: No Copy Message but Bundle is in focus +Instance: INVALID-message-container-1-2-of-2 +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "Invalid Request from Pharmacy To Prescriber" +Description: "Invalid Request Header Example" +* identifier.value = "urn:uuid:2e99ecac-24a2-4524-989e-b8016d0d16f2" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/INVALID-Pharmacy-to-Practitioner-MessageHeader-2" +* entry[=].resource = INVALID-Pharmacy-to-Practitioner-MessageHeader-2 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" +* entry[=].resource = Example-Pharmacy-Organization +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Bundle/UC3-1-Prescription-Request-To-Prescriber" +* entry[=].resource = UC3-1-Prescription-Request-To-Prescriber + +Instance: INVALID-Pharmacy-to-Practitioner-MessageHeader-2 +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "INVALID-Pharmacy-to-Practitioner-MessageHeader-2" +Description: "Invalid Message Header from Pharmacy to HealthCareService" +* insert Pharmacy-to-Practitioner(UC3-Initial-Prescription-Request) +* focus[0] = Reference(Bundle/UC3-1-Prescription-Request-To-Prescriber) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage +* responsible = Reference(Example-Pharmacy-Organization) \ No newline at end of file diff --git a/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-2.fsh b/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-2.fsh new file mode 100644 index 00000000..32f52bea --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-2.fsh @@ -0,0 +1,62 @@ +/* +This file contains Tests for service-request-message-container-2 + +Description: "If the the ServiceRequest contains the health-care service as a reference, then the e-mail contact must be present." +Expression: "Bundle.entry.resource.children().reference.where($this.startsWith('ServiceRequest')).all($this.resolve().supportingInfo.where($this.type = 'Organization').reference.resolve().contact.telecom.where(system = 'email').exists())" +*/ + +//TEST: SupportingInfo Organization is stated, but no KIM Message is present +Instance: INVALID-message-container-2 +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "INVALID-service-request-message-container-2" +Description: "Test for constraint service-request-message-container-2" +* identifier.value = "urn:uuid:4e7026da-2498-4b29-ad5c-02451161e404" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/INVALID-message-container-2-MessageHeader" +* entry[=].resource = INVALID-message-container-2-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" +* entry[=].resource = Example-Pharmacy-Organization +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization-no-kim" +* entry[=].resource = Example-HealthCareService-Organization-no-kim + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/invalid-Initial-Prescription-Request-1" +* entry[=].resource = invalid-Initial-Prescription-Request-1 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" +* entry[=].resource = Example-Initial-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" +* entry[=].resource = Example-Initial-Medication + +// Message Header +Instance: INVALID-message-container-2-MessageHeader +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "INVALID-message-container-2-MessageHeader" +Description: "INVALID-message-container-2-MessageHeader" +* insert Pharmacy-to-Practitioner(invalid-Initial-Prescription-Request-1) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage +* responsible = Reference(Example-Pharmacy-Organization) + +// Prescription Service Requests +Instance: invalid-Initial-Prescription-Request-1 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #inline +Title: "Initial Prescription Request" +Description: "This ServiceRequest is sent initially to the prescribing practitioner" +* identifier[requestId].value = "1" +* basedOn = Reference(Example-Initial-Medication-Request) +* requisition.value = "GroupID-UC3" +* status = RequestStatus#active +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" +* requester = Reference(Example-Pharmacy-Organization) +* performer.identifier = Hans-Topp-Glücklich-Identifier +* supportingInfo[pflegeeinrichtungKopie] = Reference(Example-HealthCareService-Organization-no-kim) diff --git a/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-3.fsh b/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-3.fsh new file mode 100644 index 00000000..5096d5bb --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-3.fsh @@ -0,0 +1,62 @@ +/* +This file contains Tests for service-request-message-container-3 + +Description: "If the the ServiceRequest contains the health-care service as a reference, then the organization must have the respective type." +Expression: "Bundle.entry.resource.children().reference.where($this.startsWith('ServiceRequest')).all($this.resolve().supportingInfo.where($this.type = 'Organization').exists() implies $this.resolve().supportingInfo.where($this.type = 'Organization').reference.resolve().type.coding.code = 'PFL')" +*/ + +//TEST: SupportingInfo Organization is stated, but wrong type +Instance: INVALID-message-container-3 +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "INVALID-service-request-message-container-3" +Description: "Test for constraint service-request-message-container-3" +* identifier.value = "urn:uuid:cc6db961-116d-4dab-9165-2d09662d1b24" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/INVALID-message-container-3-MessageHeader" +* entry[=].resource = INVALID-message-container-3-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" +* entry[=].resource = Example-Pharmacy-Organization +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization-wrong-type" +* entry[=].resource = Example-HealthCareService-Organization-wrong-type + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/invalid-Initial-Prescription-Request-2" +* entry[=].resource = invalid-Initial-Prescription-Request-2 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" +* entry[=].resource = Example-Initial-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" +* entry[=].resource = Example-Initial-Medication + +// Message Header +Instance: INVALID-message-container-3-MessageHeader +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "INVALID-message-container-3-MessageHeader" +Description: "INVALID-message-container-3-MessageHeader" +* insert Pharmacy-to-Practitioner(invalid-Initial-Prescription-Request-2) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage +* responsible = Reference(Example-Pharmacy-Organization) + +// Prescription Service Requests +Instance: invalid-Initial-Prescription-Request-2 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #inline +Title: "Initial Prescription Request" +Description: "This ServiceRequest is sent initially to the prescribing practitioner" +* identifier[requestId].value = "1" +* basedOn = Reference(Example-Initial-Medication-Request) +* requisition.value = "GroupID-UC3" +* status = RequestStatus#active +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" +* requester = Reference(Example-Pharmacy-Organization) +* performer.identifier = Hans-Topp-Glücklich-Identifier +* supportingInfo[pflegeeinrichtungKopie] = Reference(Example-HealthCareService-Organization-wrong-type) diff --git a/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-4.fsh b/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-4.fsh new file mode 100644 index 00000000..ce275930 --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-4.fsh @@ -0,0 +1,61 @@ +/* +This file contains Tests for service-request-message-container-4 + +Description: "If the the ServiceRequest is active and the requester is a pharmacy, then the Healthcare Service to receive a copy must be stated." +Expression: "Bundle.entry.resource.children().reference.where($this.startsWith('ServiceRequest')).all(($this.resolve().status = 'active' and $this.resolve().requester.resolve().type.coding.code = 'APO') implies $this.resolve().supportingInfo.where($this.type = 'Organization').exists())" +*/ + +Instance: INVALID-message-container-4 +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "INVALID-service-request-message-container-4" +Description: "Test for constraint service-request-message-container-4" +* identifier.value = "urn:uuid:f6ecd2e0-2fd0-4017-8797-9140fea018b5" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/INVALID-message-container-4-MessageHeader" +* entry[=].resource = INVALID-message-container-4-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" +* entry[=].resource = Example-Pharmacy-Organization +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" +* entry[=].resource = Example-HealthCareService-Organization + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/invalid-Initial-Prescription-Request-4" +* entry[=].resource = invalid-Initial-Prescription-Request-4 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" +* entry[=].resource = Example-Initial-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" +* entry[=].resource = Example-Initial-Medication + +// Message Header +Instance: INVALID-message-container-4-MessageHeader +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "INVALID-message-container-4-MessageHeader" +Description: "INVALID-message-container-4-MessageHeader" +* insert Pharmacy-to-Practitioner(invalid-Initial-Prescription-Request-4) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Rezeptanfrage +* responsible = Reference(Example-Pharmacy-Organization) + + +// Prescription Service Requests +Instance: invalid-Initial-Prescription-Request-4 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #inline +Title: "Initial Prescription Request" +Description: "This ServiceRequest is sent initially to the prescribing practitioner" +* identifier[requestId].value = "invalid-Initial-Prescription-Request-4" +* basedOn = Reference(Example-Initial-Medication-Request) +* requisition.value = "GroupID-UC3" +* status = RequestStatus#active +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" +* requester = Reference(Example-Pharmacy-Organization) +* performer.identifier = Hans-Topp-Glücklich-Identifier diff --git a/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-5.fsh b/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-5.fsh new file mode 100644 index 00000000..39a12a74 --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/container/service-request-message-container-5.fsh @@ -0,0 +1,60 @@ +/* +This file contains Tests for service-request-message-container-5 + +Description: "If the the Dispense-ServiceRequest is active then the requester must be a Health Care Service." +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 = 'PFL')" +*/ + +Instance: INVALID-message-container-5 +InstanceOf: ERPServiceRequestMessageContainer +Usage: #example +Title: "INVALID-service-request-message-container-5" +Description: "Test for constraint service-request-message-container-5" +* identifier.value = "urn:uuid:853b56ef-6a22-4b79-9c2f-0f4adba08ac1" +* timestamp = "2025-05-13T14:25:12+02:00" +// Header +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MessageHeader/INVALID-message-container-5-MessageHeader" +* entry[=].resource = INVALID-message-container-5-MessageHeader +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-HealthCareService-Organization" +* entry[=].resource = Example-HealthCareService-Organization +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization" +* entry[=].resource = Example-Pharmacy-Organization + +// ServiceRequest +* entry[+].fullUrl = "http://erp-servicerequest-test.de/ServiceRequest/invalid-Initial-Dispense-Request-5" +* entry[=].resource = invalid-Initial-Dispense-Request-5 +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Patient/Example-Patient" +* entry[=].resource = Example-Patient + +//Medication Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/MedicationRequest/Example-Initial-Medication-Request" +* entry[=].resource = Example-Initial-Medication-Request +* entry[+].fullUrl = "http://erp-servicerequest-test.de/Medication/Example-Initial-Medication" +* entry[=].resource = Example-Initial-Medication + +// Message Header +Instance: INVALID-message-container-5-MessageHeader +InstanceOf: ERPServiceRequestRequestHeader +Usage: #inline +Title: "INVALID-message-container-5-MessageHeader" +Description: "INVALID-message-container-5-MessageHeader" +* insert HealthCareService-to-Pharmacy(invalid-Initial-Dispense-Request-5) +* eventCoding = ServiceIdentifierCS#eRezept_Rezeptanforderung;Abgabeanfrage +* responsible = Reference(Example-HealthCareService-Organization) + + +// Dispense Service Requests +Instance: invalid-Initial-Dispense-Request-5 +InstanceOf: ERPServiceRequestDispenseRequest +Usage: #inline +Title: "Initial Dispense Request" +Description: "This ServiceRequest is sent initially to the dispensing Pharmacy" +* identifier[requestId].value = "invalid-Initial-Dispense-Request-5" +* extension[EPrescriptionToken].valueIdentifier.value = "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" +* requisition.value = "GroupID-UC1" +* status = RequestStatus#active +* intent = RequestIntent#filler-order +* subject = Reference(Example-Patient) +* code.coding[request-type] = ServiceRequestTypeCS#dispense-request +* requester = Reference(Example-Pharmacy-Organization) +* authoredOn = "2025-05-14" diff --git a/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-dispense-request-1.fsh b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-dispense-request-1.fsh new file mode 100644 index 00000000..80c0f864 --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-dispense-request-1.fsh @@ -0,0 +1,19 @@ +/* +This file contains Tests for servicerequest-dispense-request-1 + +Description: "If the status is active, then requester must be present." +Expression: "status = 'active' implies requester.exists()" +*/ + +Instance: INVALID-dispense-request-1 +InstanceOf: ERPServiceRequestDispenseRequest +Usage: #example +Title: "Invalid Dispense Request 1" +* identifier[requestId].value = "INVALID-dispense-request-1" +* extension[EPrescriptionToken].valueIdentifier.value = "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" +* requisition.value = "GroupID-UC1" +* status = RequestStatus#active +* intent = RequestIntent#filler-order +* subject = Reference(Example-Patient) +* code.coding[request-type] = ServiceRequestTypeCS#dispense-request +* authoredOn = "2025-05-14" diff --git a/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-dispense-request-2.fsh b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-dispense-request-2.fsh new file mode 100644 index 00000000..1bfa905b --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-dispense-request-2.fsh @@ -0,0 +1,19 @@ +/* +This file contains Tests for servicerequest-dispense-request-2 + +Description: "If the status is active, then the e-prescription-token must be present." +Expression: "status = 'active' implies extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex').exists()" +*/ + +Instance: INVALID-dispense-request-2 +InstanceOf: ERPServiceRequestDispenseRequest +Usage: #example +Title: "Invalid Dispense Request 1" +* identifier[requestId].value = "INVALID-dispense-request-2" +* requisition.value = "GroupID-UC1" +* status = RequestStatus#active +* intent = RequestIntent#filler-order +* subject = Reference(Example-Patient) +* code.coding[request-type] = ServiceRequestTypeCS#dispense-request +* requester = Reference(Example-HealthCareService-Organization) +* authoredOn = "2025-05-14" diff --git a/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-dispense-request-3.fsh b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-dispense-request-3.fsh new file mode 100644 index 00000000..6f3ae431 --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-dispense-request-3.fsh @@ -0,0 +1,19 @@ +/* +This file contains Tests for servicerequest-dispense-request-3 + +Description: "If the status is completed, then the dispense data must be present." +Expression: "status = 'completed' implies supportingInfo.where(type='MedicationDispense').exists()" +*/ + +Instance: INVALID-dispense-request-3 +InstanceOf: ERPServiceRequestDispenseRequest +Usage: #example +Title: "Invalid Dispense Request 1" +* identifier[requestId].value = "INVALID-dispense-request-3" +* requisition.value = "GroupID-UC1" +* status = RequestStatus#completed +* intent = RequestIntent#filler-order +* subject = Reference(Example-Patient) +* code = ServiceRequestTypeCS#dispense-request +* requester = Reference(Example-HealthCareService-Organization) +* authoredOn = "2025-05-14" diff --git a/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-dispense-request-4.fsh b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-dispense-request-4.fsh new file mode 100644 index 00000000..a3f8e8ad --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-dispense-request-4.fsh @@ -0,0 +1,22 @@ +/* +This file contains Tests for servicerequest-dispense-request-4 + +Description: "If the the code for the delivery type is alternatve-address, then the address must be stated." +Expression: "code.coding.where(system='https://gematik.de/fhir/erp-servicerequest/CodeSystem/DeliveryTypeCS').code = 'delivery-to-alternative-address' implies (extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/alternative-delivery-address-ex').exists() and extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/alternative-delivery-address-ex').value.empty().not())" +*/ + +Instance: INVALID-dispense-request-4 +InstanceOf: ERPServiceRequestDispenseRequest +Usage: #example +Title: "Invalid Dispense Request 4" +* identifier[requestId].value = "INVALID-dispense-request-4" +* requisition.value = "GroupID-UC1" +* status = RequestStatus#completed +* intent = RequestIntent#filler-order +* subject = Reference(Example-Patient) +* code.coding[request-type] = ServiceRequestTypeCS#dispense-request +* code.coding[delivery-type] = DeliveryTypeCS#delivery-to-alternative-address +* requester = Reference(Example-HealthCareService-Organization) +* supportingInfo[AbgabeDaten] = Reference (UC1-Medication-Dispense) +* supportingInfo[AbgabeDaten].type = "MedicationDispense" (exactly) +* authoredOn = "2025-05-14" diff --git a/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-1.fsh b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-1.fsh new file mode 100644 index 00000000..c7fa3ef4 --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-1.fsh @@ -0,0 +1,20 @@ +/* +This file contains Tests for servicerequest-prescription-request-1 + +Description: "If the status is active, the requester must be present." +Expression: "status = 'active' implies requester.exists()" +*/ + +Instance: INVALID-prescription-request-1 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #example +Title: "Invalid Prescription Request 1" +* identifier[requestId].value = "INVALID-prescription-request-1" +* basedOn = Reference(Example-Initial-Medication-Request) +* requisition.value = "GroupID-UC3" +* status = RequestStatus#active +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" +* performer.identifier = Hans-Topp-Glücklich-Identifier diff --git a/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-2.fsh b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-2.fsh new file mode 100644 index 00000000..f6a235cd --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-2.fsh @@ -0,0 +1,22 @@ +/* +This file contains Tests for servicerequest-prescription-request-2 + +Description: "If the status is completed and the prescription should be redeemed by the patient, the e-prescription-token must not be present." +Expression: "(status = 'completed' and modifierExtension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex').value = true) implies extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex').exists().not()" +*/ + +Instance: INVALID-prescription-request-2 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #example +Title: "Invalid Prescription Request 2" +* identifier[requestId].value = "INVALID-prescription-request-2" +* requisition.value = "GroupID-UC1" +* modifierExtension[redeemByPatient].valueBoolean = true +* extension[EPrescriptionToken].valueIdentifier.value = "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" +* status = RequestStatus#completed +* basedOn = Reference(Example-Response-Medication-Request) +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* performer.identifier = Hans-Topp-Glücklich-Identifier \ No newline at end of file diff --git a/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-3.fsh b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-3.fsh new file mode 100644 index 00000000..f16bcfcd --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-3.fsh @@ -0,0 +1,36 @@ +/* +This file contains Tests for servicerequest-prescription-request-3 + +Description: "If the status is revoked or entered-in-error, then the reasonCode or note must be present." +Expression: "(status = 'revoked' or status = 'entered-in-error') implies (reasonCode.text.exists() or note.exists())" +*/ + +Instance: INVALID-prescription-request-3-1-of-2 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #example +Title: "Invalid Prescription Request 5" +* identifier[requestId].value = "INVALID-prescription-request-3-1-of-2" +* requisition.value = "GroupID-UC3" +* basedOn = Reference(Example-Initial-Medication-Request) +* status = RequestStatus#revoked +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* requester = Reference(Example-Pharmacy-Organization) +* authoredOn = "2025-05-13" +* performer.identifier = Hans-Topp-Glücklich-Identifier + +Instance: INVALID-prescription-request-3-2-of-2 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #example +Title: "Invalid Prescription Request 5" +* identifier[requestId].value = "INVALID-prescription-request-3-2-of-2" +* requisition.value = "GroupID-UC3" +* basedOn = Reference(Example-Initial-Medication-Request) +* status = RequestStatus#entered-in-error +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* requester = Reference(Example-Pharmacy-Organization) +* authoredOn = "2025-05-13" +* performer.identifier = Hans-Topp-Glücklich-Identifier diff --git a/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-4.fsh b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-4.fsh new file mode 100644 index 00000000..f2637b10 --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-4.fsh @@ -0,0 +1,21 @@ +/* +This file contains Tests for servicerequest-prescription-request-4 + +Description: "If the status is completed, the performer must be present." +Expression: "status = 'completed' implies performer.exists()" +*/ + +Instance: INVALID-prescription-request-4 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #example +Title: "Invalid Prescription Request 4" +* identifier[requestId].value = "INVALID-prescription-request-4" +* extension[EPrescriptionToken].valueIdentifier.value = "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" +* requisition.value = "GroupID-UC3" +* basedOn = Reference(Example-Response-Medication-Request) +* status = RequestStatus#completed +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* requester = Reference(Example-HealthCareService-Organization) +* authoredOn = "2025-05-13" diff --git a/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-5.fsh b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-5.fsh new file mode 100644 index 00000000..cf151f92 --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-5.fsh @@ -0,0 +1,35 @@ +/* +This file contains Tests for servicerequest-prescription-request-5 + +Description: "If the status is completed and the prescription should not be redeemed by the patient, the e-prescription-token must be present." +Expression: "(status = 'completed' and (modifierExtension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex').value = true or modifierExtension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex').exists().not())) implies extension.where(url = 'https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex').exists()" +*/ + +Instance: INVALID-prescription-request-5-1-of-2 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #example +Title: "Invalid Prescription Request 7-1-of-2" +* identifier[requestId].value = "INVALID-prescription-request-5-1-of-2" +* basedOn = Reference(Example-Initial-Medication-Request) +* requisition.value = "GroupID-UC3" +* status = RequestStatus#completed +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" +* performer.identifier = Hans-Topp-Glücklich-Identifier + +Instance: INVALID-prescription-request-5-2-of-2 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #example +Title: "Invalid Prescription Request 7-2-of-2" +* identifier[requestId].value = "INVALID-prescription-request-5-2-of-2" +* modifierExtension[redeemByPatient].valueBoolean = false +* basedOn = Reference(Example-Initial-Medication-Request) +* requisition.value = "GroupID-UC3" +* status = RequestStatus#completed +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* authoredOn = "2025-05-13" +* performer.identifier = Hans-Topp-Glücklich-Identifier diff --git a/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-6.fsh b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-6.fsh new file mode 100644 index 00000000..59f1a2f0 --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-6.fsh @@ -0,0 +1,25 @@ +/* +This file contains Tests for servicerequest-prescription-request-6 + +Description: "If the status is active, then the request must be based on an ERP MedicationRequest." +Expression: "status = 'active' implies basedOn.exists()" +*/ + +/* +This constraint is not active yet. Therefore not building the test case. + +Instance: INVALID-prescription-request-6 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #example +Title: "Invalid Prescription Request 3" +* identifier[requestId].value = "INVALID-prescription-request-6" +* requisition.value = "GroupID-UC3" +* status = RequestStatus#active +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* basedOn = Reference(Example-Initial-Medication-Request) +* subject = Reference(Example-Patient) +* requester = Reference(Example-HealthCareService-Organization) +* authoredOn = "2025-05-13" +* performer.identifier = Hans-Topp-Glücklich-Identifier +*/ \ No newline at end of file diff --git a/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-7.fsh b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-7.fsh new file mode 100644 index 00000000..92407d0e --- /dev/null +++ b/Resources/input/invalid/Constraint_Tests/servicerequest/servicerequest-prescription-request-7.fsh @@ -0,0 +1,27 @@ +/* +This file contains Tests for servicerequest-prescription-request-7 + +Description: "If the status is completed, then the request must be based on an ERP MedicationRequest." +Expression: "status = 'completed' implies basedOn.exists()" +*/ + +/* +This constraint is not active yet. Therefore not building the test case. + + +Instance: INVALID-prescription-request-7 +InstanceOf: ERPServiceRequestPrescriptionRequest +Usage: #example +Title: "Invalid Prescription Request 4" +* identifier[requestId].value = "INVALID-prescription-request-7" +* extension[EPrescriptionToken].valueIdentifier.value = "Task/169.100.000.000.002.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" +* requisition.value = "GroupID-UC3" +* status = RequestStatus#completed +* basedOn = Reference(Example-Initial-Medication-Request) +* intent = RequestIntent#order +* code.coding[request-type] = ServiceRequestTypeCS#prescription-request +* subject = Reference(Example-Patient) +* requester = Reference(Example-HealthCareService-Organization) +* authoredOn = "2025-05-13" +* performer.identifier = Hans-Topp-Glücklich-Identifier +*/ \ No newline at end of file diff --git a/Resources/puml/UC1_2.puml b/Resources/puml/UC1_2.puml deleted file mode 100644 index 073b735f..00000000 --- a/Resources/puml/UC1_2.puml +++ /dev/null @@ -1,11 +0,0 @@ -@startuml UC1_2 -autonumber 6 "[0]" -participant Pflegeeinrichtung as PE #LightBlue -participant Apotheke as A #LightGreen -participant "E-Rezept-Fachdienst" as FD #LightSalmon - -activate PE -PE -> A++: Dispensieranforderung_Rezeptübermittlung \nERPServiceRequestDispenseRequest \n.status = #active \n.basedOn = KBV_PR_ERP_Prescription \n.extension:EPrescriptionToken = E-Rezept Token -A <-> FD: E-Rezept einlösen -A -> PE--: Dispensieranforderung_Bestätigung \nERPServiceRequestDispenseRequest \n.status = #completed \n.basedOn = KBV_Prescription \n.extension:EPrescriptionToken = E-Rezept Token -@enduml \ No newline at end of file diff --git a/Resources/puml/UC2.puml b/Resources/puml/UC2.puml deleted file mode 100644 index d7ccf569..00000000 --- a/Resources/puml/UC2.puml +++ /dev/null @@ -1,19 +0,0 @@ -@startuml UC2 -autonumber "[0]" -participant Apotheke as AP #LightGreen -participant Pflegeeinrichtung as PE #LightBlue -participant Arzt as A #LightYellow -participant "E-Rezept-Fachdienst" as FD #LightSalmon - -Activate AP -AP -> PE++: Rezeptanforderung\n ERPServiceRequestPrescriptionRequest \n.status = #active \n.basedOn = ERPServiceRequestMedicationRequest -PE -> A++: Rezeptanforderung\n ERPServiceRequestPrescriptionRequest \n.status = #active \n.basedOn = ERPServiceRequestMedicationRequest -A -> FD++: E-Rezept einstellen -FD -> A--: Task(PrescriptionID, AccessCode) -A -> PE: Rezeptanforderung_Rezeptübermittlung\n ERPServiceRequestPrescriptionRequest \n.status = #completed \n.basedOn = KBV_Prescription -PE -> AP: Rezeptanforderung_Rezeptübermittlung\n ERPServiceRequestPrescriptionRequest \n.status = #completed \n.basedOn = KBV_Prescription - - -AP <-> FD: E-Rezept einlösen -AP -> PE--: Dispensieranforderung_Bestätigung\n ERPServiceRequestDispenseRequest \n.status = #completed \n.basedOn = KBV_Prescription -@enduml diff --git a/Resources/puml/UC3.puml b/Resources/puml/UC3.puml deleted file mode 100644 index 5ad921d6..00000000 --- a/Resources/puml/UC3.puml +++ /dev/null @@ -1,11 +0,0 @@ -@startuml UC3 -autonumber "[0]" -participant Pflegeeinrichtung as PE #LightBlue -participant Arzt as A #LightYellow -participant "E-Rezept-Fachdienst" as FD #LightSalmon - -activate PE -PE -> A++: Rezeptanforderung\n ERPServiceRequestPrescriptionRequest \n.status = #active \n.basedOn = ERPServiceRequestMedicationRequest -A <-> FD: E-Rezept einstellen -A -> PE--: Rezeptanforderung_Rezeptübermittlung\n ERPServiceRequestPrescriptionRequest \n.status = #completed \n.basedOn = KBV_Prescription -@enduml \ No newline at end of file diff --git a/Resources/puml/UC4.puml b/Resources/puml/UC4.puml deleted file mode 100644 index 978eab5c..00000000 --- a/Resources/puml/UC4.puml +++ /dev/null @@ -1,13 +0,0 @@ -@startuml UC4 -autonumber "[0]" -participant "Herstellung- / Taxierungssoftware, AVS" as AP #LightGreen -participant PVS as A #LightYellow -participant "E-Rezept-Fachdienst" as FD #LightSalmon - -AP -> A++: Rezeptanforderung \n ERPServiceRequestPrescriptionRequest \n.status = #active \n.basedOn = ERPServiceRequestMedicationRequest \nMessageHeader\neventCode = eRezept_ParenteraleZubereitung;Rezeptanfrage -A -> FD++: E-Rezept einstellen -FD -> A--: Task(PrescriptionID, AccessCode) -A -> AP--: Rezeptanforderung_Rezeptübermittlung \n ERPServiceRequestPrescriptionRequest \n.status = #completed \n.basedOn = KBV_Prescription \n.extension:EPrescriptionToken = E-Rezept Token\nMessageHeader\neventCode = eRezept_ParenteraleZubereitung;Rezeptbestaetigung -AP <-> FD: E-Rezept einlösen - -@enduml diff --git a/Resources/puml/fhir-ig/ClassDiagrams/DispenseRequest_Class.puml b/Resources/puml/fhir-ig/ClassDiagrams/DispenseRequest_Class.puml new file mode 100644 index 00000000..25426a45 --- /dev/null +++ b/Resources/puml/fhir-ig/ClassDiagrams/DispenseRequest_Class.puml @@ -0,0 +1,49 @@ +@startuml "DispenseRequest_Class" +!define RECTANGLE class + +RECTANGLE "MessageHeader" as MH { + +eventCode: #eRezept_Rezeptanforderung;Abgabeanfrage + +focus: Reference +} + + +RECTANGLE "ServiceRequest" as SR { + +extension[alternativeDeliveryAddress] + +identifier:requestId: string + +status: #active + +intent: #filler-order + +code[request-type]: #dispense-request + +code[delivery-type]: code + +subject: Reference + +occurrence: dateTime + +authoredOn: Date + +requester: Reference + +note: String + +priority: #routine | #urgent +} + +RECTANGLE "ERPServiceRequestPatient" as P { + +name: String + +identifier:kvnr: String + +birthDate: Date +} + +RECTANGLE "ERPServiceRequestOrganization" as O { + +name: String + +address: String + +contact:tel: String + +contact:kim: String +} + +RECTANGLE "AddressDeBasis" as Adr { + +line: String + +city: String + +postalCode: String + +country: String +} + +MH .down.> SR : .focus 1..* +SR .down.> P : .subject 1..1 +SR .down.> O : .requester 1..1 +SR .right.> Adr : .extension 0..1 +@enduml diff --git a/Resources/puml/fhir-ig/ClassDiagrams/DispenseRequest_Confirmation_Class.puml b/Resources/puml/fhir-ig/ClassDiagrams/DispenseRequest_Confirmation_Class.puml new file mode 100644 index 00000000..0d9050f4 --- /dev/null +++ b/Resources/puml/fhir-ig/ClassDiagrams/DispenseRequest_Confirmation_Class.puml @@ -0,0 +1,41 @@ +@startuml "DispenseRequest_Confirmation_Class" +!define RECTANGLE class + +RECTANGLE "MessageHeader" as MH { + +eventCode: #eRezept_Rezeptanforderung;Abgabebestaetigung + +focus: Reference +} + + +RECTANGLE "ERPServiceRequestDispenseRequest" as SR { + +identifier:requestId: string + +status: #completed + +supportingInfo: Reference + +intent: #filler-order + +code: #dispense-request + +subject: Reference + +occurrence: dateTime + +authoredOn: Date + +note: String +} + +RECTANGLE "ERPServiceRequestMedicationDispense" as MR { + +identifier:prescriptionID.value: string + +medicationReference: Reference +} + +RECTANGLE "KBV_Medication" as MED { + +(s. eRezept Profile) +} + +RECTANGLE "ERPServiceRequestPatient" as P { + +name: String + +identifier:kvnr: String + +birthDate: Date +} + +MH .down.> SR : .focus 1..* +MR .down.> MED : .medication 1..1 +SR .down.> P : .subject 1..1 +SR .right.> MR : .basedOn 1..1 +@enduml \ No newline at end of file diff --git a/Resources/puml/fhir-ig/ClassDiagrams/MessageCopy_Class.puml b/Resources/puml/fhir-ig/ClassDiagrams/MessageCopy_Class.puml new file mode 100644 index 00000000..eeb58767 --- /dev/null +++ b/Resources/puml/fhir-ig/ClassDiagrams/MessageCopy_Class.puml @@ -0,0 +1,15 @@ +@startuml "MessageCopy_Class" +!define RECTANGLE class + +RECTANGLE "MessageHeader" as MH { + +eventCode: #message-copy + +focus: Reference +} + +RECTANGLE "MessageContainer" as MC { + +entry[]: Reference<> +} + +MH .down.> MC : .focus 1..1 + +@enduml \ No newline at end of file diff --git a/Resources/puml/fhir-ig/ClassDiagrams/PrescriptionRequest_Class.puml b/Resources/puml/fhir-ig/ClassDiagrams/PrescriptionRequest_Class.puml new file mode 100644 index 00000000..3719a289 --- /dev/null +++ b/Resources/puml/fhir-ig/ClassDiagrams/PrescriptionRequest_Class.puml @@ -0,0 +1,61 @@ +@startuml "PrescriptionRequest_Class" +!define RECTANGLE class + +RECTANGLE "MessageHeader" as MH { + +eventCode: #eRezept_Rezeptanforderung;Rezeptanfrage + +focus: Reference +} + + +RECTANGLE "ServiceRequest" as SR { + +identifier:requestId: string + +basedOn: Reference + +status: #active + +intent: #order + +code: #prescription-request + +subject: Reference + +occurrence: dateTime + +authoredOn: Date + +requester: Reference + +performer: Reference + +note: String + +reasonCode: String + +priority: #routine | #urgent +} + +RECTANGLE "ERPServiceRequestMedicationRequest" as MR { + +extension:PriorPrescriptionID: String + +extension:requestMVO.extension:Kennzeichen: boolean + +dispenseRequest.quantity: Quantity + +medicationReference: Reference +} + +RECTANGLE "KBV_Medication" as MED { + +(s. eRezept Profile) +} + +RECTANGLE "ERPServiceRequestPatient" as P { + +name: String + +identifier:kvnr: String + +birthDate: Date +} + +RECTANGLE "ERPServiceRequestOrganization" as O { + +name: String + +address: String + +contact:tel: String + +contact:kim: String +} + +RECTANGLE "ERPServiceRequestPractitioner" as PR { + +name: String + +identifier:ANR: String +} + +MH .down.> SR : .focus 1..* +SR .down.> P : .subject 1..1 +SR .right.> MR : .basedOn 1..1 +MR .down.> MED : .medication 1..1 +SR .down.> O : .requester 1..1 +SR .down.> PR : .performer 0..1 +@enduml diff --git a/Resources/puml/fhir-ig/ClassDiagrams/PrescriptionRequest_Confirmation_Class.puml b/Resources/puml/fhir-ig/ClassDiagrams/PrescriptionRequest_Confirmation_Class.puml new file mode 100644 index 00000000..5e576ae0 --- /dev/null +++ b/Resources/puml/fhir-ig/ClassDiagrams/PrescriptionRequest_Confirmation_Class.puml @@ -0,0 +1,47 @@ +@startuml "PrescriptionRequest_Confirmation_Class" +!define RECTANGLE class + +RECTANGLE "MessageHeader" as MH { + +eventCode: #eRezept_Rezeptanforderung;Rezeptbestaetigung + +focus: Reference +} + + +RECTANGLE "ERPServiceRequestPrescriptionRequest" as SR { + +identifier:requestId: string + +basedOn: Reference + +status: #completed + +intent: #order + +code: #prescription-request + +subject: Reference + +occurrence: dateTime + +authoredOn: Date + +note: String +} + +RECTANGLE "ERPServiceRequestMedicationRequest" as MR { + +dispenseRequest.quantity: Quantity + +medicationReference: Reference +} + +RECTANGLE "KBV_Medication" as MED { + +(s. eRezept Profile) +} + +RECTANGLE "ERPServiceRequestPatient" as P { + +name: String + +identifier:kvnr: String + +birthDate: Date +} + +RECTANGLE "ERPServiceRequestPractitioner" as PR { + +name: String + +identifier:ANR: String +} + +MH .down.> SR : .focus 1..* +SR .down.> P : .subject 1..1 +SR .right.> MR : .basedOn 1..1 +MR .down.> MED : .medication 1..1 +SR .down.> PR : .performer 1..1 +@enduml \ No newline at end of file diff --git a/Resources/puml/fhir-ig/ClassDiagrams/Zyto_PrescriptionRequest_Class.puml b/Resources/puml/fhir-ig/ClassDiagrams/Zyto_PrescriptionRequest_Class.puml new file mode 100644 index 00000000..83b6f279 --- /dev/null +++ b/Resources/puml/fhir-ig/ClassDiagrams/Zyto_PrescriptionRequest_Class.puml @@ -0,0 +1,61 @@ +@startuml "Zyto_PrescriptionRequest_Class" +!define RECTANGLE class + +RECTANGLE "MessageHeader" as MH { + +eventCode: #eRezept_ParenteraleZubereitung;Rezeptanfrage + +focus: Reference +} + + +RECTANGLE "ServiceRequest" as SR { + +identifier:requestId: string + +basedOn: Reference + +status: #active + +intent: #order + +code: #prescription-request + +subject: Reference + +occurrence: dateTime + +authoredOn: Date + +requester: Reference + +performer: Reference + +note: String + +reasonCode: String + +priority: #routine | #urgent +} + +RECTANGLE "ERPServiceRequestMedicationRequest" as MR { + +extension:PriorPrescriptionID: String + +extension:requestMVO.extension:Kennzeichen: boolean + +dispenseRequest.quantity: Quantity + +medicationReference: Reference +} + +RECTANGLE "KBV_Medication" as MED { + +(s. eRezept Profile) +} + +RECTANGLE "ERPServiceRequestPatient" as P { + +name: String + +identifier:kvnr: String + +birthDate: Date +} + +RECTANGLE "ERPServiceRequestOrganization" as O { + +name: String + +address: String + +contact:tel: String + +contact:kim: String +} + +RECTANGLE "ERPServiceRequestPractitioner" as PR { + +name: String + +identifier:ANR: String +} + +MH .down.> SR : .focus 1..* +SR .down.> P : .subject 1..1 +SR .right.> MR : .basedOn 1..1 +MR .down.> MED : .medication 1..1 +SR .down.> O : .requester 1..1 +SR .down.> PR : .performer 0..1 +@enduml diff --git a/Resources/puml/fhir-ig/ClassDiagrams/Zyto_PrescriptionRequest_Confirmation_Class.puml b/Resources/puml/fhir-ig/ClassDiagrams/Zyto_PrescriptionRequest_Confirmation_Class.puml new file mode 100644 index 00000000..44c43957 --- /dev/null +++ b/Resources/puml/fhir-ig/ClassDiagrams/Zyto_PrescriptionRequest_Confirmation_Class.puml @@ -0,0 +1,47 @@ +@startuml "Zyto_PrescriptionRequest_Confirmation_Class" +!define RECTANGLE class + +RECTANGLE "MessageHeader" as MH { + +eventCode: #eRezept_ParenteraleZubereitung;Rezeptbestaetigung + +focus: Reference +} + + +RECTANGLE "ServiceRequest" as SR { + +identifier:requestId: string + +basedOn: Reference + +status: #completed + +intent: #order + +code: #prescription-request + +subject: Reference + +occurrence: dateTime + +authoredOn: Date + +note: String +} + +RECTANGLE "ERPServiceRequestMedicationRequest" as MR { + +dispenseRequest.quantity: Quantity + +medicationReference: Reference +} + +RECTANGLE "KBV_Medication" as MED { + +(s. eRezept Profile) +} + +RECTANGLE "ERPServiceRequestPatient" as P { + +name: String + +identifier:kvnr: String + +birthDate: Date +} + +RECTANGLE "ERPServiceRequestPractitioner" as PR { + +name: String + +identifier:ANR: String +} + +MH .down.> SR : .focus 1..* +SR .down.> P : .subject 1..1 +SR .right.> MR : .basedOn 1..1 +MR .down.> MED : .medication 1..1 +SR .down.> PR : .performer 1..1 +@enduml \ No newline at end of file diff --git a/Resources/puml/fhir-ig/ClassDiagrams/multiple-request-diagram-1.puml b/Resources/puml/fhir-ig/ClassDiagrams/multiple-request-diagram-1.puml new file mode 100644 index 00000000..afd44c0d --- /dev/null +++ b/Resources/puml/fhir-ig/ClassDiagrams/multiple-request-diagram-1.puml @@ -0,0 +1,50 @@ +@startuml "MultipleRequests for same Patient" +package "MessageBundle" { + + + class MessageHeader { + sender: string + recipient: string + eventcode: string + focus: reference + } + + class ServiceRequest1 { + id: #id-1 + requisition: #group-1 + basedOn: reference + subject: reference + } + + class ServiceRequest2 { + id: #id-2 + requisition: #group-1 + basedOn: reference + subject: reference + } + + class Patient { + id: string + name: string + } + + class MedicationRequest1 { + id: string + medicationCodeableConcept: string + } + + class MedicationRequest2 { + id: string + medicationCodeableConcept: string + } + +} + +MessageHeader ..> ServiceRequest1 +MessageHeader ..> ServiceRequest2 +ServiceRequest1 ..> Patient +ServiceRequest1 ..> MedicationRequest1 +ServiceRequest2 ..> Patient +ServiceRequest2 ..> MedicationRequest2 + +@enduml \ No newline at end of file diff --git a/Resources/puml/fhir-ig/ClassDiagrams/multiple-request-diagram-2.puml b/Resources/puml/fhir-ig/ClassDiagrams/multiple-request-diagram-2.puml new file mode 100644 index 00000000..06cc4f6c --- /dev/null +++ b/Resources/puml/fhir-ig/ClassDiagrams/multiple-request-diagram-2.puml @@ -0,0 +1,50 @@ +@startuml "MultipleRequests for same Medication" +package "MessageBundle" { + + + class MessageHeader { + sender: string + recipient: string + eventcode: string + focus: reference + } + + class ServiceRequest1 { + id: #id-1 + requisition: #group-1 + basedOn: reference + subject: reference + } + + class ServiceRequest2 { + id: #id-2 + requisition: #group-1 + basedOn: reference + subject: reference + } + + class Patient1 { + id: string + name: string + } + + class Patient2 { + id: string + name: string + } + + class MedicationRequest { + id: string + medicationCodeableConcept: string + } + +} + +MessageHeader ..> ServiceRequest1 +MessageHeader ..> ServiceRequest2 +ServiceRequest1 ..> Patient1 +ServiceRequest1 ..> MedicationRequest +ServiceRequest2 ..> Patient2 +ServiceRequest2 ..> MedicationRequest + +@enduml \ No newline at end of file diff --git a/Resources/puml/UC1_1.puml b/Resources/puml/fhir-ig/UseCase Diagrams/UC1_1.puml similarity index 61% rename from Resources/puml/UC1_1.puml rename to Resources/puml/fhir-ig/UseCase Diagrams/UC1_1.puml index b1089137..e06d78d4 100644 --- a/Resources/puml/UC1_1.puml +++ b/Resources/puml/fhir-ig/UseCase Diagrams/UC1_1.puml @@ -8,6 +8,5 @@ activate PE PE -> A++: Rezeptanforderung \nERPServiceRequestPrescriptionRequest \n.status = #active \n.basedOn = ERPServiceRequestMedicationRequest A -> FD++: E-Rezept einstellen FD -> A--: Task(PrescriptionID, AccessCode) -A -> PE--: Rezeptanforderung_Rezeptübermittlung\nERPServiceRequestPrescriptionRequest \n.status = #completed \n.basedOn = KBV_PR_ERP_Prescription \n.extension:EPrescriptionToken = E-Rezept Token ( opt.) -PE -> PE: Speichern(E-Rezept Token) +A -> PE--: Rezeptanforderung_Bestätigung\nERPServiceRequestPrescriptionRequest \n.status = #completed \n.basedOn = ERPServiceRequestMedicationRequest \n.extension:EPrescriptionToken = E-Rezept Token @enduml \ No newline at end of file diff --git a/Resources/puml/fhir-ig/UseCase Diagrams/UC1_2.puml b/Resources/puml/fhir-ig/UseCase Diagrams/UC1_2.puml new file mode 100644 index 00000000..c4831603 --- /dev/null +++ b/Resources/puml/fhir-ig/UseCase Diagrams/UC1_2.puml @@ -0,0 +1,11 @@ +@startuml UC1_2 +autonumber 6 "[0]" +participant Pflegeeinrichtung as PE #LightBlue +participant Apotheke as A #LightGreen +participant "E-Rezept-Fachdienst" as FD #LightSalmon + +activate PE +PE -> A++: Dispensieranforderung \nERPServiceRequestDispenseRequest \n.status = #active \n.extension:EPrescriptionToken = E-Rezept Token +A <-> FD: E-Rezept einlösen +A -> PE--: Dispensieranforderung_Bestätigung \nERPServiceRequestDispenseRequest \n.status = #completed \n.basedOn = ERPServiceRequestMedicationRequest +@enduml \ No newline at end of file diff --git a/Resources/puml/fhir-ig/UseCase Diagrams/UC2.puml b/Resources/puml/fhir-ig/UseCase Diagrams/UC2.puml new file mode 100644 index 00000000..74559461 --- /dev/null +++ b/Resources/puml/fhir-ig/UseCase Diagrams/UC2.puml @@ -0,0 +1,12 @@ +@startuml UC2 +autonumber "[0]" +participant Pflegeeinrichtung as PE #LightBlue +participant Arzt as A #LightYellow +participant Patient as P #LightGrey + +PE -> A++: Rezeptanforderung\n ERPServiceRequestPrescriptionRequest \n.extension:redeemByPatient = true +A -> A: E-Rezept einstellen +A -> PE--: Rezeptanforderung_Bestätigung\n ERPServiceRequestPrescriptionRequest \n.status = #completed +PE --> P: opt. informieren und Patientenausdruck bereitstellen + +@enduml \ No newline at end of file diff --git a/Resources/puml/UC2_atf_anf.puml b/Resources/puml/fhir-ig/UseCase Diagrams/UC2_atf_anf.puml similarity index 100% rename from Resources/puml/UC2_atf_anf.puml rename to Resources/puml/fhir-ig/UseCase Diagrams/UC2_atf_anf.puml diff --git a/Resources/puml/UC2_atf_antwort.puml b/Resources/puml/fhir-ig/UseCase Diagrams/UC2_atf_antwort.puml similarity index 100% rename from Resources/puml/UC2_atf_antwort.puml rename to Resources/puml/fhir-ig/UseCase Diagrams/UC2_atf_antwort.puml diff --git a/Resources/puml/fhir-ig/UseCase Diagrams/UC3.puml b/Resources/puml/fhir-ig/UseCase Diagrams/UC3.puml new file mode 100644 index 00000000..da166cfd --- /dev/null +++ b/Resources/puml/fhir-ig/UseCase Diagrams/UC3.puml @@ -0,0 +1,15 @@ +@startuml UC3 +autonumber "[0]" +participant Apotheke as Ap #LightGreen +participant Arzt as A #LightYellow +participant Pflegeeinrichtung as PE #LightBlue + +activate Ap +Ap -> A++: Rezeptanforderung\n ERPServiceRequestPrescriptionRequest \n.status = #active \n.basedOn = ERPServiceRequestMedicationRequest +Ap --> PE: Nachrichten_Kopie\n ERPServiceRequestMessageContainer +A -> A: E-Rezept einstellen +A -> Ap: Rezeptanforderung_Bestätigung\n ERPServiceRequestPrescriptionRequest \n.status = #completed \n.basedOn = ERPServiceRequestMedicationRequest +A --> PE: Nachrichten_Kopie\n ERPServiceRequestMessageContainer +deactivate A +Ap -> PE--: Dispensieranforderung_Bestätigung \nERPServiceRequestDispenseRequest \n.status = #completed \n.basedOn = ERPServiceRequestMedicationRequest +@enduml \ No newline at end of file diff --git a/Resources/puml/fhir-ig/UseCase Diagrams/UC4.puml b/Resources/puml/fhir-ig/UseCase Diagrams/UC4.puml new file mode 100644 index 00000000..011d21b4 --- /dev/null +++ b/Resources/puml/fhir-ig/UseCase Diagrams/UC4.puml @@ -0,0 +1,11 @@ +@startuml UC4 +autonumber "[0]" +participant "Herstellung- / Taxierungssoftware, AVS" as AP #LightGreen +participant PVS as A #LightYellow + +AP -> A++: Rezeptanforderung \n ERPServiceRequestPrescriptionRequest \n.status = #active \n.basedOn = ERPServiceRequestMedicationRequest \nMessageHeader\neventCode = eRezept_ParenteraleZubereitung;Rezeptanfrage +A -> A: E-Rezept einstellen +A -> AP--: Rezeptanforderung_Bestätigung \n ERPServiceRequestPrescriptionRequest \n.status = #completed \n.basedOn = ERPServiceRequestMedicationRequest \n.extension:EPrescriptionToken = E-Rezept Token\nMessageHeader\neventCode = eRezept_ParenteraleZubereitung;Rezeptbestaetigung +AP -> AP: E-Rezept einlösen + +@enduml diff --git a/Resources/puml/gemF_eRp_KIM/UC1-rezeptanforderung-pflege.puml b/Resources/puml/gemF_eRp_KIM/UC1-rezeptanforderung-pflege.puml new file mode 100644 index 00000000..9d3ae98e --- /dev/null +++ b/Resources/puml/gemF_eRp_KIM/UC1-rezeptanforderung-pflege.puml @@ -0,0 +1,65 @@ +@startuml name = "UC1-Rezeptanforderung-Pflege" + + +skinparam maxMessageSize 200 + +actor "Pflegeeinrichtung" as Pflegeeinrichtung +actor "Verordnender \nLeistungserbringer" as Arztpraxis +actor "Abgebender \nLeistungserbringer" as Apotheke +entity "E-Rezept\nFachdienst" as FD + +title UC1-Rezeptanforderung durch Pflegeeinrichtung +hide footbox +autonumber "[0]" + +legend bottom right + __Legende__ + |<#LightPink> Ergebnis: keine Medikamentabgabe| + |*: //ServiceRequest_Nachricht_Kopie// wird versendet| +endlegend + +group "Rezeptanforderung durch Pflegeeinrichtung" +Pflegeeinrichtung -> Arztpraxis: //Rezeptanforderung// + +opt #LightPink Stornierung + Pflegeeinrichtung -> Arztpraxis: //Rezeptanforderung_Storno// + alt #LightPink E-Rezept noch nicht eingestellt + Pflegeeinrichtung -[hidden]-> Arztpraxis: Rezeptanforderung wird verworfen + Arztpraxis ->x Arztpraxis: Rezeptanforderung wird verworfen + else #LightPink E-Rezept wurde eingestellt + Arztpraxis ->x Arztpraxis: E-Rezept wird gelöscht + end +end + +alt Arzt ist einverstanden + Arztpraxis <-> FD: E-Rezept einstellen + Arztpraxis -> Pflegeeinrichtung: //Rezeptanforderung_Bestätigung// + +else #LightPink Arzt lehnt ab + Arztpraxis -> Pflegeeinrichtung: //Rezeptanforderung_Ablehnung// +end + +end + +group "Dispensieranforderung durch Pflegeeinrichtung" +Pflegeeinrichtung -> Apotheke: //Dispensieranforderung// + +opt "Fehler bei der Bearbeitung des E-Rezeptes" + Apotheke -> Apotheke: Prüfung des E-Rezeptes Fehlgeschlagen + Apotheke -> FD: E-Rezept zurückgeben + group "UC3: Rezeptanforderung durch Apotheke" + Apotheke -> Arztpraxis: //Rezeptanforderung*// + Arztpraxis -> FD: Altes E-Rezept löschen + Arztpraxis -> FD: Neues E-Rezept einstellen + Arztpraxis -> Apotheke: //Rezeptanforderung_Bestätigung*// + end +end + +Apotheke <-> FD: E-Rezept einlösen + +Apotheke -> Pflegeeinrichtung: //Dispensieranforderung_Bestätigung// +Apotheke -> Pflegeeinrichtung: Medikamentbelieferung + +end + +@enduml \ No newline at end of file diff --git a/Resources/puml/gemF_eRp_KIM/UC2-rezeptanforderung-pflege-versicherteninvolvierung.puml b/Resources/puml/gemF_eRp_KIM/UC2-rezeptanforderung-pflege-versicherteninvolvierung.puml new file mode 100644 index 00000000..2234be3d --- /dev/null +++ b/Resources/puml/gemF_eRp_KIM/UC2-rezeptanforderung-pflege-versicherteninvolvierung.puml @@ -0,0 +1,62 @@ +@startuml name = "UC2-Rezeptanforderung-Patienteninvolvierung" + + +skinparam maxMessageSize 200 + +actor "Pflegeeinrichtung" as Pflegeeinrichtung +actor "Verordnender \nLeistungserbringer" as Arztpraxis +actor Patient +actor Apotheke + +title UC2-Rezeptanforderung der Pflegeeinrichtung mit Einlösung durch Patient +hide footbox +autonumber "[0]" + +legend bottom right + __Legende__ + |<#LightPink> Ergebnis: keine Bereitstellung E-Rezept| + |*: //ServiceRequest_Nachricht_Kopie// wird versendet| +endlegend + +group "Rezeptanforderung durch Pflegeeinrichtung" + Pflegeeinrichtung -> Arztpraxis: //Rezeptanforderung// + + opt #LightPink Stornierung + Pflegeeinrichtung -> Arztpraxis: //Rezeptanforderung_Storno// + alt #LightPink E-Rezept noch nicht eingestellt + Pflegeeinrichtung -[hidden]-> Arztpraxis + Arztpraxis ->x Arztpraxis: Rezeptanforderung wird verworfen + else #LightPink E-Rezept wurde eingestellt + Arztpraxis ->x Arztpraxis: E-Rezept wird gelöscht + end + end + + alt Arzt ist einverstanden + Arztpraxis -> Arztpraxis: E-Rezept einstellen + Arztpraxis -> Pflegeeinrichtung: //Rezeptanforderung_Bestätigung// + + else #LightPink Arzt lehnt ab + Arztpraxis -> Pflegeeinrichtung: //Rezeptanforderung_Ablehnung// + end + +end + +group "Einlösung des E-Rezeptes durch Patient" + opt Benachrichtigung des Patienten + Pflegeeinrichtung --> Patient: opt. Benachrichtigung über Ausstellung des E-Rezepts + end + + Patient -> Patient: Beziehen des E-Rezept Tokens + + note left + möglich via + 1. E-Rezept-FdV + 2. Vorlage der eGK in der Apotheke + 3. Patientenausdruck + end note + + Patient -> Apotheke: Medikamentabholung + +end + +@enduml \ No newline at end of file diff --git a/Resources/puml/gemF_eRp_KIM/UC3-rezeptanforderung-apotheke.puml b/Resources/puml/gemF_eRp_KIM/UC3-rezeptanforderung-apotheke.puml new file mode 100644 index 00000000..7e2ef7d5 --- /dev/null +++ b/Resources/puml/gemF_eRp_KIM/UC3-rezeptanforderung-apotheke.puml @@ -0,0 +1,46 @@ +@startuml name = "UC3-Rezeptanforderung-Apotheke" + + +skinparam maxMessageSize 200 + +actor Apotheke +actor "Verordnender \nLeistungserbringer" as Arztpraxis +actor "Pflegeeinrichtung" as Pflegeeinrichtung + +title UC3-Rezeptanforderung der heimversorgenden Apotheke +hide footbox +autonumber "[0]" + +legend bottom right + __Legende__ + |<#PaleGreen> Ergebnis: Medikamentabgabe| + |<#LightPink> Ergebnis: keine Medikamentabgabe| +endlegend + +Apotheke -> Arztpraxis: //Rezeptanforderung// +Apotheke --> Pflegeeinrichtung: //ServiceRequest_Nachricht_Kopie// + +opt #LightPink Stornierung + Apotheke -> Arztpraxis: //Rezeptanforderung_Storno// + Apotheke --> Pflegeeinrichtung: //ServiceRequest_Nachricht_Kopie// + alt #LightPink E-Rezept noch nicht eingestellt + Apotheke -[hidden]-> Arztpraxis: Rezeptanforderung wird verworfen + Arztpraxis ->x Arztpraxis: Rezeptanforderung wird verworfen + else #LightPink E-Rezept wurde eingestellt + Arztpraxis ->x Arztpraxis: E-Rezept wird gelöscht + end +end + + +alt #PaleGreen Arzt ist einverstanden + Arztpraxis -> Apotheke: //Rezeptanforderung_Bestätigung// + Arztpraxis --> Pflegeeinrichtung: //ServiceRequest_Nachricht_Kopie// + Apotheke -> Pflegeeinrichtung: //Dispensieranforderung_Bestätigung// + Apotheke -> Pflegeeinrichtung: Medikamentenbelieferung + +else #LightPink Arzt lehnt ab + Arztpraxis -> Apotheke: //Rezeptanforderung_Ablehnung// + Arztpraxis --> Pflegeeinrichtung: //ServiceRequest_Nachricht_Kopie// +end + +@enduml \ No newline at end of file diff --git a/Resources/puml/gemF_eRp_KIM/UC4-rezeptanforderung-zytostatika-allgemein.puml b/Resources/puml/gemF_eRp_KIM/UC4-rezeptanforderung-zytostatika-allgemein.puml new file mode 100644 index 00000000..87cdf5ce --- /dev/null +++ b/Resources/puml/gemF_eRp_KIM/UC4-rezeptanforderung-zytostatika-allgemein.puml @@ -0,0 +1,43 @@ +@startuml name = "UC4-Rezeptanforderung-anwendigungsfertige-Zytostatika" + + +skinparam maxMessageSize 300 + +title UC4-Rezeptanforderung für anwendungsfertige Zytostatikazubereitungen +hide footbox +autonumber "[0]" + +actor "Apotheke" as Apotheke +actor "Verordnender \nLeistungserbringer" as Arzt +entity "E-Rezept\nFachdienst" as FD + +legend bottom right + __Legende__ + |<#LightPink> Ergebnis: keine Ausstellung E-Rezept| +endlegend + +?-> Apotheke: Start der \nZubereitung + +Apotheke ->> Apotheke: Zubereitungsdaten + +Apotheke ->> Arzt: //Rezeptanforderung// + +opt #LightPink Stornierung notwendig + Apotheke ->> Arzt: //Rezeptanforderung_Storno// + alt #LightPink E-Rezept noch nicht eingestellt + Arzt ->x Arzt: Rezeptanforderung wird verworfen + else #LightPink E-Rezept wurde eingestellt + Arzt ->x Arzt: E-Rezept wird gelöscht + end +end + +alt Arzt stimmt Rezeptanforderung zu + Arzt ->> Apotheke: //Rezeptanforderung_Rezeptübermittlung// +else #LightPink Arzt lehnt Rezeptanforderung ab + Arzt ->> Apotheke: //Rezeptanforderung_Ablehnung// + +end + +Apotheke <-> FD: E-Rezept einlösen + +@enduml \ No newline at end of file diff --git a/Resources/puml/old/informationsmodell-legende.puml b/Resources/puml/old/informationsmodell-legende.puml deleted file mode 100644 index 4b76276d..00000000 --- a/Resources/puml/old/informationsmodell-legende.puml +++ /dev/null @@ -1,16 +0,0 @@ -@startuml - - -skinparam rectangle { - roundCorner<> 54 -} - rectangle "Legende" { - rectangle "Fachobjekt aus Business-Sicht" as Fachobjekt #BUSINESS - rectangle "Optionales Fachobjekt \naus Business-Sicht" as Fachobjekt_opt #LightSlateGrey - rectangle "FHIR-Objekt, auf das gemappt \nwerden soll" as FHIR_objekt #APPLICATION - rectangle "FHIR-Objekt, auf das gemappt \nwerden soll mit Kandidatenstatus" as FHIR_objekt_kandidat <> #APPLICATION - rectangle "zusätzlich notwendiges, \naber noch nicht bestätigtes \nFachobjekt/Unterobjekt \naus Business-Sicht" as Fachobjekt_zusaetzlich - } - - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/mappings-rezeptanforderung.puml b/Resources/puml/old/mappings-rezeptanforderung.puml deleted file mode 100644 index ab065c03..00000000 --- a/Resources/puml/old/mappings-rezeptanforderung.puml +++ /dev/null @@ -1,158 +0,0 @@ -@startuml - -scale max 4096 width - -skinparam rectangle { - roundCorner<> 54 -} - -rectangle "Mapping: Rezeptanforderungen (fachlich)" <> { - rectangle "Rezeptanforderung" as Rezeptanforderung #BUSINESS - note left of Rezeptanforderung - Anforderung einer Pflegeeinrichtung - oder einer Apotheke an eine verordnende - LEI mit der Bitte um Ausstellung - eines Rezepts - - __Rahmenbedingungen__ - - nicht alle Informationen liegen in der Quelle Primärsystem zum - Zeitpunkt der Erstellung dieses Objektes vor - - __ATF__ - **X-KIM-Dienstkennung="E-Rezept;Rezeptanforderung;V1.0"** - end note -} - - - -rectangle "Mapping: Rezeptanforderungen Mappings (FHIR)" <> { - rectangle "ungeprüft" { - rectangle "MedicationRequest.requester==Practitioner" as Practitioner <> #APPLICATION - rectangle "KBV_PR_FOR_Practitioner" as KBV_PR_FOR_Practitioner <> #APPLICATION - rectangle "KBV_PR_FOR_Patient" as KBV_PR_FOR_Patient <> #APPLICATION - rectangle "MedicationRequest.performer==Organization" as Organization <> #APPLICATION - rectangle "MedicationRequest \n(https://simplifier.net/packages/hl7.fhir.r4.core/4.0.1/files/81506)" as MedicationRequest <> #APPLICATION - rectangle "MedicationRequest.priority" as MedicationRequest_Priority <> #APPLICATION - rectangle "MedicationRequest.reasonCode" as MedicationRequest_Reasoncode <> #APPLICATION - rectangle "MedicationRequest.reasonReference" as MedicationRequest_Reasonreference <> #APPLICATION - rectangle "MedicationRequest.identifier" as MedicationRequest_Identifier <> #APPLICATION - rectangle "Medication.identifier" as Medication_Identifier <> #APPLICATION - rectangle "Medication.amount" as Medication_Amount <> #APPLICATION - rectangle "MedicationRequest.dosageInstruction" as MedicationRequest_dosage <> #APPLICATION - rectangle "MedicationRequest.basedOn" as MedicationRequest_basedon <> #APPLICATION - } -} - -rectangle "geprüft und verworfen" { - rectangle "--KBV_PR_ERP_Bundle-- \n --(https://simplifier.net/erezept/kbvprerpbundle)--" as KBV_PR_ERP_Bundle #APPLICATION - rectangle "--KBV_PR_ERP_Prescription-- \n --(https://simplifier.net/erezept/kbvprerpbundle)--" as KBV_PR_ERP_Prescription #APPLICATION -} - - -card "Valider FHIR-Verordnungsdatensatz aka. Verordnungsdatensatz/Medicationrequest" as FHIR_Verordnungsdatensatz { - rectangle "Vorgangsnummer" as Vorgangsnummer - rectangle "Bezug auf altes Rezept" as Vorrezept - rectangle "Präparat" as Praeparat - rectangle Dosierung - rectangle "Packungsgröße" as Packungsgroesse - card Patienteninformationen { - rectangle KVNR - rectangle "Name des Patienten" as Patientenname - rectangle Geburtstag - } - card "Arztdaten aka. Adressat der Rezeptanforderung" as Arztinformationen { - rectangle "Arztinfo_1 [opt]" as Arztinfo_1 #LightSlateGrey - rectangle "Arztinfo_2 [opt]" as Arztinfo_2 #LightSlateGrey - } - note bottom of Arztinformationen - Zweck: - - richtiges Routing zum - Verordnenden im PVS - - Rechercheunterstützung durch - möglichst viele Infos - - Fragestellung: - - Anhand welcher Infos lässt sich - ein Arzt eindeutig identifizieren - end note -} - -rectangle "Begründung für Bedarf aka. Grund des Bedarfes" as Bedarfsbegruendung -note bottom of Bedarfsbegruendung - - nach Dosierung (Dauermedikation) - - nach Vitalwertmessung, z.B. Blutzucker - - nach Bedarfsorientierung, z.B. aufgrund von Schmerzen - - zusätzliche Freitextoption -end note - -rectangle "Priorität aka. Dringlichkeit" as Prioritaet -note bottom of Prioritaet - Ist eine Standardanforderung, - nicht zu hinterfragen - ... als einfaches Flag möglich -end note - -card "restliche Reichweite" as Restreichweite { - rectangle "Anzahl Resteinheiten [opt]" as Anzahl_Resteinheiten #LightSlateGrey - note bottom of Anzahl_Resteinheiten - Beauskunftet, wieviel ist aus der - aktuellen (Groß-)packung ganz aktuell - bzw. tagesaktuell noch übrig ist - end note - - rectangle "Restreichweitendatum [opt]" as Restreichweitendatum #LightSlateGrey - note bottom of Restreichweitendatum - Beauskunftet die Überlegung, wielange die - aktuelle Verordnung noch reichen müsste - end note - -} -note bottom of Restreichweite - - Wir können können nicht davon ausgehen, - dass jedes PS diese Infos berechnen kann - und daher existiert der explizite Wunsch, - diese mitzuliefern in der Nachricht - - Dient dem Arzt, die Notwendigkeit der - Rezeptausstellung einzuschätzen -end note - -card "Rezeptempfänger aka. Adressat der Rezeptübermittlung/Selbstabholer" as Rezeptempfaenger { - map Empfaengertyp { - Empfaengertyp => Pflegeheim|Pflegedienst|Apotheke|Patient|Selbstabholer - } - note bottom of Empfaengertyp - Genau ein Wert aus dieser Liste - end note - - rectangle "Telematik-ID" as Telematik_ID - note bottom of Telematik_ID - - eindeutige ID für die Auflösung des LE - oder dessen LEI über den VZD - - Substitut für "KIM-Adresse" - end note -} - -Rezeptanforderung *-- FHIR_Verordnungsdatensatz -Rezeptanforderung *-- Bedarfsbegruendung -Rezeptanforderung o-- Prioritaet -Rezeptanforderung o-- Restreichweite -Rezeptanforderung *-- Rezeptempfaenger - -KBV_PR_ERP_Bundle -[#LightGray]-> FHIR_Verordnungsdatensatz: does not match -KBV_PR_ERP_Prescription -[#LightGray]-> FHIR_Verordnungsdatensatz: does not match - -MedicationRequest_Priority -[#Red]-> Prioritaet: possibly matches -MedicationRequest_Reasoncode -[#Red]-> Bedarfsbegruendung: possibly matches -MedicationRequest_Reasonreference -[#Red]-> Bedarfsbegruendung: possibly matches -MedicationRequest_Identifier -[#Red]-> Vorgangsnummer: possibly matches -MedicationRequest -[#Red]-> FHIR_Verordnungsdatensatz: possibly matches -Medication_Identifier -[#Red]-> Praeparat: possibly matches -Medication_Amount -[#Red]-> Packungsgroesse: possibly matches -MedicationRequest_dosage -[#Red]-> Dosierung: possibly matches -MedicationRequest_basedon -[#Red]-> Vorrezept: possibly matches -KBV_PR_FOR_Practitioner -[#Red]-> Arztinformationen: possibly matches -KBV_PR_FOR_Patient -[#Red]-> Patienteninformationen: possibly matches -Practitioner -[#Red]-> Arztinformationen: possibly matches -Organization -[#Red]-> Rezeptempfaenger: possibly matches - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/mappings-rezeptanforderung_storno.puml b/Resources/puml/old/mappings-rezeptanforderung_storno.puml deleted file mode 100644 index 65e95788..00000000 --- a/Resources/puml/old/mappings-rezeptanforderung_storno.puml +++ /dev/null @@ -1,18 +0,0 @@ -@startuml - -skinparam rectangle { - roundCorner<> 54 -} - -rectangle "Rezeptanforderungen Mappings (fachlich)" <> { - rectangle Rezeptanforderung_Storno #BUSINESS -} - -rectangle "Nachrichten-ID der Rezeptanforderung" as Nachrichten_ID -rectangle "Begründung für Storno" as Stornierungsgrund - - -Rezeptanforderung_Storno *-- Nachrichten_ID -Rezeptanforderung_Storno o-- Stornierungsgrund - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/mappings-rezeptanfrage_ablehnung.puml b/Resources/puml/old/mappings-rezeptanfrage_ablehnung.puml deleted file mode 100644 index 68744174..00000000 --- a/Resources/puml/old/mappings-rezeptanfrage_ablehnung.puml +++ /dev/null @@ -1,17 +0,0 @@ -@startuml - -skinparam rectangle { - roundCorner<> 54 -} - -rectangle "Mapping: Rezeptanforderung_Ablehnung (fachlich)" <> { - rectangle Rezeptanforderung_Ablehnung #BUSINESS -} - -rectangle "Nachrichten-ID der Rezeptanforderung" as Nachrichten_ID -rectangle "Grund für Ablehnung" as Ablehnungsgrund - -Rezeptanforderung_Ablehnung *-- Nachrichten_ID -Rezeptanforderung_Ablehnung o-- Ablehnungsgrund - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/mappings-rezeptanfrage_rezeptuebermittlung.puml b/Resources/puml/old/mappings-rezeptanfrage_rezeptuebermittlung.puml deleted file mode 100644 index 2a00ac5f..00000000 --- a/Resources/puml/old/mappings-rezeptanfrage_rezeptuebermittlung.puml +++ /dev/null @@ -1,70 +0,0 @@ -@startuml - -skinparam rectangle { - roundCorner<> 54 -} - - - -rectangle "Mapping: Rezeptanforderung_Rezeptübermittlung (fachlich)" <> { - rectangle "Rezeptanforderung_Rezeptübermittlung" as Rezeptanforderung_Rezeptuebermittlung #BUSINESS -} - -rectangle "Mapping: Rezeptanforderung_Rezeptübermittlung (FHIR)" <> { - rectangle "KBV_PR_ERP_Bundle \n(https://simplifier.net/erezept/kbvprerpbundle)" as KBV_PR_ERP_Bundle #APPLICATION -} - - -'rectangle "Mapping: Rezeptanforderung_Rezeptübermittlung (übrige)" <> {} - -card "Valider FHIR-Verordnungsdatensatz [opt] (unsigniert)" as FHIR_Verordnungsdatensatz { - rectangle Präparat - rectangle Dosierung - rectangle Packungsgröße - card Patienteninformationen { - rectangle KVNR - rectangle "Name des Patienten" as Patientenname - rectangle Geburtstag - } - card Arztinformationen { - rectangle "Adressinformation der LEI des Arztes" as Arzt_Adresse - rectangle "Arztinfo_1 [opt]" as Arztinfo_1 - rectangle "Arztinfo_2 [opt]" as Arztinfo_2 - } -} -note right of FHIR_Verordnungsdatensatz - Dient der Übernahme in die Dokumentation - des PS der Pflegeeinrichtung und kann als - Grundlage für ein Folgerezept dienen. -end note - -rectangle "Nachrichten-ID der Rezeptanforderung" as Nachrichten_ID - -rectangle "E-Rezept-Token" as Erezept_Token - -rectangle "Freitext mit Hinweisen an Empfänger" as Empfaengerhinweise - -rectangle "Kennzeichen der Verordnungsveränderung" as Verordnungsaenderungskennzeichen - -card Verordnungsinhalte { - rectangle "Rezeptzeilen mit PZN" as Rezeptzeilen - rectangle Dosierung -} - -card "Anhänge" as Anhaenge { - rectangle "angepasste Einnahmehinweise [opt]" as Einnahmehinweise #LightSlateGrey - rectangle "angepasster Medikationsplan [opt]" as Medikationsplan #LightSlateGrey -} - -Rezeptanforderung_Rezeptuebermittlung *-left- Nachrichten_ID -Rezeptanforderung_Rezeptuebermittlung *-- Erezept_Token -Rezeptanforderung_Rezeptuebermittlung *-- Empfaengerhinweise -Rezeptanforderung_Rezeptuebermittlung *-- Verordnungsaenderungskennzeichen -Rezeptanforderung_Rezeptuebermittlung *-- Verordnungsinhalte -Rezeptanforderung_Rezeptuebermittlung o-- FHIR_Verordnungsdatensatz -Rezeptanforderung_Rezeptuebermittlung o-right- Anhaenge - -KBV_PR_ERP_Bundle --> FHIR_Verordnungsdatensatz: matches - - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderung-folgemedikation-pflegeeinrichtung.puml b/Resources/puml/old/rezeptanforderung-folgemedikation-pflegeeinrichtung.puml deleted file mode 100644 index dd31d68a..00000000 --- a/Resources/puml/old/rezeptanforderung-folgemedikation-pflegeeinrichtung.puml +++ /dev/null @@ -1,103 +0,0 @@ -@startuml - -skinparam sequence { - ArrowColor black - ActorBorderColor black - LifeLineBorderColor darkgray - LifeLineBackgroundColor #ffffc0 - - ParticipantBorderColor black - ParticipantBackgroundColor #ffffc0 - ParticipantFontName Arial - ParticipantFontSize 14 - ParticipantFontColor black - - ActorBackgroundColor #ffffc0 - ActorFontColor #303030 - ActorFontSize 14 - ActorFontName Arial - - BoxBorderColor gray -} - -skinparam maxMessageSize 300 -title Rezeptanforderungen bei Folgemedikationen (z.B. Dauermedikation): (teil-)automatisierte Verarbeitung beim Pflegeeinrichtung oder anfordernder Apotheke -hide footbox -autonumber - -actor "Mitarbeiter Pflege \noder Apotheke" as MA #BUSINESS -participant "Primärsystem der \nPflegeeinrichtung oder AVS" as PS #BUSINESS -participant "Verzeichnisdienst" as VZD #TECHNOLOGY -participant "KIM \nClientmodul" as Kim_cm #TECHNOLOGY -participant "KIM \nFachdienst" as Kim_fd #TECHNOLOGY -participant "E-Rezept Fachdienst" as erpFD #APPLICATION - -PS o-> PS: versicherten- und medikationsbezogenes Auslöseereignis, z.B. \nReichweitenende, Bedarfsfeststellung - -activate PS -PS -> PS++: letzten relevanten Vorgang ermitteln(Versicherter.Verordnung_Dispensierung(LATEST). Strukturierter_Verordnungsdatensatz) -return :Vorheriges_Rezept.Rezept_ID - -alt lokal im PS - PS -> PS++: Verordnungsinhalt zusammenstellen(Vorheriges_Rezept.Rezept_ID) - return :Verordnungsinhalt -else aus Vorgängerverordnung herauskopieren TODO -end - - -alt KIM-Adresse des Empfängers ermitteln - PS -> VZD++: KIM-Adresse abfragen(Telematik-ID des Verordnenden ODER Suchkriterien des Verordnenden) - return :gültige KIM-Adresse -else KIM-Adresse des Empfängers anhand Vorgängerverordnung abfragen - PS -> VZD++: KIM-Adresse abfragen(Versicherter.Verordnung_Dispensierung(LATEST). Strukturierter_Verordnungsdatensatz.requester.identifier=Telematik-ID) - return :gültige KIM-Adresse -else KIM-Adresse aus Bestandsdaten des PS übernehmen - PS -> PS++: KIM-Adresse des Empfängers lokal ermitteln - return :gültige KIM-Adresse - -end - -PS -> PS++: Rezeptanforderung generieren(NEW Vorgangs_ID, Verordnungsinhalt) - -opt Freigabeverfahren durch Mitarbeiter - alt alles ok - PS -> MA++: Prüf- und Korrekturmöglichkeit anbieten (Rezeptanforderung) - MA -> MA: Verordnungsinhalt prüfen - return :Freigabe - else Korrektur notwendig - PS -> MA++: Prüf- und Korrekturmöglichkeit anbieten (Rezeptanforderung) - MA -> MA: Verordnungsinhalt prüfen - MA -> MA: Korrektur vornehmen - return :Verordnungsinhalt_korrigiert - end -end - -PS -> PS: Rezeptanforderung konfigurieren(Prioritaet, Adressat_der_Rezeptanforderung, Adressat_der_Rezeptuebermittlung, Patienteninformationen, Rezept_ID, Bedarfsbegruendung, Restreichweite) -return :Rezeptanforderung - - - -PS -> PS++: FHIR-Bundle "GEM_PR_ERP_MEDREQ_RequestBundle" generieren(Rezeptanforderung) -return :GEM_PR_ERP_MEDREQ_RequestBundle - -PS -> PS++: Mail-Body generieren(Nur-Text-Zusammenfassung) -return :Mail-Body -PS -> PS++: Mail-MIME-Attachment generieren(GEM_PR_ERP_MEDREQ_RequestBundle) -return :Mail-Attachment - -PS -> PS++: Mail generieren(Mail-Body, Mail-Attachment, gültige KIM-Adresse, X-KIM-Header-Information:=X-KIM-Dienstkennung="E-Rezept;Rezeptanforderung;V1.0") -return :KIM-Mail - -PS -> Kim_cm++: KIM-Mail senden mit GEM_PR_ERP_MEDREQ_RequestBundle als Payload(KIM-Mail) - -group #LightYellow KIM Standardkommunikation -ref over Kim_cm, Kim_fd #lightyellow - KIM-Mail senden -end ref - -return :Status -end group - - - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderung-folgemedikation-verordnender.puml b/Resources/puml/old/rezeptanforderung-folgemedikation-verordnender.puml deleted file mode 100644 index 28a339df..00000000 --- a/Resources/puml/old/rezeptanforderung-folgemedikation-verordnender.puml +++ /dev/null @@ -1,117 +0,0 @@ -@startuml - -skinparam sequence { - ArrowColor black - ActorBorderColor black - LifeLineBorderColor darkgray - LifeLineBackgroundColor #ffffc0 - - ParticipantBorderColor black - ParticipantBackgroundColor #ffffc0 - ParticipantFontName Arial - ParticipantFontSize 14 - ParticipantFontColor black - - ActorBackgroundColor #ffffc0 - ActorFontColor #303030 - ActorFontSize 14 - ActorFontName Arial - - BoxBorderColor gray -} - -skinparam maxMessageSize 250 -title Rezeptanforderungen bei Folgemedikationen (z.B. Dauermedikation): (teil-)automatisierte Verarbeitung beim Verordnenden -hide footbox -autonumber - -actor "Mitarbeiter der \nLeistungserbringerinstitution" as MA_LEI -actor "Verordnender Leistungserbringer" as Arzt -participant "Primärsystem verordnender \nLeistungserbringerinstitution" as PS_Arzt -participant "E-Rezept Fachdienst" as erpFD #APPLICATION -participant "Verzeichnisdienst" as VZD #TECHNOLOGY -participant "KIM \nClientmodul" as Kim_cm #TECHNOLOGY -participant "KIM \nFachdienst" as Kim_fd #TECHNOLOGY - -group #LightYellow KIM Standardkommunikation - ref over Kim_cm, Kim_fd - KIM-Mail empfangen - end ref -end - - -PS_Arzt -> Kim_cm++: Mails abrufen und X-KIM-Dienstkennung-Information auswerten() -activate PS_Arzt -return :Mails - -alt X-KIM-Dienstkennung="E-Rezept;Rezeptanforderung;V1.0" - PS_Arzt -> Kim_cm++: KIM-Mail extrahieren(KIM-Mail) - Kim_cm -> Kim_cm: MIME-Attachment dekodieren(KIM-Mail) - return :FHIR-Bundle "GEM_PR_ERP_MEDREQ_RequestBundle", :Nur-Text-Zusammenfassung, :Absender - - - PS_Arzt -> PS_Arzt++: Rezeptanforderung in Zieldatenmodell transformieren(FHIR-Bundle "GEM_PR_ERP_MEDREQ_RequestBundle") - - - alt Rezept bestätigen - PS_Arzt -> Arzt++: Rezeptanforderung präsentieren(Rezeptanforderung) - return :Verordnung - - PS_Arzt -> erpFD++: E-Rezept erzeugen und einstellen(Verordnung) - ref over PS_Arzt, erpFD - UC E-Rezept bereitstellen - end ref - return :Task - PS_Arzt -> PS_Arzt: GEM_PR_ERP_MEDREQ_ResponseBundle generieren(Task.Verordnung) - - else Rezept ändern - PS_Arzt -> Arzt++:Rezeptanforderung präsentieren(Rezeptanforderung) - Arzt -> Arzt: Rezept ändern(Rezeptanforderung) - return :geänderte Verordnung - - PS_Arzt -> erpFD++: E-Rezept erzeugen und einstellen(geänderte Verordnung) - ref over PS_Arzt, erpFD - UC E-Rezept bereitstellen - end ref - return :Task - - PS_Arzt -> PS_Arzt: GEM_PR_ERP_MEDREQ_ResponseBundle generieren(Task.Verordnung) - - else Rezept ablehnen - PS_Arzt -> Arzt++:Rezeptanforderung präsentieren(Rezeptanforderung) - Arzt -> Arzt: Rezept ablehnen(Begründung) - return :Ablehnung - - PS_Arzt -> PS_Arzt: GEM_PR_ERP_MEDREQ_CancellationBundle generieren(Ablehnung) - - end - - alt KIM-Adresse des Empfängers ermitteln - PS_Arzt -> VZD++: KIM-Adresse abfragen(Telematik-ID des Empfängers ODER Suchkriterien des Empfängers) - return :gültige KIM-Adresse - else KIM-Adresse des Empfängers anhand Vorgängerverordnung abfragen - PS_Arzt -> VZD++: KIM-Adresse abfragen(Versicherter.Verordnung_Dispensierung(LATEST). Strukturierter_Verordnungsdatensatz.RequestingOrganization.identifier=Telematik-ID) - return :gültige KIM-Adresse - else KIM-Adresse aus Bestandsdaten des PS übernehmen - PS_Arzt -> PS_Arzt: KIM-Adresse des Empfängers lokal ermitteln() ODER KIM-Adresse aus Anfragemail übernehmen(Absender) - return :gültige KIM-Adresse - end - - - alt TODO Fallunterscheidung - PS_Arzt -> PS_Arzt++: Mail-Body generieren(Nur-Text-Zusammenfassung) - return :Mail-Body - PS_Arzt -> PS_Arzt++: Mail-MIME-Attachment generieren(ZUTREFFENDES_BUNDLE) - return :Mail-Attachment - - PS_Arzt -> PS_Arzt++: Mail generieren(Mail-Body, Mail-Attachment, gültige KIM-Adresse, X-KIM-Header-Information:=X-KIM-Dienstkennung="E-Rezept;Rezeptuebermittlung;V1.0") - return :KIM-Mail - - PS_Arzt -> Kim_cm++: KIM-Mail senden mit ZUTREFFENDES_BUNDLE als Payload(KIM-Mail) - end - - -end - - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderung-gesamt-detailliert.puml b/Resources/puml/old/rezeptanforderung-gesamt-detailliert.puml deleted file mode 100644 index a6c55b9f..00000000 --- a/Resources/puml/old/rezeptanforderung-gesamt-detailliert.puml +++ /dev/null @@ -1,98 +0,0 @@ -@startuml - -skinparam sequence { - ArrowColor black - ActorBorderColor black - LifeLineBorderColor darkgray - LifeLineBackgroundColor #ffffc0 - - ParticipantBorderColor black - ParticipantBackgroundColor #ffffc0 - ParticipantFontName Arial - ParticipantFontSize 14 - ParticipantFontColor black - - ActorBackgroundColor #ffffc0 - ActorFontColor #303030 - ActorFontSize 14 - ActorFontName Arial - - BoxBorderColor gray -} - -skinparam maxMessageSize 400 - -'actor Vertreter as Vert -actor "Mitarbeiter der \nPflegeeinrichtung" as Vert -participant "Primärsystem der \nPflegeeinrichtung" as PS_Pflege -participant "Verzeichnisdienst" as VZD -participant "KIM \nClientmodul" as Kim_cm #LightGreen -participant "KIM \nFachdienst" as Kim_fd #LightGreen -participant "Primärsystem \nverordnender \nLeistungserbringer" as PS_Arzt -'actor "Verordnender \nLeistungserbringer" as Arzt - -title Rezeptanforderungen durch Pflegeeinrichtungen (Gesamtübersicht) -hide footbox -'autonumber - - -note right of PS_Pflege -UC besagt, Apotheke kann ebenfalls anfordern. -Wäre die Apo dann in der Rolle des Vertreters? -Falls ja: wahrscheinlich identischer Ablauf -wie mit PS_Pflege -end note - -activate Vert -Vert -> PS_Pflege++: Bedarf erkennen aus Vormedikation() - - -PS_Pflege -> Vert++: Vormedikationen des Patienten präsentieren() -return :Liste der Auswahl aus Vormedikation - -loop für jedes ausgewählte Element der Vormedikationen - PS_Pflege -> PS_Pflege++: Verordnungsinformationen übernehmen() - PS_Pflege -> PS_Pflege: Rezeptanforderung generieren(Verordnungsinformationen) - PS_Pflege -> PS_Pflege: Rezeptanforderung konfigurieren(Bedarfsbegründung, Priorität, Restreichweite [opt], Referenz Vorrezept [opt]) -end - -PS_Pflege -> PS_Pflege++: Rezeptanforderungs-FHIR-Bundle generieren(Liste Rezeptanforderungen) -return :Rezeptanforderungs-FHIR-Bundle - -PS_Pflege -> VZD++: KIM-Adresse des Empfängers ermitteln(Verordnender Leistungserbringer) -return :gültige Empfängeradresse - -PS_Pflege -> PS_Pflege++: Mail generieren(Rezeptanforderungs-FHIR-Bundle, gültige Empfängeradresse, X-KIM-Header-Information, Medikationsplan [opt]) -return :KIM-Mail - -PS_Pflege -> Kim_cm++: KIM-Mail senden mit Rezeptanforderungs-FHIR-Bundle als Payload(KIM-Mail) - -group #LightYellow KIM Standardkommunikation -ref over Kim_cm, Kim_fd #lightyellow - KIM-Mail senden -end ref - -return :Status -ref over Kim_cm, Kim_fd: KIM-Mail empfangen -end group - - -PS_Arzt -> Kim_cm++: Mails abrufen und X-KIM-Header-Information auswerten() -activate PS_Arzt -return :Mails - -alt X-KIM-Dienstkennung="E-Rezept;Rezeptanforderung;V1.0" - PS_Arzt -> Kim_cm++: KIM-MAil extrahieren(KIM-Mail) -'TODO Absender muss frei wählbar sein - return :Rezeptanforderungs-FHIR-Bundle, :Absender - - PS_Arzt -> PS_Arzt++: Rezeptanforderungen extrahieren(Rezeptanforderungs-FHIR-Bundle) - return :Liste Rezeptanforderungen - loop für jedes Element der Liste Rezeptanforderungen - PS_Arzt -> PS_Arzt++: Rezeptanforderung generieren und Patient zuordnen() - end -end - - - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderung-pflege-fachlich-spezialfall-versicherteninvolvierung.puml b/Resources/puml/old/rezeptanforderung-pflege-fachlich-spezialfall-versicherteninvolvierung.puml deleted file mode 100644 index 13686d15..00000000 --- a/Resources/puml/old/rezeptanforderung-pflege-fachlich-spezialfall-versicherteninvolvierung.puml +++ /dev/null @@ -1,55 +0,0 @@ -@startuml - - -skinparam maxMessageSize 200 - -box "Rezeptmanagement" #White - actor "Pflegeeinrichtung" as Pflegeeinrichtung -end box -actor "Verordnender \nLeistungserbringer" as Arztpraxis -actor Apotheke -actor Versicherter - -title Rezeptanforderungen durch Pflegeeinrichtungen mit Abholung durch Versicherten (fachliche Sicht) -hide footbox -autonumber - -legend bottom right - __Legende__ - |<#PaleGreen> Ergebnis: Medikamentabgabe| - |<#LightPink> Ergebnis: keine Medikamentabgabe| - **lfd.Nr.** //Informationseinheit als Nachricht übermittelt// - **lfd.Nr.** **sonstige Aktivität** -endlegend - -Pflegeeinrichtung ->> Arztpraxis: //Rezeptanforderung// -note left - Bedarfsgründe für Rezeptanforderung: - 1. wg. Dosierung (Dauermedikation) - 2. nach Vitalwertmessung - 3. nach Bedarf -end note - -opt #LightPink Stornierung - Pflegeeinrichtung ->> Arztpraxis: //Rezeptanforderung_Storno// - Arztpraxis ->x Arztpraxis: **Rezept-**\n**anforderung** \n**wird verworfen** -end - - -alt Rezeptanforderung liegt vor beim Verordnenden - alt #PaleGreen Arzt ist einverstanden - Arztpraxis ->> Pflegeeinrichtung: Rezeptanforderung_Rezeptübermittlung - Pflegeeinrichtung --> Versicherter: opt. Benachrichtigung über Ausstellung des E-Rezepts - Versicherter ->> Apotheke: **Medikamentabholung gg. Rezeptvorlage** - note left - möglich via - 1. E-Rezept-App - 2. Vorlage der eGK in der Apotheke - 3. Papierausdruck - end note - else #LightPink Arzt lehnt ab - Arztpraxis ->> Pflegeeinrichtung: //Rezeptanforderung_Storno// - end -end - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderung-pflege-fachlich.puml b/Resources/puml/old/rezeptanforderung-pflege-fachlich.puml deleted file mode 100644 index 9db3e47d..00000000 --- a/Resources/puml/old/rezeptanforderung-pflege-fachlich.puml +++ /dev/null @@ -1,50 +0,0 @@ -@startuml - - -skinparam maxMessageSize 200 - -box "Rezeptmanagement" #White - actor "Pflegeeinrichtung" as Pflegeeinrichtung -end box -actor "Verordnender \nLeistungserbringer" as Arztpraxis -actor Apotheke - -title Rezeptanforderungen durch Pflegeeinrichtungen (fachliche Sicht) -hide footbox -autonumber - -legend bottom right - __Legende__ - |<#PaleGreen> Ergebnis: Medikamentabgabe| - |<#LightPink> Ergebnis: keine Medikamentabgabe| - **lfd.Nr.** //Informationseinheit als Nachricht übermittelt// - **lfd.Nr.** **sonstige Aktivität** -endlegend - -Pflegeeinrichtung ->> Arztpraxis: //Rezeptanforderung// -note left - Bedarfsgründe für Rezeptanforderung: - 1. wg. Dosierung (Dauermedikation) - 2. nach Vitalwertmessung - 3. nach Bedarf -end note - -opt #LightPink Stornierung - Pflegeeinrichtung ->> Arztpraxis: //Rezeptanforderung_Storno// - Arztpraxis ->x Arztpraxis: **Rezeptanforderung wird verworfen** -end - -alt #PaleGreen Arzt ist einverstanden - - Arztpraxis ->> Pflegeeinrichtung: //Rezeptanforderung_Rezeptübermittlung// - Pflegeeinrichtung ->> Apotheke: //Dispensieranforderung_Rezeptübermittlung// - - Apotheke ->> Pflegeeinrichtung: //Dispensieranforderung_Bestätigung// - Apotheke ->> Pflegeeinrichtung: **Medikamentbelieferung** - -else #LightPink Arzt lehnt ab - Arztpraxis ->> Pflegeeinrichtung: //Rezeptanforderung_Storno// -end - - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderung-stationaerepflege_apo-fachlich.puml b/Resources/puml/old/rezeptanforderung-stationaerepflege_apo-fachlich.puml deleted file mode 100644 index e7ba207b..00000000 --- a/Resources/puml/old/rezeptanforderung-stationaerepflege_apo-fachlich.puml +++ /dev/null @@ -1,53 +0,0 @@ -@startuml - - -skinparam maxMessageSize 200 - -box "Rezeptmanagement" #White - actor Apotheke -end box -actor "Pflegeeinrichtung \n(stationär)" as Pflegeeinrichtung -actor "Verordnender \nLeistungserbringer" as Arztpraxis - -title Rezeptanforderungen durch (Rahmenvertrags-)Apotheken (fachliche Sicht) -hide footbox -autonumber - -legend bottom right - __Legende__ - |<#PaleGreen> Ergebnis: Medikamentabgabe| - |<#LightPink> Ergebnis: keine Medikamentabgabe| - **lfd.Nr.** //Informationseinheit als Nachricht übermittelt// - **lfd.Nr.** **sonstige Aktivität** -endlegend - -hnote over Apotheke, Pflegeeinrichtung - Vorbedingung: - Rahmenvertrag zwischen Apotheke & - Pflegedienst nach §12a ApoG -end hnote - -Apotheke ->> Pflegeeinrichtung: //Rezeptanforderung// -Pflegeeinrichtung ->> Arztpraxis: //Rezeptanforderung// - -opt #LightPink Stornierung - Apotheke ->> Pflegeeinrichtung: //Rezeptanforderung_Storno// - Pflegeeinrichtung ->> Arztpraxis: //Rezeptanforderung_Storno// - - Arztpraxis ->x Arztpraxis: **Rezeptanforderung wird verworfen** -end - -alt Rezeptanforderung liegt vor beim Verordnenden - alt #PaleGreen Arzt ist einverstanden - Arztpraxis ->> Pflegeeinrichtung: //Rezeptanforderung_Rezeptübermittlung// - Pflegeeinrichtung ->> Apotheke: //Rezeptanforderung_Rezeptübermittlung// - Apotheke ->> Pflegeeinrichtung: //Dispensieranforderung_Bestätigung// - Apotheke ->> Pflegeeinrichtung: **Medikamentabgabe/-auslieferung** - - else #LightPink Arzt lehnt ab - Arztpraxis ->> Pflegeeinrichtung: //Rezeptanforderung_Storno// - Pflegeeinrichtung ->> Apotheke: //Rezeptanforderung_Storno// - end -end - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderung-zytostatika-allgemein.puml b/Resources/puml/old/rezeptanforderung-zytostatika-allgemein.puml deleted file mode 100644 index 93221479..00000000 --- a/Resources/puml/old/rezeptanforderung-zytostatika-allgemein.puml +++ /dev/null @@ -1,45 +0,0 @@ -@startuml - - -skinparam maxMessageSize 300 - -title Ablauf für Rezeptabgabe parenteraler Zubereitungen (allgemein) -hide footbox -autonumber - - actor "Apotheke" as Apotheke - - actor "Verordnender \nLeistungserbringer" as Arzt - -legend bottom right - __Legende__ - |<#PaleGreen> Ergebnis: Zubereitungs-/Medikamentabgabe| - |<#LightPink> Ergebnis: keine Zubereitungs-/Medikamentabgabe| - **lfd.Nr.** //Informationseinheit als Nachricht übermittelt// - **lfd.Nr.** **sonstige Aktivität** -endlegend - -?-> Apotheke: Start der \nZubereitung - -Apotheke ->> Apotheke: Zubereitungsdaten - -Apotheke ->> Arzt: //Rezeptanforderung// - -break #LightPink Stornierung notwendig - Apotheke ->> Arzt: //Rezeptanforderung_Storno// - Arzt ->x Arzt: **Rezeptanforderung wird verworfen** - Arzt ->> Apotheke: //Stornierungsquittung// -end - -Arzt ->> Arzt: **Arbeitslisteneintrag erzeugen und vorhalten** - -Arzt ->> Arzt: **Rezeptzustimmung ODER Rezeptablehnung festlegen** - -alt #PaleGreen Arzt stimmt Rezeptanforderung zu - Arzt ->> Apotheke: //Rezeptanforderung_Rezeptuebermittlung// -else #LightPink Arzt lehnt Rezeptanforderung ab - Arzt ->> Apotheke: //Rezeptanforderung_Ablehnung// - -end - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderung-zytostatika-taxsoftware.puml b/Resources/puml/old/rezeptanforderung-zytostatika-taxsoftware.puml deleted file mode 100644 index fddb9a23..00000000 --- a/Resources/puml/old/rezeptanforderung-zytostatika-taxsoftware.puml +++ /dev/null @@ -1,47 +0,0 @@ -@startuml - - -skinparam maxMessageSize 300 - -title Ablauf für Rezeptabgabe parenteraler Zubereitungen -hide footbox -autonumber - - -actor "Apotheke\n(Taxierungssoftware, Zytostatika-Programm)" as AVS -actor "Verordnender \nLeistungserbringer" as Arzt - -participant "Primärsystem" as Arzt - - -legend bottom right - __Legende__ - |<#PaleGreen> Ergebnis: Zubereitungs-/Medikamentabgabe| - |<#LightPink> Ergebnis: keine Zubereitungs-/Medikamentabgabe| - **lfd.Nr.** //Informationseinheit als Nachricht übermittelt// - **lfd.Nr.** **sonstige Aktivität** -endlegend - -?-> AVS: Start der \nZubereitung - -AVS ->> AVS: Zubereitungsdaten - -AVS ->> Arzt: //Rezeptanforderung// - -break #LightPink Stornierung notwendig - AVS ->> Arzt: //Rezeptanforderung_Storno// - Arzt ->x Arzt: **Rezeptanforderung wird verworfen** - Arzt ->> AVS: //Rezeptanforderung_Storno// -end - -alt #PaleGreen Arzt stimmt Rezeptanforderung zu - ref over Arzt, Arzt #lightyellow - E-Rezept einstellen - end ref - Arzt ->> AVS: //Rezeptanforderung_Rezeptübermittlung// -else #LightPink Arzt lehnt Rezeptanforderung ab - Arzt ->> AVS: //Rezeptanforderung_Storno// - -end - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderung-zytostatika-zytoprogramm.puml b/Resources/puml/old/rezeptanforderung-zytostatika-zytoprogramm.puml deleted file mode 100644 index a00613ae..00000000 --- a/Resources/puml/old/rezeptanforderung-zytostatika-zytoprogramm.puml +++ /dev/null @@ -1,54 +0,0 @@ -@startuml - - -skinparam maxMessageSize 300 - -title Ablauf für Rezeptabgabe parenteraler Zubereitungen (Anforderungsquelle: Zytostatika-Programm) -hide footbox -autonumber - -box "Apotheke" #White - participant "Zytostatika-Programm" as Zytoprogramm - participant "Taxierungssoftware" as Taxierungssoftware -end box - -box "LEI des Verordnenden" #White - participant "Primärsystem" as PS - actor "Verordnender \nLeistungserbringer" as Arzt -end box - -legend bottom right - __Legende__ - |<#PaleGreen> Ergebnis: Zubereitungs-/Medikamentabgabe| - |<#LightPink> Ergebnis: keine Zubereitungs-/Medikamentabgabe| - **lfd.Nr.** //Informationseinheit als Nachricht übermittelt// - **lfd.Nr.** **sonstige Aktivität** -endlegend - -?-> Zytoprogramm: Start der \nZubereitung - -Zytoprogramm ->> Taxierungssoftware: Zubereitungsdaten - -Zytoprogramm ->> PS: //Rezeptanforderung// - -break #LightPink Stornierung notwendig - Zytoprogramm ->> PS: //Rezeptanforderung_Storno// - PS ->x PS: **Rezeptanforderung wird verworfen** - PS ->> Zytoprogramm: //Stornierungsquittung// -end - -PS ->> PS: **Arbeitslisteneintrag erzeugen und vorhalten** - -PS ->> Arzt: **Rezeptanforderung präsentieren** -return :Rezeptzustimmung ODER :Rezeptablehnung - -alt #PaleGreen Arzt stimmt Rezeptanforderung zu - ref over Arzt, PS #lightyellow - E-Rezept einstellen - end ref - PS ->> Zytoprogramm: //Rezeptanforderung_Rezeptuebermittlung// -else #LightPink Arzt lehnt Rezeptanforderung ab - PS ->> Zytoprogramm: //Rezeptanforderung_Ablehnung// -end - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderung-zytostatika.puml b/Resources/puml/old/rezeptanforderung-zytostatika.puml deleted file mode 100644 index 29523601..00000000 --- a/Resources/puml/old/rezeptanforderung-zytostatika.puml +++ /dev/null @@ -1,78 +0,0 @@ -@startuml - - -skinparam maxMessageSize 300 - -title Allgemeiner Flow für Zytostatika-Rezeptabgabe -hide footbox -autonumber - - -participant "Zytostatika-Programm" as Zytoprogramm -participant "Taxierungssoftware \n(Apotheke)" as Taxierungssoftware -participant "Primärsystem" as PS -participant "E-Rezept \nFachdienst" as erpFD -actor "Verordnender \nLeistungserbringer" as Arzt - -?-> Zytoprogramm: Start der \nZubereitung - -Zytoprogramm ->> Taxierungssoftware: Zubereitungsdaten -note right - TODO Klärung: - Zubereitungsdaten ebenfalls als - FHIR-Nachricht über KIM oder - proprietäre (vorhandene) Schnittstelle? -end note - -alt Trigger: Taxierungssoftware - Taxierungssoftware ->> PS: Rezeptanforderung/"Request Bundle" -else Trigger: Zytoprogramm - Zytoprogramm ->> PS: Rezeptanforderung/"Request Bundle" - note left - dies ist der Regelfall - end note -end - -opt Stornierung notwendig - alt Rezeptanforderer ist Taxierungssoftware - Taxierungssoftware ->> PS: Rezeptanforderung_Storno/"Cancellation Bundle" - else Rezeptanforderer ist Zytostatika-Programm - Zytoprogramm ->> PS: Rezeptanforderung_Storno/"Cancellation Bundle" - end - note right - Storno grundsätzlich sinnvoll: - Stornoquittung (accept/reject) sinnvoll - für das anfordernde System, - damit es ggf. eine neue Rezeptanforderung - nach Stornoquittung senden kann - end note -end - -PS ->> PS: Arbeitslisteneintrag erzeugen und vorhalten - -PS ->> Arzt: Rezeptanforderung präsentieren -return :Rezeptzustimmung ODER :Rezeptablehnung - -note over Zytoprogramm, Taxierungssoftware - Antwort auf die Rezeptanforderung geht stets - an den Absender der Rezeptanforderung -end note - -alt Arzt stimmt Rezeptanforderung zu - ref over Arzt, PS, erpFD #lightyellow - E-Rezept einstellen - end ref - alt Rezeptanforderer ist Taxierungssoftware - PS ->> Taxierungssoftware: Rezeptübermittlung/"Response Bundle" - else Rezeptanforderer ist Zytostatika-Programm - PS ->> Zytoprogramm: Rezeptübermittlung/"Response Bundle" - end -else Arzt lehnt Rezeptanforderung ab - alt Rezeptanforderer ist Taxierungssoftware - PS ->> Taxierungssoftware: Rezeptablehnung übermitteln/"Cancellation Bundle" - else Rezeptanforderer ist Zytostatika-Programm - PS ->> Zytoprogramm: Rezeptablehnung übermitteln/"Cancellation Bundle" - end -end - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderungen-apo-businessobjects-inhalte.puml b/Resources/puml/old/rezeptanforderungen-apo-businessobjects-inhalte.puml deleted file mode 100644 index af3a5dec..00000000 --- a/Resources/puml/old/rezeptanforderungen-apo-businessobjects-inhalte.puml +++ /dev/null @@ -1,59 +0,0 @@ -@startuml - -'top to bottom direction - -'skinparam linetype ortho -hide circle -hide methods - -class "Rezeptanforderung" as Rezeptanforderung #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - #Prioritaet - #Adressat_der_Rezeptanforderung - #Adressat_der_Rezeptuebermittlung - #Ausliefernde_Apotheke - #Patienteninformationen - #Vorheriges_Rezept - ..medizinische Informationen.. - #Praeparat - #Bedarfsbegruendung - #Restreichweite - ..ergänzende Informationen.. - #Freitext -} - -class "Rezeptanforderung_Storno" as Rezeptanforderung_Storno #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - #Begruendung_der_Stornierung - ..ergänzende Informationen.. - #Freitext -} - -class "Rezeptanforderung_Rezeptübermittlung" as Rezeptanforderung_Rezeptübermittlung #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - #ERezept_Access_Code - #ERezept_Task_ID - ..medizinische Informationen.. - #Strukturierter_Verordnungsdatensatz - #Hinweise_fuer_Empfaenger - ..ergänzende Informationen.. - #Freitext -} - -class "Dispensieranforderung_Bestätigung" as Dispensieranforderung_Bestätigung #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - ..medizinische Informationen.. - #Strukturierter_Dispensierungsdatensatz - ..ergänzende Informationen.. - #Freitext -} - -Rezeptanforderung_Storno -right- Rezeptanforderung: revidiert > -Rezeptanforderung_Rezeptübermittlung -up- Rezeptanforderung: beantwortet > -Dispensieranforderung_Bestätigung -left- Rezeptanforderung_Rezeptübermittlung: bezieht sich auf > - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderungen-pflege-businessobject-rezeptanforderung-details.puml b/Resources/puml/old/rezeptanforderungen-pflege-businessobject-rezeptanforderung-details.puml deleted file mode 100644 index d4f788d1..00000000 --- a/Resources/puml/old/rezeptanforderungen-pflege-businessobject-rezeptanforderung-details.puml +++ /dev/null @@ -1,62 +0,0 @@ -@startuml - -left to right direction - -'skinparam linetype ortho -hide circle -hide methods - -class "Rezeptanforderung" as Rezeptanforderung #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - #Prioritaet - #Adressat_der_Rezeptanforderung - #Adressat_der_Rezeptuebermittlung - #Patienteninformationen - #Vorheriges_Rezept - ..medizinische Informationen.. - #Praeparat - #Bedarfsbegruendung - #Restreichweite - ..ergänzende Informationen.. - #Freitext -} - -class "Adressat_der_Rezeptuebermittlung" as Anfordernde_Pflegeeinrichtung #BUSINESS { - #Telematik_ID - #Empfaenger_Typ -} - -class "Patienteninformationen" as Patienteninformationen #BUSINESS { - #KVNR - #Name - #Geburtstag -} - -class "Praeparat" as Praeparat #BUSINESS { - #Bezeichnung - #Packungsgroesse - #Dosierung -} - -class "Restreichweite" as Restreichweite #BUSINESS { - #Anzahl_Resteinheiten - #Restreichweitendatum -} - -class "Adressat_der_Rezeptanforderung" as Arztinformationen #BUSINESS { - #Telematik_ID - #Name - #Ort - #Telefonnummer -} - -Rezeptanforderung::Adressat_der_Rezeptuebermittlung *-- Anfordernde_Pflegeeinrichtung -Rezeptanforderung::Patienteninformationen *-- Patienteninformationen -Rezeptanforderung::Praeparat *-- Praeparat -Rezeptanforderung::Vorheriges_Rezept --> Praeparat: Verweis > -Rezeptanforderung::Restreichweite o-- Restreichweite -Rezeptanforderung::Adressat_der_Rezeptanforderung *-- Arztinformationen - - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderungen-pflege-businessobjects-inhalte.puml b/Resources/puml/old/rezeptanforderungen-pflege-businessobjects-inhalte.puml deleted file mode 100644 index 509982d4..00000000 --- a/Resources/puml/old/rezeptanforderungen-pflege-businessobjects-inhalte.puml +++ /dev/null @@ -1,71 +0,0 @@ -@startuml - -'top to bottom direction - -'skinparam linetype ortho -hide circle -hide methods - -class "Rezeptanforderung" as Rezeptanforderung #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - #Prioritaet - #Adressat_der_Rezeptanforderung - #Adressat_der_Rezeptuebermittlung - #Patienteninformationen - #Vorheriges_Rezept - ..medizinische Informationen.. - #Praeparat - #Bedarfsbegruendung - #Restreichweite - ..ergänzende Informationen.. - #Freitext -} - -class "Rezeptanforderung_Storno" as Rezeptanforderung_Storno #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - #Begruendung_der_Stornierung - ..ergänzende Informationen.. - #Freitext -} - -class "Rezeptanforderung_Rezeptübermittlung" as Rezeptanforderung_Rezeptübermittlung #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - #ERezept_Access_Code - #ERezept_Task_ID - ..medizinische Informationen.. - #Strukturierter_Verordnungsdatensatz - #Hinweise_fuer_Empfaenger - ..ergänzende Informationen.. - #Freitext -} - -class "Dispensieranforderung_Rezeptübermittlung" as Dispensieranforderung_Rezeptübermittlung #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - #ERezept_Access_Code - #ERezept_Task_ID - ..medizinische Informationen.. - #Strukturierter_Verordnungsdatensatz - #Hinweise_fuer_Empfaenger - ..ergänzende Informationen.. - #Freitext -} - -class "Dispensieranforderung_Bestätigung" as Dispensieranforderung_Bestätigung #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - ..medizinische Informationen.. - #Strukturierter_Dispensierungsdatensatz - ..ergänzende Informationen.. - #Freitext -} - -Rezeptanforderung_Storno -up- Rezeptanforderung: revidiert > -Rezeptanforderung_Rezeptübermittlung -up- Rezeptanforderung: beantwortet > -Dispensieranforderung_Bestätigung -- Dispensieranforderung_Rezeptübermittlung: beantwortet > -Dispensieranforderung_Rezeptübermittlung -- Rezeptanforderung_Rezeptübermittlung: bezieht sich auf > - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderungen-pflege-businessobjects-rezeptuebermittlung-details.puml b/Resources/puml/old/rezeptanforderungen-pflege-businessobjects-rezeptuebermittlung-details.puml deleted file mode 100644 index 02907a0d..00000000 --- a/Resources/puml/old/rezeptanforderungen-pflege-businessobjects-rezeptuebermittlung-details.puml +++ /dev/null @@ -1,37 +0,0 @@ -@startuml - -left to right direction - -'skinparam linetype ortho -hide circle -hide methods - - -class "Rezeptanforderung_Rezeptuebermittlung" as Rezeptanforderung_Rezeptuebermittlung #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - #ERezept_Access_Code - #ERezept_Task_ID - '#Veränderungskennzeichen zur Ursprungsanfrage - #Veraenderungskennzeichen - ..medizinische Informationen.. - #Strukturierter_Verordnungsdatensatz - #Hinweise_fuer_Empfaenger - ..ergänzende Informationen.. - #Unstrukturierter_Dateianhang - #Freitext -} - -class "Strukturierter_Verordnungsdatensatz" as Strukturierter_Verordnungsdatensatz #BUSINESS { - #Verordnungsinhalt - #Verschreibender_Leistungserbringer - #Betroffener_Versicherter - #Abgebender_Leistungserbringer - #Medikamentverabreichende_Institution -} - -Rezeptanforderung_Rezeptuebermittlung::Strukturierter_Verordnungsdatensatz *-- Strukturierter_Verordnungsdatensatz - - - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderungen-pflege-kim.puml b/Resources/puml/old/rezeptanforderungen-pflege-kim.puml deleted file mode 100644 index e743585f..00000000 --- a/Resources/puml/old/rezeptanforderungen-pflege-kim.puml +++ /dev/null @@ -1,52 +0,0 @@ -@startuml - -'top to bottom direction - -'skinparam linetype ortho -hide circle -hide methods - -class "Fachliche \nInformationseinheit" as Businessobject #BUSINESS - -class "Rezeptanforderung" as Rezeptanforderung #BUSINESS -class "Rezeptanforderung_Storno" as Rezeptanforderung_Storno #BUSINESS -class "Rezeptanforderung_Rezeptübermittlung" as Rezeptanforderung_Rezeptübermittlung #BUSINESS -class "Dispensieranforderung_Rezeptübermittlung" as Dispensieranforderung_Rezeptübermittlung #BUSINESS - -class "FHIR-Bundle" as Fhirbundle #APPLICATION -class "KIM-Nachricht" as KIMNachricht #TECHNOLOGY - -class "Empfänger" as Empfaenger #TECHNOLOGY -class "Absender" as Absender #TECHNOLOGY -class "E-Rezept" as ERezept -class "E-Rezept-Token" as ERezepttoken -class "Verordnung" as Medication -class "Versicherter" as Versicherter -class "Dispensierung" as Dispensierung - -Rezeptanforderung_Rezeptübermittlung -left|> Businessobject: ist eine -Rezeptanforderung -down|> Businessobject: ist eine -Rezeptanforderung_Storno -left|> Businessobject: ist eine -Rezeptanforderung_Storno -down|> Businessobject: ist eine -Dispensieranforderung_Rezeptübermittlung -|> Businessobject: ist eine - -Rezeptanforderung -up- "1..1" Versicherter: bezieht sich auf > -Rezeptanforderung_Storno -- "1..1" Rezeptanforderung: revidiert > -Rezeptanforderung_Storno -- "1..1" Rezeptanforderung: beantwortet > -Rezeptanforderung_Rezeptübermittlung -- "1..1" Rezeptanforderung: beantwortet > -Rezeptanforderung_Rezeptübermittlung -- "1..1" ERezepttoken: enthält > -Dispensieranforderung_Rezeptübermittlung -- "1..1" ERezepttoken: enthält > -Dispensieranforderung_Rezeptübermittlung -- "1..1" Dispensierung: enthält > -Dispensieranforderung_Rezeptübermittlung -- "1..1" Rezeptanforderung_Rezeptübermittlung: aggregiert > -ERezepttoken -right- "1..1" ERezept: referenziert auf > -ERezept -right- "1..1" Medication: enthält > - -KIMNachricht -- "1..1" Empfaenger: hat > -KIMNachricht -- "1..1" Absender: hat > - -Businessobject -right- "1..1" Fhirbundle: wird repräsentiert als > - -Fhirbundle "1..1" -- "0..1" KIMNachricht: ist enthalten in > -Rezeptanforderung -- "1..1" ERezept: bezieht sich auf > - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderungen-pflege-spezialfall-businessobjects-inhalte.puml b/Resources/puml/old/rezeptanforderungen-pflege-spezialfall-businessobjects-inhalte.puml deleted file mode 100644 index b29e9417..00000000 --- a/Resources/puml/old/rezeptanforderungen-pflege-spezialfall-businessobjects-inhalte.puml +++ /dev/null @@ -1,47 +0,0 @@ -@startuml - -'top to bottom direction - -'skinparam linetype ortho -hide circle -hide methods - -'object "Fachliche \nInformationseinheit" as Businessobject #BUSINESS - -class "Rezeptanforderung" as Rezeptanforderung #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - #Prioritaet - #Adressat_der_Rezeptanforderung - #Adressat_der_Rezeptuebermittlung - #Patienteninformationen - #Vorheriges_Rezept - ..medizinische Informationen.. - #Praeparat - #Bedarfsbegruendung - #Restreichweite - ..ergänzende Informationen.. - #Freitext -} - -class "Rezeptanforderung_Rezeptübermittlung" as Rezeptanforderung_Rezeptübermittlung #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - ..medizinische Informationen.. - #Strukturierter_Verordnungsdatensatz - #Hinweise_fuer_Empfaenger - ..ergänzende Informationen.. - #Freitext -} - - -class "Rezeptanforderung_Storno" as Rezeptanforderung_Storno #BUSINESS { - ..administrative Informationen.. - #Vorgangs-ID - #Begründung der Stornierung -} - -Rezeptanforderung_Storno -up- Rezeptanforderung: revidiert > -Rezeptanforderung_Rezeptübermittlung -left- Rezeptanforderung: beantwortet > - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/rezeptanforderungen-zyto-businessobjects-inhalte.puml b/Resources/puml/old/rezeptanforderungen-zyto-businessobjects-inhalte.puml deleted file mode 100644 index e4115252..00000000 --- a/Resources/puml/old/rezeptanforderungen-zyto-businessobjects-inhalte.puml +++ /dev/null @@ -1,56 +0,0 @@ -@startuml - -'top to bottom direction - -'skinparam linetype ortho -hide circle -hide methods - -class "Rezeptanforderung" as Rezeptanforderung #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - #Fall_ID - #Patienten_ID - #Prioritaet - #Adressat_der_Rezeptanforderung - #Adressat_der_Rezeptuebermittlung - #Patienteninformationen - #Vorheriges_Rezept - ..medizinische Informationen.. - #Praeparat / Zubereitung - #Bedarfsbegruendung - ..ergänzende Informationen.. - #Freitext -} - -class "Rezeptanforderung_Rezeptübermittlung" as Rezeptanforderung_Rezeptübermittlung #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - #Fall_ID - #Patienten_ID - #ERezept_Access_Code - #ERezept_Task_ID - ..medizinische Informationen.. - #Strukturierter_Verordnungsdatensatz - #Hinweise_fuer_Empfaenger - ..ergänzende Informationen.. - #Unstrukturierter_Dateianhang - #Freitext -} - -class "Rezeptanforderung_Storno" as Rezeptanforderung_Storno #BUSINESS { - ..administrative Informationen.. - #Vorgangs_ID - #Fall_ID - #Patienten_ID - ..medizinische Informationen.. - #Begruendung_der_Stornierung - ..ergänzende Informationen.. - #Freitext -} - - -Rezeptanforderung_Storno -up- Rezeptanforderung: revidiert > -Rezeptanforderung_Rezeptübermittlung -up- Rezeptanforderung: beantwortet > - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/uc-rezept-uebermitteln.puml b/Resources/puml/old/uc-rezept-uebermitteln.puml deleted file mode 100644 index 457656ac..00000000 --- a/Resources/puml/old/uc-rezept-uebermitteln.puml +++ /dev/null @@ -1,93 +0,0 @@ -@startuml - -skinparam sequence { - ArrowColor black - ActorBorderColor black - LifeLineBorderColor darkgray - LifeLineBackgroundColor #ffffc0 - - ParticipantBorderColor black - ParticipantBackgroundColor #ffffc0 - ParticipantFontName Arial - ParticipantFontSize 14 - ParticipantFontColor black - - ActorBackgroundColor #ffffc0 - ActorFontColor #303030 - ActorFontSize 14 - ActorFontName Arial - - BoxBorderColor gray -} - -skinparam maxMessageSize 250 -title Rezept zu einer Rezeptanforderung übermitteln durch LEI des Verordnenden -hide footbox -autonumber - -actor "Verordnender Leistungserbringer" as Arzt #BUSINESS -participant "Primärsystem verordnender \nLeistungserbringerinstitution" as PS_Arzt #BUSINESS -participant "E-Rezept \nFachdienst" as erpFD #BUSINESS -participant "KIM \nClientmodul" as Kim_cm #TECHNOLOGY -participant "KIM \nFachdienst" as Kim_fd #TECHNOLOGY - -Arzt -> PS_Arzt++: Rezeptanforderung bearbeiten() - -PS_Arzt -> Arzt++: Vorgang präsentieren(Vorgang, Medikationsabweichung) - note right - Präsentation z.B. in - Form einer Signaturliste - end note - -alt LE entscheidet: keine Modifikation notwendig - Arzt -> Arzt: vorliegender Rezeptanforderung zustimmen(Rezeptanforderung) - note right - Zustimmung z.B. aufgrund einer festgestellten Übereinstimmung der - Dauermedikation mit der Rezeptanforderung (Medikationsabweichung = NULL) - end note - Arzt --> PS_Arzt++: :Rezeptanforderung, :Zustimmung - -else LE entscheidet: Modifikation notwendig - Arzt -> Arzt: vorliegende Rezeptanforderung anpassen(Rezeptanforderung) - Arzt --> PS_Arzt: :angepasste Rezeptanforderung -end - -deactivate Arzt - -ref over Arzt, PS_Arzt, erpFD #lightyellow - E-Rezept einstellen -end ref - - -alt Vorgang.GEM_PR_ERP_MEDREQ_RequestBundle.\nGEM_PR_ERP_MEDREQ_MedicationRequest.\nextension:PrescriptionDeliveryType=RequestingOrganisation - PS_Arzt -> PS_Arzt++: KIM-Adresse des Empfängers übernehmen(Vorgang.GEM_PR_ERP_MEDREQ_RequestBundle. GEM_PR_ERP_MEDREQ_Organization[Bundle.entry=RequestingOrganization]. telecom.value) - return :gültige KIM-Adresse -else Vorgang.GEM_PR_ERP_MEDREQ_RequestBundle.\nGEM_PR_ERP_MEDREQ_MedicationRequest.\nextension:PrescriptionDeliveryType=DispensingOrganisation - PS_Arzt -> PS_Arzt++: KIM-Adresse des Empfängers übernehmen(Vorgang.GEM_PR_ERP_MEDREQ_RequestBundle. GEM_PR_ERP_MEDREQ_Organization[Bundle.entry=DispensingOrganization]. telecom.value) - return :gültige KIM-Adresse -else Vorgang.GEM_PR_ERP_MEDREQ_RequestBundle.\nGEM_PR_ERP_MEDREQ_MedicationRequest.\nextension:PrescriptionDeliveryType=SelfPickup - PS_Arzt -x PS_Arzt: Ablauf abbrechen und Rezeptvorgang schließen() -end - - -PS_Arzt -> PS_Arzt++: FHIR-Bundle "GEM_PR_ERP_MEDREQ_ResponseBundle" generieren(Rezept_ID) -return :GEM_PR_ERP_MEDREQ_ResponseBundle - - -PS_Arzt -> PS_Arzt++: Mail-MIME-Attachment generieren(GEM_PR_ERP_MEDREQ_ResponseBundle) -return :Mail-Attachment - -PS_Arzt -> PS_Arzt++: Mail generieren(Mail-Attachment, gültige KIM-Adresse, X-KIM-Header-Information:= X-KIM-Dienstkennung="E-Rezept;Rezeptanforderung_Rezeptuebermittlung;V1.0") -return :KIM-Mail - -PS_Arzt -> Kim_cm++#TECHNOLOGY: KIM-Mail senden mit "GEM_PR_ERP_MEDREQ_ResponseBundle" als Payload(KIM-Mail) - -group #LightYellow KIM Standardkommunikation -ref over Kim_cm, Kim_fd #lightyellow - KIM-Mail senden -end ref - -return :Status -end group - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/uc-rezeptanforderung-ablehnen.puml b/Resources/puml/old/uc-rezeptanforderung-ablehnen.puml deleted file mode 100644 index 2fb65f3f..00000000 --- a/Resources/puml/old/uc-rezeptanforderung-ablehnen.puml +++ /dev/null @@ -1,72 +0,0 @@ -@startuml - -skinparam sequence { - ArrowColor black - ActorBorderColor black - LifeLineBorderColor darkgray - LifeLineBackgroundColor #ffffc0 - - ParticipantBorderColor black - ParticipantBackgroundColor #ffffc0 - ParticipantFontName Arial - ParticipantFontSize 14 - ParticipantFontColor black - - ActorBackgroundColor #ffffc0 - ActorFontColor #303030 - ActorFontSize 14 - ActorFontName Arial - - BoxBorderColor gray -} - -skinparam maxMessageSize 250 -title Ablehnung zu einer Rezeptanforderung übermitteln durch LEI des Verordnenden -hide footbox -autonumber - -actor "Verordnender Leistungserbringer" as Arzt -participant "Primärsystem verordnender \nLeistungserbringerinstitution" as PS_Arzt -participant "KIM \nClientmodul" as Kim_cm #TECHNOLOGY -participant "KIM \nFachdienst" as Kim_fd #TECHNOLOGY - -Arzt -> PS_Arzt++: Rezeptanforderung bearbeiten() - -PS_Arzt -> Arzt++: Vorgang präsentieren(Vorgang, Medikationsabweichung) - note right - Präsentation z.B. in - Form einer Signaturliste - end note - -Arzt -> Arzt: vorliegende Rezeptanforderung ablehnen(Rezeptanforderung) - note right - Ablehnung z.B. aufgrund einer festgestellten Medikationsabweichung - end note -Arzt --> PS_Arzt++: :Rezeptanforderung, :Ablehnung -deactivate Arzt - -PS_Arzt -> PS_Arzt++: KIM-Adresse des Empfängers übernehmen(Vorgang.GEM_PR_ERP_MEDREQ_RequestBundle. GEM_PR_ERP_MEDREQ_Organization[Bundle.entry=RequestingOrganization]. telecom.value) -return :gültige KIM-Adresse - -PS_Arzt -> PS_Arzt++: FHIR-Bundle "GEM_PR_ERP_MEDREQ_CancellationBundle" generieren(Vorgang.Vorgangs_ID, Ablehnung.Ablehnungsgrund) -return :GEM_PR_ERP_MEDREQ_CancellationBundle - -PS_Arzt -> PS_Arzt++: Mail-MIME-Attachment generieren(GEM_PR_ERP_MEDREQ_CancellationBundle) -return :Mail-Attachment - -PS_Arzt -> PS_Arzt++: Mail generieren(Mail-Attachment, gültige KIM-Adresse, X-KIM-Header-Information:= X-KIM-Dienstkennung="E-Rezept;Rezeptanforderung_Ablehnung;V1.0") -return :KIM-Mail - -PS_Arzt -> Kim_cm++#TECHNOLOGY: KIM-Mail senden mit "GEM_PR_ERP_MEDREQ_CancellationBundle" Bundle als Payload(KIM-Mail) - - -group #LightYellow KIM Standardkommunikation -ref over Kim_cm, Kim_fd #lightyellow - KIM-Mail senden -end ref - -return :Status -end group - - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/uc-rezeptanforderung-empfangen.puml b/Resources/puml/old/uc-rezeptanforderung-empfangen.puml deleted file mode 100644 index a5f4e9df..00000000 --- a/Resources/puml/old/uc-rezeptanforderung-empfangen.puml +++ /dev/null @@ -1,72 +0,0 @@ -@startuml - -skinparam sequence { - ArrowColor black - ActorBorderColor black - LifeLineBorderColor darkgray - LifeLineBackgroundColor #ffffc0 - - ParticipantBorderColor black - ParticipantBackgroundColor #ffffc0 - ParticipantFontName Arial - ParticipantFontSize 14 - ParticipantFontColor black - - ActorBackgroundColor #ffffc0 - ActorFontColor #303030 - ActorFontSize 14 - ActorFontName Arial - - BoxBorderColor gray -} - -skinparam maxMessageSize 250 -title Rezeptanforderung empfangen durch LEI des Verordnenden -hide footbox -autonumber - -actor "Verordnender Leistungserbringer \noder Mitarbeiter der LEI" as Arzt -participant "Primärsystem verordnender \nLeistungserbringerinstitution" as PS_Arzt -'participant "E-Rezept Fachdienst" as erpFD #APPLICATION -participant "KIM \nClientmodul" as Kim_cm #TECHNOLOGY -participant "KIM \nFachdienst" as Kim_fd #TECHNOLOGY - -activate PS_Arzt -PS_Arzt -> Kim_cm++#TECHNOLOGY: neue Mail (periodisch) abrufen() - -group #LightYellow KIM Standardkommunikation - ref over Kim_cm, Kim_fd - KIM-Mail empfangen - end ref -end - -return :KIM-Mail - -PS_Arzt -> PS_Arzt: X-KIM-Header-Information auswerten(KIM-Mail) - -alt X-KIM-Dienstkennung="E-Rezept;Rezeptanforderung;V1.0" - - PS_Arzt -> PS_Arzt++: Mail Payload extrahieren(KIM-Mail) - PS_Arzt -> PS_Arzt: MIME-Attachment dekodieren(KIM-Mail) - return :FHIR-Bundle "GEM_PR_ERP_MEDREQ_RequestBundle", :Absender - - - PS_Arzt -> PS_Arzt++: Informationen extrahieren(FHIR-Bundle "GEM_PR_ERP_MEDREQ_RequestBundle") - return :Vorgangs_ID, :Rezeptanforderung - - PS_Arzt -> PS_Arzt: Vorgang anlegen(Vorgangs_ID) - - PS_Arzt -> PS_Arzt++: Versorgerinformationen aktualisieren(Rezeptanforderung.Adressat_der_Rezeptanforderung, Rezeptanforderung.Adressat_der_Rezeptuebermittlung) - return :Versorgerabweichung - - alt Versorgerabweichung NOT NULL - PS_Arzt -> Arzt++: präsentiere Veränderungen bei Versorgern() - return :Kenntnisnahme - end - -PS_Arzt -> PS_Arzt++: Medikationen vergleichen(Vorgang.GEM_PR_ERP_MEDREQ_RequestBundle. GEM_PR_ERP_MEDREQ_MedicationRequest. KBV_PR_ERP_Medication_*, Versicherter.Dauermedikation) -return :Medikationsabweichung - -end - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/uc-rezeptanforderung-stellen.puml b/Resources/puml/old/uc-rezeptanforderung-stellen.puml deleted file mode 100644 index 39748c22..00000000 --- a/Resources/puml/old/uc-rezeptanforderung-stellen.puml +++ /dev/null @@ -1,112 +0,0 @@ -@startuml - -skinparam sequence { - ArrowColor black - ActorBorderColor black - LifeLineBorderColor darkgray - LifeLineBackgroundColor #ffffc0 - - ParticipantBorderColor black - ParticipantBackgroundColor #ffffc0 - ParticipantFontName Arial - ParticipantFontSize 14 - ParticipantFontColor black - - ActorBackgroundColor #ffffc0 - ActorFontColor #303030 - ActorFontSize 14 - ActorFontName Arial - - BoxBorderColor gray -} - -skinparam maxMessageSize 450 -title Stellen einer Rezeptanforderung durch Pflegeeinrichtung oder beauftragte Apotheke -hide footbox -autonumber - -actor "Mitarbeiter Pflege \noder Apotheke" as MA #BUSINESS -participant "Primärsystem der \nPflegeeinrichtung oder AVS" as PS #BUSINESS -participant "Verzeichnisdienst" as VZD #TECHNOLOGY -participant "KIM \nClientmodul" as Kim_cm #TECHNOLOGY -participant "KIM \nFachdienst" as Kim_fd #TECHNOLOGY - -PS o-> PS: versicherten- und medikationsbezogenes Auslöseereignis, z.B. \nReichweitenende, Bedarfsfeststellung - -activate PS -PS -> PS++: letzten relevanten Rezeptvorgang des Versicherten ermitteln(Versicherter) -return :Versicherter.Vorgang - - -alt Versicherter.Vorgang = NULL - - PS -> MA: Verordnungsinhalt abfragen() - activate MA - MA -> MA: Veordnungsinhalt erfassen() - return :Verordnungsinhalt - deactivate MA - -else Versicherter.Vorgang NOT NULL - - PS -> PS++: Verordnungsinhalt zusammenstellen(Versicherter.Vorgang.GEM_PR_ERP_MEDREQ_DispenseInformationBundle. KBV_PR_ERP_Prescription.KBV_PR_ERP_Medication_*) - return :Verordnungsinhalt - - opt - PS -> MA: Verordnungsinhalt vorschlagen() - activate MA - MA -> MA: Veordnungsinhalt modifizieren() - return :Verordnungsinhalt - deactivate MA - end - -end - -PS -> PS++: Vorgang anlegen(NEW Vorgangs_ID) - -PS -> PS++: Rezeptanforderung generieren(Verordnungsinhalt) - -PS -> PS: Rezeptanforderung konfigurieren(Prioritaet, Adressat_der_Rezeptanforderung, Adressat_der_Rezeptuebermittlung, Patienteninformationen, Vorheriges_Rezept, Restreichweite) -return :Rezeptanforderung - -alt Keine gültige KIM-Adresse des Verordnenden des Versicherten bekannt - - PS -> VZD++#TECHNOLOGY: KIM-Adresse abfragen(Suchkriterien des Verordnenden) - note left - Suchkriterien z.B. Name, - Telematik-ID des Verordnenden, - Adressinformationen o.ä. - end note - return :gültige KIM-Adresse - -else >= 1 Vorgängerverordnungen zum Versicherten vorhanden UND VZD-Zugriff möglich - - PS -> VZD++#TECHNOLOGY: KIM-Adresse abfragen(Versicherter.Vorgang.GEM_PR_ERP_MEDREQ_DispenseInformationBundle. KBV_PR_ERP_Prescription.KBV_PR_FOR_Practitioner. identifier=Telematik-ID) - return :gültige KIM-Adresse - -else >= 1 Vorgängerverordnungen zum Versicherten vorhanden UND VZD-Zugriff nicht möglich - - PS -> PS++: KIM-Adresse abfragen(Versicherter.Vorgang.GEM_PR_ERP_MEDREQ_ResponseBundle. GEM_PR_ERP_MEDREQ_Organization[Bundle.entry=PrescribingOrganization]. telecom.value) - return :gültige KIM-Adresse - -end - -PS -> PS++: FHIR-Bundle "GEM_PR_ERP_MEDREQ_RequestBundle" generieren(Rezeptanforderung) -return :GEM_PR_ERP_MEDREQ_RequestBundle - -PS -> PS++: Mail-MIME-Attachment generieren(GEM_PR_ERP_MEDREQ_RequestBundle) -return :Mail-Attachment - -PS -> PS++: Mail generieren(Mail-Body, Mail-Attachment, gültige KIM-Adresse, X-KIM-Header-Information:=X-KIM-Dienstkennung="E-Rezept;Rezeptanforderung;v1.0") -return :KIM-Mail - -PS -> Kim_cm++#TECHNOLOGY: KIM-Mail senden mit GEM_PR_ERP_MEDREQ_RequestBundle als Payload(KIM-Mail) - -group #LightYellow KIM Standardkommunikation -ref over Kim_cm, Kim_fd #lightyellow - KIM-Mail senden -end ref - -return :Status -end group - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/uc-rezeptanforderung-stornieren.puml b/Resources/puml/old/uc-rezeptanforderung-stornieren.puml deleted file mode 100644 index 7fc8fcbd..00000000 --- a/Resources/puml/old/uc-rezeptanforderung-stornieren.puml +++ /dev/null @@ -1,73 +0,0 @@ -@startuml - -skinparam sequence { - ArrowColor black - ActorBorderColor black - LifeLineBorderColor darkgray - LifeLineBackgroundColor #ffffc0 - - ParticipantBorderColor black - ParticipantBackgroundColor #ffffc0 - ParticipantFontName Arial - ParticipantFontSize 14 - ParticipantFontColor black - - ActorBackgroundColor #ffffc0 - ActorFontColor #303030 - ActorFontSize 14 - ActorFontName Arial - - BoxBorderColor gray -} - -skinparam maxMessageSize 300 -title Stornieren einer Rezeptanforderung durch Pflegeeinrichtung oder beauftragte Apotheke -hide footbox -autonumber - -actor "Mitarbeiter Pflege \noder Apotheke" as MA #BUSINESS -participant "Primärsystem der \nPflegeeinrichtung oder AVS" as PS #BUSINESS -participant "KIM \nClientmodul" as Kim_cm #TECHNOLOGY -participant "KIM \nFachdienst" as Kim_fd #TECHNOLOGY - -activate MA -MA -> PS: Stornierung auslösen() -deactivate MA - -activate PS -PS -> MA++: Rezeptvorgang abfragen() -MA -> MA: Rezeptvorgang aus Liste möglicher Vorgänge auswählen() -MA -> MA: Begründung eingeben oder aus Liste möglicher Begründungen auswählen() -return :Vorgangs_ID, :Begründung - -PS -> PS++: Empfängeradresse ermitteln(Vorgangs_ID) -return :gültige KIM-Adresse - - -PS -> PS++: Stornierung generieren(Vorgangs_ID, Begründung) -return :Stornierung - - - -PS -> PS++: FHIR-Bundle "GEM_PR_ERP_MEDREQ_CancellationBundle" generieren(Stornierung) -return :GEM_PR_ERP_MEDREQ_CancellationBundle - -PS -> PS++: Mail-MIME-Attachment generieren(GEM_PR_ERP_MEDREQ_CancellationBundle) -return :Mail-Attachment - -PS -> PS++: Mail generieren(Mail-Attachment, gültige KIM-Adresse, X-KIM-Header-Information:=X-KIM-Dienstkennung="E-Rezept;Rezeptanforderung_Storno;V1.0") -return :KIM-Mail - -PS -> Kim_cm++#TECHNOLOGY: KIM-Mail senden mit GEM_PR_ERP_MEDREQ_CancellationBundle als Payload(KIM-Mail) - -group #LightYellow KIM Standardkommunikation -ref over Kim_cm, Kim_fd #lightyellow - KIM-Mail senden -end ref - -return :Status -end group - - - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/uc-rezeptanforderungablehnung-empfangen.puml b/Resources/puml/old/uc-rezeptanforderungablehnung-empfangen.puml deleted file mode 100644 index 06480041..00000000 --- a/Resources/puml/old/uc-rezeptanforderungablehnung-empfangen.puml +++ /dev/null @@ -1,65 +0,0 @@ -@startuml - -skinparam sequence { - ArrowColor black - ActorBorderColor black - LifeLineBorderColor darkgray - LifeLineBackgroundColor #ffffc0 - - ParticipantBorderColor black - ParticipantBackgroundColor #ffffc0 - ParticipantFontName Arial - ParticipantFontSize 14 - ParticipantFontColor black - - ActorBackgroundColor #ffffc0 - ActorFontColor #303030 - ActorFontSize 14 - ActorFontName Arial - - BoxBorderColor gray -} - -skinparam maxMessageSize 300 -title Empfangen einer Ablehnung einer Rezeptanforderung durch Pflegeeinrichtung oder beauftragte Apotheke -hide footbox -autonumber - -actor "Mitarbeiter Pflege \noder Apotheke" as MA #BUSINESS -participant "Primärsystem der \nPflegeeinrichtung oder AVS" as PS #BUSINESS -participant "KIM \nClientmodul" as Kim_cm #TECHNOLOGY -participant "KIM \nFachdienst" as Kim_fd #TECHNOLOGY - - -activate PS -PS -> Kim_cm++: neue Mail abrufen() - -group #LightYellow KIM Standardkommunikation - ref over Kim_cm, Kim_fd - KIM-Mail empfangen - end ref -end - -return :KIM-Mail - -PS -> PS: X-KIM-Header-Information auswerten(KIM-Mail) - - -alt X-KIM-Dienstkennung="E-Rezept;Rezeptanforderung_Ablehnung;V1.0" - - PS -> PS++: Mail Payload extrahieren(KIM-Mail) - PS -> PS: MIME-Attachment dekodieren(KIM-Mail) - return :FHIR-Bundle "GEM_PR_ERP_MEDREQ_CancellationBundle" - - PS -> PS++: Informationen extrahieren(FHIR-Bundle "GEM_PR_ERP_MEDREQ_CancellationBundle") - return :Vorgangs_ID, :Ablehnungsgrund - - PS -> PS: Rezeptvorgang aktualisieren und schließen(Vorgangs_ID, Ablehnungsgrund) - - opt PS-Nutzer informieren - PS -> MA: über Ablehnung informieren() - end - -end - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/uc-verordnungsdispensierungsinformation-empfangen.puml b/Resources/puml/old/uc-verordnungsdispensierungsinformation-empfangen.puml deleted file mode 100644 index 3b2a6def..00000000 --- a/Resources/puml/old/uc-verordnungsdispensierungsinformation-empfangen.puml +++ /dev/null @@ -1,60 +0,0 @@ -@startuml - -skinparam sequence { - ArrowColor black - ActorBorderColor black - LifeLineBorderColor darkgray - LifeLineBackgroundColor #ffffc0 - - ParticipantBorderColor black - ParticipantBackgroundColor #ffffc0 - ParticipantFontName Arial - ParticipantFontSize 14 - ParticipantFontColor black - - ActorBackgroundColor #ffffc0 - ActorFontColor #303030 - ActorFontSize 14 - ActorFontName Arial - - BoxBorderColor gray -} - -skinparam maxMessageSize 300 -title Empfangen von Verordnungs- und Dispensierinformationen einer \nerfolgreichen Rezeptanforderung durch eine Pflegeeinrichtung -hide footbox -autonumber - -participant "Primärsystem der \nPflegeeinrichtung" as PS #BUSINESS -participant "KIM \nClientmodul" as Kim_cm #TECHNOLOGY -participant "KIM \nFachdienst" as Kim_fd #TECHNOLOGY - - -activate PS -PS -> Kim_cm++#TECHNOLOGY: neue Mail (periodisch) abrufen() - -group #LightYellow KIM Standardkommunikation - ref over Kim_cm, Kim_fd - KIM-Mail empfangen - end ref -end - -return :KIM-Mail - -PS -> PS: X-KIM-Header-Information auswerten(KIM-Mail) - - -alt X-KIM-Dienstkennung="E-Rezept;Verordnung_Dispensierung;V1.0" - - PS -> PS++: Mail Payload extrahieren(KIM-Mail) - PS -> PS: MIME-Attachment dekodieren(KIM-Mail) - return :FHIR-Bundle "GEM_PR_ERP_MEDREQ_DispenseInformationBundle" - - PS -> PS++: Informationen extrahieren(FHIR-Bundle "GEM_PR_ERP_MEDREQ_DispenseInformationBundle") - return :Vorgangs_ID, :Verordnungsdatensatz, :Dispensierungsdatensatz - - PS -> PS: Rezeptvorgang aktualisieren und schließen(Vorgangs_ID, Verordnungsdatensatz, Dispensierungsdatensatz) - -end - -@enduml \ No newline at end of file diff --git a/Resources/puml/old/uc-verordnungsdispensierungsinformation-uebermitteln.puml b/Resources/puml/old/uc-verordnungsdispensierungsinformation-uebermitteln.puml deleted file mode 100644 index 5a9a12e7..00000000 --- a/Resources/puml/old/uc-verordnungsdispensierungsinformation-uebermitteln.puml +++ /dev/null @@ -1,71 +0,0 @@ -@startuml - -skinparam sequence { - ArrowColor black - ActorBorderColor black - LifeLineBorderColor darkgray - LifeLineBackgroundColor #ffffc0 - - ParticipantBorderColor black - ParticipantBackgroundColor #ffffc0 - ParticipantFontName Arial - ParticipantFontSize 14 - ParticipantFontColor black - - ActorBackgroundColor #ffffc0 - ActorFontColor #303030 - ActorFontSize 14 - ActorFontName Arial - - BoxBorderColor gray -} - -skinparam maxMessageSize 400 -title Versenden von Verordnungs- und Dispensierinformationen einer \nerfolgreichen Rezeptanforderung durch die liefernde Apotheke -hide footbox -autonumber - -participant "AVS" as PS #BUSINESS -participant "KIM \nClientmodul" as Kim_cm #TECHNOLOGY -participant "KIM \nFachdienst" as Kim_fd #TECHNOLOGY - - - -PS o-> PS++: $close-Action durchgeführt UND Rezeptvorgang mit gleicher Rezept_ID vorhanden() - -PS -> PS++: Vorgang ermitteln(Rezept_ID) -return :Vorgang - -PS -> PS++: KIM-Adresse der Pflegeeinrichtung übernehmen(Vorgang.GEM_PR_ERP_MEDREQ_RequestBundle. GEM_PR_ERP_MEDREQ_Organization[Bundle.entry=RequestingOrganization]. telecom.value) -return :gültige KIM-Adresse - - - -PS -> PS++: Verordnungsdatensatz aus E-Rezept-FHIR-Bundle.patientReceipt übernehmen(Rezept_ID) -return :Verordnungsdatensatz - -PS -> PS++: MedicationDispense aus $close-Action übernehmen(Rezept_ID) -return :Dispensierungsdatensatz - -PS -> PS++: FHIR-Bundle "GEM_PR_ERP_MEDREQ_DispenseInformationBundle" generieren(Verordnungsdatensatz, Dispensierungsdatensatz) -return :GEM_PR_ERP_MEDREQ_DispenseInformationBundle - -PS -> PS++: Mail-MIME-Attachment generieren(GEM_PR_ERP_MEDREQ_DispenseInformationBundle) -return :Mail-Attachment - -PS -> PS++: Mail generieren(Mail-Attachment, gültige KIM-Adresse, X-KIM-Header-Information:= X-KIM-Dienstkennung="E-Rezept;Verordnung_Dispensierung;V1.0") -return :KIM-Mail - -PS -> Kim_cm++#TECHNOLOGY: KIM-Mail senden mit GEM_PR_ERP_MEDREQ_DispenseInformationBundle als Payload(KIM-Mail) - -group #LightYellow KIM Standardkommunikation -ref over Kim_cm, Kim_fd #lightyellow - KIM-Mail senden -end ref - -return :Status -end group - - - -@enduml \ No newline at end of file diff --git a/Resources/scripts/convert_to_pdf.py b/Resources/scripts/convert_to_pdf.py new file mode 100644 index 00000000..9e8fe499 --- /dev/null +++ b/Resources/scripts/convert_to_pdf.py @@ -0,0 +1,73 @@ +import os +import json +from lxml import etree +import pdfkit +from fhir.resources.R4B.bundle import Bundle + +# Set the locations relative to the script +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) +INPUT_FOLDER = os.path.join(SCRIPT_DIR, '../fsh-generated/resources') +OUTPUT_FOLDER = os.path.join(SCRIPT_DIR, './pdf_files') +XSLT_FILE = os.path.join(SCRIPT_DIR, '../xslt-stylesheets/rezeptanforderung.xsl') + +# Delete the output folder if it exists, then recreate it +if os.path.exists(OUTPUT_FOLDER): + for filename in os.listdir(OUTPUT_FOLDER): + file_path = os.path.join(OUTPUT_FOLDER, filename) + if os.path.isfile(file_path): + os.unlink(file_path) + elif os.path.isdir(file_path): + os.rmdir(file_path) +else: + os.makedirs(OUTPUT_FOLDER) + +# Ensure the output folder exists +os.makedirs(OUTPUT_FOLDER, exist_ok=True) + +# Function to convert JSON to XML using FHIR library +def json_to_xml_fhir(json_content): + bundle = Bundle(**json_content) # Create a Bundle resource from JSON content + xml_content = bundle.xml() # Convert the Bundle to XML + return xml_content + +# Function to apply XSLT to XML +def transform_xml_with_xslt(xml_content, xslt_file): + xslt = etree.parse(xslt_file) + transform = etree.XSLT(xslt) + xml_tree = etree.fromstring(xml_content.encode('utf-8')) + html_tree = transform(xml_tree) + return str(html_tree) + +# Main script to process files +def process_fhir_files(): + for filename in os.listdir(INPUT_FOLDER): + if filename.endswith('.json'): + input_filepath = os.path.join(INPUT_FOLDER, filename) + base_filename = os.path.splitext(filename)[0] + + # Step 1: Convert JSON to XML using FHIR library + with open(input_filepath, 'r') as f: + json_content = json.load(f) + if json_content.get('resourceType') == 'Bundle': + xml_content = json_to_xml_fhir(json_content) + else: + print(f'Skipping {filename}: Not a Bundle resource') + continue + + # Step 2: Transform XML with XSLT to HTML + html_content = transform_xml_with_xslt(xml_content, XSLT_FILE) + html_filepath = os.path.join(OUTPUT_FOLDER, f'{base_filename}.html') + with open(html_filepath, 'w') as f: + f.write(html_content) + + # Step 3: Convert HTML to PDF using xhtml2pdf + pdf_filepath = os.path.join(OUTPUT_FOLDER, f'{base_filename}.pdf') + pdfkit.from_string(html_content, pdf_filepath) + + # Optionally, remove the intermediate HTML file + os.remove(html_filepath) + + print(f'Processed {filename} -> {base_filename}.pdf') + +if __name__ == "__main__": + process_fhir_files() diff --git a/Resources/sushi-config.yaml b/Resources/sushi-config.yaml index 480cfca5..5c0cc3fb 100644 --- a/Resources/sushi-config.yaml +++ b/Resources/sushi-config.yaml @@ -2,12 +2,20 @@ canonical: https://gematik.de/fhir/erp-servicerequest fhirVersion: 4.0.1 applyExtensionMetadataToRoot: false FSHOnly: true -version: "1.1.0" +version: "1.2.0-rc2" dependencies: + # basisprofile hl7.fhir.r4.core: 4.0.1 - de.basisprofil.r4: 1.3.2 - de.gematik.erezept-workflow.r4: 1.2.x - de.gematik.fhir.atf: 1.3.x - KBV.Basis: 1.3.x - kbv.ita.for: 1.1.x + de.basisprofil.r4: 1.5.0 + + # gematik + de.gematik.fhir.atf: 1.4.0-rc2 + de.gematik.fhir.directory: 0.11.12 + de.gematik.erezept-workflow.r4: 1.4.x + de.gematik.epa: 1.1.0 + + # kbv kbv.ita.erp: 1.1.x + + # secondary dependencies for the build process + kbv.basis: 1.3.0 diff --git a/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Prior-Prescription-ID-Bundle.xml b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Prior-Prescription-ID-Bundle.xml new file mode 100644 index 00000000..ca07ff46 --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Prior-Prescription-ID-Bundle.xml @@ -0,0 +1,257 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Redeem-By-Patient-Bundle.xml b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Redeem-By-Patient-Bundle.xml new file mode 100644 index 00000000..0f3f8e79 --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Redeem-By-Patient-Bundle.xml @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Request-All-Pills.xml b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Request-All-Pills.xml new file mode 100644 index 00000000..08ae7aae --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Request-All-Pills.xml @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Request-MVO-Bundle.xml b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Request-MVO-Bundle.xml new file mode 100644 index 00000000..e6d7af50 --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Request-MVO-Bundle.xml @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Urgent-Bundle.xml b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Urgent-Bundle.xml new file mode 100644 index 00000000..37f610b7 --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Bundle-XSLT-Urgent-Bundle.xml @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Komplex-Rezeptanforderung-Multi.xml b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Komplex-Rezeptanforderung-Multi.xml new file mode 100644 index 00000000..cf7cbae8 --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Komplex-Rezeptanforderung-Multi.xml @@ -0,0 +1,503 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung-Multi.xml b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung-Multi.xml new file mode 100644 index 00000000..8bbc47ea --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung-Multi.xml @@ -0,0 +1,407 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_Freitext.xml b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_Freitext.xml new file mode 100644 index 00000000..2b140b4f --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_Freitext.xml @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_PZN.xml b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_PZN.xml new file mode 100644 index 00000000..43d30010 --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_PZN.xml @@ -0,0 +1,272 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_ReasonCode.xml b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_ReasonCode.xml new file mode 100644 index 00000000..e912de6c --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_ReasonCode.xml @@ -0,0 +1,271 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_Rezeptur.xml b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_Rezeptur.xml new file mode 100644 index 00000000..d977be64 --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_Rezeptur.xml @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_Storno.xml b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_Storno.xml new file mode 100644 index 00000000..919f9179 --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_Storno.xml @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_Wirkstoff.xml b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_Wirkstoff.xml new file mode 100644 index 00000000..c7be826e --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/1_Rezeptanforderung/Rezeptanforderung_Wirkstoff.xml @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
\ No newline at end of file diff --git "a/Resources/xslt-stylesheets/TestFiles/2_Rezeptbest\303\244tigung/Bundle-UC1-Rejection-Of-Prescriber.xml" "b/Resources/xslt-stylesheets/TestFiles/2_Rezeptbest\303\244tigung/Bundle-UC1-Rejection-Of-Prescriber.xml" new file mode 100644 index 00000000..00cff38a --- /dev/null +++ "b/Resources/xslt-stylesheets/TestFiles/2_Rezeptbest\303\244tigung/Bundle-UC1-Rejection-Of-Prescriber.xml" @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
\ No newline at end of file diff --git "a/Resources/xslt-stylesheets/TestFiles/2_Rezeptbest\303\244tigung/Bundle-XSLT-Changed-Medication-Bundle.xml" "b/Resources/xslt-stylesheets/TestFiles/2_Rezeptbest\303\244tigung/Bundle-XSLT-Changed-Medication-Bundle.xml" new file mode 100644 index 00000000..fbdbb16f --- /dev/null +++ "b/Resources/xslt-stylesheets/TestFiles/2_Rezeptbest\303\244tigung/Bundle-XSLT-Changed-Medication-Bundle.xml" @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
\ No newline at end of file diff --git "a/Resources/xslt-stylesheets/TestFiles/2_Rezeptbest\303\244tigung/Rezeptbest\303\244tigung.xml" "b/Resources/xslt-stylesheets/TestFiles/2_Rezeptbest\303\244tigung/Rezeptbest\303\244tigung.xml" new file mode 100644 index 00000000..c89d2cf7 --- /dev/null +++ "b/Resources/xslt-stylesheets/TestFiles/2_Rezeptbest\303\244tigung/Rezeptbest\303\244tigung.xml" @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung.xml b/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung.xml new file mode 100644 index 00000000..a531c1fe --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung.xml @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/DispensieranforderungAlternativeAdr.xml b/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/DispensieranforderungAlternativeAdr.xml new file mode 100644 index 00000000..94dc8118 --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/DispensieranforderungAlternativeAdr.xml @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Abholung_Patient.xml b/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Abholung_Patient.xml new file mode 100644 index 00000000..1dadd65b --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Abholung_Patient.xml @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Abholung_Pflege.xml b/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Abholung_Pflege.xml new file mode 100644 index 00000000..be223287 --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Abholung_Pflege.xml @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Dringend.xml b/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Dringend.xml new file mode 100644 index 00000000..b5dcef04 --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Dringend.xml @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Lieferung_Pflege.xml b/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Lieferung_Pflege.xml new file mode 100644 index 00000000..0861b3f5 --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Lieferung_Pflege.xml @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Lieferung_Pflege_Alt.xml b/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Lieferung_Pflege_Alt.xml new file mode 100644 index 00000000..501d4238 --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/3_Dispensieranforderung/Dispensieranforderung_Lieferung_Pflege_Alt.xml @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
\ No newline at end of file diff --git "a/Resources/xslt-stylesheets/TestFiles/4_Dispensierbest\303\244tigung/Dispensierbest\303\244tigung.xml" "b/Resources/xslt-stylesheets/TestFiles/4_Dispensierbest\303\244tigung/Dispensierbest\303\244tigung.xml" new file mode 100644 index 00000000..b121cef1 --- /dev/null +++ "b/Resources/xslt-stylesheets/TestFiles/4_Dispensierbest\303\244tigung/Dispensierbest\303\244tigung.xml" @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git "a/Resources/xslt-stylesheets/TestFiles/4_Dispensierbest\303\244tigung/Dispensierbest\303\244tigung_Multiple.xml" "b/Resources/xslt-stylesheets/TestFiles/4_Dispensierbest\303\244tigung/Dispensierbest\303\244tigung_Multiple.xml" new file mode 100644 index 00000000..3ca17a63 --- /dev/null +++ "b/Resources/xslt-stylesheets/TestFiles/4_Dispensierbest\303\244tigung/Dispensierbest\303\244tigung_Multiple.xml" @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/TestFiles/5_Kopie/Rezeptanforderung-COPY.xml b/Resources/xslt-stylesheets/TestFiles/5_Kopie/Rezeptanforderung-COPY.xml new file mode 100644 index 00000000..0b9abda5 --- /dev/null +++ b/Resources/xslt-stylesheets/TestFiles/5_Kopie/Rezeptanforderung-COPY.xml @@ -0,0 +1,401 @@ + + + + + + + + + + + + + + + + + ~ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
+
+
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + +
+
+
+
\ No newline at end of file diff --git "a/Resources/xslt-stylesheets/TestFiles/5_Kopie/Rezeptbest\303\244tigung-COPY.xml" "b/Resources/xslt-stylesheets/TestFiles/5_Kopie/Rezeptbest\303\244tigung-COPY.xml" new file mode 100644 index 00000000..fd058141 --- /dev/null +++ "b/Resources/xslt-stylesheets/TestFiles/5_Kopie/Rezeptbest\303\244tigung-COPY.xml" @@ -0,0 +1,484 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
+
+
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + +
+
+
+
\ No newline at end of file diff --git a/Resources/xslt-stylesheets/rezeptanforderung.xsl b/Resources/xslt-stylesheets/rezeptanforderung.xsl new file mode 100644 index 00000000..b8005b84 --- /dev/null +++ b/Resources/xslt-stylesheets/rezeptanforderung.xsl @@ -0,0 +1,1011 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + FHIR Message Bundle + + + +
+ +
+ + + + + + + + +
+ +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + +
+
+
+
+
+ + +
+ + + +
+ + + + + +

+ + + +

+

+ + + + , + + + +

+

+ + + + +

+
+
+ +
+
+
+ + + + +
+ + + + +

+ Tel.: + +
+ + + + + + KIM: + + + + KIM: + + +

+
+
+
+
+
+ + + + + + +
+ + + + + +
+ +
+
+
+ + + +
+ + +
+

+ + + + Rezeptanforderung + + + Stornierung einer Rezeptanfrage + + + Ablehnung einer Rezeptanfrage + + + Rezeptbestätigung und Übermittlung + + + Anfrage zur Abgabe eines Medikaments + + + Bestätigung der Medikamentenabgabe + + + + + Kopie einer Rezeptanforderung + + + Kopie einer Stornierung einer Rezeptanforderung + + + Kopie einer Ablehnung einer Rezeptanforderung + + + Kopie einer Rezeptbestätigung + + + + + + Unknown Subject + + +

+
+ +
+

Dies ist die Kopie einer initialen Nachricht, gesendet von:

+ + + +
+

an:

+
+ + + +
+
+
+
+
+ + + + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nr.ArtikelPkgMEDOSReichweite/ BedarfszeitraumNotiz
+ + + +
+ + + + + + + +
+
+ + + + + + + + + + + + +   + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + + + + + + / +
bis +
+ + +
+
+ +
+
+
+ + + Begründung +
+
+ + + + + Reichweite erschöpft (Dauermedikation): + + + Korrektur: + + + nach Vitalwertmessung: + + + nach Bedarf: + + + + + + + + + + + + +
+
+
+ +
Dringend
+
+ +
Patienteneinlösung
+
+ +
Verändertes Medikament
+
+ +
+ + +
MVO
+
+
+
+
+
+
+ + + E-Rezept Token: + + +
+
+
+
+
+
+ + + +
+ + + + + +
+ +
+
+ # + + +
+ +
dringend
+
+ +
Patienteneinlösung
+
+ +
Verändertes Arzneimittel
+
+ + +
MVO
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Nr.E-Rezept-TokenLieferadresseLieferung
+ + + + + + + Abholung durch Pflegeeinrichtung + + + Abholung durch Patient + + + Lieferung an Pflegeeinrichtung + + + + Lieferung an: + + + + +
+
+ , + + +
+
+
+
+
+
+
+
+
+ + + +
+
+ Bezüglich: + + + + , + + + (KVNR: + + + ) + + , geb. ( + + + ) +
+
+ +
+
+
+ +
  • + + + + + + + + + + + + + + + + + (PZN:  + + ) + +
  • +
    + + + + + + + + + + + + + + + + + + + + + + + ASK-Nr:  + + + + + + + + + +

    + + + + + + + + + + + + + + + + (PZN: + + ) +

    +
    + +

    + + ( + + + + ) + +   + + + + + + + + + + + + +

    +
    + +

    + + + + + + +

    +
    + +

    + + + + + + + + + + + + + + + + + + +

    +
      + +
    +
    +
    +
    +
    + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + +
    \ No newline at end of file diff --git a/examples/zyto/fulfilled-prescription-request/Bundle-UC4-2-Prescription-Request-To-Pharmacy.json b/examples/zyto/fulfilled-prescription-request/Bundle-UC4-2-Prescription-Request-To-Pharmacy.json deleted file mode 100644 index 06d89bcd..00000000 --- a/examples/zyto/fulfilled-prescription-request/Bundle-UC4-2-Prescription-Request-To-Pharmacy.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "UC4-2-Prescription-Request-To-Pharmacy", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" - ] - }, - "type": "message", - "identifier": { - "system": "urn:ietf:rfc:3986", - "value": "urn:uuid:c80f6c55-92f8-4518-ba66-cb193da09336" - }, - "timestamp": "2023-02-01T13:28:17.239+02:00", - "entry": [ - { - "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC4-2-Practitioner-to-Pharmacy-MessageHeader", - "resource": { - "resourceType": "MessageHeader", - "id": "UC4-2-Practitioner-to-Pharmacy-MessageHeader", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" - ] - }, - "focus": [ - { - "reference": "ServiceRequest/UC4-Response-Prescription-Request" - } - ], - "sender": { - "identifier": { - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "hans@ytopp-gluecklich.kim.telematik" - }, - "display": "Praxis Hans Topp-Glücklich" - }, - "source": { - "name": "Practitioner-Source", - "software": "Practitioner-Software", - "version": "1.0.0", - "contact": { - "system": "email", - "value": "info@practitioner.email" - }, - "endpoint": "http://practitioner.endpoint" - }, - "destination": [ - { - "receiver": { - "identifier": { - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "arbeitsplatz-1@test-apotheke.kim.telematik" - }, - "display": "Test Apotheke" - }, - "endpoint": "http://test-apotheke.de" - } - ], - "eventCoding": { - "code": "eRezept_ParenteraleZubereitung;Rezeptbestaetigung", - "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC4-Response-Prescription-Request", - "resource": { - "resourceType": "ServiceRequest", - "id": "UC4-Response-Prescription-Request", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" - ] - }, - "intent": "order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-UC4" - }, - "extension": [ - { - "valueIdentifier": { - "system": "https://gematik.de/fhir/erp/sid/NamingSystemEPrescriptionToken", - "value": "Task/160.100.000.000.004.36/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea" - }, - "url": "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex" - } - ], - "code": { - "coding": [ - { - "code": "prescription-request", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" - } - ] - }, - "identifier": [ - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "1" - }, - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/patient-id", - "value": "Patient-ID-e15232e9-01e0-4ce8-b628-71adb9023b21" - }, - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/case-id", - "value": "Case-ID-85d39ff7-2f02-4bfc-85d5-0ba2752f6076" - }, - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/process-id", - "value": "Process-ID-db6fd21d-cc85-4411-8567-479a7dc1ef74" - }, - { - "system": "https://my-very-own-zyto-identifier", - "value": "My-ID-bdbdf8a1-ffa4-4f16-a6c4-38e690ac5548" - } - ], - "basedOn": [ - { - "reference": "MedicationRequest/Example-Response-KBV-Prescription" - } - ], - "status": "completed", - "subject": { - "reference": "Patient/Example-Patient" - }, - "orderDetail": [ - { - "coding": [ - { - "code": "return-to-requester", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" - } - ] - } - ], - "occurrenceDateTime": "2023-01-30", - "authoredOn": "2023-01-27", - "requester": { - "reference": "Organization/Example-Pharmacy-Organization" - }, - "performer": [ - { - "reference": "Practitioner/Example-Practitioner" - } - ] - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Response-KBV-Prescription", - "resource": { - "resourceType": "MedicationRequest", - "id": "Example-Response-KBV-Prescription", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" - ] - }, - "status": "active", - "intent": "order", - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", - "valueBoolean": false - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", - "valueBoolean": false - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", - "extension": [ - { - "url": "Kennzeichen", - "valueBoolean": false - } - ] - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_StatusCoPayment", - "valueCoding": { - "code": "1", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_StatusCoPayment" - } - } - ], - "dispenseRequest": { - "quantity": { - "system": "http://unitsofmeasure.org", - "code": "{Package}", - "value": 1 - } - }, - "dosageInstruction": [ - { - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", - "valueBoolean": true - } - ], - "text": "2mal tägl. 5ml" - } - ], - "medicationReference": { - "reference": "Medication/Example-Response-Medication" - }, - "subject": { - "reference": "Patient/Example-Patient" - }, - "authoredOn": "2022-05-20", - "requester": { - "reference": "Practitioner/Example-Practitioner" - }, - "insurance": [ - { - "reference": "Coverage/Response-Coverage" - } - ], - "substitution": { - "allowedBoolean": true - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Response-Medication", - "resource": { - "resourceType": "Medication", - "id": "Example-Response-Medication", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" - ] - }, - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/900000000000207008/version/20220331", - "code": "763158003", - "display": "Medicinal product (product)" - } - ] - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", - "valueBoolean": false - }, - { - "url": "http://fhir.de/StructureDefinition/normgroesse", - "valueCode": "N1" - } - ], - "code": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "08585997" - } - ], - "text": "Prospan® Hustensaft 100ml N1" - }, - "form": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", - "code": "FLE" - } - ] - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Coverage/Response-Coverage", - "resource": { - "resourceType": "Coverage", - "id": "Response-Coverage", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" - ] - }, - "status": "active", - "payor": [ - { - "identifier": { - "system": "http://fhir.de/sid/arge-ik/iknr", - "value": "108416214" - }, - "display": "AOK Bayern Die Gesundh." - } - ], - "extension": [ - { - "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/wop", - "valueCoding": { - "code": "72", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_ITA_WOP" - } - }, - { - "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", - "valueCoding": { - "code": "3", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS" - } - } - ], - "type": { - "coding": [ - { - "code": "GKV", - "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis" - } - ] - }, - "beneficiary": { - "reference": "Patient/Example-Patient" - }, - "period": { - "end": "2040-04-01" - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", - "resource": { - "resourceType": "Patient", - "id": "Example-Patient", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], - "name": [ - { - "use": "official", - "family": "Königsstein", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Königsstein" - } - ] - }, - "given": [ - "Ludger" - ] - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 1" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "1" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "birthDate": "1935-06-22" - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Practitioner/Example-Practitioner", - "resource": { - "resourceType": "Practitioner", - "id": "Example-Practitioner", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" - ] - }, - "name": [ - { - "use": "official", - "prefix": [ - "Dr. med." - ], - "_prefix": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", - "valueCode": "AC" - } - ] - } - ], - "family": "Topp-Glücklich", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Topp-Glücklich" - } - ] - }, - "given": [ - "Hans" - ] - } - ], - "qualification": [ - { - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", - "code": "00" - } - ] - } - }, - { - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", - "code": "Berufsbezeichnung" - } - ], - "text": "Hausarzt" - } - } - ], - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "LANR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", - "value": "838382202" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-838382202" - } - ] - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization", - "resource": { - "resourceType": "Organization", - "id": "Example-Pharmacy-Organization", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" - } - ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "arbeitsplatz-1@test-apotheke.kim.telematik" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-57634852" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "581463872" - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 2" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "name": "Test Apotheke", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } - ] - } - } - ] -} diff --git a/examples/zyto/prescription-request/Bundle-UC4-1-Prescription-and-Dispense-Request-To-Prescriber.json b/examples/zyto/prescription-request/Bundle-UC4-1-Prescription-and-Dispense-Request-To-Prescriber.json deleted file mode 100644 index 0ad001fb..00000000 --- a/examples/zyto/prescription-request/Bundle-UC4-1-Prescription-and-Dispense-Request-To-Prescriber.json +++ /dev/null @@ -1,412 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "UC4-1-Prescription-and-Dispense-Request-To-Prescriber", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container" - ] - }, - "type": "message", - "identifier": { - "system": "urn:ietf:rfc:3986", - "value": "urn:uuid:29888885-6639-481c-934e-4b7b51745084" - }, - "timestamp": "2015-02-07T13:28:17.239+02:00", - "entry": [ - { - "fullUrl": "http://erp-servicerequest-test.de/MessageHeader/UC4-1-Pharmacy-to-Practitioner-MessageHeader", - "resource": { - "resourceType": "MessageHeader", - "id": "UC4-1-Pharmacy-to-Practitioner-MessageHeader", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header" - ] - }, - "focus": [ - { - "reference": "ServiceRequest/UC4-Initial-Prescription-Request" - } - ], - "sender": { - "identifier": { - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "arbeitsplatz-1@test-apotheke.kim.telematik" - }, - "display": "Test Apotheke" - }, - "source": { - "name": "Pharmacy-Source", - "software": "Pharmacy-Software", - "version": "1.0.0", - "contact": { - "system": "email", - "value": "info@pharmacy.email" - }, - "endpoint": "http://pharmacy.endpoint" - }, - "destination": [ - { - "receiver": { - "identifier": { - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "hans@ytopp-gluecklich.kim.telematik" - }, - "display": "Praxis Hans Topp-Glücklich" - }, - "endpoint": "klaus@test.de" - } - ], - "eventCoding": { - "code": "eRezept_ParenteraleZubereitung;Rezeptanfrage", - "system": "https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs" - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Patient/Example-Patient", - "resource": { - "resourceType": "Patient", - "id": "Example-Patient", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", - "code": "GKV" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "X234567890" - } - ], - "name": [ - { - "use": "official", - "family": "Königsstein", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Königsstein" - } - ] - }, - "given": [ - "Ludger" - ] - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 1" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "1" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "birthDate": "1935-06-22" - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/ServiceRequest/UC4-Initial-Prescription-Request", - "resource": { - "resourceType": "ServiceRequest", - "id": "UC4-Initial-Prescription-Request", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request" - ] - }, - "intent": "order", - "requisition": { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemProcedureIdentifier", - "value": "GroupID-UC4" - }, - "code": { - "coding": [ - { - "code": "prescription-request", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs" - } - ] - }, - "identifier": [ - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/NamingSystemRequestIdentifier", - "value": "1" - }, - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/patient-id", - "value": "Patient-ID-e15232e9-01e0-4ce8-b628-71adb9023b21" - }, - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/case-id", - "value": "Case-ID-85d39ff7-2f02-4bfc-85d5-0ba2752f6076" - }, - { - "system": "https://gematik.de/fhir/erp-servicerequest/sid/process-id", - "value": "Process-ID-db6fd21d-cc85-4411-8567-479a7dc1ef74" - }, - { - "system": "https://my-very-own-zyto-identifier", - "value": "My-ID-bdbdf8a1-ffa4-4f16-a6c4-38e690ac5548" - } - ], - "basedOn": [ - { - "reference": "MedicationRequest/Example-Zyto-Medication-Request" - } - ], - "status": "active", - "subject": { - "reference": "Patient/Example-Patient" - }, - "orderDetail": [ - { - "coding": [ - { - "code": "return-to-requester", - "system": "https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs" - } - ] - } - ], - "occurrenceDateTime": "2023-02-01", - "authoredOn": "2023-01-27", - "requester": { - "reference": "Organization/Example-Pharmacy-Organization" - }, - "performer": [ - { - "identifier": { - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "hans@ytopp-gluecklich.kim.telematik" - } - } - ] - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/MedicationRequest/Example-Zyto-Medication-Request", - "resource": { - "resourceType": "MedicationRequest", - "id": "Example-Zyto-Medication-Request", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request" - ] - }, - "status": "active", - "intent": "order", - "medicationReference": { - "reference": "Medication/Example-Zyto-Medication" - }, - "subject": { - "reference": "Patient/Example-Patient" - }, - "authoredOn": "2022-05-20", - "substitution": { - "allowedBoolean": false - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Medication/Example-Zyto-Medication", - "resource": { - "resourceType": "Medication", - "id": "Example-Zyto-Medication", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding|1.1.0" - ] - }, - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/900000000000207008/version/20220331", - "code": "373873005:860781008=362943005", - "display": "Pharmaceutical / biologic product (product) : Has product characteristic (attribute) = Manual method (qualifier value)" - } - ] - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", - "valueCoding": { - "code": "00", - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category" - } - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", - "valueBoolean": false - } - ], - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type", - "code": "rezeptur" - } - ] - }, - "amount": { - "denominator": { - "value": 1 - }, - "numerator": { - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", - "valueString": "500" - } - ], - "unit": "ml" - } - }, - "ingredient": [ - { - "strength": { - "denominator": { - "value": 1 - }, - "numerator": { - "value": 180, - "unit": "mg" - } - }, - "itemCodeableConcept": { - "text": "Etoposid" - } - }, - { - "strength": { - "denominator": { - "value": 1 - }, - "numerator": { - "value": 500, - "unit": "ml" - } - }, - "itemCodeableConcept": { - "text": "NaCl 0,9 %" - } - } - ], - "form": { - "text": "Infusionslösung" - } - } - }, - { - "fullUrl": "http://erp-servicerequest-test.de/Organization/Example-Pharmacy-Organization", - "resource": { - "resourceType": "Organization", - "id": "Example-Pharmacy-Organization", - "meta": { - "profile": [ - "https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "code": "kim-2.0", - "system": "https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType" - } - ] - }, - "system": "http://gematik.de/fhir/sid/KIM-Adresse", - "value": "arbeitsplatz-1@test-apotheke.kim.telematik" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "PRN" - } - ] - }, - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "1-57634852" - }, - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "BSNR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "581463872" - } - ], - "address": [ - { - "type": "both", - "line": [ - "Musterstr. 2" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "2" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Musterstr." - } - ] - } - ], - "city": "Berlin", - "postalCode": "10623" - } - ], - "name": "Test Apotheke", - "telecom": [ - { - "system": "phone", - "value": "0301234567" - } - ] - } - } - ] -} diff --git a/fhirpkg.lock.json b/fhirpkg.lock.json index af03d1af..6a94316a 100644 --- a/fhirpkg.lock.json +++ b/fhirpkg.lock.json @@ -1,13 +1,18 @@ { - "updated": "2024-04-03T09:18:41.9234275+00:00", + "updated": "2024-10-21T09:41:36.15198+02:00", "dependencies": { "hl7.fhir.r4.core": "4.0.1", - "de.basisprofil.r4": "1.3.2", - "de.gematik.erezept-workflow.r4": "1.2.3", + "de.basisprofil.r4": "1.5.0", + "de.gematik.fhir.atf": "1.4.0-rc2", + "de.gematik.fhir.directory": "0.11.12", + "de.ihe-d.terminology": "3.0.0", + "de.gematik.erezept-workflow.r4": "1.4.3", "kbv.ita.erp": "1.1.2", "KBV.Basis": "1.3.0", "kbv.ita.for": "1.1.0", - "de.gematik.fhir.atf": "1.3.0" + "de.gematik.epa.medication": "1.0.3", + "de.gematik.epa": "1.1.0", + "de.gematik.terminology": "1.0.1" }, "missing": {} } diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/0-Index.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/0-Index.page.md deleted file mode 100644 index 5e6ff659..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/0-Index.page.md +++ /dev/null @@ -1 +0,0 @@ -# {{page-title}} diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1-Fachliche-Beschreibung.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1-Fachliche-Beschreibung.page.md deleted file mode 100644 index 44453418..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1-Fachliche-Beschreibung.page.md +++ /dev/null @@ -1,11 +0,0 @@ -## {{page-title}} - -In diesem Anwendungsfall löst ein Anfragender (z.B. eine Pflegeeinrichtung) den Prozess aus und stellt eine Rezeptanfrage an einen verordnenden Arzt. Der Arzt kann nun die Anfrage bearbeiten und ein E-Rezept erstellen. Mit Erstellung des E-Rezepts erhält der Verordnende die Informationen "PrescriptionID" und "AccessCode" vom E-Rezept-Fachdienst und kann somit einen E-Rezept-Token erzeugen. - -Nun entscheidet sich der weitere Verlauf je nach Zustelltyp (ServiceRequest.orderDetail.code). Wenn der Code "#issue-prescription" angegeben wurde, wird nach dem Erstellen des E-Rezepts eine Bestätigung ohne den Token an den Anfragenden versendet. Damit endet der Workflow. Der Code "#return-to-requester" signalisiert, dass der E-Rezept-Token an den Anfragenden zu übermitteln ist, damit dieser dann die Belieferungsanfrage an die Apotheke starten kann. - -Eine detaillierte fachliche Beschreibung findet sich im dazugehörigen Featuredokument [gemF_eRp_KIM](https://fachportal.gematik.de/schnelleinstieg/downloadcenter/feature-dokumente). - -Ein Mapping der fachlichen Informationseinheiten des Featuredokuments zu den Profilen findet sich unten. - -{{render:guides/ig-rezeptanforderung/images/puml_images/UC1_1.png}} \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.1-Anfragender-an-Verordnenden.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.1-Anfragender-an-Verordnenden.page.md new file mode 100644 index 00000000..0a1ccffe --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.1-Anfragender-an-Verordnenden.page.md @@ -0,0 +1,76 @@ +## {{page-title}} + +Im ersten Schritt stellt die Pflegeeinrichtung eine Rezeptanforderung an einen verordnenden Leistungserbringer. Der verordnende LE stellt ein E-Rezept am E-Rezept-Fachdienst ein und überträgt den E-Rezept Token als Antwort an die Pflegeeinrichtung. +{{render:guides/ig-rezeptanforderung/images/puml_images/UC1_1.png}} + +In der Rezeptanforderung sind medizinische Informationen zum angefragten Arzneimittel, wie auch administrative Informationen enthalten. +Die folgenden Beschreibungen liefern detailiierte Informationen, wie eine Rezeptanforderung zu befüllen und auszuführen ist. + +### [1] Rezeptanforderung + +Zum erstellen müssen die in {{pagelink:Home/Datenobjekte/Mappings/mapping_definitions/Mapping-für-Rezeptanforderung.page.md}} aufgeführten fachlichen Informationen übertragen werden. Das Mapping stellt ebenfalls dar, in welchen Profilen die Informationen angegeben werden müssen. + +#### Verwendung von Profilen + +Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: + +|Profil|Referenziert in|Optional| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md}}|ERPServiceRequestMessageContainer.entry[0]|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md}}|ERPServiceRequestRequestHeader.focus|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-patient.page.md}}|ERPServiceRequestPrescriptionRequest.subject|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-organization.page.md}}|ERPServiceRequestPrescriptionRequest.requester|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-practitioner.page.md}} |ERPServiceRequestPrescriptionRequest.performer|x| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|ERPServiceRequestPrescriptionRequest.basedOn|| +|[KBV_PR_ERP_Medication_PZN](https://simplifier.net/erezept/kbvprerpmedicationpzn), [KBV_PR_ERP_Medication_Compounding](https://simplifier.net/erezept/kbvprerpmedicationcompounding), [KBV_PR_ERP_Medication_Ingredient](https://simplifier.net/erezept/kbvprerpmedicationingredient) oder [KBV_PR_ERP_Medication_FreeText](https://simplifier.net/erezept/kbvprerpmedicationfreetext)|ERPServiceRequestMedicationRequest.medication[x]|| + + +Folgendes Klassendiagramm soll die verwendeten Profile graphisch darstellen: +{{render:guides/ig-rezeptanforderung/images/puml_images/PrescriptionRequest_Class.png}} + +#### Wichtige Kennzeichnungen + +Folgende Bedingungen müssen erfüllt, bzw. Felder gesetzt sein, damit die Nachricht einer Rezeptanforderung seitens der Pflegeeinrichtung entspricht: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Rezeptanfrage`| +|ERPServiceRequestPrescriptionRequest|.status = #active| +|ERPServiceRequestOrganization|.type.coding = #PFL | + +HINWEIS: Über `ServiceRequest.reasonCode` kann angegeben werden, warum die Medikation angefragt wird. + +#### Angabe der Verordnungsinhalte + +Die MedicationRequest Ressource ist nach Profil {{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}} anzugeben. +Zur Behandlung von gesonderten Fällen kann in der ServiceRequest und MedicationRequest Ressource folgendes gesetzt werden: + +|Profil|Feld|Bedeutung| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md}}|.extension:redeemByPatient|Angabe, ob die angefragte Verordnung durch den Versicherten eingelöst werden soll. Falls der Wert `true` ist, soll der verordnende das E-Rezept mit Flowtype 160/200 erstellen. Andernfalls wird ein E-Rezept mit Workflow 169/209 erstellt.| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|.extension:PriorPrescriptionID|Angabe einer vorherigen Task ID auf die sich die Anfrage bezieht| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|.extension:requestMVO.extension:Kennzeichen|Angabe, ob der Anfragende die Ausstellung des E-Rezeptes im Rahmen einer Mehrfachverordnung wünscht| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|.dispenseRequest.quantity|Angabe der gewünschten Packungsmenge des Arzneimittels| + +### Stornierung - Verordnungsanfrage + +Falls der Anfragende die Anfrage stornieren möchte, wird derselbe ServiceRequest (identifiziert durch die gleiche .identifer:requestId) erneut an den Verordnenden gesendet. Bei der Stornierung ergeben sich folgende Änderungen für die Eigenschaften der Profile: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Rezeptanfrage_Storno`| +|ERPServiceRequestPrescriptionRequest|.status = #entered-in-error | +|ERPServiceRequestPrescriptionRequest|.reasonCode Angabe des Stornierungsgrund | + +Für die PDF Repräsentation der Anfrage werden außerdem die medizinischen Inhalte der ursprünglichen Verordnungsanfrage übertragen. Das empfangende System kann diese ignorieren. + +### Ergebnis der Übertragung + +Im Falle der erfolgreichen Übertragung sollte der Verordnende alle wesentlichen Informationen zur Verfügung haben, die er für das Ausstellen einer Verordnung benötigt: + +* Daten des Patienten, für den die Verordnung erstellt werden soll +* Daten des Anfragenden, an den die Informationen übertragen werden sollen +* Daten zum angefragten Medikament, dass verordnet werden soll +* Optional der Grund und/ oder die Reichweite der aktuellen Medikation + +Im Falle einer Stornierung sollte das sendende System den Eintrag als "storniert" gekennzeichnet haben. Das empfangende System kann eine unbearbeitete Anfrage löschen und muss sonst dem Verordnenden kenntlich machen, dass eine Stornierungsanfrage gesendet wurde. Falls ein E-Rezept erstellt wurde ist dieses vom Verordnenden zu löschen. diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.2-Verordnender-an-Anfragenden.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.2-Verordnender-an-Anfragenden.page.md new file mode 100644 index 00000000..2b130515 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.2-Verordnender-an-Anfragenden.page.md @@ -0,0 +1,58 @@ +## {{page-title}} + +### [4] Rezeptanforderung_Bestätigung + +Der Verordnende kann nach dem Erhalt einer Rezeptanforderung diese prüfen und eine entsprechende Verordnung erstellen, signieren und im E-Rezept-Fachdienst einstellen (**[2]**). + +Der Verordnende erhält in der Antwort vom Fachdienst die PrescriptionID und den AccessCode (**[3]**). Beide Informationen werden benötigt, um ein E-Rezept in einer Apotheke einzulösen. + +Zum Erstellen müssen die in {{pagelink:Home/Datenobjekte/Mappings/mapping_definitions/Mapping-für-Rezeptanforderung_Bestaetigung.page.md}} aufgeführten fachlichen Informationen übertragen werden. Insbesondere muss der Inhalt der Verordnung für die Dokumentation an die Pflegeeinrichtung übertragen werden, da diese keinen Zugriff auf den E-Rezept-Fachdienst hat. Das Mapping stellt ebenfalls dar, in welchen Profilen die Informationen angegeben werden müssen. + +Sollte der Arzt nach Prüfung der Rezeptanforderung etwas anderes verordnen, als der Anfragende angefragt hat, muss im Profil {{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md}} die modifier Extension "medicationChanged" mit true gesetzt werden (s. {{pagelink:Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-did-change-medication-ex.page.md}}). So kann das System des Anfragenden den Nutzer explizit darauf hinweisen, dass die Antwort von der Anfrage abweicht. Das Feld kann automatisch vom System gesetzt werden, wenn der Nutzer eine Angabe in dem Rezept ändert. + +#### Verwendung von Profilen + +Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: + +|Profil|Referenziert in|Optional| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md}}|ERPServiceRequestMessageContainer.entry[0]|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md}}|ERPServiceRequestRequestHeader.focus|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-patient.page.md}}|ERPServiceRequestPrescriptionRequest.subject|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-practitioner.page.md}}|ERPServiceRequestPrescriptionRequest.performer|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|ERPServiceRequestPrescriptionRequest.basedOn|| +|[KBV_PR_ERP_Medication_PZN](https://simplifier.net/erezept/kbvprerpmedicationpzn), [KBV_PR_ERP_Medication_Compounding](https://simplifier.net/erezept/kbvprerpmedicationcompounding), [KBV_PR_ERP_Medication_Ingredient](https://simplifier.net/erezept/kbvprerpmedicationingredient) oder [KBV_PR_ERP_Medication_FreeText](https://simplifier.net/erezept/kbvprerpmedicationfreetext)|ERPServiceRequestMedicationRequest.medication[x]|| + + +Folgendes Klassendiagramm soll die verwendeten Profile graphisch darstellen: +{{render:guides/ig-rezeptanforderung/images/puml_images/PrescriptionRequest_Confirmation_Class.png}} + +#### Wichtige Kennzeichnungen + +Folgende Bedingungen müssen erfüllt, bzw. Felder gesetzt sein, damit die Nachricht einer Rezeptanforderungs Bestätigung entspricht: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Rezeptbestaetigung`| +|ERPServiceRequestPrescriptionRequest|.status = #completed| +|ERPServiceRequestPrescriptionRequest|.extension:EPrescriptionToken = | + +### Ablehnung - Verordnung + +Falls der Verordnende die Anfrage ablehnen möchte, wird der gleiche ServiceRequest (.identifer:requestId muss gleich sein) an den Anfragenden zurück gesendet. Folgende Bedingungen müssen erfüllt sein: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Rezeptanfrage_Storno`| +|ERPServiceRequestPrescriptionRequest|.status = #revoked | +|ERPServiceRequestPrescriptionRequest|.reasonCode Angabe des Ablehnungsgrunds | + +Für die PDF Repräsentation der Anfrage werden außerdem die medizinischen Inhalte der ursprünglichen Verordnungsanfrage übertragen. Diese sind vom PVS aus der initialen Anfrage zu übernehmen. Das empfangende System kann diese ignorieren. + +### Ergebnis + +Sobald das PVS die Anfrage bearbeitet und eine Antwort an die Pflegeeinrichtung versendet hat, ist der Vorgang für den Verordnenden beendet. + +Die Pflegeeinrichtung hat die Information, dass die Anfrage bearbeitet wurde und den E-Rezept Token. Jetzt kann eine Abgabeanfrage an eine Apotheke versendet werden. + +Falls der Verordnende die Anfrage abgelehnt hat, ist der Vorgang entsprechend im Pflegesystem zu markieren. diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.3-Anfragender-an-Apotheke.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.3-Anfragender-an-Apotheke.page.md new file mode 100644 index 00000000..16e6805c --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.3-Anfragender-an-Apotheke.page.md @@ -0,0 +1,65 @@ +--- +topic: uc1_2.3 +--- +## {{page-title}} + +Im nächsten Schritt kann die anfragende Pflegeeinrichtung den E-Rezept Token an die ausliefernde Apotheke weiterreichen und um eine Abgabe der Verordnung anfragen. +Die Pflegeeinrichtung kann angeben, wie die Belieferung der Verordnung erfolgen soll. + +Die Apotheke löst das E-Rezept am E-Rezept-Fachdienst ein und bestätigt die Belieferung gegenüber der Pflegeeinrichtung. + +{{render:guides/ig-rezeptanforderung/images/puml_images/UC1_2.png}} + +### [6] Dispensieranforderung + +Zum erstellen müssen die in {{pagelink:Home/Datenobjekte/Mappings/mapping_definitions/Mapping-für-Dispensieranforderung.page.md}} aufgeführten fachlichen Informationen übertragen werden. Das Mapping stellt ebenfalls dar, in welchen Profilen die Informationen angegeben werden müssen. + +#### Verwendung von Profilen + +Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: + +|Profil|Referenziert in|Optional| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md}}|ERPServiceRequestMessageContainer.entry[0]|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-dispense-request.page.md}}|ERPServiceRequestRequestHeader.focus|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-patient.page.md}}|ERPServiceRequestDispenseRequest.subject|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-organization.page.md}}, |ERPServiceRequestDispenseRequest.requester|| +|{{link:http://fhir.de/StructureDefinition/address-de-basis}}, |ERPServiceRequestDispenseRequest.extension[alternativeDeliveryAddress]|x| + +Folgendes Klassendiagramm soll die verwendeten Profile graphisch darstellen: +{{render:guides/ig-rezeptanforderung/images/puml_images/DispenseRequest_Class.png}} + + +#### Wichtige Kennzeichnungen + +Folgende Bedingungen müssen erfüllt, bzw. Felder gesetzt sein, damit die Nachricht einer Dispensieranforderung entspricht: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Abgabeanfrage`| +|ERPServiceRequestDispenseRequest|.status = #active| +|ERPServiceRequestDispenseRequest|.extension:EPrescriptionToken = | +|ERPServiceRequestDispenseRequest|.requester.type = #PFL| + +#### Angabe der Belieferungsart + +Die anfragende Pflegeeinrichtung kann angeben, wie die Belieferung erfolgen soll, es kann +- Abholung durch Pflegedienst +- Lieferung an Adresse aus Rezept +- Lieferung an alternative Lieferadresse +- Abholung durch Patienten/Vertreter + +als Belieferungsoption angegeben werden. Wenn die Option "Lieferung an alternative Lieferadresse" angegeben wird, dann muss in der Extension {{pagelink:Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-alternative-delivery-address-ex.page.md}} die entsprechende Adresse hinterlegt werden. + +#### Angabe der Verordnungsinhalte + +Für die Dispensieranforderung ist nicht vorgesehen, dass Verordnungsinhalte übertragen werden, da angenommen wird, dass die Pflegeeinrichtung via Rezeptanforderung und die Apotheke via Abrufen am E-Rezept-Fachdienst in Kenntnis des Verordnungsinhaltes sind. + +Es wird angenommen, dass zwischen einer anfragenden Pflegeeinrichtung und Apotheke bereits vereinbarte Prozesse zur Übergabe der eigentlichen Medikation bestehen. Daher wurden diese nicht weiter spezifiziert. Für etwaige Kommunikation darüber kann das Feld `ServiceRequest.note` genutzt, oder direkt Kontakt aufgenommen werden. + +### Ergebnis der Übertragung + +Die Apotheke ist im Besitz des E-Rezept-Tokens und hat alle Informationen, die sie für eine Kontaktaufnahme benötigt, sowohl zur anfragenden Person/ Einrichtung, wie auch zum ausstellenden Arzt. + +Mit Besitz des Tokens ist eine Apotheke in der Lage den E-Rezept-Fachdienst nach dem Rezept abzufragen und kann dieses entsprechend bearbeiten (**[7]**). +Die Apotheke kann im letzten Schritt die Verarbeitung der Anfrage und die Belieferung bestätigen (**[8]**). diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.4-Apotheke-an-Anfragenden.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.4-Apotheke-an-Anfragenden.page.md new file mode 100644 index 00000000..0c65b2a3 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.4-Apotheke-an-Anfragenden.page.md @@ -0,0 +1,40 @@ +## {{page-title}} + +### [8] Dispensieranforderung_Bestätigung + +Abschließend zum Anwendungsfall übermittelt die Apotheke eine Bestätigung an die anfragende Pflegeeinrichtung, dass die Abgabe bestätigt ist. +In der Antwort sollen auch die Abgabedaten enthalten sein, damit die Pflegeeinrichtung darüber informiert ist, welches Präparat geliefert wird. + +Zum Erstellen müssen die in {{pagelink:Home/Datenobjekte/Mappings/mapping_definitions/Mapping-für-Dispensieranforderung.page.md}} aufgeführten fachlichen Informationen übertragen werden. Das Mapping zeigt zudem, in welchen Profilen die Informationen angegeben werden müssen. + +Sollte die Apotheke nach Prüfung des Rezepts und der Arzneimittelverfügbarkeit etwas anderes beliefern, als im E-Rezept verordnet wurde, muss im Profil {{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md}} die modifier Extension "medicationChanged" mit true gesetzt werden (s. {{pagelink:Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-did-change-medication-ex.page.md}}). So kann das System der Pflege den Nutzer explizit darauf hinweisen. Das Feld kann automatisch vom AVS gesetzt werden, wenn eine entsprechende Abweichung auftritt. + +#### Verwendung von Profilen + +Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: + +|Profil|Referenziert in|Optional| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md}}|ERPServiceRequestMessageContainer.entry[0]|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-dispense-request.page.md}}|ERPServiceRequestRequestHeader.focus|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-patient.page.md}}|ERPServiceRequestDispenseRequest.subject|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-dispense.page.md}}|ERPServiceRequestDispenseRequest.supportingInfo:AbgabeDaten|| +|[KBV_PR_ERP_Medication_PZN](https://simplifier.net/erezept/kbvprerpmedicationpzn), [KBV_PR_ERP_Medication_Compounding](https://simplifier.net/erezept/kbvprerpmedicationcompounding), [KBV_PR_ERP_Medication_Ingredient](https://simplifier.net/erezept/kbvprerpmedicationingredient) oder [KBV_PR_ERP_Medication_FreeText](https://simplifier.net/erezept/kbvprerpmedicationfreetext)|ERPServiceRequestDispenseRequest.medication[x]|| + +Folgendes Klassendiagramm soll die verwendeten Profile graphisch darstellen: +{{render:guides/ig-rezeptanforderung/images/puml_images/DispenseRequest_Confirmation_Class.png}} + +#### Wichtige Kennzeichnungen + +Folgende Bedingungen müssen erfüllt, bzw. Felder gesetzt sein, damit die Nachricht einer Dispensieranforderung entspricht: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Abgabebestaetigung`| +|ERPServiceRequestDispenseRequest|.status = #completed| +|ERPServiceRequestDispenseRequest|.supportingInfo = Abgabeinformationen| + +### Ergebnis + +Die anfragende Einrichtung/ Person ist darüber informiert, dass die Abgabe erfolgt ist und welche Medikamente geliefert werden. +Dieser letzte Schritt schließt den Anwendungsfall "Rezeptanforderung in der Pflege" ab. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.5-Beispiele.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.5-Beispiele.page.md new file mode 100644 index 00000000..5869cec4 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/1.5-Beispiele.page.md @@ -0,0 +1,3 @@ +## {{page-title}} + +Beispielhafte FHIR-Ressourcen sind auf der folgenden Seite {{pagelink:Home/Examples.page.md}} verfügbar. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.1-Anfragender-an-Verordnenden.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.1-Anfragender-an-Verordnenden.page.md deleted file mode 100644 index c9591b3e..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.1-Anfragender-an-Verordnenden.page.md +++ /dev/null @@ -1,66 +0,0 @@ -## {{page-title}} - -**MessageHeader.eventCode:** #eRezept_Rezeptanforderung;Rezeptanfrage - -Eine anfragende Person oder Einrichtung benötigt ein E-Rezept, um einen Patienten mit Medikamenten zu versorgen. Diese fragt nun einen Arzt um eine entsprechende Verordnung an. - -Hierfür wird eine Rezeptanforderung gestellt und eine Rezeptbestätigung erwartet. - -### Vorbereitung - -Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: - -HINWEIS: In einem {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} können beliebig viele {{pagelink:Home/Datenobjekte/Prescription_ServiceRequest}} übertragen werden. - -|Profil|Referenziert in|Optional| -|---|---|---| -|{{pagelink:Home/Datenobjekte/MessageHeader}}|ERPServiceRequestMessageContainer.entry|| -|{{pagelink:Home/Datenobjekte/Prescription_ServiceRequest}}|ERPServiceRequestRequestHeader.focus|| -|{{pagelink:Home/Datenobjekte/MedicationRequest}}|ERPServiceRequestPrescriptionRequest.basedOn|| -|[KBV_PR_FOR_Patient](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient)|ERPServiceRequestPrescriptionRequest.subject|| -|{{pagelink:Home/Datenobjekte/Organization}}, [KBV_PR_FOR_Practitioner](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner)|ERPServiceRequestPrescriptionRequest.performer|| -|{{pagelink:Home/Datenobjekte/RemainingObservation}}|ERPServiceRequestPrescriptionRequest.reasonReference|x| -|{{pagelink:Home/Datenobjekte/Organization}}|ERPServiceRequestPrescriptionRequest.supportingInfo:AuslieferndeApotheke|x | -|[KBV Medication](https://simplifier.net/erezept/~resources?text=medication&category=Profile&sortBy=RankScore_desc)|ERPServiceRequestMedicationRequest.medication[x]|| -|[KBV_PR_FOR_Coverage](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage)|ERPServiceRequestMedicationRequest.coverage|x| - -### Wichtige Parameter - -Folgende Informationen sind für diesen Anwendungsfall und Übertragungsweg verpflichtend in den Profilen zu setzen. - -`Verordnungsanfrage (ERPServiceRequestPrescriptionRequest)` - -* .status = #active (offene Anfrage) -* .basedOn = ERPServiceRequestMedicationRequest (angefragte Medikation) -* .requester = Organization/ Practitioner (Anfragende Person/ Einrichtung) -* .performer = Practitioner (Arzt, der die Verordnung austellen soll) - -`Angefragte Medikation (ERPServiceRequestMedicationRequest)` - -* .medicationReference (Angabe der benötigten Medikation) - -Über `ServiceRequest.reasonCode` und `ServiceRequest.reasonReference` kann angegeben werden, warum die Medikation angefragt wird. - -### Weitere Parameter -`Ausliefernde Apotheke (ERPServiceRequestOrganization)` - -In der Rezeptanforderung kann unter `ServiceRequest.supportingInfo:AuslieferndeApotheke` die Apotheke angegeben werden, die nach Ausstellen des Rezeptes die Belieferung vornehmen soll. Diese Angabe ist dafür vorgesehen, dass das Softwaresystem der Pflegeeinrichtung die Antwort des Verordnenden automatisiert verarbeiten kann, ohne dass ein Mitarbeiter die Nachricht manuell an die Apotheke versenden muss. - -### Stornierung - Verordnungsanfrage - -**MessageHeader.eventCode:** #eRezept_Rezeptanforderung;Rezeptanfrage_Storno - -Falls der Anfragende die Anfrage stornieren möchte, wird der gleiche ServiceRequest (.identifer:requestId muss gleich sein) erneut an den Verordnenden versendet und - -* .status = #revoked - -angegeben. Hierzu kann ebenfalls ein Grund unter `ServiceRequest.reasonCode` angegeben werden. - -### Ergebnis der Übertragung - -Im Falle der erfolgreichen Übertragung sollte der Verordnende alle wesentlichen Informationen zur Verfügung haben, die er für das Ausstellen einer Verordnung benötigt: - -* Daten des Patienten, für den die Verordnung erstellt werden soll -* Daten des Anfragenden, an den die Informationen übertragen werden sollen -* Daten zum angefragten Medikament, dass verordnet werden soll -* Optional der Grund und/ oder die Reichweite der aktuellen Medikation diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.2-Verordnender-an-Anfragenden.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.2-Verordnender-an-Anfragenden.page.md deleted file mode 100644 index b565a09b..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.2-Verordnender-an-Anfragenden.page.md +++ /dev/null @@ -1,61 +0,0 @@ -## {{page-title}} - -**MessageHeader.eventCode:** #eRezept_Rezeptanforderung;Rezeptbestaetigung - -Der Arzt kann nach dem Erhalt einer Rezeptanforderung diese prüfen und eine entsprechende Verordnung erstellen, signieren und im E-Rezept-Fachdienst einstellen (**[2]**). - -Der Arzt erhält in der Antwort vom Fachdienst die PrescriptionID und den AccessCode (**[3]**). Beide Informationen werden benötigt, um ein E-Rezept in einer Apotheke einzulösen. - -### Verfahren nach Einstellen des E-Rezepts - -Je nach Zustelltyp `ServiceRequest.orderDetail.code` muss nun das PVS weiter verfahren und eine Antwort an den Anfragenden geben (**[4]**). - -#### Verfahren bei Zustelltyp: #issue-prescription - -Wenn in der Anfrage dieser Zustelltyp ausgewählt wurde, dann soll das E-Rezept nur am Fachdienst eingestellt werden. Der Patient wird dann selbst das Rezept über die App oder eGK in der Apotheke einlösen. Hierbei handelt es sich um den fachlichen Fall "Spezialfall mit Versichertenbeteiligung". - -Hierzu ist im ServiceRequest der .status auf #completed zu setzen und als Antwort an die anfragende Einrichtung, bzw. Person zurückzuschicken. So weiß der Anfragende, ob das Rezept erfolgreich im E-Rezept-Fachdienst eingestellt wurde. Der E-Rezept-Token DARF dabei NICHT in die Antwort mit eingebettet werden. - -Sobald die Antwort gesendet wurde endet bei diesem Zustelltyp der Workflow nach dieser Übertragung. - -Folgende Informationen sind im ERPServiceRequestPrescriptionRequest in der Antwort zu übermitteln: - -`Verordnungsanfrage (ERPServiceRequestPrescriptionRequest)` - -* .status = #completed -* .basedOn = KBV_PR_ERP_Prescription (ersetzt den initialen MedicationRequest) - -#### Verfahren bei Zustelltyp: #return-to-requester - -In diesem Fall möchte die anfragende Einrichtung, bzw. Person die Informationen zum Einlösen des E-Rezepts erhalten, um diese Informationen dann an eine Apotheke weiterzugeben. - -Hier muss das PVS dann ebenfalls den .status auf #completed setzen und den E-Rezept-Token unter `.extension[EPrescriptionToken]` hinterlegen. - -Folgende Informationen sind im ERPServiceRequestPrescriptionRequest in der Antwort zu übermitteln: - -`Verordnungsanfrage (ERPServiceRequestPrescriptionRequest)` - -* .extension:EPrescriptionToken.value = *E-Rezept-Token* -* .status = #completed -* .basedOn = KBV_PR_ERP_Prescription (ersetzt den initialen MedicationRequest) - -### Stornierung - Verordnung - -**MessageHeader.eventCode:** #eRezept_Rezeptanforderung;Rezeptanfrage_Storno - -Der Arzt kann das Ausstellen der Verordnung auch ablehnen. Hierbei ist `ServiceRequest.status` auf `#revoked` zu setzen und ein Grund unter `ServiceRequest.reasonCode` auszuwählen und anzugeben. Es kann auch `ServiceRequest.note` genutzt werden, um weitere Hinweise zu geben, warum die Anfrage storniert wurde. - -### Ergebnis - -Sobald das PVS die Anfrage bearbeitet und eine Antwort, je nach Zustelltyp, an die Pflegeeinrichtung versendet hat, ist der Vorgang beendet. - -Je nach Zustelltyp sind folgende Nachbedingungen gegeben: - -| Zustelltyp | Ergebnis | -| -------------------- | ------------------------------------------------------------------------------------------ | -| #issue-prescription | E-Rezept wurde eingestellt, Anfragender ist informiert | -| #return-to-requester | Der Anfragende ist im Besitz des E-Rezept-Tokens | - -Die Pflegeeinrichtung hat nun die Information, dass die Anfrage bearbeitet wurde. Nun kann eine Belieferungsanfrage an eine abgebende Apotheke initiiert werden. - -Falls der Token an die anfragende Einrichtung übermittelt wurde, muss diese nun das E-Rezept-Token zur Weiterverarbeitung speichern (**[5]**). diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.3-Anfragender-an-Apotheke.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.3-Anfragender-an-Apotheke.page.md deleted file mode 100644 index b8315ac6..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.3-Anfragender-an-Apotheke.page.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -topic: uc1_2.3 ---- - -## {{page-title}} - -**MessageHeader.eventCode:** #eRezept_Rezeptanforderung;Abgabeanfrage - -{{render:guides/ig-rezeptanforderung/images/puml_images/UC1_2.png}} - -Bei Zustelltyp #issue-prescription kann der Versicherte selbst oder über einen Vertreter das E-Rezept in einer beliebigen Apotheke einlösen. Die Pflegeeinrichtung erhält lediglich die Information, dass das E-Rezept vom Verordnenden ausgestellt wurde. - -Der E-Rezept Token wird bei Zustelltyp #return-to-requester an die Pflegeeinrichtung übermittelt. Nach Erhalt der Antwort vom Verordnenden ist die Pflegeeinrichtung im Besitz des E-Rezept Tokens und kann das E-Rezept in einer beliebigen Apotheke einlösen. Über eine Anfrage an eine Apotheke zur Dispensierung eines Medikamentes (**[6]**), kann die Pflegeeinrichtung mit den verordneten Medikamenten beliefert werden. - -### Vorbereitung - -Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: - -HINWEIS: In einem {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} können beliebig viele {{pagelink:Home/Datenobjekte/Dispense_ServiceRequest}} übertragen werden. - -|Profil|Referenziert in|Optional| -|---|---|---| -|{{pagelink:Home/Datenobjekte/MessageHeader}}|ERPServiceRequestMessageContainer.entry|| -|{{pagelink:Home/Datenobjekte/Dispense_ServiceRequest}}|ERPServiceRequestRequestHeader.focus|| -|[KBV_PR_ERP_Prescription](https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription)|ERPServiceRequestDispenseRequest.basedOn|| -|[KBV_PR_FOR_Patient](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient)|ERPServiceRequestDispenseRequest.subject|| -|{{pagelink:Home/Datenobjekte/Organization}}|ERPServiceRequestDispenseRequest.performer|| -|[KBV_PR_FOR_Practitioner](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner)|ERPServiceRequestDispenseRequest.supportingInfo:AusstellenderArzt|| -|[KBV Medication](https://simplifier.net/erezept/~resources?text=medication&category=Profile&sortBy=RankScore_desc)|KBV_PR_ERP_Prescription.medication[x]|| -|[KBV_PR_FOR_Coverage](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage)|KBV_PR_ERP_Prescription.coverage|| - -### Wichtige Parameter - -Folgende Informationen sind für diesen Anwendungsfall und Übertragungsweg verpflichtend zu setzen. - -`Anfrage zum Beliefern einer Verordnung (ERPServiceRequestDispenseRequest)` - -* .extension:EPrescriptionToken.value = *E-Rezept-Token* -* .status = #active -* .basedOn = KBV_PR_ERP_Prescription -* .requester = Anfragende Einrichtung/ Person -* .supportingInfo:AusstellenderArzt (Für eventuelle Rückfragen an den Verordnenden) - -Es wird angenommen, dass zwischen einer anfragenden Pflegeeinrichtung und Apotheke bereits vereinbarte Prozesse zur Übergabe der eigentlichen Medikation bestehen. Daher wurden diese nicht weiter spezifiziert. Für etwaige Kommunikation darüber kann das Feld `ServiceRequest.note` genutzt, oder direkt Kontakt aufgenommen werden. - -### Stornierung - Abgabeanfrage - -**MessageHeader.eventCode:** #eRezept_Rezeptanforderung;Abgabeanfrage_Storno - -Falls der Anfragende die Anfrage stornieren möchte, wird der gleiche ServiceRequest (.identifer:requestId muss gleich sein) erneut an den Verordnenden versendet und - -* .status = #revoked - -angegeben. Falls die Apotheke den Vorgang noch nicht bearbeitet hat, ist der Vorgang abzubrechen. Wenn die Apotheke das E-Rezept bereits über $accept in den Status "in Abgabe (gesperrt)" gestellt hat, ist dieses nach Möglichkeit wieder freizugeben. - -### Nachbedingung - -Die Apotheke ist im Besitz des E-Rezept-Tokens und hat alle Informationen, die sie für eine Kontaktaufnahme benötigt, sowohl zur anfragenden Person/ Einrichtung, wie auch zum ausstellenden Arzt. - -Mit Besitz des Tokens ist eine Apotheke in der Lage den E-Rezept-Fachdienst nach dem Rezept abzufragen und kann dieses entsprechend bearbeiten (**[7]**). -Die Apotheke kann im letzten Schritt die Verarbeitung der Anfrage und die Belieferung bestätigen (**[8]**). diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.4-Apotheke-an-Anfragenden.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.4-Apotheke-an-Anfragenden.page.md deleted file mode 100644 index cd865b5e..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.4-Apotheke-an-Anfragenden.page.md +++ /dev/null @@ -1,23 +0,0 @@ -## {{page-title}} - -**MessageHeader.eventCode:** #eRezept_Rezeptanforderung;Abgabebestaetigung - -Abschließend übermittelt die Apotheke eine Bestätigung an die anfragende Einrichtung/ Person, dass die Abgabe bestätigt ist. In der Antwort sollen auch die Abgabedaten inkludiert sein, damit der Anfragende informiert ist welches Präparat geliefert wird. - -Hierfür MUSS im Bundle folgende Inhalte geliefert werden: - -`Anfrage zum Beliefern einer Verordnung (ERPServiceRequestDispenseRequest)` - -* .status = #completed -* .extension:AbgabeDaten = GEM_ERP_PR_MedicationDispense, damit der Anfragende nachvollziehen kann mit welcher Medikation tatsächlich beliefert wird - -### Stornierung - Abgabe - -**MessageHeader.eventCode:** #eRezept_Rezeptanforderung;Abgabeanfrage_Storno - -Die Apotheke kann die Dispensierung der Abgabe auch ablehnen. Hierbei ist `ServiceRequest.status` auf `#revoked` zu setzen und nach Möglichkeit ein Hinweis unter `ServiceRequest.note` anzuzeigen. - -### Nachbedingung - -Die anfragende Einrichtung/ Person ist darüber informiert, dass die Abgabe erfolgt ist und welche Medikamente geliefert werden. -Dieser letzte Schritt schließt den Anwendungsfall ab. diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.5-Apotheke-als-Anfragender.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.5-Apotheke-als-Anfragender.page.md deleted file mode 100644 index 9babec3f..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/2.5-Apotheke-als-Anfragender.page.md +++ /dev/null @@ -1,35 +0,0 @@ -## {{page-title}} - -In diesem Fall übernimmt die heimversorgende Apotheke nach §12a ApoG die Rezeptanforderung. Die Pflegeeinrichtung leitet die Anfrage der Apotheke und Antwort des Verordnenden weiter. - -Der Ablauf ist im Folgenden dargestellt: - -{{render:guides/ig-rezeptanforderung/images/puml_images/UC2.png}} - -In diesem Anwendungsfall löst die heimversorgende Apotheke den Anwendungsfall aus und erstellt die Rezeptanforderung. Die Pflegeeinrichtung dient damit als eine Art "Proxy", die die Rezeptanforderung weiterleitet und die Bestätigung des Verordnenden zur Apotheke durchreicht. - -Dementsprechend wird im Message Header sowie im Service Request die Pflegeeinrichtung nicht angegeben. - -### Rezeptanforderung - -Wenn die heimversorgende Apotheke eine Anfrage stellen möchte, dann erstellt sie das Message Bundle wie folgt: - -{{render:guides/ig-rezeptanforderung/images/puml_images/UC2_atf_anf.png}} - -Im MessageHeader.destination als auch ServiceRequest.performer ist der Verordnende anzugeben. Die KIM-Nachricht wird allerdings an die Pflegeeinrichtung gesendet. - -Diese kann nun den MessageHeader auswerten und an den Verordnenden weiterleiten. - -Falls MessageHeader.destination.identifier:KIM-Adresse.value nicht der eigenen KIM-Adresse entspricht und MessageHeader.eventCoding.code = eRezept_Rezeptanforderung;Rezeptanfrage enthält, leitet das Pflegesystem die Nachricht automatisiert an den Verordnenden weiter. - -### Rezeptbestätigung - -Wenn der Verordnende das Rezept ausgestellt hat übermittelt dieser nun eine KIM-Nachricht an die Pflegeeinrichtung. Das Message Bundle ist dabei wie folgt aufzubauen: - -{{render:guides/ig-rezeptanforderung/images/puml_images/UC2_atf_antwort.png}} - -Falls MessageHeader.destination.identifier:KIM-Adresse.value nicht der eigenen KIM-Adresse entspricht und MessageHeader.eventCoding.code = eRezept_Rezeptanforderung;Rezeptbestaetigung enthält, leitet das Pflegesystem die Nachricht automatisiert an die Apotheke weiter. - -### Storno - -Das gleiche Verfahren gilt auf beiden Wegen (Apotheke -> Verordnender und Verordnender -> Apotheke) auch mit MessageHeader.eventCoding.code = eRezept_Rezeptanforderung;Rezeptanfrage_Storno \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/4-Beispiele.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/4-Beispiele.page.md deleted file mode 100644 index 9fa30002..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/4-Beispiele.page.md +++ /dev/null @@ -1,37 +0,0 @@ -## {{page-title}} - -### Beispiele für Zustelltyp #return-to-requester - -Beispiele für diesen Anwendungsfall befinden sich im [Simplifier Projekt](https://simplifier.net/erezept-servicerequest/~resources?category=Example&exampletype=Bundle&sortBy=RankScore_desc). Beispiele für diesen Anwendungsfall sind benannt nach "UC1-*" - -@``` - -from Bundle -where id.startsWith('UC1-') -select id - -``` - -### Beispiele für Sonderfall: heimversorgende Apotheke - -Beispiele für diesen Anwendungsfall befinden sich im [Simplifier Projekt](https://simplifier.net/erezept-servicerequest/~resources?category=Example&exampletype=Bundle&sortBy=RankScore_desc). Beispiele für diesen Anwendungsfall sind benannt nach "UC2-*" - -@``` - -from Bundle -where id.startsWith('UC2-') -select id - -``` - -### Beispiele für Zustelltyp #issue-prescription - -Beispiele für diesen Anwendungsfall befinden sich im [Simplifier Projekt](https://simplifier.net/erezept-servicerequest/~resources?category=Example&exampletype=Bundle&sortBy=RankScore_desc). Beispiele für diesen Anwendungsfall sind benannt nach "UC3-*" - -@``` - -from Bundle -where id.startsWith('UC3-') -select id - -``` diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/5-Mappings.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/5-Mappings.page.md deleted file mode 100644 index 67f4b328..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/5-Mappings.page.md +++ /dev/null @@ -1,38 +0,0 @@ -## {{page-title}} - -Im Feature Dokument zu diesem Projekt gemF_eRp_KIM, Kapitel 3 werden die Anwendungsfälle fachlich beschrieben. Aus den dort aufgeführten fachlichen Informationsobjekten kann hier das Mapping auf die FHIR-Ressourcen nachvollzogen werden. - -### ERPServiceRequestPrescriptionRequest Mappings - -@``` - -from StructureDefinition -where name = 'ERPServiceRequestPrescriptionRequest' -for differential.element - select id, join mapping { Feld: map, Fachliche_Informationseinheit: identity } - order by Fachliche_Informationseinheit - -``` - -### ERPServiceRequestMedicationRequest Mappings - -@``` -from StructureDefinition -where name = 'ERPServiceRequestMedicationRequest' -for differential.element - select id, join mapping { Feld: map, Fachliche_Informationseinheit: identity } - order by Fachliche_Informationseinheit - -``` - -### ERPServiceRequestDispenseRequest Mappings - -@``` - -from StructureDefinition -where name = 'ERPServiceRequestDispenseRequest' -for differential.element - select id, join mapping { Feld: map, Fachliche_Informationseinheit: identity } - order by Fachliche_Informationseinheit - -``` diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/Index.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/Index.page.md new file mode 100644 index 00000000..1c6e2fc9 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/Index.page.md @@ -0,0 +1,8 @@ +# {{page-title}} + +In diesem Anwendungsfall initiiert ein Anfragender (z.B. eine Pflegeeinrichtung) den Prozess, indem er eine Rezeptanfrage an einen verordnenden Arzt stellt. Der Arzt bearbeitet die Anfrage und erstellt ein E-Rezept. Nach der Erstellung des E-Rezepts erhält der Verordnende die Informationen "PrescriptionID" und "AccessCode" vom E-Rezept-Fachdienst und kann damit einen E-Rezept-Token generieren. + +Der verordnende Leistungserbringer übermittelt den E-Rezept-Token anschließend an die Pflegeeinrichtung. + +Die Pflegeeinrichtung sendet daraufhin eine Anfrage zur Belieferung der Verordnung an die ausgewählte Apotheke. Diese kann mithilfe der Informationen aus dem E-Rezept-Token das E-Rezept vom E-Rezept-Fachdienst abrufen und die Pflegeeinrichtung mit der entsprechenden Medikation beliefern. + diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/toc.yaml b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/toc.yaml index bd050bf1..a697c24a 100644 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/toc.yaml +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/1_Rezeptanforderung/toc.yaml @@ -1,18 +1,12 @@ -- name: Rezeptanforderung in der Pflege - filename: 0-Index.page.md -- name: Fachliche Beschreibung - filename: 1-Fachliche-Beschreibung.page.md -- name: Rezeptanforderung - filename: 2.1-Anfragender-an-Verordnenden.page.md -- name: Rezeptanforderung_Rezeptübermittlung - filename: 2.2-Verordnender-an-Anfragenden.page.md -- name: Dispensieranforderung_Rezeptübermittlung - filename: 2.3-Anfragender-an-Apotheke.page.md -- name: Dispensieranforderung_Bestätigung - filename: 2.4-Apotheke-an-Anfragenden.page.md -- name: "Sonderfall: Apotheke als Anfragender" - filename: 2.5-Apotheke-als-Anfragender.page.md -- name: Beispiele - filename: 4-Beispiele.page.md -- name: Mappings - filename: 5-Mappings.page.md \ No newline at end of file +- name: Index + filename: Index.page.md +- name: Pflegeeinrichtung an Verordnenden + filename: 1.1-Anfragender-an-Verordnenden.page.md +- name: Verordnendender an Pflegeeinrichtung + filename: 1.2-Verordnender-an-Anfragenden.page.md +- name: Pflegeeinrichtung an Apotheke + filename: 1.3-Anfragender-an-Apotheke.page.md +- name: Apotheke an Pflegeeinrichtung + filename: 1.4-Apotheke-an-Anfragenden.page.md +- name: Beispiele der verwendeten FHIR-Ressourcen + filename: 1.5-Beispiele.page.md diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/0-Index.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/0-Index.page.md deleted file mode 100644 index 3c1a904b..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/0-Index.page.md +++ /dev/null @@ -1 +0,0 @@ -## {{page-title}} diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/1-Fachliche-Beschreibung.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/1-Fachliche-Beschreibung.page.md deleted file mode 100644 index c19308d1..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/1-Fachliche-Beschreibung.page.md +++ /dev/null @@ -1,17 +0,0 @@ -## {{page-title}} - -Diese Seite beschreibt die fachliche Beschreibung des Anwendungsfalls "Rezeptanforderung für Parenterale Zubereitung". Für eine detaillierte Beschreibung dient das FeatureDokument "KIM-Nachrichten für das E-Rezept" (gemF_eRp_KIM) //TODO: Link. - -In diesem Sonderfall einer Rezeptanforderung initiiert eine Apotheke nach dem Start der Zubereitung einer parenteralen Zubereitung die Rezeptanforderung (**[1]**). - -WICHTIG: Hierbei MUSS die Verordnung exakt der angefragten Medikation entsprechen. Diese Art der Anfrage wird über `MessageHeader.eventCode = eRezept_ParenteraleZubereitung*` kenntlich. Hierdurch MUSS im PS der verordnenden LEI der Hinweis gegeben werden, dass die zu verordnende nicht von der angefragten Medikation abweichen darf. - -Der Arzt übernimmt die angefragte Medikation in die Verordnung und stellt diese im E-Rezept-Fachdienst ein (**[2]**). Darauf hin erhält der Arzt die Informationen für den E-Rezept Token (**[3]**) und übermittelt den Token an die Apotheke (**[4]**). - -Diese kann nun das Rezept am E-Rezept-Fachdienst einlösen (**[5]**). - -{{render:guides/ig-rezeptanforderung/images/puml_images/UC4.png}} - -### Hinweis zu Identifiern - -Für diesen Fall gibt es Festlegungen zur Nutzung von Identifern, siehe {{pagelink:identifier_festlegungen}} diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/2.1-Anfrage-an-Verordnenden.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/2.1-Anfrage-an-Verordnenden.page.md deleted file mode 100644 index 239c0b29..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/2.1-Anfrage-an-Verordnenden.page.md +++ /dev/null @@ -1,58 +0,0 @@ -## {{page-title}} - -**MessageHeader.eventCode:** #eRezept_ParenteraleZubereitung;Rezeptanfrage - -Eine Apotheke hat mit der Herstellung einer parenteralen Zubereitung begonnen und benötigt nun die entsprechende Verordnung. - -Hierfür wird eine Rezeptanforderung an einen Arzt gestellt und eine Rezeptbestätigung erwartet. - -### Vorbereitung - -Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: - -HINWEIS: In einem {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} können beliebig viele{{pagelink:Home/Datenobjekte/Prescription_ServiceRequest}} übertragen werden. - -|Profil|Referenziert in|Optional| -|---|---|---| -|{{pagelink:Home/Datenobjekte/MessageHeader}}|ERPServiceRequestMessageContainer.entry|| -|{{pagelink:Home/Datenobjekte/Prescription_ServiceRequest}}|ERPServiceRequestRequestHeader.focus|| -|{{pagelink:Home/Datenobjekte/MedicationRequest}}|ERPServiceRequestPrescriptionRequest.basedOn|| -|[KBV_PR_FOR_Patient](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient)|ERPServiceRequestPrescriptionRequest.subject|| -|{{pagelink:Home/Datenobjekte/Organization}}, [KBV_PR_FOR_Practitioner](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner)|ERPServiceRequestPrescriptionRequest.performer|| -|{{pagelink:Home/Datenobjekte/RemainingObservation}}|ERPServiceRequestPrescriptionRequest.reasonReference|x| -|[KBV Medication](https://simplifier.net/erezept/~resources?text=medication&category=Profile&sortBy=RankScore_desc)|ERPServiceRequestMedicationRequest.medication[x]|| -|[KBV_PR_FOR_Coverage](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage)|ERPServiceRequestMedicationRequest.coverage|x| - -### Wichtige Parameter - -Folgende Informationen sind für diesen Anwendungsfall und Übertragungsweg verpflichtend in den Profilen zu setzen. - -`Verordnungsanfrage (ERPServiceRequestPrescriptionRequest)` - -* .status = #active (offene Anfrage) -* .basedOn = ERPServiceRequestMedicationRequest (angefragte Medikation) -* .orderDetail.code = #return-to-requester -* .requester = Organization/ Practitioner (Anfragende Person/ Apotheke) -* .performer = Practitioner (Arzt, der die Verordnung austellen soll) - -`Angefragte Medikation (ERPServiceRequestMedicationRequest)` - -* .medicationReference (Angabe der benötigten Medikation) - -### Stornierung - Verordnungsanfrage - -**MessageHeader.eventCode:** #eRezept_ParenteraleZubereitung;Rezeptanfrage_Storno - -Falls der Anfragende die Anfrage stornieren möchte, wird der gleiche ServiceRequest (.identifer:requestId muss gleich sein) erneut an den Verordnenden versendet und - -* .status = #revoked - -angegeben. Hierzu kann ebenfalls ein Grund unter `ServiceRequest.reasonCode` angegeben werden. - -### Ergebnis der Übertragung - -Der Verordnende sollte mittels dieser Übertragung alle wesentlichen Informationen zur Verfügung haben, die er für das Ausstellen einer Verordnung benötigt: - -* Daten des Patienten, für den die Verordnung erstellt werden soll -* Daten des Anfragenden, an den die Informationen übertragen werden sollen -* Daten zum angefragten Medikament, dass verordnet werden soll diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/2.2-Verordnender-an-Anfragenden.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/2.2-Verordnender-an-Anfragenden.page.md deleted file mode 100644 index 269fc2da..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/2.2-Verordnender-an-Anfragenden.page.md +++ /dev/null @@ -1,21 +0,0 @@ -## {{page-title}} - -**MessageHeader.eventCode:** #eRezept_ParenteraleZubereitung;Rezeptbestaetigung - -Der Arzt kann, in dem Fall, dass er zustimmt, diese Verordnung nun erstellen, signieren und im E-Rezept-Fachdienst einstellen (**[2]**). - -Das PVS erhält in der Antwort vom E-Rezept-Fachdienst die PrescriptionID und den AccessCode (**[3]**). Beide Informationen werden benötigt, um eine Verordnung in einer Apotheke einzulösen. - -### Verfahren nach Einstellen des E-Rezepts - -Nachdem das E-Rezept am E-Rezept-Fachdienst eingestellt wurde, wird der E-Rezept-Token unter `ServiceRequest.extension[EPrescriptionToken]` eingebettet und an die anfragende Apotheke zurückgeliefert. Weiterhin ist `ServiceRequest.status` auf #completed zu setzen. - -### Stornierung - Verordnung - -**MessageHeader.eventCode:** #eRezept_ParenteraleZubereitung;Rezeptanfrage_Storno - -Der Arzt kann das Ausstellen der Verordnung auch ablehnen. Hierbei ist `ServiceRequest.status` auf `#revoked` zu setzen und ein Grund unter `ServiceRequest.reasonCode` auszuwählen und anzugeben. Es kann auch `ServiceRequest.note` genutzt werden, um weitere Hinweise zu geben, warum die Anfrage storniert wurde. - -### Ergebnis - -Sobald das PVS die Anfrage bearbeitet hat erhält die Apotheke nach Abschluss dieses Vorgangs das E-Rezept-Token am E-Rezept-Fachdienst und kann damit die Zubereitung abrechenen. diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/4-Beispiele.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/4-Beispiele.page.md deleted file mode 100644 index a66378fc..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/4-Beispiele.page.md +++ /dev/null @@ -1,9 +0,0 @@ -## {{page-title}} - -Beispiele für diesen Anwendungsfall befinden sich im [Simplifier Projekt](https://simplifier.net/erezept-servicerequest/~resources?category=Example&exampletype=Bundle&sortBy=RankScore_desc). Beispiele für diesen Anwendungsfall sind benannt nach "UC4-*" - -@``` -from Bundle -where id.startsWith('UC4-') -select id -``` diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/5-Mappings.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/5-Mappings.page.md deleted file mode 100644 index 39f135f2..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/5-Mappings.page.md +++ /dev/null @@ -1,38 +0,0 @@ -## {{page-title}} - -Im Feature Dokument zu diesem Projekt ([gemF_eRp_KIM#3](https://fachportal.gematik.de/schnelleinstieg/downloadcenter/vorabveroeffentlichungen#c7685)) werden die Anwendungsfälle fachlich beschrieben. Aus den dort aufgeführten fachlichen Informationsobjekten kann hier das Mapping auf die FHIR-Ressourcen nachvollzogen werden. - -### ERPServiceRequestPrescriptionRequest Mappings - -@``` - -from StructureDefinition -where name = 'ERPServiceRequestPrescriptionRequest' -for differential.element - select id, join mapping { Feld: map, Fachliche_Informationseinheit: identity } - order by Fachliche_Informationseinheit - -``` - -### ERPServiceRequestMedicationRequest Mappings - -@``` -from StructureDefinition -where name = 'ERPServiceRequestMedicationRequest' -for differential.element - select id, join mapping { Feld: map, Fachliche_Informationseinheit: identity } - order by Fachliche_Informationseinheit - -``` - -### ERPServiceRequestDispenseRequest Mappings - -@``` - -from StructureDefinition -where name = 'ERPServiceRequestDispenseRequest' -for differential.element - select id, join mapping { Feld: map, Fachliche_Informationseinheit: identity } - order by Fachliche_Informationseinheit - -``` diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/toc.yaml b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/toc.yaml deleted file mode 100644 index 19d77eaa..00000000 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Parenterale-Zubereitung/toc.yaml +++ /dev/null @@ -1,12 +0,0 @@ -- name: Parenterale Zubereitung - filename: 0-Index.page.md -- name: Fachliche Beschreibung - filename: 1-Fachliche-Beschreibung.page.md -- name: Rezeptanforderung - filename: 2.1-Anfrage-an-Verordnenden.page.md -- name: Rezeptanforderung_Rezeptübermittlung - filename: 2.2-Verordnender-an-Anfragenden.page.md -- name: Beispiele - filename: 4-Beispiele.page.md -- name: Mappings - filename: 5-Mappings.page.md \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/2.1-Anfragender-an-Verordnenden.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/2.1-Anfragender-an-Verordnenden.page.md new file mode 100644 index 00000000..efd948e5 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/2.1-Anfragender-an-Verordnenden.page.md @@ -0,0 +1,77 @@ +## {{page-title}} + +In diesem Anwendungsfall erstellt die Pflegeeinrichtung im Namen des Patienten eine Rezeptanforderung mit der Kennzeichnung zur Patienteneinlösung an einen verordnenden Leistungserbringer. Der verordnende LE stellt ein E-Rezept am E-Rezept-Fachdienst ein. Der E-Rezept Token wird in diesem Anwendungsfall nicht an die Pflegeeinrichtung übertragen. Die Pflegeeinrichtung kann optional den Versicherten über die Ausstellung des E-Rezeptes informieren. +Die Pflegeeinrichtung kann optional den Versicherten über die Ausstellung des E-Rezeptes informieren. + +{{render:guides/ig-rezeptanforderung/images/puml_images/UC2.png}} + +In der Rezeptanforderung sind medizinische Informationen zum angefragten Arzneimittel, wie auch administrative Informationen enthalten. +Die folgenden Beschreibungen liefern detailiierte Informationen, wie eine Rezeptanforderung zu befüllen und auszuführen ist. + +### [1] Rezeptanforderung + +Zum erstellen müssen die in {{pagelink:Home/Datenobjekte/Mappings/mapping_definitions/Mapping-für-Rezeptanforderung.page.md}} aufgeführten fachlichen Informationen übertragen werden. Das Mapping stellt ebenfalls dar, in welchen Profilen die Informationen angegeben werden müssen. + +#### Verwendung von Profilen + +Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: + +|Profil|Referenziert in|Optional| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md}}|ERPServiceRequestMessageContainer.entry[0]|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md}}|ERPServiceRequestRequestHeader.focus|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-patient.page.md}}|ERPServiceRequestPrescriptionRequest.subject|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-organization.page.md}}, |ERPServiceRequestPrescriptionRequest.requester|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-practitioner.page.md}} |ERPServiceRequestPrescriptionRequest.performer|x| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|ERPServiceRequestPrescriptionRequest.basedOn|| +|[KBV_PR_ERP_Medication_PZN](https://simplifier.net/erezept/kbvprerpmedicationpzn), [KBV_PR_ERP_Medication_Compounding](https://simplifier.net/erezept/kbvprerpmedicationcompounding), [KBV_PR_ERP_Medication_Ingredient](https://simplifier.net/erezept/kbvprerpmedicationingredient) oder [KBV_PR_ERP_Medication_FreeText](https://simplifier.net/erezept/kbvprerpmedicationfreetext)|ERPServiceRequestMedicationRequest.medication[x]|| + +Folgendes Klassendiagramm soll die verwendeten Profile graphisch darstellen: +{{render:guides/ig-rezeptanforderung/images/puml_images/PrescriptionRequest_Class.png}} + +#### Wichtige Kennzeichnungen + +Folgende Bedingungen müssen erfüllt und Felder gesetzt sein, damit die Nachricht einer Rezeptanforderung, die zur Patienteneinlösung vorgesehen ist, entspricht: +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Rezeptanfrage`| +|ERPServiceRequestPrescriptionRequest|.status = #active| +|ERPServiceRequestOrganization|.type.coding = #PFL| +|ERPServiceRequestMedicationRequest|.extension:redeemByPatient = **true**| + +Über `ServiceRequest.reasonCode` und `ServiceRequest.reasonReference` kann angegeben werden, warum die Medikation angefragt wird. + +#### Angabe der Verordnungsinhalte + +Die MedicationRequest Ressource ist nach Profil {{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}} anzugeben. +Zur Behandlung von gesonderten Fällen kann in der MedicationRequest Ressource folgendes gesetzt werden: + +|Profil|Feld|Bedeutung| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md}}|.extension:redeemByPatient|Angabe, ob die angefragte Verordnung durch den Versicherten eingelöst werden soll. In diesem Anwendungsfall ist die Angabe `true` zu machen. Damit ist der Flowtype des E-Rezepts 160/200.| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|.extension:PriorPrescriptionID|Angabe einer vorherigen Task ID auf die sich die Anfrage bezieht| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|.extension:requestMVO.extension:Kennzeichen|Angabe, ob der Anfragende die Ausstellung des E-Rezeptes im Rahmen einer Mehrfachverordnung wünscht| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|.dispenseRequest.quantity|Angabe der gewünschten Packungsmenge des Arzneimittels| + +### Stornierung - Verordnungsanfrage + +Falls der Anfragende die Anfrage stornieren möchte, wird der gleiche ServiceRequest (.identifer:requestId muss gleich sein) erneut an den Verordnenden versendet. Folgende Bedingungen müssen erfüllt sein: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Rezeptanfrage_Storno`| +|ERPServiceRequestPrescriptionRequest|.status = #entered-in-error | +|ERPServiceRequestPrescriptionRequest|.reasonCode Angabe des Stornierungsgrund | + +Für die PDF Repräsentation der Anfrage werden außerdem die medizinischen Inhalte der ursprünglichen Verordnungsanfrage übertragen. Das empfangende System kann diese ignorieren. + +### Ergebnis der Übertragung + +Im Falle der erfolgreichen Übertragung sollte der Verordnende alle wesentlichen Informationen zur Verfügung haben, die er für das Ausstellen einer Verordnung benötigt: + +* Daten des Patienten, für den die Verordnung erstellt werden soll +* Daten des Anfragenden, an den die Informationen übertragen werden sollen +* Daten zum angefragten Medikament, dass verordnet werden soll +* Optional der Grund und/ oder die Reichweite der aktuellen Medikation + +Im Falle einer Stornierung sollte das sendende System den Eintrag als "storniert" gekennzeichnet haben. Das empfangende System kann eine unbearbeitete Anfrage löschen und muss sonst dem Verordnenden kenntlich machen, dass eine Stornierungsanfrage gesendet wurde. Falls ein E-Rezept erstellt wurde ist dieses vom Verordnenden zu löschen. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/2.2-Verordnender-an-Anfragenden.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/2.2-Verordnender-an-Anfragenden.page.md new file mode 100644 index 00000000..74c29177 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/2.2-Verordnender-an-Anfragenden.page.md @@ -0,0 +1,56 @@ +## {{page-title}} + +### [4] Rezeptanforderung_Bestätigung + +Der Verordnende kann nach dem Erhalt einer Rezeptanforderung diese prüfen und eine entsprechende Verordnung erstellen, signieren und im E-Rezept-Fachdienst einstellen (**[2]**). + +Der Verordnende erhält in der Antwort vom Fachdienst die PrescriptionID und den AccessCode. Beide Informationen werden benötigt, um ein E-Rezept in einer Apotheke einzulösen. + +Zum Erstellen müssen die in {{pagelink:Home/Datenobjekte/Mappings/mapping_definitions/Mapping-für-Rezeptanforderung_Bestaetigung.page.md}} aufgeführten fachlichen Informationen übertragen werden. Das Mapping stellt ebenfalls dar, in welchen Profilen die Informationen angegeben werden müssen. + +#### Verwendung von Profilen + +Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: + +|Profil|Referenziert in|Optional| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md}}|ERPServiceRequestMessageContainer.entry[0]|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md}}|ERPServiceRequestRequestHeader.focus|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-patient.page.md}}|ERPServiceRequestPrescriptionRequest.subject|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-practitioner.page.md}}|ERPServiceRequestPrescriptionRequest.performer|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|ERPServiceRequestPrescriptionRequest.basedOn|| +|[KBV_PR_ERP_Medication_PZN](https://simplifier.net/erezept/kbvprerpmedicationpzn), [KBV_PR_ERP_Medication_Compounding](https://simplifier.net/erezept/kbvprerpmedicationcompounding), [KBV_PR_ERP_Medication_Ingredient](https://simplifier.net/erezept/kbvprerpmedicationingredient) oder [KBV_PR_ERP_Medication_FreeText](https://simplifier.net/erezept/kbvprerpmedicationfreetext)|ERPServiceRequestMedicationRequest.medication[x]|| + +Folgendes Klassendiagramm soll die verwendeten Profile graphisch darstellen: +{{render:guides/ig-rezeptanforderung/images/puml_images/PrescriptionRequest_Confirmation_Class.png}} + +#### Wichtige Kennzeichnungen + +Folgende Bedingungen müssen erfüllt, bzw. Felder gesetzt sein, damit die Nachricht einer Rezeptanforderungs Bestätigung entspricht. + +==WICHTIG==: Der E-Rezept Token darf bei diesem Anwendungsfall nicht übertragen werden. + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Rezeptbestaetigung`| +|ERPServiceRequestPrescriptionRequest|.status = #completed| + +### Ablehnung - Verordnung + +Falls der Verordnende die Anfrage ablehnen möchte, wird der gleiche ServiceRequest (.identifer:requestId muss gleich sein) an den Anfragenden zurück gesendet. Folgende Bedingungen müssen erfüllt sein: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Rezeptanfrage_Storno`| +|ERPServiceRequestPrescriptionRequest|.status = #revoked | +|ERPServiceRequestPrescriptionRequest|.reasonCode Angabe des Ablehnungsgrunds | + +Für die PDF Repräsentation der Anfrage werden außerdem die medizinischen Inhalte der ursprünglichen Verordnungsanfrage übertragen. Diese sind vom PVS aus der initialen Anfrage zu übernehmen. Das empfangende System kann diese ignorieren. + +### Ergebnis + +Sobald das PVS die Anfrage bearbeitet und eine Antwort an die Pflegeeinrichtung versendet hat, ist der Vorgang für den Verordnenden beendet. + +Die Pflegeeinrichtung hat die Information, dass die Anfrage bearbeitet wurde. Der Patient wird ggf. darüber in Kenntnis gesetzt, dass die Verordnung erstellt wurde. Der Patient kann seine Verordnung in einer beliebigen Apotheke einlösen. + +Falls der Verordnende die Anfrage abgelehnt hat, ist der Vorgang entsprechend im Pflegesystem zu markieren. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/2.3-Beispiele.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/2.3-Beispiele.page.md new file mode 100644 index 00000000..5869cec4 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/2.3-Beispiele.page.md @@ -0,0 +1,3 @@ +## {{page-title}} + +Beispielhafte FHIR-Ressourcen sind auf der folgenden Seite {{pagelink:Home/Examples.page.md}} verfügbar. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/Index.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/Index.page.md new file mode 100644 index 00000000..8c56e35c --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/Index.page.md @@ -0,0 +1,10 @@ +# {{page-title}} + +In diesem Anwendungsfall initiiert eine Pflegeeinrichtung den Prozess, indem sie eine Rezeptanfrage an einen verordnenden Arzt stellt. In dieser Anfrage ist angegeben, dass die Verordnung vom Patienten eingelöst werden soll. + +Der Arzt bearbeitet die Anfrage und erstellt ein E-Rezept mit Flowtype 160/200, damit der Versicherte das E-Rezept selbst einlösen kann. +Nach der Erstellung des E-Rezepts erhält der Verordnende die Informationen "PrescriptionID" und "AccessCode" vom E-Rezept-Fachdienst und kann damit einen E-Rezept-Token generieren. + +Der verordnende Leistungserbringer übermittelt den E-Rezept-Token, sowie den Patientenausdruck als PDF (s. [Feature Dokument gemF_eRp_KIM](https://gemspec.gematik.de/docs/gemF/gemF_eRp_KIM/latest/)) anschließend an die Pflegeeinrichtung. + +Die Pflegeeinrichtung kann den Patienten informieren, dass das E-Rezept in einer Apotheke eingelöst werden kann und gibt ggf. den Patientenausdruck mit. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/toc.yaml b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/toc.yaml new file mode 100644 index 00000000..544d1fea --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/2_Rezeptanforderung_Patient/toc.yaml @@ -0,0 +1,8 @@ +- name: Index + filename: Index.page.md +- name: Rezeptanforderung + filename: 2.1-Anfragender-an-Verordnenden.page.md +- name: Rezeptanforderung_Bestätigung + filename: 2.2-Verordnender-an-Anfragenden.page.md +- name: Beispiele der verwendeten FHIR-Ressourcen + filename: 2.3-Beispiele.page.md \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.1-Anfragender-an-Verordnenden.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.1-Anfragender-an-Verordnenden.page.md new file mode 100644 index 00000000..1de02c0c --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.1-Anfragender-an-Verordnenden.page.md @@ -0,0 +1,77 @@ +## {{page-title}} + +Die Apotheke stellt eine Rezeptanforderung an einen verordnenden Leistungserbringer. Der verordnende LE stellt ein E-Rezept am E-Rezept-Fachdienst ein und überträgt den E-Rezept Token als Antwort an die Apotheke. +Die Apotheke löst das E-Rezept ein und informiert die Pflegeeinrichtung über die anstehende Belieferung. +{{render:guides/ig-rezeptanforderung/images/puml_images/UC3.png}} + +In der Rezeptanforderung sind medizinische Informationen zum angefragten Arzneimittel, wie auch administrative Informationen enthalten. +Die folgenden Beschreibungen liefern detailiierte Informationen, wie eine Rezeptanforderung zu befüllen und auszuführen ist. + +### [1] Rezeptanforderung + +Zum erstellen müssen die in {{pagelink:Home/Datenobjekte/Mappings/mapping_definitions/Mapping-für-Rezeptanforderung.page.md}} aufgeführten fachlichen Informationen übertragen werden. Das Mapping stellt ebenfalls dar, in welchen Profilen die Informationen angegeben werden müssen. + +#### Verwendung von Profilen + +Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: + +|Profil|Referenziert in|Optional| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md}}|ERPServiceRequestMessageContainer.entry[0]|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md}}|ERPServiceRequestRequestHeader.focus|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-patient.page.md}}|ERPServiceRequestPrescriptionRequest.subject|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-organization.page.md}}, |ERPServiceRequestPrescriptionRequest.requester|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-practitioner.page.md}} |ERPServiceRequestPrescriptionRequest.performer|x| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|ERPServiceRequestPrescriptionRequest.basedOn|| +|[KBV_PR_ERP_Medication_PZN](https://simplifier.net/erezept/kbvprerpmedicationpzn), [KBV_PR_ERP_Medication_Compounding](https://simplifier.net/erezept/kbvprerpmedicationcompounding), [KBV_PR_ERP_Medication_Ingredient](https://simplifier.net/erezept/kbvprerpmedicationingredient) oder [KBV_PR_ERP_Medication_FreeText](https://simplifier.net/erezept/kbvprerpmedicationfreetext)|ERPServiceRequestMedicationRequest.medication[x]|| + + +Folgendes Klassendiagramm soll die verwendeten Profile graphisch darstellen: +{{render:guides/ig-rezeptanforderung/images/puml_images/PrescriptionRequest_Class.png}} + +#### Wichtige Kennzeichnungen + +Folgende Bedingungen müssen erfüllt, bzw. Felder gesetzt sein, damit die Nachricht einer Rezeptanforderung seitens der Pflegeeinrichtung entspricht: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Rezeptanfrage`| +|ERPServiceRequestPrescriptionRequest|.status = #active| +|ERPServiceRequestOrganization|.type.coding = **#APO** | +|ERPServiceRequestPrescriptionRequest|.supportingInfo:pflegeeinrichtungKopie = Referenz zu ERPServiceRequestOrganization, die eine KIM-Adresse in Contact enthält | + +HINWEIS: Über `ServiceRequest.reasonCode` kann angegeben werden, warum die Medikation angefragt wird. + +#### Angabe der Verordnungsinhalte + +Die MedicationRequest Ressource ist nach Profil {{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}} anzugeben. +Zur Behandlung von gesonderten Fällen kann in der ServiceRequest und MedicationRequest Ressource folgendes gesetzt werden: + +|Profil|Feld|Bedeutung| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|.extension:PriorPrescriptionID|Angabe einer vorherigen Task ID auf die sich die Anfrage bezieht| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|.extension:requestMVO.extension:Kennzeichen|Angabe, ob der Anfragende die Ausstellung des E-Rezeptes im Rahmen einer Mehrfachverordnung wünscht| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|.dispenseRequest.quantity|Angabe der gewünschten Packungsmenge des Arzneimittels| + +### Stornierung - Verordnungsanfrage + +Falls der Anfragende die Anfrage stornieren möchte, wird der gleiche ServiceRequest (.identifer:requestId muss gleich sein) erneut an den Verordnenden versendet. Folgende Bedingungen müssen erfüllt sein: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Rezeptanfrage_Storno`| +|ERPServiceRequestPrescriptionRequest|.status = #entered-in-error | +|ERPServiceRequestPrescriptionRequest|.reasonCode Angabe des Stornierungsgrund | + +Für die PDF Repräsentation der Anfrage werden außerdem die medizinischen Inhalte der ursprünglichen Verordnungsanfrage übertragen. Das empfangende System kann diese ignorieren. + +### Ergebnis der Übertragung + +Im Falle der erfolgreichen Übertragung sollte der Verordnende alle wesentlichen Informationen zur Verfügung haben, die er für das Ausstellen einer Verordnung benötigt: + +* Daten des Patienten, für den die Verordnung erstellt werden soll +* Daten des Anfragenden, an den die Informationen übertragen werden sollen +* Daten zum angefragten Medikament, dass verordnet werden soll +* Optional der Grund und/ oder die Reichweite der aktuellen Medikation + +Im Falle einer Stornierung sollte das sendende System den Eintrag als "storniert" gekennzeichnet haben. Das empfangende System kann eine unbearbeitete Anfrage löschen und muss sonst dem Verordnenden kenntlich machen, dass eine Stornierungsanfrage gesendet wurde. Falls ein E-Rezept erstellt wurde ist dieses vom Verordnenden zu löschen. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.2-Nachrichtenkopie.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.2-Nachrichtenkopie.page.md new file mode 100644 index 00000000..c8371cb3 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.2-Nachrichtenkopie.page.md @@ -0,0 +1,28 @@ +### [2] Nachrichten_Kopie + +In diesem Anwendungsfall muss jede Nachricht per Kopie an die Pflegeeinrichtung gestellt werden. Dabei wird der gesamte {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} an die Pflegeeinrichtung übertragen. + +#### Verwendung von Profilen + +Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: + +|Profil|Referenziert in|Optional| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md}}|ERPServiceRequestMessageContainer.entry[0]|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-message-container.page.md}}|ERPServiceRequestRequestHeader.focus|| + +Folgendes Klassendiagramm soll die verwendeten Profile graphisch darstellen: +{{render:guides/ig-rezeptanforderung/images/puml_images/MessageCopy_Class.png}} + +#### Wichtige Kennzeichnungen + +Folgende Bedingungen müssen erfüllt, bzw. Felder gesetzt sein, damit die Nachricht einer Rezeptanforderung seitens der Pflegeeinrichtung entspricht: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;message-copy`| +|ERPServiceRequestRequestHeader|.focus = Referenz auf das Bundle, was in der ursprünglichen Nachricht gesendet wurde| + +### Ergebnis der Übertragung + +Die Pflegeeinrichtung kann in ihrem System nachverfolgen welche Nachrichten bezüglich einer Rezeptanforderung gesendet werden. Das System erkennt ebenfalls, dass es sich um eine Kopie handelt und dass die Pflegeeinrichtung nicht aktiv werden muss. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.3-Verordnender-an-Anfragenden.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.3-Verordnender-an-Anfragenden.page.md new file mode 100644 index 00000000..76e2fe1f --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.3-Verordnender-an-Anfragenden.page.md @@ -0,0 +1,60 @@ +## {{page-title}} + +### [4] Rezeptanforderung_Bestätigung + +Der Verordnende kann nach dem Erhalt einer Rezeptanforderung diese prüfen und eine entsprechende Verordnung erstellen, signieren und im E-Rezept-Fachdienst einstellen (**[3]**). + +Der Verordnende erhält in der Antwort vom Fachdienst die PrescriptionID und den AccessCode. Beide Informationen werden benötigt, um ein E-Rezept in einer Apotheke einzulösen. + +Zum Erstellen müssen die in {{pagelink:Home/Datenobjekte/Mappings/mapping_definitions/Mapping-für-Rezeptanforderung_Bestaetigung.page.md}} aufgeführten fachlichen Informationen übertragen werden. Das Mapping stellt ebenfalls dar, in welchen Profilen die Informationen angegeben werden müssen. + +#### Verwendung von Profilen + +Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: + +|Profil|Referenziert in|Optional| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md}}|ERPServiceRequestMessageContainer.entry[0]|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md}}|ERPServiceRequestRequestHeader.focus|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-patient.page.md}}|ERPServiceRequestPrescriptionRequest.subject|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-practitioner.page.md}}|ERPServiceRequestPrescriptionRequest.performer|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|ERPServiceRequestPrescriptionRequest.basedOn|| +|[KBV_PR_ERP_Medication_PZN](https://simplifier.net/erezept/kbvprerpmedicationpzn), [KBV_PR_ERP_Medication_Compounding](https://simplifier.net/erezept/kbvprerpmedicationcompounding), [KBV_PR_ERP_Medication_Ingredient](https://simplifier.net/erezept/kbvprerpmedicationingredient) oder [KBV_PR_ERP_Medication_FreeText](https://simplifier.net/erezept/kbvprerpmedicationfreetext)|ERPServiceRequestMedicationRequest.medication[x]|| + + +Folgendes Klassendiagramm soll die verwendeten Profile graphisch darstellen: +{{render:guides/ig-rezeptanforderung/images/puml_images/PrescriptionRequest_Confirmation_Class.png}} + +#### Wichtige Kennzeichnungen + +Folgende Bedingungen müssen erfüllt, bzw. Felder gesetzt sein, damit die Nachricht einer Rezeptanforderungs Bestätigung entspricht: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Rezeptbestaetigung`| +|ERPServiceRequestPrescriptionRequest|.status = #completed| +|ERPServiceRequestPrescriptionRequest|.extension:EPrescriptionToken = | + +#### [5] Nachrichten_Kopie + +Analog zur Apotheke muss auch der Verordnende eine Kopie des erstellen ERPServiceRequestMessageContainer an die Pflegeeinrichtung übertragen. Die KIM Adresse ist dem PVS aus der initialen Anfrage der Apotheke bekannt (s.o. [2] Nachrichten_Kopie). + +### Ablehnung - Verordnung + +Falls der Verordnende die Anfrage ablehnen möchte, wird der gleiche ServiceRequest (.identifer:requestId muss gleich sein) an den Anfragenden zurück gesendet. Folgende Bedingungen müssen erfüllt sein: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Rezeptanfrage_Storno`| +|ERPServiceRequestPrescriptionRequest|.status = #revoked | +|ERPServiceRequestPrescriptionRequest|.reasonCode Angabe des Ablehnungsgrunds | + +Für die PDF Repräsentation der Anfrage werden außerdem die medizinischen Inhalte der ursprünglichen Verordnungsanfrage übertragen. Diese sind vom PVS aus der initialen Anfrage zu übernehmen. Das empfangende System kann diese ignorieren. + +### Ergebnis + +Sobald das PVS die Anfrage bearbeitet und eine Antwort an die Pflegeeinrichtung versendet hat, ist der Vorgang für den Verordnenden beendet. + +Die Pflegeeinrichtung hat die Information, dass die Anfrage bearbeitet wurde und den E-Rezept Token. Jetzt kann eine Abgabeanfrage an eine Apotheke versendet werden. + +Falls der Verordnende die Anfrage abgelehnt hat, ist der Vorgang entsprechend im Apothekensystem zu markieren. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.4-Apotheke-an-Pflegeeinrichtung.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.4-Apotheke-an-Pflegeeinrichtung.page.md new file mode 100644 index 00000000..75af4f5b --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.4-Apotheke-an-Pflegeeinrichtung.page.md @@ -0,0 +1,38 @@ +## {{page-title}} + +### [6] Dispensieranforderung_Bestätigung + +Abschließend zum Anwendungsfall übermittelt die Apotheke eine Bestätigung an die zu beliefernde Pflegeeinrichtung, dass die Abgabe bestätigt ist. +In der Nachricht sollen auch die Abgabedaten inkludiert sein, damit die Pflegeeinrichtung informiert ist welches Präparat geliefert wird. + +Zum erstellen müssen die in {{pagelink:Home/Datenobjekte/Mappings/mapping_definitions/Mapping-für-Dispensieranforderung.page.md}} aufgeführten fachlichen Informationen übertragen werden. Das Mapping stellt ebenfalls dar, in welchen Profilen die Informationen angegeben werden müssen. + +#### Verwendung von Profilen + +Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: + +|Profil|Referenziert in|Optional| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md}}|ERPServiceRequestMessageContainer.entry[0]|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-dispense-request.page.md}}|ERPServiceRequestRequestHeader.focus|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-patient.page.md}}|ERPServiceRequestDispenseRequest.subject|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|ERPServiceRequestDispenseRequest.basedOn|| +|[KBV_PR_ERP_Medication_PZN](https://simplifier.net/erezept/kbvprerpmedicationpzn), [KBV_PR_ERP_Medication_Compounding](https://simplifier.net/erezept/kbvprerpmedicationcompounding), [KBV_PR_ERP_Medication_Ingredient](https://simplifier.net/erezept/kbvprerpmedicationingredient) oder [KBV_PR_ERP_Medication_FreeText](https://simplifier.net/erezept/kbvprerpmedicationfreetext)|ERPServiceRequestMedicationRequest.medication[x]|| + +Folgendes Klassendiagramm soll die verwendeten Profile graphisch darstellen: +{{render:guides/ig-rezeptanforderung/images/puml_images/DispenseRequest_Confirmation_Class.png}} + +#### Wichtige Kennzeichnungen + +Folgende Bedingungen müssen erfüllt, bzw. Felder gesetzt sein, damit die Nachricht einer Dispensieranforderung entspricht: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Abgabebestaetigung`| +|ERPServiceRequestDispenseRequest|.status = #completed| +|ERPServiceRequestDispenseRequest|.supportingInfo = Abgabeinformationen| + +### Ergebnis + +Die Pflegeeinrichtung ist darüber informiert, dass die Abgabe erfolgt ist und welche Medikamente geliefert werden. +Dieser letzte Schritt schließt den Anwendungsfall ab. diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.5-Beispiele.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.5-Beispiele.page.md new file mode 100644 index 00000000..5869cec4 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/3.5-Beispiele.page.md @@ -0,0 +1,3 @@ +## {{page-title}} + +Beispielhafte FHIR-Ressourcen sind auf der folgenden Seite {{pagelink:Home/Examples.page.md}} verfügbar. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/Index.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/Index.page.md new file mode 100644 index 00000000..a4f77774 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/Index.page.md @@ -0,0 +1,9 @@ +# {{page-title}} + +In diesem Anwendungsfall löst eine heimversorgende Apotheke nach §12a ApoG die Rezeptanforderung aus und stellt eine Rezeptanfrage an einen verordnenden Arzt. Der Arzt kann die Anfrage bearbeiten und ein E-Rezept erstellen. Mit Erstellung des E-Rezepts erhält der Verordnende die Informationen "PrescriptionID" und "AccessCode" vom E-Rezept-Fachdienst und kann somit einen E-Rezept-Token erzeugen. + +Der verordnende Leistungserbringer übermittelt den E-Rezept-Token anschließend an die Apotheke. + +Die Apotheke löst das E-Rezept am E-Rezept-Fachdienst ein und startet die Belieferung an die Pflegeeinrichtung. Die Pflegeeinrichtung wird über das Arzneimittel, was beliefert wird informiert. + +In diesem Anwendungsfall erhält die Pflegeeinrichtung eine Kopie der Nachricht in jedem Prozessschritt. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/toc.yaml b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/toc.yaml new file mode 100644 index 00000000..b39149b6 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke/toc.yaml @@ -0,0 +1,12 @@ +- name: Index + filename: Index.page.md +- name: Apotheke an Verordnenden + filename: 3.1-Anfragender-an-Verordnenden.page.md +- name: Kopie der Anfrage an Pflegeeinrichtung + filename: 3.2-Nachrichtenkopie.page.md +- name: Verordnender an Apotheke + filename: 3.2-Verordnender-an-Anfragenden.page.md +- name: Apotheke an Pflegeeinrichtung + filename: 3.4-Apotheke-an-Pflegeeinrichtung.page.md +- name: Beispiele der verwendeten FHIR-Ressourcen + filename: 3.5-Beispiele.page.md \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/4.1-Anfrage-an-Verordnenden.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/4.1-Anfrage-an-Verordnenden.page.md new file mode 100644 index 00000000..2aaf092f --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/4.1-Anfrage-an-Verordnenden.page.md @@ -0,0 +1,69 @@ +## {{page-title}} + +Die Apotheke erstellt mittels Zytostatika-Programm oder Taxierungssoftware die notwendigen Informationen für die Rezeptanforderung zusammen, um sie dann einem verordnenden Leistungserbringer zu übermitteln. + +Der verordnende LE stellt ein E-Rezept am E-Rezept-Fachdienst ein und überträgt den E-Rezept Token als Antwort an die anfragende Apotheke. Diese kann das E-Rezept am E-Rezept-Fachdienst einlösen. + +{{render:guides/ig-rezeptanforderung/images/puml_images/UC4.png}} + +In der Rezeptanforderung sind medizinische Informationen zum angefragten Arzneimittel, wie auch administrative Informationen enthalten. +Die folgenden Beschreibungen liefern detailiierte Informationen, wie eine Rezeptanforderung zu befüllen und auszuführen ist. + +### [1] Rezeptanforderung + +Zum erstellen müssen die in {{pagelink:Home/Datenobjekte/Mappings/mapping_definitions/Mapping-für-Rezeptanforderung.page.md}} aufgeführten fachlichen Informationen übertragen werden. Das Mapping stellt ebenfalls dar, in welchen Profilen die Informationen angegeben werden müssen. + +#### Verwendung von Profilen + +Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: + +|Profil|Referenziert in|Optional| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md}}|ERPServiceRequestMessageContainer.entry[0]|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md}}|ERPServiceRequestRequestHeader.focus|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-patient.page.md}}|ERPServiceRequestPrescriptionRequest.subject|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-organization.page.md}}, |ERPServiceRequestPrescriptionRequest.requester|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-practitioner.page.md}} |ERPServiceRequestPrescriptionRequest.performer|x| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|ERPServiceRequestPrescriptionRequest.basedOn|| +|[KBV_PR_ERP_Medication_PZN](https://simplifier.net/erezept/kbvprerpmedicationpzn), [KBV_PR_ERP_Medication_Compounding](https://simplifier.net/erezept/kbvprerpmedicationcompounding), [KBV_PR_ERP_Medication_Ingredient](https://simplifier.net/erezept/kbvprerpmedicationingredient) oder [KBV_PR_ERP_Medication_FreeText](https://simplifier.net/erezept/kbvprerpmedicationfreetext)|ERPServiceRequestMedicationRequest.medication[x]|| + +Folgendes Klassendiagramm soll die verwendeten Profile graphisch darstellen: +{{render:guides/ig-rezeptanforderung/images/puml_images/Zyto_PrescriptionRequest_Class.png}} + +#### Wichtige Kennzeichnungen + +Folgende Bedingungen müssen erfüllt, bzw. Felder gesetzt sein, damit die Nachricht einer Rezeptanforderung seitens der Pflegeeinrichtung entspricht: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_ParenteraleZubereitung;Rezeptanfrage`| +|ERPServiceRequestPrescriptionRequest|.status = #active| +|ERPServiceRequestOrganization|.type.coding = #APO | + +#### Angabe der Verordnungsinhalte + +Die MedicationRequest Ressource ist nach Profil {{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}} anzugeben. +Die Informationen zum Arzneimittel sind in der referenzierten Medication Ressource nachgehalten, die einem Profil der KBV_Medication entspricht. + +### Stornierung - Verordnungsanfrage + +Falls der Anfragende die Anfrage stornieren möchte, wird der gleiche ServiceRequest (.identifer:requestId muss gleich sein) erneut an den Verordnenden versendet. Folgende Bedingungen müssen erfüllt sein: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_ParenteraleZubereitung;Rezeptanfrage_Storno`| +|ERPServiceRequestPrescriptionRequest|.status = #entered-in-error | +|ERPServiceRequestPrescriptionRequest|.reasonCode Angabe des Stornierungsgrund | + +Für die PDF Repräsentation der Anfrage werden außerdem die medizinischen Inhalte der ursprünglichen Verordnungsanfrage übertragen. Das empfangende System kann diese ignorieren. + + +### Ergebnis der Übertragung + +Der Verordnende sollte mittels dieser Übertragung alle wesentlichen Informationen zur Verfügung haben, die er für das Ausstellen einer Verordnung benötigt: + +* Daten des Patienten, für den die Verordnung erstellt werden soll +* Daten des Anfragenden, an den die Informationen übertragen werden sollen +* Daten zum angefragten Medikament, dass verordnet werden soll + +Im Falle einer Stornierung sollte das sendende System den Eintrag als "storniert" gekennzeichnet haben. Das empfangende System kann eine unbearbeitete Anfrage löschen und muss sonst dem Verordnenden kenntlich machen, dass eine Stornierungsanfrage gesendet wurde. Falls ein E-Rezept erstellt wurde ist dieses vom Verordnenden zu löschen. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/4.2-Verordnender-an-Anfragenden.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/4.2-Verordnender-an-Anfragenden.page.md new file mode 100644 index 00000000..e4f2892f --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/4.2-Verordnender-an-Anfragenden.page.md @@ -0,0 +1,54 @@ +## {{page-title}} + +### [4] Rezeptanforderung_Bestätigung + +Der Verordnende kann nach dem Erhalt einer Rezeptanforderung diese prüfen und eine entsprechende Verordnung erstellen, signieren und im E-Rezept-Fachdienst einstellen (**[2]** und **[3]**). + +Der Verordnende erhält in der Antwort vom Fachdienst die PrescriptionID und den AccessCode. Beide Informationen werden benötigt, damit die Apotheke das E-Rezept einlösen und zur Abrechnung bringen kann. + +Zum Erstellen müssen die in {{pagelink:Home/Datenobjekte/Mappings/mapping_definitions/Mapping-für-Rezeptanforderung_Bestaetigung.page.md}} aufgeführten fachlichen Informationen übertragen werden. Das Mapping stellt ebenfalls dar, in welchen Profilen die Informationen angegeben werden müssen. + +#### Verwendung von Profilen + +Folgende Profile sind für diesen Übertragungsweg zu nutzen und im {{link:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container}} einzubetten: + +|Profil|Referenziert in|Optional| +|---|---|---| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md}}|ERPServiceRequestMessageContainer.entry[0]|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md}}|ERPServiceRequestRequestHeader.focus|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-patient.page.md}}|ERPServiceRequestPrescriptionRequest.subject|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-practitioner.page.md}}|ERPServiceRequestPrescriptionRequest.performer|| +|{{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md}}|ERPServiceRequestPrescriptionRequest.basedOn|| +|[KBV_PR_ERP_Medication_PZN](https://simplifier.net/erezept/kbvprerpmedicationpzn), [KBV_PR_ERP_Medication_Compounding](https://simplifier.net/erezept/kbvprerpmedicationcompounding), [KBV_PR_ERP_Medication_Ingredient](https://simplifier.net/erezept/kbvprerpmedicationingredient) oder [KBV_PR_ERP_Medication_FreeText](https://simplifier.net/erezept/kbvprerpmedicationfreetext)|ERPServiceRequestMedicationRequest.medication[x]|| + +Folgendes Klassendiagramm soll die verwendeten Profile graphisch darstellen: +{{render:guides/ig-rezeptanforderung/images/puml_images/Zyto_PrescriptionRequest_Confirmation_Class.png}} + +#### Wichtige Kennzeichnungen + +Folgende Bedingungen müssen erfüllt, bzw. Felder gesetzt sein, damit die Nachricht einer Rezeptanforderungs Bestätigung entspricht: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_ParenteraleZubereitung;Rezeptbestaetigung`| +|ERPServiceRequestPrescriptionRequest|.status = #completed| +|ERPServiceRequestPrescriptionRequest|.extension:EPrescriptionToken = | + + +### Ablehnung - Verordnung + +Falls der Verordnende die Anfrage ablehnen möchte, wird der gleiche ServiceRequest (.identifer:requestId muss gleich sein) an den Anfragenden zurück gesendet. Folgende Bedingungen müssen erfüllt sein: + +|Profil|Bedingung| +|---|---| +|ERPServiceRequestRequestHeader|.eventCode = `#eRezept_Rezeptanforderung;Rezeptanfrage_Storno`| +|ERPServiceRequestPrescriptionRequest|.status = #revoked | +|ERPServiceRequestPrescriptionRequest|.reasonCode Angabe des Ablehnungsgrunds | + +Für die PDF Repräsentation der Anfrage werden außerdem die medizinischen Inhalte der ursprünglichen Verordnungsanfrage übertragen. Diese sind vom PVS aus der initialen Anfrage zu übernehmen. Das empfangende System kann diese ignorieren. + +### Ergebnis + +Sobald das PVS die Anfrage bearbeitet hat, erhält die Apotheke nach Abschluss dieses Vorgangs das E-Rezept-Token am E-Rezept-Fachdienst und kann damit das E-Rezept einlösen und die Zubereitung abrechnen. + +Falls der Verordnende die Anfrage abgelehnt hat, ist der Vorgang entsprechend im Apothekensystem zu markieren. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/4.3-Beispiele.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/4.3-Beispiele.page.md new file mode 100644 index 00000000..8acd33e5 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/4.3-Beispiele.page.md @@ -0,0 +1,3 @@ +## {{page-title}} + +Beispielhafte FHIR-Ressourcen sind auf der folgenden Seite {{pagelink:Home/Examples.page.md}} verfügbar. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/Index.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/Index.page.md new file mode 100644 index 00000000..90a76b5c --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/Index.page.md @@ -0,0 +1,15 @@ +# {{page-title}} + +Diese Seite beschreibt die fachliche Beschreibung des Anwendungsfalls "Rezeptanforderung für anwendungsfertige Zytostatikazubereitungen". Für eine detaillierte Beschreibung dient das FeatureDokument "KIM-Nachrichten für das E-Rezept" ([Feature Dokument gemF_eRp_KIM](https://gemspec.gematik.de/docs/gemF/gemF_eRp_KIM/latest/)). + +WICHTIG: Hierbei MUSS die Verordnung exakt der angefragten Medikation entsprechen. Diese Art der Anfrage wird über `MessageHeader.eventCode = #eRezept_ParenteraleZubereitung;*` kenntlich. Hierdurch MUSS im Primärsystem der verordnenden LEI der Hinweis gegeben werden, dass die zu verordnende nicht von der angefragten Medikation abweichen darf. + +Der Arzt übernimmt die angefragte Medikation in die Verordnung und stellt diese im E-Rezept-Fachdienst ein. Darauf hin erhält der Arzt die Informationen für den E-Rezept Token und übermittelt den Token an die Apotheke. + +Diese kann das Rezept am E-Rezept-Fachdienst einlösen. + +{{render:guides/ig-rezeptanforderung/images/puml_images/UC4.png}} + +### Hinweis zu Identifiern + +Für diesen Fall gibt es Festlegungen zur Nutzung von Identifern im {{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md}}, siehe {{pagelink:Home/UebergreifendeFestlegungen/identifier.page.md}}. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/toc.yaml b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/toc.yaml new file mode 100644 index 00000000..d1943c64 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto/toc.yaml @@ -0,0 +1,8 @@ +- name: Index + filename: Index.page.md +- name: Rezeptanforderung + filename: 4.1-Anfrage-an-Verordnenden.page.md +- name: Rezeptanforderung_Bestätigung + filename: 4.2-Verordnender-an-Anfragenden.page.md +- name: Beispiele der verwendeten FHIR-Ressourcen + filename: 4.3-Beispiele.page.md \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/Index.page.md b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/Index.page.md index e8506dc8..2a15e21e 100644 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/Index.page.md +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/Index.page.md @@ -1,5 +1,5 @@ # {{page-title}} -Folgende Anwendungsfälle können mit dieser Spezifikation umgesetzt werden: +Folgende Anwendungsfälle werden in diesem Implementation Guide definiert: -Hinweis: {{pagelink:datenobjekte_im_bundle}} beschreibt, dass alle im Bundle befindlichen Referenzen aufgelöst werden müssen. In den Abschnitten der Anwendungsfälle, wo beschrieben wird wie die FHIR-Ressourcen zu verwenden sind, werden nur auf relevante Ressourcen eingegangen. Dies bedeutet nicht, dass nicht erwähnte FHIR-Objekte nicht mit übertragen werden müssen. +{{index:children}} \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/toc.yaml b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/toc.yaml index 913d41c5..69ee0703 100644 --- a/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/toc.yaml +++ b/guides/ig-rezeptanforderung/Home/Anwendungsfaelle/toc.yaml @@ -1,6 +1,10 @@ - name: Index filename: Index.page.md -- name: Rezeptanforderung in der Pflege +- name: "UC1: Rezeptanforderung in der Pflege" filename: 1_Rezeptanforderung -- name: Rezeptanforderung für Parenterale Zubereitung - filename: 2_Parenterale-Zubereitung \ No newline at end of file +- name: "UC2: Rezeptanforderung mit Patienteneinlösung" + filename: 2_Rezeptanforderung_Patient +- name: "UC3: Rezeptanforderung durch Apotheke" + filename: 3_Rezeptanforderung_Apotheke +- name: "UC4: Rezeptanforderung für anwendungsfertige Zytostatika Zubereitungen" + filename: 4_Rezeptanforderung_Zyto \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/0_Index.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/0_Index.page.md deleted file mode 100644 index 1d1b4db1..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/0_Index.page.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -topic: dispense_servicerequest ---- - -# {{page-title}} \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/1_Motivation.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/1_Motivation.page.md deleted file mode 100644 index 721ed770..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/1_Motivation.page.md +++ /dev/null @@ -1,11 +0,0 @@ -## {{page-title}} - -Als zentrales Element in einer Anfrage gelten in dieser Spezifikation ServiceRequests. Diese Bündeln die Informationen für eine konkrete Anfrage an einen anderen Leistungserbringer. Folgende Begriffe werden in diesem IG für diesen ServiceRequests genutzt: - -* ServiceRequest meint den Request als Basisprofil von HL7 -* ERPServiceRequestDispenseRequest meint konkret dieses Profil in diesem Projekt -* Belieferungsanfrage ist der fachliche Begriff für dieses Profil - -Der ERPServiceRequestDispenseRequest ist eine Anfrage zur Belieferung eines Präparates an eine ausliefernde Apotheke. Alle für die Apotheke relevanten Informationen sind in diesem ServiceRequest vorzuhalten, bzw. zu referenzieren. - -Die Identifikation als ERPServiceRequestDispenseRequest (Belieferungsanfrage) wird über .code.coding.code = #dispense-request angegeben. diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/2_Kompatibilitaet.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/2_Kompatibilitaet.page.md deleted file mode 100644 index f5099b42..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/2_Kompatibilitaet.page.md +++ /dev/null @@ -1,3 +0,0 @@ -## {{page-title}} - -Dieses Profil basiert auf dem Profil [ServiceRequest der FHIR-Core Spezifikation (R4)](http://hl7.org/fhir/R4/servicerequest.html). diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/3_Profil.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/3_Profil.page.md deleted file mode 100644 index 4a0b9b4b..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/3_Profil.page.md +++ /dev/null @@ -1,12 +0,0 @@ -## {{page-title}} - -Die folgende FHIR Ressource stellt eine Anfrage an eine abgebende LEI dar. Diese muss den E-Rezept Token enthalten, um die Dispensierung zu vollziehen. - -Nachdem der Vorgang seitens der Apotheke abgeschlossen ist, werden die Abgabeinformationen an den Anfragenden zurück geschickt, damit dieser über den erfolgreichen Abschluss der Anfrage informiert ist. - -{{tree:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-dispense-request, diff}} - -### Use-Case spezifische Anforderungen - -* Für `subject` MUSS das Profil [KBV_PR_FOR_Patient](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient) verwendet werden. -* Für `supportingInfo:AbgabeDaten` MUSS das Profil [GEM_ERP_PR_MedicationDispense](https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense) verwendet werden. diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/5_Beispiel.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/5_Beispiel.page.md deleted file mode 100644 index 5a185a7e..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/5_Beispiel.page.md +++ /dev/null @@ -1,5 +0,0 @@ -## {{page-title}} - -Valides Beispiel einer Verordnungsanfrage: - -{{json:UC1-3-Dispense-Request-To-Pharmacy}} diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/toc.yaml deleted file mode 100644 index 5fec4094..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Dispense_ServiceRequest/toc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -- name: Anfrage zum Beliefern einer Verordnung (ServiceRequest) - filename: 0_Index.page.md -- name: Motivation - filename: 1_Motivation.page.md -- name: Kompatibilität - filename: 2_Kompatibilitaet.page.md -- name: Profil - filename: 3_Profil.page.md -- name: Beispiel - filename: 5_Beispiel.page.md - diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/Index.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/Index.page.md new file mode 100644 index 00000000..049df832 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/Index.page.md @@ -0,0 +1,5 @@ +# {{page-title}} + +Folgende Profile sind in diesem Implementation Guide definiert: + +{{index:children}} \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-alternative-delivery-address-ex.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-alternative-delivery-address-ex.page.md new file mode 100644 index 00000000..d5c19e42 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-alternative-delivery-address-ex.page.md @@ -0,0 +1,50 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/alternative-delivery-address-ex +expand: 2 +--- + +# {{page-title}} + +## Übersicht Über die Extension + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + IsModifier: differential.element[0].isModifier + + +## Über die Extension + +### Motivation + +Diese Extension enthält eine alternative Lieferadresse nach deutschem Basisprofil. Es wird benötigt, wenn die Belieferung einer Verordnung an eine alternative Lieferadresse versendet werden soll. + +## Inhalt der Extension + +Folgende Ansichten existieren die Extension: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-did-change-medication-ex.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-did-change-medication-ex.page.md new file mode 100644 index 00000000..d289fe7d --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-did-change-medication-ex.page.md @@ -0,0 +1,52 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/changed-medication-ex +expand: 2 +--- + +# {{page-title}} + +## Übersicht Über die Extension + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + IsModifier: differential.element[0].isModifier + + +## Über die Extension + +### Motivation + +Diese Extension enthält einen Wahrheitswert darüber, ob der Verordnende ein anderes Arzneimittel verordnet hat als angefragt wurde. + +Sollte der Arzt nach Prüfung der Rezeptanforderung etwas anderes verordnen, als der Anfragende angefragt hat, ist das Feld `valueBoolean` mit `true` zu setzen. So kann das System des Anfragenden den Nutzer explizit darauf hinweisen, dass die Antwort von der Anfrage abweicht. Die Extension kann automatisch vom PVS gesetzt werden, wenn der Verordnende eine Angabe in dem Rezept ändert. + +## Inhalt der Extension + +Folgende Ansichten existieren die Extension: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-e-prescription-token-ex.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-e-prescription-token-ex.page.md new file mode 100644 index 00000000..870d5103 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-e-prescription-token-ex.page.md @@ -0,0 +1,50 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/eprescription-token-ex +expand: 2 +--- + +# {{page-title}} + +## Übersicht Über die Extension + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + IsModifier: differential.element[0].isModifier + + +## Über die Extension + +### Motivation + +Diese Extension trägt den E-Rezept Token, der für die Einlösung einer Verordnung gegenüber dem E-Rezept-Fachdienst benötigt wird. + +## Inhalt der Extension + +Folgende Ansichten existieren die Extension: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-prescription-id-ex.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-prescription-id-ex.page.md new file mode 100644 index 00000000..16758d2d --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-prescription-id-ex.page.md @@ -0,0 +1,50 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/prescription-id-ex +expand: 2 +--- + +# {{page-title}} + +## Übersicht Über die Extension + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + IsModifier: differential.element[0].isModifier + + +## Über die Extension + +### Motivation + +Diese Extension enthält eine Rezept-ID eines E-Rezeptes. Diese hat die Form `aaa.bbb.bbb.bbb.bbb.cc`, wobei aaa der Flowtype des E-Rezeptes, `cc` die Prüfnummer und `bbb.bbb.bbb.bbb` die fortlaufende Rezeptnummer abbildet (siehe [gemSpec_DM_eRp](https://gemspec.gematik.de/docs/gemSpec/gemSpec_DM_eRp/gemSpec_DM_eRp_V1.10.0/#A_19217-01)). + +## Inhalt der Extension + +Folgende Ansichten existieren die Extension: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-redeem-by-patient-ex.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-redeem-by-patient-ex.page.md new file mode 100644 index 00000000..00f207b8 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-redeem-by-patient-ex.page.md @@ -0,0 +1,50 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/redeem-by-patient-ex +expand: 2 +--- + +# {{page-title}} + +## Übersicht Über die Extension + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + IsModifier: differential.element[0].isModifier + + +## Über die Extension + +### Motivation + +Diese Extension enthält einen Wahrheitswert darüber, ob die Verordnung vom Patienten selbst einzulösen ist. Dies hat Auswirkungen auf den Flowtype der Verordnung und darüber, ob ein E-Rezept Token an den Anfragenden zurückgegeben wird. + +## Inhalt der Extension + +Folgende Ansichten existieren die Extension: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-remaining-supply-ex.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-remaining-supply-ex.page.md new file mode 100644 index 00000000..bf3f8426 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-remaining-supply-ex.page.md @@ -0,0 +1,50 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-ex +expand: 2 +--- + +# {{page-title}} + +## Übersicht Über die Extension + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + IsModifier: differential.element[0].isModifier + + +## Über die Extension + +### Motivation + +Diese Extension gibt strukturiert darüber Auskunft, wie lange die Reichweite der Medikation noch dauert. Angabe erfolgt mit Wert und Einheit, die per Freitext unter `.unit` angegeben wird. Bsp: 7 Stück. + +## Inhalt der Extension + +Folgende Ansichten existieren die Extension: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-remaining-supply-free-text-ex.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-remaining-supply-free-text-ex.page.md new file mode 100644 index 00000000..00210cce --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-remaining-supply-free-text-ex.page.md @@ -0,0 +1,50 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/remaining-supply-free-text-ex +expand: 2 +--- + +# {{page-title}} + +## Übersicht Über die Extension + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + IsModifier: differential.element[0].isModifier + + +## Über die Extension + +### Motivation + +Diese Extension bietet die Möglichkeit die Restreichweite einer Medikation als Freitext anzugeben. + +## Inhalt der Extension + +Folgende Ansichten existieren die Extension: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-request-mvo-ex.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-request-mvo-ex.page.md new file mode 100644 index 00000000..086a99ab --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/erp-service-request-request-mvo-ex.page.md @@ -0,0 +1,50 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/request-mvo-ex +expand: 2 +--- + +# {{page-title}} + +## Übersicht Über die Extension + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + IsModifier: differential.element[0].isModifier + + +## Über die Extension + +### Motivation + +Diese Extension enthält einen Wahrheitswert darüber, ob der Anfragende die Ausstellung einer Mehrfachverordnung (MVO) wünscht. Das empfangende System sollte den Nutzer entsprechend darauf hinweisen und ggf. die Verordnung vorbereiten. + +## Inhalt der Extension + +Folgende Ansichten existieren die Extension: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/toc.yaml new file mode 100644 index 00000000..e964b7b4 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/extension_definitions/toc.yaml @@ -0,0 +1,23 @@ +- name: EX - Did Medication Change + filename: erp-service-request-did-change-medication-ex.page.md +- name: EX - E Prescription Token + filename: erp-service-request-e-prescription-token-ex.page.md +- name: EX - Prescription ID + filename: erp-service-request-prescription-id-ex.page.md +- name: EX - Redeem By Patient + filename: erp-service-request-redeem-by-patient-ex.page.md +- name: EX - Remaining Supply + filename: erp-service-request-remaining-supply-ex.page.md +- name: EX - Remaining Supply Free Text + filename: erp-service-request-remaining-supply-free-text-ex.page.md +- name: EX - Request MVO + filename: erp-service-request-request-mvo-ex.page.md + + + + + + + + + diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/toc.yaml new file mode 100644 index 00000000..8be4c1f0 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Extensions/toc.yaml @@ -0,0 +1,4 @@ +- name: Index + filename: Index.page.md +- name: Extensions + filename: extension_definitions \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/Index.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/Index.page.md new file mode 100644 index 00000000..dd21b0d5 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/Index.page.md @@ -0,0 +1,5 @@ +# {{page-title}} + +Folgende Identifier sind in diesem Implementation Guide definiert: + +{{index:children}} \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/identifier_definitions/erp-service-request-prescription-token.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/identifier_definitions/erp-service-request-prescription-token.page.md new file mode 100644 index 00000000..16b6f2ba --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/identifier_definitions/erp-service-request-prescription-token.page.md @@ -0,0 +1,93 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-eprescription-token +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Dieses Identifier Profil wurde angelegt, damit der E-Rezept Token in einer bestätigten Rezept- und in einer Dispensieranforderung anzugeben. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/identifier_definitions/erp-service-request-procedure-identifier.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/identifier_definitions/erp-service-request-procedure-identifier.page.md new file mode 100644 index 00000000..c425227d --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/identifier_definitions/erp-service-request-procedure-identifier.page.md @@ -0,0 +1,96 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-procedure-identifier +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Dieser Identifier dient als übergeordnete ID, die einen Vorgang darstellt. +Wenn bspw. eine anfragende Pflegeeinrichtung mehrere Verordnungen für einen Patienten anfordern und/oder Verordnungen für mehrere Patienten angefragt werden, wird ein Vorgang im Pflegesystem gestartet, der diese Anfragen bündelt. Der Procedure Identifier wird unter ServiceRequest.requisition allen Service Requests angehangen, die in diesem Vorgang enthalten sind. + +Nachdem dieser Identifier vergeben wurde, dürfen verarbeitende Systeme diesen nicht verändern und müssen ihn in der Antwort mitgeben. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/identifier_definitions/erp-service-request-request-identifier.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/identifier_definitions/erp-service-request-request-identifier.page.md new file mode 100644 index 00000000..ffe2e8ce --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/identifier_definitions/erp-service-request-request-identifier.page.md @@ -0,0 +1,93 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-identifier +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Dieser Identifier stellt eine ID dar, die für eine Anfrage vergeben wird. Ein einzelner ServiceRequest enthält diesen eindeutigen Identifier. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/identifier_definitions/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/identifier_definitions/toc.yaml new file mode 100644 index 00000000..ea0228ad --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/identifier_definitions/toc.yaml @@ -0,0 +1,8 @@ +- name: Index + filename: Index.page.md +- name: ERP ServiceRequest Prescription Token + filename: erp-service-request-prescription-token.page.md +- name: ERP ServiceRequest Procedure Identifier + filename: erp-service-request-procedure-identifier.page.md +- name: ERP ServiceRequest Request Identifier + filename: erp-service-request-request-identifier.page.md \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/toc.yaml new file mode 100644 index 00000000..df91f537 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Identifier/toc.yaml @@ -0,0 +1,4 @@ +- name: Index + filename: Index.page.md +- name: Identifier + filename: identifier_definitions \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Index.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Index.page.md index 3fd56a59..186f19cf 100644 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Index.page.md +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Index.page.md @@ -1,3 +1,5 @@ # {{page-title}} -In den folgenden Unterkapiteln werden die Datenobjekte und ihre Nutzung beschrieben. +In den folgenden Unterkapiteln werden die FHIR Artefakte beschrieben. + +{{index:children}} \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/Index.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/Index.page.md new file mode 100644 index 00000000..784b5377 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/Index.page.md @@ -0,0 +1,5 @@ +# {{page-title}} + +Folgende Logische Fachmodelle sind in diesem Projekt definiert. Diese bilden gleichzeitig die Nachrichtentypen ab, die in [Feature Dokument gemF_eRp_KIM](https://gemspec.gematik.de/docs/gemF/gemF_eRp_KIM/latest/) beschrieben sind: + +{{index:children}} \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-dispense-request-confirmation.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-dispense-request-confirmation.page.md new file mode 100644 index 00000000..f82934c0 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-dispense-request-confirmation.page.md @@ -0,0 +1,93 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request-confirmation +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Dieses logische Modell beschreibt die Inhalte einer erfüllten und bestätigten Dispensieranforderung seitens einer Apotheke an die anfragende Pflegeeinrichtung. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-dispense-request.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-dispense-request.page.md new file mode 100644 index 00000000..3cf28c70 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-dispense-request.page.md @@ -0,0 +1,93 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-dispense-request +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Dieses logische Modell beschreibt die Inhalte einer initialen Dispensieranforderung seitens Pflegeeinrichtung an eine Apotheke. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-message-copy.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-message-copy.page.md new file mode 100644 index 00000000..6c60c622 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-message-copy.page.md @@ -0,0 +1,94 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-message-copy +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +In UC3: Rezeptanforderung der heimversorgenden Apotheke erfolgt die Kommunikation zur Rezeptanforderung zwischen Apotheke und Verordnendem ab. Jede der Nachrichten muss als Kopie auch an die betreffende Pflegeeinrichtung gehen, damit diese in Kenntnis gesetzt ist. +Dieses Logische Modell zeigt die aufzuführenden Inhalte einer Nachrichten Kopie Nachricht auf. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request-cancellation.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request-cancellation.page.md new file mode 100644 index 00000000..0a133592 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request-cancellation.page.md @@ -0,0 +1,93 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request-cancellation +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Dieses logische Modell beschreibt die Inhalte der Stornierung einer Rezeptanforderung seitens Pflegeeinrichtung oder Apotheke an einen verordnenden LE. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request-confirmation.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request-confirmation.page.md new file mode 100644 index 00000000..497245ee --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request-confirmation.page.md @@ -0,0 +1,93 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request-confirmation +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Dieses logische Modell beschreibt die Inhalte einer erfüllten und bestätigten Rezeptanforderung seitens des verordnenden LE an die anfragende Pflegeeinrichtung oder Apotheke. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request-rejection.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request-rejection.page.md new file mode 100644 index 00000000..379df312 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request-rejection.page.md @@ -0,0 +1,93 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request-rejection +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Dieses logische Modell beschreibt die Inhalte der Ablehnung einer Rezeptanforderung seitens des verordnenden LE. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request.page.md new file mode 100644 index 00000000..93237554 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request.page.md @@ -0,0 +1,93 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/gem-erp-sr-log-prescription-request +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Dieses logische Modell beschreibt die Inhalte einer initialen Rezeptanforderung seitens Pflegeeinrichtung oder Apotheke an einen verordnenden LE. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/toc.yaml new file mode 100644 index 00000000..7d545266 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/logical_definitions/toc.yaml @@ -0,0 +1,16 @@ +- name: Index + filename: Index.page.md +- name: Logisches Modell zur Rezeptanforderung + filename: gem-erp-sr-log-prescription-request.page.md +- name: Logisches Modell zur Rezeptanforderungs Bestätigung + filename: gem-erp-sr-log-prescription-request-confirmation.page.md +- name: Logisches Modell zur Rezeptanforderungs Stornierung + filename: gem-erp-sr-log-prescription-request-cancellation.page.md +- name: Logisches Modell zur Rezeptanforderungs Ablehnung + filename: gem-erp-sr-log-prescription-request-rejection.page.md +- name: Logisches Modell zur Dispensieranforderung + filename: gem-erp-sr-log-dispense-request.page.md +- name: Logisches Modell zur Dispensieranforderungs Bestätigung + filename: gem-erp-sr-log-dispense-request-confirmation.page.md +- name: Logisches Modell zur Nachrichten Kopie + filename: gem-erp-sr-log-message-copy.page.md \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/toc.yaml new file mode 100644 index 00000000..588aa8ca --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Logical-Models/toc.yaml @@ -0,0 +1,4 @@ +- name: Index + filename: Index.page.md +- name: Logical Models + filename: logical_definitions \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/Index.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/Index.page.md new file mode 100644 index 00000000..56aa938f --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/Index.page.md @@ -0,0 +1,5 @@ +## {{page-title}} + +Folgende Mappings der Fachmodelle auf FHIR Profile sind hier definiert: + +{{index:children}} \ No newline at end of file diff --git "a/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Dispensieranforderung.page.md" "b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Dispensieranforderung.page.md" new file mode 100644 index 00000000..02e2885c --- /dev/null +++ "b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Dispensieranforderung.page.md" @@ -0,0 +1,39 @@ +## {{page-title}} + +Diese Seite zeigt das Mapping der fachlichen Informationen aus dem {{pagelink:Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-dispense-request.page.md}}: {{tree:GEM_ERP_SR_LOG_DispenseRequest}} + +### MetaDaten zur Nachricht +Im folgenden werden die Mappings der Metainformationen einer Dispensieranforderung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_DispenseRequest' +for differential.element where mapping.any(identity = 'Dispensieranforderung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-dispense-request.MetaDaten') +select + 'Fachliche Information': id.replace('gem-erp-sr-log-dispense-request.', '').replace('MetaDaten.', ''), 'FHIR-Profil': mapping.where(identity = 'Dispensieranforderung-Fachliches-Mapping').map +``` + +### Involvierte Parteien +Im folgenden werden die Mappings der involvierten Parteien einer Dispensieranforderung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_DispenseRequest' +for differential.element where mapping.any(identity = 'Dispensieranforderung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-dispense-request.involviertePartei') +select + 'Fachliche Information': id.replace('gem-erp-sr-log-dispense-request.', '').replace('involviertePartei.', ''), 'FHIR-Profil': mapping.where(identity = 'Dispensieranforderung-Fachliches-Mapping').map +``` + +### Weitere Informationen +Im folgenden werden die Mappings weiterer Informationen einer Dispensieranforderung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_DispenseRequest' +for differential.element where mapping.any(identity = 'Dispensieranforderung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-dispense-request.Medikation.').not() and id.startsWith('gem-erp-sr-log-dispense-request.involvierteParteien.').not() and id.startsWith('gem-erp-sr-log-dispense-request.MetaDaten.').not() +select + 'Fachliche Information': id.replace('gem-erp-sr-log-dispense-request.', ''), 'FHIR-Profil': mapping.where(identity = 'Dispensieranforderung-Fachliches-Mapping').map +``` \ No newline at end of file diff --git "a/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Dispensieranforderung_Bestaetigung.page.md" "b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Dispensieranforderung_Bestaetigung.page.md" new file mode 100644 index 00000000..0d609de5 --- /dev/null +++ "b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Dispensieranforderung_Bestaetigung.page.md" @@ -0,0 +1,27 @@ +## {{page-title}} + +Diese Seite zeigt das Mapping der fachlichen Informationen aus dem {{pagelink:Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-dispense-request-confirmation.page.md}}: {{tree:GEM_ERP_SR_LOG_DispenseRequest_Confirmation}} + +### MetaDaten zur Nachricht +Im folgenden werden die Mappings der Metainformationen einer Dispensieranforderungs Bestätigung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_DispenseRequest_Confirmation' +for differential.element where mapping.any(identity = 'Dispensieranforderung-Bestaetigung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-dispense-request-confirmation.MetaDaten') +select + 'Fachliche Information': id.replace('gem-erp-sr-log-dispense-request-confirmation.', '').replace('MetaDaten.', ''), 'FHIR-Profil': mapping.where(identity = 'Dispensieranforderung-Bestaetigung-Fachliches-Mapping').map +``` + +### Weitere Informationen +Im folgenden werden die Mappings weiterer Informationen einer Dispensieranforderungs Bestätigung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_DispenseRequest_Confirmation' +for differential.element where mapping.any(identity = 'Dispensieranforderung-Bestaetigung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-dispense-request-confirmation.Medikation.').not() and id.startsWith('gem-erp-sr-log-dispense-request-confirmation.involvierteParteien.').not() and id.startsWith('gem-erp-sr-log-dispense-request-confirmation.MetaDaten.').not() +select + 'Fachliche Information': id.replace('gem-erp-sr-log-dispense-request-confirmation.', ''), 'FHIR-Profil': mapping.where(identity = 'Dispensieranforderung-Bestaetigung-Fachliches-Mapping').map +``` \ No newline at end of file diff --git "a/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Rezeptanforderung.page.md" "b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Rezeptanforderung.page.md" new file mode 100644 index 00000000..4b652330 --- /dev/null +++ "b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Rezeptanforderung.page.md" @@ -0,0 +1,51 @@ +## {{page-title}} + +Diese Seite zeigt das Mapping der fachlichen Informationen aus dem {{pagelink:Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request.page.md}}: {{tree:GEM_ERP_SR_LOG_PrescriptionRequest}} + +### MetaDaten zur Nachricht +Im folgenden werden die Mappings der Metainformationen einer Rezeptanforderung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_PrescriptionRequest' +for differential.element where mapping.any(identity = 'Rezeptanforderung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-prescription-request.MetaDaten') +select + 'Fachliche Information': id.replace('gem-erp-sr-log-prescription-request.', '').replace('MetaDaten.', ''), 'FHIR-Profil': mapping.where(identity = 'Rezeptanforderung-Fachliches-Mapping').map +``` + +### Involvierte Parteien +Im folgenden werden die Mappings der involvierten Parteien einer Rezeptanforderung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_PrescriptionRequest' +for differential.element where mapping.any(identity = 'Rezeptanforderung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-prescription-request.involviertePartei') +select + 'Fachliche Information': id.replace('gem-erp-sr-log-prescription-request.', '').replace('involviertePartei.', ''), 'FHIR-Profil': mapping.where(identity = 'Rezeptanforderung-Fachliches-Mapping').map +``` + +### Angaben zur Medikation +Im folgenden werden die Mappings der Medikationsinformationen einer Rezeptanforderung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_PrescriptionRequest' +for differential.element where mapping.any(identity = 'Rezeptanforderung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-prescription-request.Medikation.') +select + 'Fachliche Information': id.replace('gem-erp-sr-log-prescription-request.Medikation.', ''), 'FHIR-Profil': mapping.where(identity = 'Rezeptanforderung-Fachliches-Mapping').map +``` + +### Weitere Informationen +Im folgenden werden die Mappings weiterer Informationen einer Rezeptanforderung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_PrescriptionRequest' +for differential.element where mapping.any(identity = 'Rezeptanforderung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-prescription-request.Medikation.').not() and id.startsWith('gem-erp-sr-log-prescription-request.involvierteParteien.').not() and id.startsWith('gem-erp-sr-log-prescription-request.MetaDaten.').not() +select + 'Fachliche Information': id.replace('gem-erp-sr-log-prescription-request.', ''), 'FHIR-Profil': mapping.where(identity = 'Rezeptanforderung-Fachliches-Mapping').map +``` \ No newline at end of file diff --git "a/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Rezeptanforderung_Bestaetigung.page.md" "b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Rezeptanforderung_Bestaetigung.page.md" new file mode 100644 index 00000000..3e492357 --- /dev/null +++ "b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Rezeptanforderung_Bestaetigung.page.md" @@ -0,0 +1,27 @@ +## {{page-title}} + +Diese Seite zeigt das Mapping der fachlichen Informationen aus dem {{pagelink:Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request-confirmation.page.md}}: {{tree:GEM_ERP_SR_LOG_PrescriptionRequest_Confirmation}} + +### MetaDaten zur Nachricht +Im folgenden werden die Mappings der Metainformationen einer Rezeptanforderungs Bestätigung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_PrescriptionRequest_Confirmation' +for differential.element where mapping.any(identity = 'Rezeptanforderung-Bestaetigung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-prescription-request-confirmation.MetaDaten') +select + 'Fachliche Information': id.replace('gem-erp-sr-log-prescription-request-confirmation.', '').replace('MetaDaten.', ''), 'FHIR-Profil': mapping.where(identity = 'Rezeptanforderung-Bestaetigung-Fachliches-Mapping').map +``` + +### Weitere Informationen +Im folgenden werden die Mappings weiterer Informationen einer Rezeptanforderungs Bestätigung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_PrescriptionRequest_Confirmation' +for differential.element where mapping.any(identity = 'Rezeptanforderung-Bestaetigung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-prescription-request-confirmation.Medikation.').not() and id.startsWith('gem-erp-sr-log-prescription-request-confirmation.involvierteParteien.').not() and id.startsWith('gem-erp-sr-log-prescription-request-confirmation.MetaDaten.').not() +select + 'Fachliche Information': id.replace('gem-erp-sr-log-prescription-request-confirmation.', ''), 'FHIR-Profil': mapping.where(identity = 'Rezeptanforderung-Bestaetigung-Fachliches-Mapping').map +``` \ No newline at end of file diff --git "a/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Rezeptanforderung_Cancellation.page.md" "b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Rezeptanforderung_Cancellation.page.md" new file mode 100644 index 00000000..abd04435 --- /dev/null +++ "b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Rezeptanforderung_Cancellation.page.md" @@ -0,0 +1,27 @@ +## {{page-title}} + +Diese Seite zeigt das Mapping der fachlichen Informationen aus dem {{pagelink:Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request-cancellation.page.md}}: {{tree:GEM_ERP_SR_LOG_PrescriptionRequest_Cancellation}} + +### MetaDaten zur Nachricht +Im folgenden werden die Mappings der Metainformationen einer Rezeptanforderungs Bestätigung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_PrescriptionRequest_Cancellation' +for differential.element where mapping.any(identity = 'Rezeptanforderung-Stornierung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-prescription-request-cancellation.MetaDaten') +select + 'Fachliche Information': id.replace('gem-erp-sr-log-prescription-request-cancellation.', '').replace('MetaDaten.', ''), 'FHIR-Profil': mapping.where(identity = 'Rezeptanforderung-Stornierung-Fachliches-Mapping').map +``` + +### Weitere Informationen +Im folgenden werden die Mappings weiterer Informationen einer Rezeptanforderungs Bestätigung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_PrescriptionRequest_Cancellation' +for differential.element where mapping.any(identity = 'Rezeptanforderung-Stornierung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-prescription-request-cancellation.Medikation.').not() and id.startsWith('gem-erp-sr-log-prescription-request-cancellation.involvierteParteien.').not() and id.startsWith('gem-erp-sr-log-prescription-request-cancellation.MetaDaten.').not() +select + 'Fachliche Information': id.replace('gem-erp-sr-log-prescription-request-cancellation.', ''), 'FHIR-Profil': mapping.where(identity = 'Rezeptanforderung-Stornierung-Fachliches-Mapping').map +``` \ No newline at end of file diff --git "a/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Rezeptanforderung_Rejection.page.md" "b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Rezeptanforderung_Rejection.page.md" new file mode 100644 index 00000000..a0d2ba08 --- /dev/null +++ "b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/Mapping-f\303\274r-Rezeptanforderung_Rejection.page.md" @@ -0,0 +1,27 @@ +## {{page-title}} + +Diese Seite zeigt das Mapping der fachlichen Informationen aus dem {{pagelink:Home/Datenobjekte/Logical-Models/logical_definitions/gem-erp-sr-log-prescription-request-rejection.page.md}}: {{tree:GEM_ERP_SR_LOG_PrescriptionRequest_Rejection}} + +### MetaDaten zur Nachricht +Im folgenden werden die Mappings der Metainformationen einer Rezeptanforderungs Ablehnung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_PrescriptionRequest_Rejection' +for differential.element where mapping.any(identity = 'Rezeptanforderung-Ablehnung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-prescription-request-rejection.MetaDaten') +select + 'Fachliche Information': id.replace('gem-erp-sr-log-prescription-request-rejection.', '').replace('MetaDaten.', ''), 'FHIR-Profil': mapping.where(identity = 'Rezeptanforderung-Ablehnung-Fachliches-Mapping').map +``` + +### Weitere Informationen +Im folgenden werden die Mappings weiterer Informationen einer Rezeptanforderungs Ablehnung zu den Profilen gelistet. +@``` +from + StructureDefinition +where + name = 'GEM_ERP_SR_LOG_PrescriptionRequest_Rejection' +for differential.element where mapping.any(identity = 'Rezeptanforderung-Ablehnung-Fachliches-Mapping') and id.startsWith('gem-erp-sr-log-prescription-request-rejection.Medikation.').not() and id.startsWith('gem-erp-sr-log-prescription-request-rejection.involvierteParteien.').not() and id.startsWith('gem-erp-sr-log-prescription-request-rejection.MetaDaten.').not() +select + 'Fachliche Information': id.replace('gem-erp-sr-log-prescription-request-rejection.', ''), 'FHIR-Profil': mapping.where(identity = 'Rezeptanforderung-Ablehnung-Fachliches-Mapping').map +``` \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/toc.yaml new file mode 100644 index 00000000..063ab090 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/mapping_definitions/toc.yaml @@ -0,0 +1,14 @@ +- name: Index + filename: Index.page.md +- name: Mapping für Rezeptanforderung + filename: Mapping-für-Rezeptanforderung.page.md +- name: Mapping für Rezeptanforderung Bestätigung + filename: Mapping-für-Rezeptanforderung_Bestaetigung.page.md +- name: Mapping für Rezeptanforderung Stornierung + filename: Mapping-für-Rezeptanforderung_Cancellation.page.md +- name: Mapping für Rezeptanforderung Ablehnung + filename: Mapping-für-Rezeptanforderung_Rejection.page.md +- name: Mapping für Dispensieranforderung + filename: Mapping-für-Dispensieranforderung.page.md +- name: Mapping für Dispensieranforderung Bestätigung + filename: Mapping-für-Dispensieranforderung_Bestaetigung.page.md \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/toc.yaml new file mode 100644 index 00000000..10baa373 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Mappings/toc.yaml @@ -0,0 +1,4 @@ +- name: Index + filename: Index.page.md +- name: Mappings + filename: mapping_definitions \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/0_Index.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/0_Index.page.md deleted file mode 100644 index 29c83da6..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/0_Index.page.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -topic: medication_request ---- -# {{page-title}} diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/1_Motivation.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/1_Motivation.page.md deleted file mode 100644 index 30ab8b5c..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/1_Motivation.page.md +++ /dev/null @@ -1,11 +0,0 @@ -## {{page-title}} - -Als Anfragender möchte ich angeben können, welche Medikation ich für einen Patienten anfragen möchte. Eine Einrichtung/ Person, die eine Verordnung anfragt nutzt dieses Profil, um strukturiert anzugeben, welche Medikation benötigt wird. - -Hierzu muss in einem ERPServiceRequestPrescriptionRequest ein ERPServiceRequestMedicationRequest mit angegeben werden. Dieser enthält die medizinische Information, die der Verordnende benötigt, um ein entsprechendes Rezept auszustellen. - -Die anzugebende Medication entspricht dabei den [KBV Medication's](https://simplifier.net/erezept/~resources?text=medication&category=Profile&sortBy=RankScore_desc), damit das PVS daraus eine Verordnung erstellen kann. - -Da die [KBV_PR_ERP_Prescription](https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription) Informationen voraussetzt, die u.U. im Moment der Anfrage nicht bekannt sind, wurde dieses Profil spezifiziert. Es lehnt sich an die Spezifikation der KBV_PR_ERP_Prescription an, ist aber offener, erlaubt also auch dass die fehlenden Informationen nicht angegeben werden müssen. - -Das PS der verordnenden LEI sollte die Informationen aus diesem Profil extrahieren und dann eine eigene KBV_PR_ERP_Prescription erstellen, die es dann in der Antwort nutzen kann. diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/2_Kompatibilitaet.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/2_Kompatibilitaet.page.md deleted file mode 100644 index 4f5889d8..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/2_Kompatibilitaet.page.md +++ /dev/null @@ -1,3 +0,0 @@ -## {{page-title}} - -Dieses Profil basiert auf dem Profil [MedicationRequest der FHIR-Core Spezifikation (R4)](http://hl7.org/fhir/R4/medicationrequest.html). diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/3_Profil.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/3_Profil.page.md deleted file mode 100644 index 9a63e7e4..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/3_Profil.page.md +++ /dev/null @@ -1,25 +0,0 @@ -## {{page-title}} - -Die folgende FHIR Ressource stellt eine Ressource bereit, die als Trägerobjekt für medizinische Informationen dient. Sie ist an die [KBV_PR_ERP_Prescription](https://simplifier.net/erezept/kbvprerpprescription) Profilierung angelehnt, um Informationen so einfach wie möglich in die Verordnung zu übernehmen. - -Die Profilierung ist allerdings nicht so eng, da in der anfragenden Pflegeeinrichtung möglicherweise nicht alle Informationen vorliegen. - -Das schreibende System übermittelt mit dieser Medikationsanfrage dem Verordnenden die Informationen zur gewünschten Medikation. - -{{tree:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request, diff}} - -Folgende Felder sind entsprechend zu befüllen, bzw. können befüllt werden: - -@``` -from StructureDefinition -where name = 'ERPServiceRequestMedicationRequest' -for differential.element - select id, short, comment -``` - -### Use-Case spezifische Anforderungen - -* Für `medicationReference` MUSS das Profil [KBV_PR_ERP_Medication_FreeText](https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_FreeText), [KBV_PR_ERP_Medication_Compounding](https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding), [KBV_PR_ERP_Medication_PZN](https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN) oder [KBV_PR_ERP_Medication_Ingredient](https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Ingredient) verwendet werden. -* Für `subject` MUSS das Profil [KBV_PR_FOR_Patient](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient) verwendet werden. -* Für `requester` MUSS das Profil [KBV_PR_FOR_Practitioner](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner) oder [ERPServiceRequestOrganization](https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization) verwendet werden. -* Für `insurance` MUSS das Profil [KBV_PR_FOR_Coverage](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage) verwendet werden. diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/5_Beispiel.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/5_Beispiel.page.md deleted file mode 100644 index b03d00f5..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/5_Beispiel.page.md +++ /dev/null @@ -1,5 +0,0 @@ -## {{page-title}} - -Valides Beispiel einer Verordnungsanfrage: - -{{json:Example-Initial-Medication-Request}} diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/toc.yaml deleted file mode 100644 index 2929ab5e..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/MedicationRequest/toc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -- name: Angefragte Medikation (MedicationRequest) - filename: 0_Index.page.md -- name: Motivation - filename: 1_Motivation.page.md -- name: Kompatibilität - filename: 2_Kompatibilitaet.page.md -- name: Profil - filename: 3_Profil.page.md -- name: Beispiel - filename: 5_Beispiel.page.md - diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/0_Index.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/0_Index.page.md deleted file mode 100644 index 5e6ff659..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/0_Index.page.md +++ /dev/null @@ -1 +0,0 @@ -# {{page-title}} diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/1_Motivation.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/1_Motivation.page.md deleted file mode 100644 index 18bd9e7b..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/1_Motivation.page.md +++ /dev/null @@ -1,3 +0,0 @@ -## {{page-title}} - -Der MessageHeader wird nach dem [App-Transport-Framework](https://simplifier.net/app-transport-framework/) genutzt. Entsprechende Nutzung ist dem [ImplementationGuide](https://simplifier.net/app-transport-framework/~guides) zu entnehmen. diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/2_Kompatibilitaet.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/2_Kompatibilitaet.page.md deleted file mode 100644 index f116eb57..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/2_Kompatibilitaet.page.md +++ /dev/null @@ -1,3 +0,0 @@ -## {{page-title}} - -Dieses Profil basiert auf dem Profil [MessageHeader des App-Transport-Frameworks](https://gematik.de/fhir/atf/StructureDefinition/message-header-app-transport). diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/3_Profil.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/3_Profil.page.md deleted file mode 100644 index d7c42f5b..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/3_Profil.page.md +++ /dev/null @@ -1,14 +0,0 @@ -## {{page-title}} - -Die folgende FHIR Ressource stellt eine Anfrage an eine verordnende LEI dar. Enthalten sein muss eine strukturelle angabe der angefragten Medikation. - -{{tree:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header, diff}} - -Folgende Felder sind zusätzlich zur ATF-Spezifikation zu befüllen, bzw. können befüllt werden: - -@``` -from StructureDefinition -where name = 'ERPServiceRequestRequestHeader' -for differential.element - select id, short, comment -``` diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/5_Beispiel.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/5_Beispiel.page.md deleted file mode 100644 index 33a94ee9..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/5_Beispiel.page.md +++ /dev/null @@ -1,3 +0,0 @@ -## {{page-title}} - -{{json:UC1-HealthCareService-to-Practitioner-MessageHeader}} diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/toc.yaml deleted file mode 100644 index e2964e77..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/MessageHeader/toc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -- name: Message Header - filename: 0_Index.page.md -- name: Motivation - filename: 1_Motivation.page.md -- name: Kompatibilität - filename: 2_Kompatibilitaet.page.md -- name: Profil - filename: 3_Profil.page.md -- name: Beispiel - filename: 5_Beispiel.page.md - diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/0_Index.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/0_Index.page.md deleted file mode 100644 index 5e6ff659..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/0_Index.page.md +++ /dev/null @@ -1 +0,0 @@ -# {{page-title}} diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/1_Motivation.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/1_Motivation.page.md deleted file mode 100644 index 81e7aa76..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/1_Motivation.page.md +++ /dev/null @@ -1,3 +0,0 @@ -## {{page-title}} - -Zur Angabe einer Einrichtung ist es je nach Anwendungsfall notwendig die KIM-Adresse mit anzugeben. Dafür wurde dieses Profil spezifiziert, um Organisationen mit KIM, bzw. TIM-Adresse anzugeben. diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/2_Kompatibilitaet.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/2_Kompatibilitaet.page.md deleted file mode 100644 index 153b6328..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/2_Kompatibilitaet.page.md +++ /dev/null @@ -1,3 +0,0 @@ -## {{page-title}} - -Dieses Profil basiert auf dem Profil [Organization der FHIR-Core Spezifikation (R4)](http://hl7.org/fhir/R4/organization.html). diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/3_Profil.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/3_Profil.page.md deleted file mode 100644 index 5bcb0f7f..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/3_Profil.page.md +++ /dev/null @@ -1,12 +0,0 @@ -## {{page-title}} - -{{tree:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization, diff}} - -Folgende Felder sind entsprechend zu befüllen, bzw. können befüllt werden: - -@``` -from StructureDefinition -where name = 'ERPServiceRequestOrganization' -for differential.element - select id, short, comment -``` diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/5_Beispiel.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/5_Beispiel.page.md deleted file mode 100644 index 74477a7a..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/5_Beispiel.page.md +++ /dev/null @@ -1,5 +0,0 @@ -## {{page-title}} - -Valides Beispiel einer Organisation mit KIM-Addresse: - -{{json:Example-HealthCareService-Organization}} diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/toc.yaml deleted file mode 100644 index 7d0b214f..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Organization/toc.yaml +++ /dev/null @@ -1,13 +0,0 @@ -- name: Organisation mit KIM-Addresse - filename: 0_Index.page.md -- name: Motivation - filename: 1_Motivation.page.md -- name: Kompatibilität - filename: 2_Kompatibilitaet.page.md -- name: Profil - filename: 3_Profil.page.md -- name: Must Support Felder - filename: 4_MustSupport.page.md -- name: Beispiel - filename: 5_Beispiel.page.md - diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/0_Index.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/0_Index.page.md deleted file mode 100644 index ec7eff95..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/0_Index.page.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -topic: prescription_servicerequest ---- -# {{page-title}} diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/1_Motivation.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/1_Motivation.page.md deleted file mode 100644 index f974387e..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/1_Motivation.page.md +++ /dev/null @@ -1,11 +0,0 @@ -## {{page-title}} - -Als zentrales Element in einer Anfrage gelten in dieser Spezifikation ServiceRequests. Diese Bündeln die Informationen für eine konkrete Anfrage an einen anderen Leistungserbringer. Folgende Begriffe werden in diesem IG für diesen ServiceRequests genutzt: - -* ServiceRequest meint den Request als Basisprofil von HL7 -* ERPServiceRequestPrescriptionRequest meint konkret dieses Profil in diesem Projekt -* Verordnungsanfrage ist der fachliche Begriff für dieses Profil - -Der ERPServiceRequestPrescriptionRequest ist eine Anfrage zum Ausstellen einer Verordnung an einen Arzt. Alle für den Arzt relevanten Informationen zum Ausstellen einer entsprechenden Verordnung sind hier aufgeführt, bzw. referenziert. - -Die Identifikation als ERPServiceRequestPrescriptionRequest (Verordnungsanfrage) wird über .code.coding.code = #prescription-request angegeben. diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/2_Kompatibilitaet.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/2_Kompatibilitaet.page.md deleted file mode 100644 index f5099b42..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/2_Kompatibilitaet.page.md +++ /dev/null @@ -1,3 +0,0 @@ -## {{page-title}} - -Dieses Profil basiert auf dem Profil [ServiceRequest der FHIR-Core Spezifikation (R4)](http://hl7.org/fhir/R4/servicerequest.html). diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/3_Profil.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/3_Profil.page.md deleted file mode 100644 index b4e6af39..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/3_Profil.page.md +++ /dev/null @@ -1,21 +0,0 @@ -## {{page-title}} - -Die folgende FHIR Ressource stellt eine Anfrage an eine verordnende LEI dar. Enthalten sein muss eine strukturelle angabe der angefragten Medikation. - -{{tree:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request, diff}} - -Folgende Felder sind entsprechend zu befüllen, bzw. können befüllt werden: - -@``` -from StructureDefinition -where name = 'ERPServiceRequestPrescriptionRequest' -for differential.element - select id, short, comment -``` - -### Use-Case spezifische Anforderungen - -* Für `based` MUSS das Profil [ERPServiceRequestMedicationRequest](https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request) oder [KBV_PR_ERP_Prescription](https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription) verwendet werden. -* Für `subject` MUSS das Profil [KBV_PR_FOR_Patient](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient) verwendet werden. -* Für `requester` MUSS das Profil [KBV_PR_FOR_Practitioner](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner) oder [ERPServiceRequestOrganization](https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization) verwendet werden. -* Für `performer` MUSS das Profil [KBV_PR_FOR_Practitioner](https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner) verwendet werden. diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/5_Beispiel.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/5_Beispiel.page.md deleted file mode 100644 index f0633b6e..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/5_Beispiel.page.md +++ /dev/null @@ -1,5 +0,0 @@ -## {{page-title}} - -Valides Beispiel einer Verordnungsanfrage: - -{{json:UC1-1-Prescription-Request-To-Prescriber}} diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/toc.yaml deleted file mode 100644 index bb39f3dc..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/Prescription_ServiceRequest/toc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -- name: Anfrage zum Ausstellen einer Verordnung (ServiceRequest) - filename: 0_Index.page.md -- name: Motivation - filename: 1_Motivation.page.md -- name: Kompatibilität - filename: 2_Kompatibilitaet.page.md -- name: Profil - filename: 3_Profil.page.md -- name: Beispiel - filename: 5_Beispiel.page.md - diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/Index.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/Index.page.md new file mode 100644 index 00000000..049df832 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/Index.page.md @@ -0,0 +1,5 @@ +# {{page-title}} + +Folgende Profile sind in diesem Implementation Guide definiert: + +{{index:children}} \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-dispense-request.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-dispense-request.page.md new file mode 100644 index 00000000..6bd45ac8 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-dispense-request.page.md @@ -0,0 +1,103 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-dispense-request +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Als zentrales Element in einer Anfrage gelten in dieser Spezifikation ServiceRequests. Diese Bündeln die Informationen für eine konkrete Anfrage an einen anderen Leistungserbringer. Folgende Begriffe werden in diesem IG für diesen ServiceRequests genutzt: + +* ServiceRequest meint den Request als Basisprofil von HL7 +* ERPServiceRequestDispenseRequest meint konkret dieses Profil in diesem Projekt +* Dispensieranfrage ist der fachliche Begriff für dieses Profil + +Der ERPServiceRequestDispenseRequest ist eine Anfrage zur Belieferung eines Präparates an eine ausliefernde Apotheke. Alle für die Apotheke relevanten Informationen sind in diesem ServiceRequest vorzuhalten, bzw. zu referenzieren. + +Dieses Profil wird auch genutzt, um eine Pflegeeinrichtung über die Dispensierung einer Verordnung zu informieren. + +Die Identifikation als ERPServiceRequestDispenseRequest (Belieferungsanfrage) wird über .code.coding.code = #dispense-request angegeben. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-dispense.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-dispense.page.md new file mode 100644 index 00000000..a4a95722 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-dispense.page.md @@ -0,0 +1,95 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-dispense +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Dieses Profil wird in den Anwendungsfällen genutzt, um die von der Apotheke gelieferten Arzneimittel anzugeben. + +Die anzugebende Medication entspricht dabei den [Medication Profilen](https://simplifier.net/erezept/~resources?category=Profile&corebasetype=Medication&sortBy=RankScore_desc) aus dem eRezept Projekt der KBV. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md new file mode 100644 index 00000000..0979cff9 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-medication-request.page.md @@ -0,0 +1,102 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-medication-request +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Dieses Profil wird in den Anwendungsfällen genutzt, um angefragte, verordnete oder dispensierte Arzneimittelinformationen zu übertragen. + +Als Anfragender möchte ich angeben können, welche Medikation ich für einen Patienten anfragen möchte. Eine Einrichtung/ Person, die eine Verordnung anfragt nutzt dieses Profil, um strukturiert anzugeben, welche Medikation benötigt wird. +Hierzu muss in ERPServiceRequestPrescriptionRequest.basedOn ein ERPServiceRequestMedicationRequest mit angegeben werden. Dieser enthält die medizinische Information, die der Verordnende benötigt, um ein entsprechendes Rezept auszustellen. + +Analog kann der Verordnende angeben, welches Arzneimittel er verordnet hat, sowie ein abgebender LE welches Arzneimittel geliefert wird. + +Die anzugebende Medication entspricht dabei den [Medication Profilen](https://simplifier.net/erezept/~resources?category=Profile&corebasetype=Medication&sortBy=RankScore_desc) aus dem eRezept Projekt der KBV. + +Da die [KBV_PR_ERP_Prescription](https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription) Informationen voraussetzt, die u.U. im Moment der Anfrage nicht bekannt sind, wurde dieses Profil spezifiziert. Es lehnt sich an die Spezifikation der KBV_PR_ERP_Prescription an, ist aber offener, erlaubt also auch dass die fehlenden Informationen nicht angegeben werden müssen. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-message-container.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-message-container.page.md new file mode 100644 index 00000000..e17fae00 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-message-container.page.md @@ -0,0 +1,93 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-message-container +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Der ATF Message Container wurde in dieser Spezifikation dahingehend eingeschränkt, dass ein ERPServiceRequestHeader zu nutzen ist. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-organization.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-organization.page.md new file mode 100644 index 00000000..b3c8090a --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-organization.page.md @@ -0,0 +1,95 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-organization +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Zur Angabe einer Einrichtung ist es je nach Anwendungsfall notwendig die KIM-Adresse mit anzugeben. Dafür wurde dieses Profil spezifiziert, um Organisationen mit KIM, bzw. TIM-Adresse anzugeben. +Weiterhin enthält das Profil die Möglichkeit eine Adresse anzugeben und einen verpflichtenden Namen. Dieser dient insbesondere den Nutzern zur Darstellung mit welcher Einrichtung die Kommunikation geführt wird. + + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-patient.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-patient.page.md new file mode 100644 index 00000000..31f04a39 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-patient.page.md @@ -0,0 +1,93 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-patient +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Zur Angabe der relevanten Informationen eines Versicherten wurden wesentliche Informationen verpflichtend übernommen. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-practitioner.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-practitioner.page.md new file mode 100644 index 00000000..2c8e5a55 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-practitioner.page.md @@ -0,0 +1,93 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-practitioner +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Dieses Profil wurde erstellt, um spezifische Angaben zum verordnenden Leistungserbringer zu fordern. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md new file mode 100644 index 00000000..d9a22e1b --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md @@ -0,0 +1,101 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-prescription-request +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Als zentrales Element in einer Anfrage gelten in dieser Spezifikation ServiceRequests. Diese Bündeln die Informationen für eine konkrete Anfrage an einen anderen Leistungserbringer. Folgende Begriffe werden in diesem IG für diesen ServiceRequests genutzt: + +* ServiceRequest meint den Request als Basisprofil von HL7 +* ERPServiceRequestPrescriptionRequest meint konkret dieses Profil in diesem Projekt +* Verordnungsanfrage ist der fachliche Begriff für dieses Profil + +Der ERPServiceRequestPrescriptionRequest ist eine Anfrage zum Ausstellen einer Verordnung an einen Arzt. Alle für den Arzt relevanten Informationen zum Ausstellen einer entsprechenden Verordnung sind hier aufgeführt, bzw. referenziert. + +Die Identifikation als ERPServiceRequestPrescriptionRequest (Verordnungsanfrage) wird über .code.coding.code = #prescription-request angegeben. + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md new file mode 100644 index 00000000..bdebf7cc --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/erp-service-request-request-header.page.md @@ -0,0 +1,94 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-header +expand: 2 +--- + +# {{page-title}} + +## Übersicht über das Profil + + + from + StructureDefinition + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version, + 'Basiert auf': baseDefinition + + +## Über das Profil + +### Motivation + +Der ATF MessageHeader wurde dahingehend weiterspezifiziert, als dass nur für diesen Anwendungsfall gültige eventCodes und Ressourcen zu verwenden sind. + + +## Inhalt des Profils + +Folgende Ansichten existieren auf das Profil: + + + + {{tree, buttons}} + + + {{dict}} + + + {{xml}} + + + {{json}} + + + {{link}} + + + +## Terminologie Bindings + +Folgende Bindings sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + select + join for differential.element + select { + Path: id, + join + for binding + where valueSet.exists() + select { + Conformance: strength, + ValueSet: valueSet} + } + + +## Constraints + +Folgende Constraints sind für diese Ressource spezifiziert: + + + from + StructureDefinition + where + url = %canonical + for differential.element where constraint.exists() + select + Pfad: id, + join for constraint + select { + Id: key, + Grade: severity, + Details: human, + Expression: expression + } + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/toc.yaml new file mode 100644 index 00000000..c5f8c733 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/profile_definitions/toc.yaml @@ -0,0 +1,18 @@ +- name: ERP ServiceRequest DispenseRequest + filename: erp-service-request-dispense-request.page.md +- name: ERP ServiceRequest MedicationDispense + filename: erp-service-request-medication-dispense.page.md +- name: ERP ServiceRequest MedicationRequest + filename: erp-service-request-medication-request.page.md +- name: ERP ServiceRequest MessageContainer + filename: erp-service-request-message-container.page.md +- name: ERP ServiceRequest Organization + filename: erp-service-request-organization.page.md +- name: ERP ServiceRequest Patient + filename: erp-service-request-patient.page.md +- name: ERP ServiceRequest Practitioner + filename: erp-service-request-practitioner.page.md +- name: ERP ServiceRequest PrescriptionRequest + filename: erp-service-request-prescription-request.page.md +- name: ERP ServiceRequest Request Header + filename: erp-service-request-request-header.page.md \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/toc.yaml new file mode 100644 index 00000000..114019f9 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Profile/toc.yaml @@ -0,0 +1,4 @@ +- name: Index + filename: Index.page.md +- name: Profile + filename: profile_definitions \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/0_Index.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/0_Index.page.md deleted file mode 100644 index 5e6ff659..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/0_Index.page.md +++ /dev/null @@ -1 +0,0 @@ -# {{page-title}} diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/1_Motivation.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/1_Motivation.page.md deleted file mode 100644 index 76b8d7ef..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/1_Motivation.page.md +++ /dev/null @@ -1,8 +0,0 @@ -## {{page-title}} - -Zur besseren Kommunikation einer Verordnungsanfrage kann eine anfragende Einrichtung/ Person angeben, wie lange die aktuelle Medikation noch ausreicht. Die Angabe der Medikamentenreichweite kann auf folgende Arten geschehen: - -* Datum, an dem die aktuelle Medikation ausläuft (Angabe als dateTime: 2023-01-31) -* Menge der aktuellen Medikation (Angabe bspw. in Stück: noch 10 Stück) - -Die Angabe in strukturierter Form ist optional und wird bisher auch nicht mit MustSupport gefordert. Daher wird als schreibendes System empfohlen eine Zusammenfassung der Angabe im `ServiceRequest.note` zu hinterlegen. diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/2_Kompatibilitaet.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/2_Kompatibilitaet.page.md deleted file mode 100644 index 23e8a812..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/2_Kompatibilitaet.page.md +++ /dev/null @@ -1,3 +0,0 @@ -## {{page-title}} - -Dieses Profil basiert auf dem Profil [Observation der FHIR-Core Spezifikation (R4)](http://hl7.org/fhir/R4/observation.html). diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/3_Profil.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/3_Profil.page.md deleted file mode 100644 index a39db73c..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/3_Profil.page.md +++ /dev/null @@ -1,12 +0,0 @@ -## {{page-title}} - -{{tree:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-remaining-medication, diff}} - -Folgende Felder sind entsprechend zu befüllen, bzw. können befüllt werden: - -@``` -from StructureDefinition -where name = 'ERPServiceRequestRemainingMedication' -for differential.element - select id, short, comment -``` diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/5_Beispiel.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/5_Beispiel.page.md deleted file mode 100644 index 57b7c6eb..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/5_Beispiel.page.md +++ /dev/null @@ -1,9 +0,0 @@ -## {{page-title}} - -### Beispiel mit Angabe des Datums an dem die Medikation ausläuft - -{{json:Medication-Runs-Out-Example-dateTime}} - -### Beispiel mit Angabge der Restreichweite in Menge - -{{json:Medication-Runs-Out-Example-Quantity}} diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/toc.yaml deleted file mode 100644 index 6602a041..00000000 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/RemainingObservation/toc.yaml +++ /dev/null @@ -1,10 +0,0 @@ -- name: Angabe zur Medikamentenreichweite - filename: 0_Index.page.md -- name: Motivation - filename: 1_Motivation.page.md -- name: Kompatibilität - filename: 2_Kompatibilitaet.page.md -- name: Profil - filename: 3_Profil.page.md -- name: Beispiel - filename: 5_Beispiel.page.md diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/Index.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/Index.page.md new file mode 100644 index 00000000..386ca352 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/Index.page.md @@ -0,0 +1,5 @@ +# {{page-title}} + +Folgende CodeSysteme und ValueSets sind in diesem Implementation Guide definiert: + +{{index:children}} \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/delivery-type-cs.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/delivery-type-cs.page.md new file mode 100644 index 00000000..6190a47d --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/delivery-type-cs.page.md @@ -0,0 +1,42 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/CodeSystem/delivery-type-cs +expand: 2 +--- + +# {{page-title}} + +## Metadata + +These are the details for this resource: + + + from + CodeSystem + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version + + +## Resource content + +These are different views on this resource: + + + + {{render}} + + + {{xml}} + + + {{json}} + + + {{link}} + + diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/medication-request-reason-cs.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/medication-request-reason-cs.page.md new file mode 100644 index 00000000..82c16563 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/medication-request-reason-cs.page.md @@ -0,0 +1,42 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/CodeSystem/medication-request-reason-cs +expand: 2 +--- + +# {{page-title}} + +## Metadata + +These are the details for this resource: + + + from + CodeSystem + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version + + +## Resource content + +These are different views on this resource: + + + + {{render}} + + + {{xml}} + + + {{json}} + + + {{link}} + + diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/service-request-service-identifier-cs.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/service-request-service-identifier-cs.page.md new file mode 100644 index 00000000..3544d500 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/service-request-service-identifier-cs.page.md @@ -0,0 +1,42 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-service-identifier-cs +expand: 2 +--- + +# {{page-title}} + +## Metadata + +These are the details for this resource: + + + from + CodeSystem + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version + + +## Resource content + +These are different views on this resource: + + + + {{render}} + + + {{xml}} + + + {{json}} + + + {{link}} + + diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/service-request-type-cs.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/service-request-type-cs.page.md new file mode 100644 index 00000000..821b4bd4 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/service-request-type-cs.page.md @@ -0,0 +1,42 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/CodeSystem/service-request-type-cs +expand: 2 +--- + +# {{page-title}} + +## Metadata + +These are the details for this resource: + + + from + CodeSystem + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version + + +## Resource content + +These are different views on this resource: + + + + {{render}} + + + {{xml}} + + + {{json}} + + + {{link}} + + diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/toc.yaml new file mode 100644 index 00000000..e8ba9a38 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/codesystems/toc.yaml @@ -0,0 +1,8 @@ +- name: "CS - Medication Request Reason" + filename: medication-request-reason-cs.page.md +- name: "CS - Service Request Identifier" + filename: service-request-service-identifier-cs.page.md +- name: "CS - Service Request Type" + filename: service-request-type-cs.page.md +- name: "CS - Delivery Type" + filename: delivery-type-cs.page.md diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/toc.yaml new file mode 100644 index 00000000..a3724a5c --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/toc.yaml @@ -0,0 +1,6 @@ +- name: Index + filename: Index.page.md +- name: ValueSets + filename: valuesets +- name: CodeSystems + filename: codesystems \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/delivery-type-vs.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/delivery-type-vs.page.md new file mode 100644 index 00000000..344d8710 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/delivery-type-vs.page.md @@ -0,0 +1,42 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/ValueSet/delivery-type-vs +expand: 2 +--- + +# {{page-title}} + +## Metadata + +These are the details for this resource: + + + from + ValueSet + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version + + +## Resource content + +These are different views on this resource: + + + + {{render}} + + + {{xml}} + + + {{json}} + + + {{link}} + + diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/medication-request-reason-vs.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/medication-request-reason-vs.page.md new file mode 100644 index 00000000..2a3c2a32 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/medication-request-reason-vs.page.md @@ -0,0 +1,42 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/ValueSet/medication-request-reason-vs +expand: 2 +--- + +# {{page-title}} + +## Metadata + +These are the details for this resource: + + + from + ValueSet + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version + + +## Resource content + +These are different views on this resource: + + + + {{render}} + + + {{xml}} + + + {{json}} + + + {{link}} + + diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-identifier-vs.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-identifier-vs.page.md new file mode 100644 index 00000000..993a5594 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-identifier-vs.page.md @@ -0,0 +1,42 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/ValueSet/service-identifier-vs +expand: 2 +--- + +# {{page-title}} + +## Metadata + +These are the details for this resource: + + + from + ValueSet + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version + + +## Resource content + +These are different views on this resource: + + + + {{render}} + + + {{xml}} + + + {{json}} + + + {{link}} + + diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-request-organization-type-vs.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-request-organization-type-vs.page.md new file mode 100644 index 00000000..f199a69b --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-request-organization-type-vs.page.md @@ -0,0 +1,42 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/ValueSet/service-request-organization-type-vs +expand: 2 +--- + +# {{page-title}} + +## Metadata + +These are the details for this resource: + + + from + ValueSet + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version + + +## Resource content + +These are different views on this resource: + + + + {{render}} + + + {{xml}} + + + {{json}} + + + {{link}} + + diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-request-priority-vs.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-request-priority-vs.page.md new file mode 100644 index 00000000..21ea9a62 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-request-priority-vs.page.md @@ -0,0 +1,42 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/ValueSet/service-request-priority-vs +expand: 2 +--- + +# {{page-title}} + +## Metadata + +These are the details for this resource: + + + from + ValueSet + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version + + +## Resource content + +These are different views on this resource: + + + + {{render}} + + + {{xml}} + + + {{json}} + + + {{link}} + + diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-request-status-vs.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-request-status-vs.page.md new file mode 100644 index 00000000..d931dbd0 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-request-status-vs.page.md @@ -0,0 +1,42 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/ValueSet/service-request-status-vs +expand: 2 +--- + +# {{page-title}} + +## Metadata + +These are the details for this resource: + + + from + ValueSet + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version + + +## Resource content + +These are different views on this resource: + + + + {{render}} + + + {{xml}} + + + {{json}} + + + {{link}} + + diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-request-type-vs.page.md b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-request-type-vs.page.md new file mode 100644 index 00000000..0e5feb8d --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/service-request-type-vs.page.md @@ -0,0 +1,42 @@ +--- +canonical: https://gematik.de/fhir/erp-servicerequest/ValueSet/service-request-type-vs +expand: 2 +--- + +# {{page-title}} + +## Metadata + +These are the details for this resource: + + + from + ValueSet + where + url = %canonical + select + Name: name, + Description: description, + Canonical_URL: url, + Status: status, + Version: version + + +## Resource content + +These are different views on this resource: + + + + {{render}} + + + {{xml}} + + + {{json}} + + + {{link}} + + diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/toc.yaml new file mode 100644 index 00000000..232d6f17 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/Terminologien/valuesets/toc.yaml @@ -0,0 +1,14 @@ +- name: "VS - Medication Request Reason" + filename: medication-request-reason-vs.page.md +- name: "VS - Service Identifier" + filename: service-identifier-vs.page.md +- name: "VS - Organization Type" + filename: service-request-organization-type-vs.page.md +- name: "VS - Request Priority" + filename: service-request-priority-vs.page.md +- name: "VS - Request Status" + filename: service-request-status-vs.page.md +- name: "VS - Request Type" + filename: service-request-type-vs.page.md +- name: "VS - Delivery Type" + filename: delivery-type-vs.page.md diff --git a/guides/ig-rezeptanforderung/Home/Datenobjekte/toc.yaml b/guides/ig-rezeptanforderung/Home/Datenobjekte/toc.yaml index 75103a27..a456dc36 100644 --- a/guides/ig-rezeptanforderung/Home/Datenobjekte/toc.yaml +++ b/guides/ig-rezeptanforderung/Home/Datenobjekte/toc.yaml @@ -1,14 +1,14 @@ - name: Index filename: Index.page.md -- name: Anfrage zum Ausstellen einer Verordnung (ServiceRequest) - filename: Prescription_ServiceRequest -- name: Anfrage zum Beliefern einer Verordnung (ServiceRequest) - filename: Dispense_ServiceRequest -- name: Angefragte Medikation (MedicationRequest) - filename: MedicationRequest -- name: Message Header - filename: MessageHeader -- name: Organisation mit KIM-Addresse - filename: Organization -- name: Angabe zur Medikamentenreichweite - filename: RemainingObservation \ No newline at end of file +- name: Profile + filename: Profile +- name: Extensions + filename: Extensions +- name: Identifier + filename: Identifier +- name: Terminologien + filename: Terminologien +- name: Logische Modelle + filename: Logical-Models +- name: Mappings + filename: Mappings \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Einfuehrung.page.md b/guides/ig-rezeptanforderung/Home/Einfuehrung.page.md index e13bbed0..db6a6dce 100644 --- a/guides/ig-rezeptanforderung/Home/Einfuehrung.page.md +++ b/guides/ig-rezeptanforderung/Home/Einfuehrung.page.md @@ -1,79 +1,92 @@ # {{page-title}} -## Konzept +## Motivation und Hintergrund +Die gematik hat mit dem E-Rezept ein Produkt eingeführt, das zur Digitalisierung der Verordnung, Abgabe und Abrechnung von Rezepten beiträgt. Der gesamte Prozess der Verordnung wird über den zentralen E-Rezept-Fachdienst abgewickelt. + +Dieses Feature zielt darauf ab, eine digitale und medienbruchfreie Kommunikation im Zusammenhang mit E-Rezepten zu ermöglichen, beispielsweise zur Anforderung von E-Rezepten. + +Derzeit existiert kein strukturierter, dezentraler Kommunikationsweg für E-Rezepte. Diese Spezifikation soll sicherstellen, dass Leistungserbringer im deutschen Gesundheitswesen strukturierte Informationen über E-Rezepte austauschen können. -### Message Konzept +Ziel dieser Spezifikation ist es, den Versorgungsprozess für Leistungserbringer zu vereinfachen, zu automatisieren und dadurch zu beschleunigen. -Grundlegend handelt es sich aufbauend auf dem App-Transport-Framework der gematik um ein FHIR Message Konzept (https://www.hl7.org/fhir/messaging.html). +## Grundlegendes Message Konzept - ATF +Im Folgenden werden grundlegende Merkmale und Konzepte beschrieben, die für die Umsetzung dieses Features wichtig sind. +Anwendungsfälle des Features "KIM-Nachrichten für das E-Rezept" werden nicht über einen zentralen Dienst der TI gelöst, sondern dezentral Peer-to-Peer zwischen Clients auf Basis von FHIR ausgeführt. +Daher handelt es sich grundlegend, aufbauend auf dem App-Transport-Framework (ATF) der gematik, um ein FHIR Message Konzept (https://www.hl7.org/fhir/messaging.html). Aus dem App-Transport-Framework werden die Ressourcen "Bundle" und "MessageHeader" genutzt, um einerseits alle Ressourcen zu übermitteln, als auch Informationen über Sender und Empfänger zu halten. Die Funktionsweise und Implementierung des App-Transport-Framework sind im entsprechenden [Implementation Guide](https://simplifier.net/app-transport-framework/~guides) zu finden. -### Verwendung von EventCodes (MessageHeader.eventCode) +Dieser Implementation Guide basiert auf Version 1.4.0 des App Transport Frameworks. Die folgende Stufe des ATF MUSS unterstützt werden, um konform zu diesem IG zu sein: -In dieser Spezifikation dient der EventCode sowohl der Identifikation des Anwendungsfalles, sowie des Transportweges innerhalb des Anwendungsfalls. So gibt z.B. der Code `eRezept_Rezeptanforderung;Rezeptanfrage` an, dass es sich um den Anwendungsfall "Rezeptanforderung", sowie über eine initiale "Rezeptanfrage" eines Anfragenden an einen Verordnenden handelt. -Die für diese Spezifikation zulässigen EventCodes sind in ValueSet {{link:https://gematik.de/fhir/erp-servicerequest/ValueSet/service-identifier-vs}} aufgelistet und beschrieben. +**Stufe 1** +- Datenmodell und Messaging Konzept MUSS unterstützt werden +- Empfangsbestätigung und Capability-Message KANN unterstützt werden -Die in diesem Implementierungsleitfaden beschriebenen Anwendungsfälle enthalten jeweils auch eine Angabe, welcher EventCode zu nutzen ist. +#### EventCodes +In dieser Spezifikation dient der unter *MessageHeader.eventCode* anzugebende EventCode sowohl zur Identifikation des Anwendungsfalls als auch des Nachrichtentyps innerhalb des Anwendungsfalls. So zeigt der Code `eRezept_Rezeptanforderung;Rezeptanfrage` beispielsweise an, dass es sich um den Anwendungsfall "Rezeptanforderung" sowie um eine initiale Rezeptanforderung eines Anfragenden an einen Verordnenden handelt. -### Verwendung von ServiceRequests (MessageHeader.focus) +Die in dieser Spezifikation zulässigen EventCodes sind im {{pagelink:Home/Datenobjekte/Terminologien/valuesets/service-identifier-vs.page.md}} definiert. -Grundlegend basieren alle Anwendungsfälle in diesem Projekt auf [Service-Request Ressourcen](http://hl7.org/fhir/R4/servicerequest.html), die nach FHIR-Spezifikation dazu dienen einen Dienst anzufragen. Dieser Service Request dient als Trägerressource für Informationen, die ausgetauscht werden. Diese Informationen werden entweder im Service Request angegeben oder referenziert. +Jeder im Implementierungsleitfaden beschriebene Anwendungsfall enthält eine Angabe darüber, welcher EventCode zu verwenden ist. -Folgende Service Requests und damit verbrundene Service Anfragen sind derzeit spezifiziert: +#### Relevante Ressourcen +Unter *MessageHeader.focus* werden die Ressourcen aufgelistet, die alle relevanten Informationen zu einer Anfrage bündeln. In diesem Projekt übernimmt die FHIR-Ressource *ServiceRequest* diese Funktion als Trägerressource. *MessageHeader.focus* listet alle *ServiceRequests* auf, die als Ausgangspunkt für die Auswertung der Anfragen in einer Nachricht dienen. -* Prescription_ServiceRequest {{pagelink:Home/Datenobjekte/Prescription_ServiceRequest}} (Dient der Anfrage zum Ausstellen einer Verordnung) -* Dispense_ServiceRequest {{pagelink:Home/Datenobjekte/Dispense_ServiceRequest}} (Dient der Anfrage zum Beliefern einer Verordnung) +### Verwendung von ServiceRequests +Alle Anwendungsfälle in diesem Projekt basieren auf [ServiceRequest-Ressourcen](http://hl7.org/fhir/R4/servicerequest.html), die gemäß FHIR-Spezifikation verwendet werden, um einen Dienst bzw. eine Dienstleistung anzufragen. Der *ServiceRequest* dient dabei als Trägerressource für die auszutauschenden Informationen. -Da ein Service Request alle Informationen zum Verarbeiten einer Anfrage bündelt, wird dieser unter MessageHeader.focus referenziert. -Ein Service Request soll in einem Anwendungsfall nur ein mal generiert und anschließend nur weitergereicht und mit Informationen angereichert werden. +#### Anzahl der ServiceRequests +Jede Nachricht kann mehrere *ServiceRequest*-Ressourcen enthalten. Jede *ServiceRequest* besitzt eine eigene *requestID* und stellt somit eine separate Anfrage dar. Eine detaillierte Beschreibung und Darstellungen sind unter {{pagelink:Home/UebergreifendeFestlegungen/multiple-servicerequest.page.md}} einzusehen. -#### Status der Anfrage +#### IDs in den ServiceRequests +Ein einzelner *ServiceRequest* bzw. eine einzelne Anfrage wird über `ServiceRequest.identifier:requestId` identifiziert. Über `ServiceRequest.requisition` können mehrere *ServiceRequests* mithilfe eines gemeinsamen Identifiers gebündelt werden, um z.B. Vorgänge mit mehreren Anfragen zusammenzufassen. +HINWEIS: Unter {{pagelink:Home/UebergreifendeFestlegungen/identifier.page.md}} sind weitere vorgaben zu Identifiern getroffen worden. + +Folgende Service Requests und damit verbundene Service Anfragen sind derzeit spezifiziert: +* {{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-prescription-request.page.md}} +* {{pagelink:Home/Datenobjekte/Profile/profile_definitions/erp-service-request-dispense-request.page.md}} +#### Status der Anfrage Ein ServiceRequest spiegelt neben den fachlichen Informationen auch den Status des Vorgangs wieder. Über das Feld .status kann dargestellt werden, in welchem Zustand sich der Vorgang befindet: | Status | Bedeutung | | ---------------- | -------------------------------------------------------- | | active | Anfrage ist aktiv und muss noch bearbeitet werden | -| revoked | Anfrage wurde von der zu bearbeitenden Partei abgewiesen | +| entered-in-error | Anfrage wurde vom Anfragenden storniert | +| revoked | Anfrage wurde vom Verordnenden abgelehnt | | completed | Anfrage wurde von der zu bearbeitenden Partei erfüllt | -| entered-in-error | Anfrage wurde von der anfragenden Partei storniert | - -### Allgemeine Festlegungen - -#### Anzahl von E-Rezepten pro Nachricht - -In jedem Prozess, in dem ein E-Rezept bearbeitet werden soll, kann eine Nachricht ein oder mehrere E-Rezepte adressieren. Die späteren Beschreibungen zu den Use Cases werden dies im Detail beschreiben. -Im Feld `MessageHeader.focus` werden alle ServiceRequests referenziert, die im Bundle enthalten sind. Jeder ServiceRequest entspricht genau einer Anfrage für eine Medikation. +## Visuelle Darstellung +Die in diesem Projekt erzeugten Ressourcen lassen sich mit einem XSLT-Stylesheet in ein HTML überführen, um sie für Anwender sichtbar zu machen. Notwendigkeit und Voraussetzungen sind im [Featuredokument gemF_eRp_KIM](https://gemspec.gematik.de/docs/gemF/gemF_eRp_KIM/latest/) beschrieben. +Das Stylesheet findet sich im GitHub Repository: [XSLT-Stylesheet](https://github.com/gematik/spec-E-Rezept-ServiceRequest/tree/master/Resources/xslt-stylesheets). -#### Zuordnung von Anfrage und Angefragtem Präparat - -ServiceRequest.basedOn referenziert die zu behandelnde Medikation, bzw. Rezeptanfrage, gibt also an, auf welche medizinische Information sie der Service Request bezieht. +## Beispiele +Beispielinstanzen sind unter {{pagelink:Home/Examples.page.md}} zu finden. -Ein Service Request soll sich dabei immer auf genau eine medizinsiche Information beziehen. Wenn also z.B. ein Rezept angefragt wird, dann referenziert ServiceRequest.basedOn genau einen MedicationRequest. So ist für jeden MedicationRequest also ein ServiceRequest zu erstellen. Entsprechend ist die Kardinalität für ServiceRequest.basedOn ..1. +Folgende UseCases sind mit entsprechenden Beispielen beschrieben: -Somit enthält eine KIM-Nachricht einen ServiceRequest mit einem MedicationRequest. +* UC1: Rezeptanforderung durch Pflegeeinrichtung +* UC2: Rezeptanforderung der Pflegeeinrichtung mit Einlösung durch Patient +* UC3: Rezeptanforderung der heimversorgenden Apotheke +* UC4: Rezeptanforderung für anwendungsfertige Zytostatikazubereitungen -## Motivation und Hintergrund +Die Beispiele tragen jeweils das Präfix zum entsprechenden UseCase und der entsprechenden Sequenz. Bsp: UC1-3-* ist ein Beispiel, was UC1 zugeordnet ist und den dritten Schritt in der Abfolge entspricht. +Für UC1 gibt es auch Beispiele für Stornierung und Ablehnung. -Mit dem E-Rezept hat die gematik ein Produkt auf den Weg gebracht, was dazu beiträgt die Verordnung, Abgabe und Abrechnung von Rezepten zu digitalisieren. Der gesamte Ablauf der Verordnung ist über den zentralen E-Rezept-Fachdienst gelöst. +HINWEIS: Die Beispiele, die in dieser Spezifikation auf Simplifier vorhanden sind verwenden URL-Referenzen. Dies dient der Anschaulichkeit und dem Nachvollziehen von Ressourcen und Referenzen. Für den produktiven Einsatz sollten absolute Referenzen mit UUID's verwendet werden: "urn:uuid:e615aa46-30f3-4d3f-b3f1-3274ad314b5c". -Bisher steht kein strukturierter, dezentraler Weg der Kommunikation für E-Rezepte zur Verfügung. Diese Spezifikation soll dazu beitragen, dass Leistungserbringer im deutschen Gesundheitswesen strukturiert Informationen über E-Rezepte austauschen können. +## Veranschaulichung am Demonstrator -Anwendungsfälle sind bspw., die Anforderung von Rezepten von Pflegeeinrichtungen oder inhaltliche Klärung von Verordnungen zwischen Arzt und Apotheke. +Die folgenden Videos demonstrieren die Anwendungsfälle aus Sicht der Akteure der in diesem IG aufgeführten Akteure. -Diese Spezifikation soll einen Beitrag dazu liefern den Versorgungsprozess für die Leistungserbringer zu vereinfachen und zu beschleunigen. +### Rezeptanforderungen im ambulanten Pflegedienst -## Beispiele +Im folgenden wird der Anwendungsfall "Rezeptanforderung durch Pflegeeinrichtung" am Demonstrator veranschaulicht. -Beispielinstanzen sind im [Simplifier-Projekt](https://simplifier.net/erezept-servicerequest/~resources?category=Example&exampletype=Bundle&sortBy=RankScore_desc) zu finden. + -Folgende UseCases sind mit entsprechenden Beispielen beschrieben: +### Rezeptanforderungen der heimversorgenden Apotheke -* UC1: Pflegeeinrichtung -> Arzt -> Pflegeeinrichtung -> Apotheke -* UC2: Pflegeeinrichtung -> Arzt -> Apotheke -> Pflegeeinrichtung -* UC3: Pflegeeinrichtung -> Arzt -> Pflegeeinrichtung (Patient geht selbst zur Apotheke) -* UC4(parenterale Zubereitung): Apotheke -> Arzt -> Apotheke +Im folgenden wird der Anwendungsfall "Rezeptanforderung der heimversorgenden Apotheke" am Demonstrator veranschaulicht. -Die Beispiele tragen jeweils das Präfix zum entsprechenden UseCase und der entsprechenden Sequenz. Bsp: UC1-3-* ist ein Beispiel, was UC1 zugeordnet ist und den dritten Schritt in der Abfolge entspricht. -Für UC1 gibt es auch Storno Beispiele. + \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Examples.page.md b/guides/ig-rezeptanforderung/Home/Examples.page.md new file mode 100644 index 00000000..5dee3d8b --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/Examples.page.md @@ -0,0 +1,104 @@ +# {{page-title}} + +## Beispiele für Profile + +### Beispiele für MessageHeader +@``` +from MessageHeader +select Name: id, Link: link('https://simplifier.net/erezept-servicerequest/' + id) +``` + +### Beispiele für ServiceRequest +@``` +from ServiceRequest +select Name: id, Link: link('https://simplifier.net/erezept-servicerequest/' + id) +``` + +### Beispiele für Patienten +@``` +from Patient +select Name: id, Link: link('https://simplifier.net/erezept-servicerequest/' + id) +``` + +### Beispiele für Practitioner +@``` +from Practitioner +select Name: id, Link: link('https://simplifier.net/erezept-servicerequest/' + id) +``` + +### Beispiele für Organization +@``` +from Organization +select Name: id, Link: link('https://simplifier.net/erezept-servicerequest/' + id) +``` + +### Beispiele für MedicationRequest +@``` +from MedicationRequest +select Name: id, Link: link('https://simplifier.net/erezept-servicerequest/' + id) +``` + +### Beispiele für MedicationDispense +@``` +from MedicationDispense +select Name: id, Link: link('https://simplifier.net/erezept-servicerequest/' + id) +``` + +### Beispiele für Medication +@``` +from Medication +select Name: id, Link: link('https://simplifier.net/erezept-servicerequest/' + id) +``` + + + +## Anwendungsfall Beispiele + +### Beispiele für UC1: Rezeptanforderung durch Pflegeeinrichtung + +Beispiele für diesen Anwendungsfall befinden sich im [Simplifier Projekt](https://simplifier.net/erezept-servicerequest/~resources?category=Example&exampletype=Bundle&sortBy=RankScore_desc). Beispiele für diesen Anwendungsfall sind benannt nach "UC1-*" + +@``` + +from Bundle +where id.startsWith('UC1-') +select Name: id, Link: link('https://simplifier.net/erezept-servicerequest/' + id) + +``` + +### Beispiele für UC2: Rezeptanforderung der Pflegeeinrichtung mit Einlösung durch Patient + +Beispiele für diesen Anwendungsfall befinden sich im [Simplifier Projekt](https://simplifier.net/erezept-servicerequest/~resources?category=Example&exampletype=Bundle&sortBy=RankScore_desc). Beispiele für diesen Anwendungsfall sind benannt nach "UC2-*" + +@``` + +from Bundle +where id.startsWith('UC2-') +select Name: id, Link: link('https://simplifier.net/erezept-servicerequest/' + id) + +``` + + +### Beispiele für UC3: Rezeptanforderung der heimversorgenden Apotheke + +Beispiele für diesen Anwendungsfall befinden sich im [Simplifier Projekt](https://simplifier.net/erezept-servicerequest/~resources?category=Example&exampletype=Bundle&sortBy=RankScore_desc). Beispiele für diesen Anwendungsfall sind benannt nach "UC3-*" + +@``` + +from Bundle +where id.startsWith('UC3-') +select Name: id, Link: link('https://simplifier.net/erezept-servicerequest/' + id) + +``` + +### Beispiele für UC4: Rezeptanforderung für anwendungsfertige Zytostatikazubereitungen + +Beispiele für diesen Anwendungsfall befinden sich im [Simplifier Projekt](https://simplifier.net/erezept-servicerequest/~resources?category=Example&exampletype=Bundle&sortBy=RankScore_desc). Beispiele für diesen Anwendungsfall sind benannt nach "UC4-*" + +@``` + +from Bundle +where id.startsWith('UC4-') +select Name: id, Link: link('https://simplifier.net/erezept-servicerequest/' + id) + +``` \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Identifier/Identifier-Festlegungen.page.md b/guides/ig-rezeptanforderung/Home/Identifier/Identifier-Festlegungen.page.md deleted file mode 100644 index 0d6359a9..00000000 --- a/guides/ig-rezeptanforderung/Home/Identifier/Identifier-Festlegungen.page.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -topic: identifier_festlegungen ---- - -## {{page-title}} - -Generell sind die Identifier in den Profilen offen spezifiziert. Daher können beliebige Identifier vergeben werden. -WICHTIG: Wenn ein Objekt (z.B. ein ServiceRequest) bearbeitet, modifiziert und dann weitergeleitet wird sind alle Identifier, die unter `ServiceRequest.identifier` vergeben wurden zu kopieren und weiterzureichen. - -### Anwendungsfall Parenterale Zubereitung - -Im Anwendungsfall {{pagelink:Home/Anwendungsfaelle/2_Parenterale-Zubereitung}} sind folgende Identifier zu verwenden: - -|Fachliche Beschreibung|.identifier.system| -|---|---| -|Patienten-ID für die Verwendung in einer Taxierungssoftware|"https://gematik.de/fhir/erp-servicerequest/sid/patient-id"| -|Fall-ID für die Verwendung in einer Taxierungssoftware|"https://gematik.de/fhir/erp-servicerequest/sid/case-id"| -|Vorgangs-ID für die Verwendung in einer Taxierungssoftware, abweichend von .requisition|"https://gematik.de/fhir/erp-servicerequest/sid/process-id"| diff --git a/guides/ig-rezeptanforderung/Home/Identifier/identifier.page.md b/guides/ig-rezeptanforderung/Home/Identifier/identifier.page.md deleted file mode 100644 index 2428ab60..00000000 --- a/guides/ig-rezeptanforderung/Home/Identifier/identifier.page.md +++ /dev/null @@ -1,78 +0,0 @@ -# {{page-title}} - -## Request Identifier - -### Motivation - -Dieser Identifier wird in `ServiceRequest.identifier[requestId]` verwendet, um einen einzelnen ServiceRequest zu identifizieren. - -Dieses Vorgehen soll Systeme dabei unterstützen Informationen zu Vorgängen korrekt zu referenzieren. - -### Profil - -{{tree:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-request-identifier, diff}} - -Folgende Felder sind entsprechend zu befüllen, bzw. können befüllt werden: - -@``` - -from StructureDefinition -where name = 'ERPServiceRequestRequestIdentifier' -for differential.element - select id, short, comment - -``` - -## Vorgangs Identifier - -### Motivation - -Dieser Identifier bildet eine Vorgangs-ID ab und wird unter `ServiceRequest.requisition` angegeben. Innerhalb eines Vorgangs können verschiedene Medikamente angefragt werden für die jeweils ein ServiceRequest erstellt wird. Diese Vorgangs-ID verknüpft nun alle ServiceRequests, die diesem Vorgang zugeordnet sind. - -Diese Vorgangs-ID wird vom schreibenden System vergeben und ist von den anderen Sytemen, die den ServiceRequest bearbeiten nicht zu verändern! - -Falls ein anderes System als das ursprünglich anfragende einen neuen ServiceRequest erstellt, ist die Vorgangs-ID von vorhandenen ServiceRequests zu übernehmen. - -### Profil - -{{tree:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/identifier-procedure-identifier, diff}} - -Folgende Felder sind entsprechend zu befüllen, bzw. können befüllt werden: - -@``` - -from StructureDefinition -where name = 'ERPServiceRequestProcedureIdentifier' -for differential.element - where exists(comment | short) - select id, short, comment - -``` - - -## PreDis Identifier - -### Motivation - -Dieser Identifier wird in `ServiceRequest.identifier[predisId]` verwendet, um eine Verknüpfung einer Verordungs- und Belieferungsanfrage zu der selben Medikation herzustellen. - -Insbesondere wenn der Vorgang und die Erstellung der beiden Anfragen zeitversetzt erfolgt ist es für Systeme dann hilfreich diese Verknüpfung herzustellen und den Verlauf der Anfrage zu einem Medikament dann festzustellen. - -Beispielsweise erstellt im Anwendungsfall {{pagelink:Home/Anwendungsfaelle/Rezeptanforderung}} das anfragende System zunächst nur die Verordnungsanfrage. -Nachdem der Verordnende das E-Rezept-Token übermittelt hat wird dann die Belieferungsanfrage zum gleichen Medikament gestellt. Diese erhält die gleiche predisId wie die Verordnungsanfrage. So kann bspw. der Status zur Anfrage eines Medikaments besser verfolgt werden. - -### Profil - -{{tree:https://gematik.de/fhir/erp-servicerequest/StructureDefinition/erp-service-request-pre-dis-identifier, diff}} - -Folgende Felder sind entsprechend zu befüllen, bzw. können befüllt werden: - -@``` - -from StructureDefinition -where name = 'ERPServiceRequestPreDisIdentifier' -for differential.element - where exists(comment | short) - select id, short, comment - -``` diff --git a/guides/ig-rezeptanforderung/Home/Identifier/toc.yaml b/guides/ig-rezeptanforderung/Home/Identifier/toc.yaml deleted file mode 100644 index 3a12f647..00000000 --- a/guides/ig-rezeptanforderung/Home/Identifier/toc.yaml +++ /dev/null @@ -1,4 +0,0 @@ -- name: Festlegungen zu Identifiern - filename: Identifier-Festlegungen.page.md -- name: Identifier - filename: identifier.page.md diff --git a/guides/ig-rezeptanforderung/Home/Index.page.md b/guides/ig-rezeptanforderung/Home/Index.page.md index 8086bb37..9e8ea5b3 100644 --- a/guides/ig-rezeptanforderung/Home/Index.page.md +++ b/guides/ig-rezeptanforderung/Home/Index.page.md @@ -1,4 +1,39 @@ -# {{page-title}} +# FHIR-Implementation Guide: KIM-Nachrichten für das E-Rezept -Mit dem Konzept "Kommunikation für das E-Rezept" soll eine Möglichkeit aufgezeigt werden, wie Nachrichten im Kontext des E-Rezepts ohne Beteiligung des Fachdienstes zwischen den Beteiligten angefragt, versendet und empfangen werden können. Die Nachrichten werden dabei strukturiert als FHIR-Bundles übermittelt. Als sicheres Verfahren zur Übermittlung ist die TI-Anwendung "Kommunikation im Medizinwesen" (KIM) vorgesehen. Grundsätzlich sind auch andere Verfahren, bspw. zukünftig der TI-Messenger, denkbar. Dabei ist das Transportmedium unabhängig von den Ressourcen, die übermittelt werden. -Für zusätzliche Informationen und eine Erläuterung der Funktionsweise des App-Transport-Frameworks steht ein entsprechender [Implementation Guide](https://simplifier.net/app-transport-framework/~guides) zur Verfügung. +## Allgemeine Beschreibung +Das Feature "KIM-Nachrichten für das E-Rezept" ermöglicht es, Nachrichten im Kontext des E-Rezepts ohne Beteiligung des Fachdienstes zwischen den beteiligten Akteuren zu initiieren, zu versenden und zu empfangen. + +Die Übermittlung erfolgt als strukturierte FHIR-Bundles unter Verwendung der TI-Anwendung "Kommunikation im Medizinwesen" (KIM) als gesichertes Übermittlungsverfahren. +Eine ausführliche fachliche Beschreibung findet sich im dazugehörigen [Featuredokument gemF_eRp_KIM](https://gemspec.gematik.de/docs/gemF/gemF_eRp_KIM/latest/). + +## Relevante Dokumente + +### Feature-Dokument +Dem vorliegenden Implementation Guide (IG) liegt das [Featuredokument gemF_eRp_KIM](https://gemspec.gematik.de/docs/gemF/gemF_eRp_KIM/latest/) zugrunde. Das Dokument definiert die Anforderungen, User Stories und fachlichen Anwendungsfälle und bildet die Grundlage für diesen IG. + +### FHIR-IG +Dieser Implementation Guide bietet eine kurze Einführung in das Thema sowie detaillierte technische Anweisungen zur Umsetzung der Anwendungsfälle aus dem Featuredokument. Dabei werden die fachlichen Datenmodelle, relevanten Profile und deren Anwendung beschrieben. + +### ATF FHIR-IG +Dieser Implementation Guide basiert in seinem Konzept auf dem [App Transport Framework](https://simplifier.net/app-transport-framework/~guides). +Das ATF stellt sicher, dass die Kommunikation zwischen Sender und Empfänger effizient und verlässlich abläuft, indem es die Verarbeitbarkeit der Nachrichten gewährleistet und technische Rückmeldungen über den erfolgreichen Empfang und die Weiterverarbeitung bereitstellt. + +## Wie dieser IG zu lesen ist + +Dieser Implementation Guide beschreibt, wie die Use Cases unter Verwendung der FHIR Profile auszuführen sind. +Die folgenden Anwendungsfälle sind beschrieben und umzusetzen: +* {{pagelink:Home/Anwendungsfaelle/1_Rezeptanforderung}} +* {{pagelink:Home/Anwendungsfaelle/2_Rezeptanforderung_Patient}} +* {{pagelink:Home/Anwendungsfaelle/3_Rezeptanforderung_Apotheke}} +* {{pagelink:Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto}} + +Der Tab {{pagelink:Home/Datenobjekte}} listet alle in diesem Projekt erstellten FHIR Artefakte: +* {{pagelink:Home/Datenobjekte/Logical-Models}} beschreiben die Nachrichtentypen der Spezifikation aus fachlicher Sicht +* {{pagelink:Home/Datenobjekte/Profile}} beschreiben die erstellten FHIR-Profile +* {{pagelink:Home/Datenobjekte/Mappings}} beschreiben die Mappings zwischen den Logischen Modellen und den FHIR-Profilen +* {{pagelink:Home/Datenobjekte/Identifier}} beschreiben gesonderte Identifier, die für dieses Projekt erstellt wurden +* {{pagelink:Home/Datenobjekte/Terminologien}} beschreiben die in diesem Projekt erstellten Terminologien + +Der Tab {{pagelink:Home/UebergreifendeFestlegungen}} und dessen Unterseiten stellen Anforderungen an Systeme dar, die diesen IG umsetzen wollen. + +Beispiele können unter {{pagelink:Home/Examples.page.md}} eingesehen werden. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/Release-Notes.page.md b/guides/ig-rezeptanforderung/Home/Release-Notes.page.md index 6103f1c0..70c7b825 100644 --- a/guides/ig-rezeptanforderung/Home/Release-Notes.page.md +++ b/guides/ig-rezeptanforderung/Home/Release-Notes.page.md @@ -4,8 +4,9 @@ Die erste Ziffer X bezeichnet ein Major-Release und regelt die Gültigkeit von Releases. Die dritte Ziffer Y (Release x.0.y) bezeichnet eine technische Korrektur und versioniert kleinere Änderungen (Packages) während eines Jahres, z. B. 1.0.1. -| Datum | Version | Kommentar | -|---|---|---| -|03.04.2023| 1.0.0 | Initialer Release | -| 21.02.2024 | 1.0.1 |
    • ATF Abhängigkeit auf 1.0.4 aktualisiert
    • Einschränkungen für Referenzen entfernt, Anforderungen im IG
      • `ERPServiceRequestMedicationRequest`
        • `medicationReference`
        • `subject`
        • `requester`
        • `insurance`
      • `ERPServiceRequestPrescriptionRequest`
        • `subject`
        • `requester`
        • `performer`
      • `ERPServiceRequestDispenseRequest`
        • `subject`
        • `supportingInfo:AbgabeDaten`
    • Entfernen der Einschränkung auf `meta.profile` für
      • `ERPServiceRequestMessageContainer`
      • `ERPServiceRequestRequestHeader`
    | -|19.03.2023| 1.1.0 |
    • ATF Abhängigkeit auf 1.3.0 aktualisiert
    • Verbesserungen am Implementation Guide
    | +| Datum | Version | Kommentar | Dokumente +|---|---|---|---| +|03.04.2023| 1.0.0 | Initialer Release | | +| 21.02.2024 | 1.0.1 |
    • ATF Abhängigkeit auf 1.0.4 aktualisiert
    • Einschränkungen für Referenzen entfernt, Anforderungen im IG
      • `ERPServiceRequestMedicationRequest`
      • `ERPServiceRequestDispenseRequest`
    • Entfernen der Einschränkung auf `meta.profile` für
      • `ERPServiceRequestMessageContainer`
      • `ERPServiceRequestRequestHeader`
    | | +|19.03.2023| 1.1.0 |
    • ATF Abhängigkeit auf 1.3.0 aktualisiert
    • Verbesserungen am Implementation Guide
    |
    • [Feature Dokument 1.1.0](https://fachportal.gematik.de/fileadmin/Fachportal/Downloadcenter/Vorabveroeffentlichungen/Medical/gemF_eRp_KIM_V1.1.0_Aend.pdf)
    • [FHIR-IG 1.1.0](https://simplifier.net/guide/erp-servicerequest-implementation-guide?version=1.1.0)
    | +01.11.2024 | 1.2.0 |
    • ATF Abhängigkeit auf 1.4.0 aktualisiert
    • Änderungen der Anwendungsfälle nach gemF_eRp_KIM 1.2.0
    • Hinzufügen logischer Fachmodelle
    • Anpassung der Profile mit neuen Constraints
    • Entfernen der Abhängigkeit zur KBV Basis
    |
    • [Feature Dokument 1.2.0](https://fachportal.gematik.de/fileadmin/Fachportal/Downloadcenter/Vorabveroeffentlichungen/Medical/gemF_eRp_KIM_V1.2.0_Aend.pdf)
    • [FHIR-IG 1.2.0](https://simplifier.net/guide/erp-servicerequest-implementation-guide?version=1.2.0)
    | \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/Examples.page.md b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/Examples.page.md deleted file mode 100644 index 827dd90d..00000000 --- a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/Examples.page.md +++ /dev/null @@ -1,5 +0,0 @@ -# {{page-title}} - -Die Beispiele, die in dieser Spezifikation auf Simplifier vorhanden sind verwenden URL-Referenzen. Dies dient der Anschaulichkeit und dem Nachvollziehen von Ressourcen und Referenzen. Für den produktiven Einsatz sollten absolute Referenzen mit UUID's verwendet werden: "urn:uuid:e615aa46-30f3-4d3f-b3f1-3274ad314b5c". - -Beispiele befinden sich im [Simplifier Projekt](https://simplifier.net/erezept-servicerequest/~resources?category=Example&exampletype=Bundle&sortBy=RankScore_desc). \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/File-Format.page.md b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/File-Format.page.md deleted file mode 100644 index 496aa55d..00000000 --- a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/File-Format.page.md +++ /dev/null @@ -1,7 +0,0 @@ -# {{page-title}} - -Der FHIR-Standard beschreibt drei verschiedene [Repräsentationsformate](http://hl7.org/fhir/formats.html#wire): XML, JSON und RDF (Turtle). - -Im Rahmen dieser Spezifikation MUSS umsetzende Systeme das Format [XML](http://hl7.org/fhir/xml.html) unterstützten. - -Je nach Transportmedium MUSS nach Möglichkeit die Information des gewählten Dateiformats übermittelt werden, z.B. in Form eines HTTP-Headers. diff --git a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/Index.page.md b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/Index.page.md index 6418411a..f3fb866e 100644 --- a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/Index.page.md +++ b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/Index.page.md @@ -1,5 +1,31 @@ # {{page-title}} -In diesem Kapitel werden übergreifende Festlegungen definiert, die generell für diese Spezifikation gelten: +In diesem Kapitel werden übergreifende Festlegungen definiert, die generell für diese Spezifikation gelten. -{{index:current}} +## Methodik + +Anforderungen als Ausdruck normativer Festlegungen werden durch die dem [RFC2119](https://tools.ietf.org/html/rfc2119) entsprechenden, in Großbuchstaben geschriebenen deutschen Schlüsselworte MUSS, DARF NICHT, SOLL, SOLL NICHT, KANN sowie ihrer Pluralformen gekennzeichnet. + +### Angabe von Codes im IG + +In der Beschreibung der Anwendungsfälle werden Codes aus FHIR-CodeSystemen erwähnt. Diese sind in Texten und Bildern mit einem '#' gekennzeichnet, um klarzustellen, dass es sich um einen Code handelt. Beispiel: #issue-prescription aus dem CodeSystem {{pagelink:Home/Datenobjekte/Terminologien/codesystems/service-request-type-cs.page.md}}: + + +## Dateiformat + +Der FHIR-Standard beschreibt drei verschiedene [Repräsentationsformate](http://hl7.org/fhir/formats.html#wire): XML, JSON und RDF (Turtle). +Im Rahmen dieser Spezifikation MUSS umsetzende Systeme das Format [XML](http://hl7.org/fhir/xml.html) unterstützten. +Je nach Transportmedium MUSS nach Möglichkeit die Information des gewählten Dateiformats übermittelt werden, z.B. in Form eines HTTP-Headers. + +## Must Support + +Felder der FHIR-Spezifikation, die mit "Must Support" (MS) geflaggt sind, SOLLEN derart umgesetzt werden, dass die Inhalte dem Nutzer sichtbar gemacht werden und wo nötig auch bearbeitbar sind. + +Wenn die entsprechende Information vorliegt, bzw. eingeholt werden kann, MUSS dieses Feld befüllt werden. +Wenn ein Feld befüllt ist MUSS die entsprechende Information im Frontend sichtbar gemacht, bzw. verarbeitet werden können. +Felder, die Referenzen zu anderen Objekten aufweisen und mit "MS" gekennzeichnet sind MUSS das referenzierte Objekt verarbeiten und darstellen können. + +## Weitere Vorgaben: +Im folgenden werden weitere Festlegungen definiert: + +{{index:children}} diff --git a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/Methodik.page.md b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/Methodik.page.md deleted file mode 100644 index 09e887c3..00000000 --- a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/Methodik.page.md +++ /dev/null @@ -1,20 +0,0 @@ -# {{page-title}} - -## Definition von Anforderungen - -Anforderungen als Ausdruck normativer Festlegungen werden durch die dem [RFC2119](https://tools.ietf.org/html/rfc2119) entsprechenden, in Großbuchstaben geschriebenen deutschen Schlüsselworte MUSS, DARF NICHT, SOLL, SOLL NICHT, KANN sowie ihrer Pluralformen gekennzeichnet. - -## Angabe von Codes im IG - -In der Beschreibung der Anwendungsfälle werden Codes aus FHIR-CodeSystemen erwähnt. Diese sind in Texten und Bildern mit einem '#' gekennzeichnet, um klarzustellen, dass es sich um einen Code handelt. Beispiel: #issue-prescription aus dem CodeSystem [PrescriptionFullfillmentTypeCS](https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs): - -@``` -from - CodeSystem -where - url = 'https://gematik.de/fhir/erp-servicerequest/CodeSystem/prescription-fullfillment-type-cs' -for concept - select code, display -order by - name -``` \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/MustSupport.page.md b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/MustSupport.page.md deleted file mode 100644 index 7808210e..00000000 --- a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/MustSupport.page.md +++ /dev/null @@ -1,13 +0,0 @@ -# {{page-title}} - -Felder der FHIR-Spezifikation, die mit "Must Support" (MS) geflaggt sind, SOLLEN derart umgesetzt werden, dass die Inhalte dem Nutzer sichtbar gemacht werden und wo nötig auch bearbeitbar sind. - -## Im Kontext des Erstellens von FHIR-Ressourcen - -Wenn die entsprechende Information vorliegt, bzw. eingeholt werden kann, MUSS dieses Feld befüllt werden. - -## Im Kontext des Verarbeitens von FHIR-Ressourcen - -Wenn ein Feld befüllt ist MUSS die entsprechende Information im Frontend sichtbar gemacht werden. - -Felder, die Referenzen zu anderen Objekten aufweisen und mit "MS" gekennzeichnet sind MUSS das referenzierte Objekt verarbeiten und darstellen können. diff --git a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/Ressource-Usage.page.md b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/Ressource-Usage.page.md index 4e73d520..b4119550 100644 --- a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/Ressource-Usage.page.md +++ b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/Ressource-Usage.page.md @@ -1,18 +1,18 @@ --- topic: datenobjekte_im_bundle --- -## {{page-title}} +# {{page-title}} -### Einbetten aller Objekte im Bundle +## Einbetten aller Objekte im Bundle Das Message Bundle aus dem App-Transport-Framework enthält einen Constraint wonach alle referenzierten Objekte im Bundle und deren Kinder aufgelöst werden müssen. Somit sind entsprechende Informationen in einer Nachricht zu übermitteln. -Zum Beispiel erfordert der ServiceRequest.subject 1..1 die Angabe eines KBV_PR_FOR_Patient. Dieser muss dementsprechend, wie auch alle anderen referenzierten Objekte, im Bundle vorhanden sein. +Zum Beispiel erfordert der ServiceRequest.subject 1..1 die Angabe eines ERPServiceRequestPatient. Dieser muss dementsprechend, wie auch alle anderen referenzierten Objekte, im Bundle vorhanden sein. -### Verwendung von .note +## Verwendung von .note Alle Ressourcen, die ein .note Feld enthalten und mit MS geflaggt sind, sind in der UI darzustellen. Beim lesenden Zugriff MÜSSEN Hinweise und Inhalte dem Anwender dargestellt werden. Beim schreibenden Zugriff auf eine Ressource MUSS die UI eine Option zum Verfassen eines Hinweises anbieten. -### Einbetten des E-Rezept-Tokens (ServiceRequest.extension[EPrescriptionToken]) +## Einbetten des E-Rezept-Tokens (ServiceRequest.extension[EPrescriptionToken]) Wenn Informationen zu einem E-Rezept in einem ServiceRequest eingebettet werden, sind `PrescriptionID` und `AccessCode` zu übertragen. Dies soll nach dem Format eines E-Rezept-Tokens geschehen (siehe [gemSpec_DM_eRp](https://gemspec.gematik.de/docs/gemSpec/gemSpec_DM_eRp/)). diff --git a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/identifier.page.md b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/identifier.page.md new file mode 100644 index 00000000..07a6e3c3 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/identifier.page.md @@ -0,0 +1,19 @@ +# {{page-title}} + +## Identifier Profile + +Die in diesem Projekt profilierten Identifier sind hier einsehbar: {{pagelink:Home/Datenobjekte/Identifier}}. + +Darüber hinaus gibt es in ServiceRequest.identifier durch die offene Profilierung die Möglichkeit weitere Identifier einem Request anzuhängen. Diese können z.B. aus regionalen Kooperationen entstehen oder aus fachlichen Gründen definiert worden sein. + +WICHTIG: Wenn ein Objekt (z.B. ein ServiceRequest) bearbeitet, modifiziert und dann weitergeleitet wird MÜSSEN alle Identifier, die unter `ServiceRequest.identifier` angegeben wurden verarbeitet und in einer Antwort angehangen werden. + +### Anwendungsfall Rezeptanforderung für anwendungsfertige Zytostatikazubereitungen + +In Abstimmung mit den Industriepartnern wurden für den Anwendungsfall {{pagelink:Home/Anwendungsfaelle/4_Rezeptanforderung_Zyto}} folgende Identifier definiert: + +|Fachliche Beschreibung|.identifier.system| +|---|---| +|Patienten-ID für die Verwendung in einer Taxierungssoftware|"https://gematik.de/fhir/erp-servicerequest/sid/patient-id"| +|Fall-ID für die Verwendung in einer Taxierungssoftware|"https://gematik.de/fhir/erp-servicerequest/sid/case-id"| +|Vorgangs-ID für die Verwendung in einer Taxierungssoftware, abweichend von .requisition|"https://gematik.de/fhir/erp-servicerequest/sid/process-id"| diff --git a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/modifier-extensions.page.md b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/modifier-extensions.page.md new file mode 100644 index 00000000..4522e3c0 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/modifier-extensions.page.md @@ -0,0 +1,14 @@ +## {{page-title}} + +Modifier Extensions in FHIR definieren Extensions, deren Inhalt die weitere Verarbeitungslogik eines Datensatzes maßgeblich beeinflussen. + +In diesem Projekt sind folgende Modifier Extensions definiert und müssen entsprechend der Beschreibung verarbeitet werden: + +@``` +from StructureDefinition +select + Name: link(url, name), + join for differential.element + where isModifier = true + select { Extension: link(type.profile, id), 'Verarbeitungshinweis': isModifierReason } +``` diff --git a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/multiple-servicerequest.page.md b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/multiple-servicerequest.page.md new file mode 100644 index 00000000..4a54c443 --- /dev/null +++ b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/multiple-servicerequest.page.md @@ -0,0 +1,70 @@ +# {{page-title}} + +Generell basiert der Nachrichtenaustausch auf dem **Messaging Bundle**. Ein solches Bundle wird verwendet, um eine oder mehrere Rezeptanforderungen zu übermitteln. Dabei enthält das Bundle als ersten Eintrag den **MessageHeader**, welcher die Metadaten der Nachricht enthält. + +## Der MessageHeader + +Der **MessageHeader** ist eine spezielle FHIR-Ressource, die verwendet wird, um Informationen zum Nachrichtenaustausch zu beschreiben. Dieser enthält: + +- Den **Sender** und **Empfänger** der Nachricht. +- Einen **Event-Code**, der den spezifischen Anwendungsfall der Nachricht identifiziert. +- Das Feld `focus`. Dieses Feld enthält Referenzen auf die entsprechenden **ServiceRequest**-Ressourcen, die die eigentlichen Rezeptanforderungen abbilden. + +## Identifikation von Rezeptanforderungen + +Die zentrale Ressource, die eine Rezeptanforderung wiedergibt, ist die **ServiceRequest**-Ressource. Diese Ressource repräsentiert die eigentliche Anforderung und referenziert alle relevanten Informationen, wie Patientendaten, Verordnende/r und weitere Details. + +### Identifizieren und Gruppieren von Anfragen +Wenn mehrere Anfragen gestellt werden, handelt es sich meist um den selben Vorgang. Um diese Zusammengehörigkeit zu kennzeichnen, soll der {{pagelink:Home/Datenobjekte/Identifier/identifier_definitions/erp-service-request-procedure-identifier.page.md}} in `ServiceRequest.requisition` genutzt werden. + +Dieser Identifier ermöglicht es, mehrere ServiceRequests zu einer gemeinsamen Anforderung zu gruppieren. So kann ein identischer requisition-Wert in mehreren ServiceRequest-Objekten verwendet werden, um zu signalisieren, dass diese Anfragen zusammengehören. + +## Referenzen auf gemeinsame Ressourcen +Bei der Übermittlung von mehreren ServiceRequests in einer Nachricht ist zu beachten, dass jede Anfrage (Rezeptanforderung) durch einen eigenen ServiceRequest repräsentiert wird. Jedoch können mehrere ServiceRequests auf dieselben Ressourcen verweisen. Zum Beispiel: + +Wenn drei Rezeptanforderungen für denselben Patienten gestellt werden, gibt es im Bundle drei separate ServiceRequest-Ressourcen, die jeweils eine eigene Anforderung darstellen. +Diese drei ServiceRequests können jedoch alle auf dieselbe Patient-Ressource verweisen. In diesem Fall wird der Patient nur einmal im Bundle enthalten sein, obwohl mehrere ServiceRequests diese Ressource referenzieren. + +## Beispielhafter Nachrichtenaufbau mit zwei Rezeptanforderungen + +Eine Nachricht, die z.B. zwei Rezeptanforderungen enthält, hat folgenden Aufbau: + +- **Genau einen MessageHeader**: Dieser beschreibt den Nachrichtentyp und die beteiligten Systeme. +- **Genau zwei Referenzen in `MessageHeader.focus`**: Diese verweisen auf zwei **ServiceRequest**-Objekte. +- **Weitere Ressourcen im Bundle**: Ressourcen wie `Patient`, `Practitioner`, etc., die von den ServiceRequests referenziert werden, sind ebenfalls Teil des Bundles. Diese Ressourcen dienen als ergänzende Informationen zu den ServiceRequests. + +## Verarbeitung der Nachricht + +Ein empfangendes System sollte den **MessageHeader** auslesen und dabei folgende Schritte beachten: + +1. **Auslesen des Feldes `focus`**: Überprüfen, wie viele Rezeptanforderungen (also ServiceRequest-Objekte) referenziert sind. +2. **ServiceRequests verarbeiten**: Jeder **ServiceRequest** enthält alle Informationen zu einer einzelnen Rezeptanforderung. Dabei kann der ServiceRequest weitere Ressourcen referenzieren, die zum vollständigen Verständnis der Anforderung erforderlich sind (wie z.B. Patient, Practitioner, usw.). + +Jede **ServiceRequest**-Ressource agiert also als eine Art "Trägerressource", die alle relevanten Informationen für eine Rezeptanforderung enthält. + +## Zusammenfassung der Nachricht + +Eine Nachricht enthält: + +- **1:n** Rezeptanforderungen in der Form von ServiceRequests. +- Jede Rezeptanforderung bezieht sich auf genau **eine Rezeptanforderung** in Form von MedicationRequest, der über `ServiceRequest.basedOn` referenziert wird. + +**Hinweis**: Mehrere **ServiceRequests** innerhalb einer Nachricht können denselben Identifier unter `ServiceRequest.requisition` haben. Diese Identifier können verwendet werden, um mehrere ServiceRequests einer einzelnen "Anfrage" zuzuordnen. + +**Hinweis**: Wenn ein Arzt mehrere Anfragen bekommt und einzelne davon ablehnen möchte ist das auf grundlage des einzelnen ServiceRequests möglich. Bestätigte ServiceRequest erhalten den Status `#completed` und abgelehnte Anfragen den Status `#revoked`. + +## Beispiele + +Beispielhaft sollen stark vereinfacht zwei Szenarien als Klassendiagramm dargestellt werden, die die Kardinalitäten und Beziehungen in einem Bundle ausdrücken. + +### Anfrage mehrerer Rezepte für einen Patienten + +Zunächst kann z.B. für einen Patienten mehrere Rezepte angefordert werden. Damit können jeweils ein ServiceRequest (Rezeptanforderung) erstellt werden. Diese können auf die gleiche Patienten -Ressource referenzieren. + +{{render:guides/ig-rezeptanforderung/images/puml_images/MultipleRequests for same Patient.png}} + +### Anfrage des Selben Medikaments für mehrere Patienten +Weiterhin ist auch denkbar, dass exakt die gleiche Medikation für mehrere Patienten angefragt wird. In diesem Fall kann die MedicationRequest-Ressource mehrfach verwendet werden. +{{render:guides/ig-rezeptanforderung/images/puml_images/MultipleRequests for same Medication.png}} + +Hierüber hinaus sind auch Kombinationen denkbar. \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/toc.yaml b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/toc.yaml index 517f4ab2..949d62c8 100644 --- a/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/toc.yaml +++ b/guides/ig-rezeptanforderung/Home/UebergreifendeFestlegungen/toc.yaml @@ -1,14 +1,12 @@ - name: Index filename: Index.page.md -- name: Methodik - filename: Methodik.page.md -- name: Dateiformat - filename: File-Format.page.md -- name: Must Support - filename: MustSupport.page.md - name: Transportmedium filename: Transportmedium.page.md - name: Verwendung der Ressourcen filename: Ressource-Usage.page.md -- name: Hinweis zu den Beispielen - filename: Examples.page.md \ No newline at end of file +- name: Mehrere Anfragen in einer Nachricht + filename: multiple-servicerequest.page.md +- name: Vorgaben zu Identifier + filename: Identifier.page.md +- name: Modifier Extensions + filename: modifier-extensions.page.md diff --git a/guides/ig-rezeptanforderung/Home/toc.yaml b/guides/ig-rezeptanforderung/Home/toc.yaml index 911664c4..56bdd484 100644 --- a/guides/ig-rezeptanforderung/Home/toc.yaml +++ b/guides/ig-rezeptanforderung/Home/toc.yaml @@ -4,13 +4,11 @@ filename: Einfuehrung.page.md - name: Anwendungsfälle filename: Anwendungsfaelle -- name: Release Notes - filename: Release-Notes.page.md -- name: Motivation - filename: Motivation.page.md -- name: Übergreifende Festlegungen +- name: Konformität filename: UebergreifendeFestlegungen -- name: Datenobjekte +- name: FHIR-Profile filename: Datenobjekte -- name: Identifier - filename: Identifier +- name: Beispieldateien + filename: Examples.page.md +- name: Release Notes + filename: Release-Notes.page.md \ No newline at end of file diff --git a/guides/ig-rezeptanforderung/guide.yaml b/guides/ig-rezeptanforderung/guide.yaml index 5c299c19..efecc749 100644 --- a/guides/ig-rezeptanforderung/guide.yaml +++ b/guides/ig-rezeptanforderung/guide.yaml @@ -1,4 +1,4 @@ -title: IG-Rezeptanforderung +title: Rezeptanforderungen für das E-Rezept description: ImplementationGuide zur Umsetzung der Rezeptanforderung version: 1.1.0 style-root: styles diff --git a/guides/ig-rezeptanforderung/images/puml_images/DispenseRequest_Class.png b/guides/ig-rezeptanforderung/images/puml_images/DispenseRequest_Class.png new file mode 100644 index 00000000..bd98cba4 Binary files /dev/null and b/guides/ig-rezeptanforderung/images/puml_images/DispenseRequest_Class.png differ diff --git a/guides/ig-rezeptanforderung/images/puml_images/DispenseRequest_Confirmation_Class.png b/guides/ig-rezeptanforderung/images/puml_images/DispenseRequest_Confirmation_Class.png new file mode 100644 index 00000000..37a7c4de Binary files /dev/null and b/guides/ig-rezeptanforderung/images/puml_images/DispenseRequest_Confirmation_Class.png differ diff --git a/guides/ig-rezeptanforderung/images/puml_images/MessageCopy_Class.png b/guides/ig-rezeptanforderung/images/puml_images/MessageCopy_Class.png new file mode 100644 index 00000000..261a1492 Binary files /dev/null and b/guides/ig-rezeptanforderung/images/puml_images/MessageCopy_Class.png differ diff --git a/guides/ig-rezeptanforderung/images/puml_images/MultipleRequests for same Medication.png b/guides/ig-rezeptanforderung/images/puml_images/MultipleRequests for same Medication.png new file mode 100644 index 00000000..e2eb83bc Binary files /dev/null and b/guides/ig-rezeptanforderung/images/puml_images/MultipleRequests for same Medication.png differ diff --git a/guides/ig-rezeptanforderung/images/puml_images/MultipleRequests for same Patient.png b/guides/ig-rezeptanforderung/images/puml_images/MultipleRequests for same Patient.png new file mode 100644 index 00000000..b660f14c Binary files /dev/null and b/guides/ig-rezeptanforderung/images/puml_images/MultipleRequests for same Patient.png differ diff --git a/guides/ig-rezeptanforderung/images/puml_images/PrescriptionRequest_Class.png b/guides/ig-rezeptanforderung/images/puml_images/PrescriptionRequest_Class.png new file mode 100644 index 00000000..771305ac Binary files /dev/null and b/guides/ig-rezeptanforderung/images/puml_images/PrescriptionRequest_Class.png differ diff --git a/guides/ig-rezeptanforderung/images/puml_images/PrescriptionRequest_Confirmation_Class.png b/guides/ig-rezeptanforderung/images/puml_images/PrescriptionRequest_Confirmation_Class.png new file mode 100644 index 00000000..d843fa44 Binary files /dev/null and b/guides/ig-rezeptanforderung/images/puml_images/PrescriptionRequest_Confirmation_Class.png differ diff --git a/guides/ig-rezeptanforderung/images/puml_images/UC1_1.png b/guides/ig-rezeptanforderung/images/puml_images/UC1_1.png index 728c96a3..247dc89b 100644 Binary files a/guides/ig-rezeptanforderung/images/puml_images/UC1_1.png and b/guides/ig-rezeptanforderung/images/puml_images/UC1_1.png differ diff --git a/guides/ig-rezeptanforderung/images/puml_images/UC1_2.png b/guides/ig-rezeptanforderung/images/puml_images/UC1_2.png index 5133d6e8..35fcfb81 100644 Binary files a/guides/ig-rezeptanforderung/images/puml_images/UC1_2.png and b/guides/ig-rezeptanforderung/images/puml_images/UC1_2.png differ diff --git a/guides/ig-rezeptanforderung/images/puml_images/UC2.png b/guides/ig-rezeptanforderung/images/puml_images/UC2.png index 061f9b88..53d3fdf4 100644 Binary files a/guides/ig-rezeptanforderung/images/puml_images/UC2.png and b/guides/ig-rezeptanforderung/images/puml_images/UC2.png differ diff --git a/guides/ig-rezeptanforderung/images/puml_images/UC3.png b/guides/ig-rezeptanforderung/images/puml_images/UC3.png index 89acb1bf..79c193a3 100644 Binary files a/guides/ig-rezeptanforderung/images/puml_images/UC3.png and b/guides/ig-rezeptanforderung/images/puml_images/UC3.png differ diff --git a/guides/ig-rezeptanforderung/images/puml_images/Zyto_PrescriptionRequest_Class.png b/guides/ig-rezeptanforderung/images/puml_images/Zyto_PrescriptionRequest_Class.png new file mode 100644 index 00000000..269d1334 Binary files /dev/null and b/guides/ig-rezeptanforderung/images/puml_images/Zyto_PrescriptionRequest_Class.png differ diff --git a/guides/ig-rezeptanforderung/images/puml_images/Zyto_PrescriptionRequest_Confirmation_Class.png b/guides/ig-rezeptanforderung/images/puml_images/Zyto_PrescriptionRequest_Confirmation_Class.png new file mode 100644 index 00000000..614b30da Binary files /dev/null and b/guides/ig-rezeptanforderung/images/puml_images/Zyto_PrescriptionRequest_Confirmation_Class.png differ diff --git a/guides/ig-rezeptanforderung/toc.yaml b/guides/ig-rezeptanforderung/toc.yaml index aa334af2..7d7125c4 100644 --- a/guides/ig-rezeptanforderung/toc.yaml +++ b/guides/ig-rezeptanforderung/toc.yaml @@ -1,2 +1,2 @@ -- name: Implementation Guide 'Kommunikation für das E-Rezept' +- name: Start filename: Home diff --git a/package.json b/package.json index 8bdb32ee..7a427c4b 100644 --- a/package.json +++ b/package.json @@ -1,17 +1,17 @@ { "name": "de.gematik.erp-servicerequest", - "version": "1.1.0", + "version": "1.2.0-rc2", "description": "Ressourcen zur Rezeptanforderung eines E-Rezeptes", "fhirVersions": [ "4.0.1" ], "dependencies": { "hl7.fhir.r4.core": "4.0.1", - "de.basisprofil.r4": "1.3.2", - "de.gematik.erezept-workflow.r4": "1.2.x", - "de.gematik.fhir.atf": "1.3.x", - "kbv.basis": "1.3.0", - "kbv.ita.for": "1.1.x", + "de.basisprofil.r4": "1.5.0", + "de.gematik.fhir.atf": "1.4.0-rc2", + "de.gematik.fhir.directory": "0.11.12", + "de.gematik.erezept-workflow.r4": "1.4.x", + "de.gematik.epa": "1.1.0", "kbv.ita.erp": "1.1.x" } } diff --git a/scripts/downloaded_validation_script.sh b/scripts/downloaded_validation_script.sh deleted file mode 100755 index 4671188e..00000000 --- a/scripts/downloaded_validation_script.sh +++ /dev/null @@ -1,208 +0,0 @@ -#!/bin/bash - -GREEN='\033[0;32m' -LGREEN'\033[1;32m' -ORANGE='\033[0;33m' -RED='\033[0;31m' -NC='\033[0m' # No Color -validatorversion=5.6.48 #issue https://github.com/hapifhir/org.hl7.fhir.core/issues/825 is preventing a further update -outputfolder=./validation_results -foldername='./Resources' -external_dependency_folder="./ExternalDependencies" -fhir_folder_path=~/.fhir/packages -file='' -install_dependencies="false" -sort_results="false" -proxy_active=true -proxy_address="192.168.110.10:3128" - -print_usage() { - printf "Usage: - [-d foldername] sets foldername for validation. Default is: '../Resources' - [-f filename] sets filename for single validation. - [-i] installs dpendencies with firely.terminal from './Resources/sushi-config.yaml' file - [-s] sorts resulting html files in folders by the severities of the findings. Categories are: error, warning, information and unknown - [-v version] specifies the version of the used Hapi Validator. Example: -v 5.6.48\n" -} - -sortBySeverity() { - f="$(basename $1 .json)" - if grep -q 'ERROR' "$1"; then - echo -e "${RED}ERROR${NC} in '$f'" - mkdir -p "$outputfolder""/error" - mv "$1" "$outputfolder""/error/"$f - elif grep -q 'All OK' "$1"; then - echo -e "${GREEN}ALL OK${NC} in '$f'" - mkdir -p "$outputfolder""/all_ok" - mv "$1" "$outputfolder""/all_ok/"$f - elif grep -q 'WARNING' "$1"; then - echo -e "${ORANGE}WARNING${NC} in '$f'" - mkdir -p "$outputfolder""/warning" - mv "$1" "$outputfolder""/warning/"$f - elif grep -q 'INFORMATION' "$1"; then - echo -e "${LGREEN}INFORMATION${NC} in '$f'" - mkdir -p "$outputfolder""/information" - mv "$1" "$outputfolder""/information/"$f - else - echo "UNKNOWN STATE for '$f'" - mkdir -p "$outputfolder""/unknown" - mv "$1" "$outputfolder""/unknown/"$f - fi -} - -installDependencies() { - if [ $install_dependencies == "true" ]; then - readarray identityMappings < <(yq e '.dependencies' $foldername/sushi-config.yaml) - echo -e "${GREEN}[INFO] Installation of depencencies from '$foldername/sushi-config.yaml' has started...${NC}" - for dependency in "${identityMappings[@]}"; do - IFS=: read -r package version <<<"$dependency" - if [[ ${package:0:1} != "#" ]]; then - echo "[INFO] Installing $package with version $version" - fhir install "$package" "$version" - fi - done - fi -} - -renameFhirFolderToLowerCase() { - echo -e "[INFO] Rename all folder names in .fhir folder to lower case" - for i in $( (ls -d $fhir_folder_path/* | grep [A-Z])); do - rename -v 'y/A-Z/a-z/' $i - done -} - -function validate_url() { - if [[ $(wget -S --spider $1 2>&1 | grep 'HTTP/1.1 200 OK') ]]; then - return 0 - else - return 1 - fi -} - -checkOrCreateConfigFile() { - configurationfile="scripts/validation_script-config.yaml" - if test -e $configurationfile; then - echo "[INFO] Configurationfile '$configurationfile' found." - readarray proxySettings < <(yq e '.proxy' $configurationfile) - IFS=: read -r a active <<<"${proxySettings[0]}" - if [ $active == "true" ]; then - IFS=: read -r b proxy_address_new <<<"${proxySettings[1]}" - proxy_address_new=${proxy_address_new//[[:blank:]]/} - if [ "$proxy_address" != "$proxy_address_new" ]; then - proxy_address=$proxy_address_new - echo "[INFO] Updated proxy address to $proxy_address" - fi - else - echo "[INFO] Deactivated proxy usage." - proxy_active=false - fi - - else - echo "proxy:" >>$configurationfile - echo " active: true" >>$configurationfile - echo " address: 192.168.110.10:3128" >>$configurationfile - echo "[INFO] Written new '$configurationfile'. Please change proxy settings if needed." - fi -} - -checkAndDownloadHapiValidator() { - validatorversion_underscore=${validatorversion//./_} - validatordestination=~/.fhir/validators/validator_cli_v$validatorversion_underscore.jar - if test -e "$validatordestination"; then - echo "[INFO] HAPI Validator found at '$validatordestination'" - else - validatorsource=https://github.com/hapifhir/org.hl7.fhir.core/releases/download/$validatorversion/validator_cli.jar - echo "[INFO] HAPI Validator not found. Starting to download HAPI Validator from $validatorsource ..." - parentdir="$(dirname "$validatordestination")" - mkdir -p "$parentdir" - if validate_url $validatorsource; then - wget $validatorsource -O $validatordestination - else - echo -e "${RED}[ERROR] Unable to Download Hapi Validator in version $validatorversion. Script will end here. ${NC}" - exit 0 - fi - fi -} - -runSushi() { - echo -e "Starting Sushi to process files in '$foldername'" - sushi $foldername -} - -moveExternalDependencies() { - if [ -d "$external_dependency_folder" ]; then - echo "[INFO] copying external dependecies to $fhir_folder_path" - cp -a $external_dependency_folder/. $fhir_folder_path/ - else - echo -e "${ORANGE}[Warning] $external_dependency_folder missing. No external dependencies will be copied!${NC}" - fi -} - -runHapiValidator() { - validatorversion_underscore=${validatorversion//./_} - validatordestination=~/.fhir/validators/validator_cli_v$validatorversion_underscore.jar - # Concatenate folders_for_validation in fhir directory - folders_to_validate=" -ig $fhir_folder_path" - for package in $( (ls -d $fhir_folder_path/*/package)); do - folders_to_validate+=" -ig ${package}" - done - # Proxy Settings - proxy_string="" - if [ $proxy_active == "true" ]; then - proxy_string="-proxy $proxy_address" - fi - - # Only validating one file? - if [ -z "$file" ]; then - echo "[INFO] Validating files in folder '$foldername/fsh-generated/resources/' ..." - # Run Validator on all *.json files in given directory - for filename in $(find $foldername/fsh-generated/resources/ -name '*.json'); do - f="$(basename "$filename")" - resultfile=$outputfolder"/$f.html" - - echo -e "[INFO] \n\nProcessing file \033[1m $f \033[0m" - java -jar $validatordestination -version 4.0.1$folders_to_validate -ig $foldername/fsh-generated/resources $filename $proxy_string -jurisdiction DE -output $resultfile - if [ $sort_results == "true" ]; then - sortBySeverity "$resultfile" - fi - done - else - echo -e "Processing \033[1m $file \033[0m" - echo -e "\n\nProfiles to load for validation: $folders_to_validate" - result_filename="$(basename "$file")" - # += "-ig $package/package" - java -jar $validatordestination -version 4.0.1$folders_to_validate -ig $foldername/fsh-generated/resources $file $proxy_string -jurisdiction DE -output $outputfolder"/$result_filename.html" - if [ $sort_results == "true" ]; then - sortBySeverity "$outputfolder""/$result_filename.html" - fi - fi - -} - -while getopts 'd:f:v:is' flag; do - case "${flag}" in - d) foldername="${OPTARG}" ;; - f) file="${OPTARG}" ;; - i) install_dependencies="true" ;; - s) sort_results="true" ;; - v) validatorversion="${OPTARG}" ;; - ?) - print_usage - exit 1 - ;; - esac -done - -clear -# create new output folder -rm -rf "$outputfolder" -mkdir -p "$outputfolder" -echo "[INFO] Validation output is written to '$outputfolder'" - -checkOrCreateConfigFile -installDependencies -renameFhirFolderToLowerCase -checkAndDownloadHapiValidator -runSushi -moveExternalDependencies -runHapiValidator diff --git a/scripts/install_fhir_tools.sh b/scripts/install_fhir_tools.sh deleted file mode 100644 index 1e3dd250..00000000 --- a/scripts/install_fhir_tools.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -echo "##### Installing Java" -sudo apt install openjdk-17-jre-headless -y - -echo "##### Installing Sushi" -sudo npm install -g fsh-sushi - -echo "##### Installing dotnet-sdk-3.1" -wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb -sudo dpkg -i packages-microsoft-prod.deb -rm packages-microsoft-prod.deb -sudo apt-get update; \ - sudo apt-get install -y apt-transport-https && \ - sudo apt-get update && \ - sudo apt-get install -y dotnet-sdk-3.1 - -echo "##### Installing firely.terminal" -sudo dotnet tool install --global firely.terminal --version 2.5.0-beta-7 - -echo "##### Installing yq yaml-parser" -sudo snap install yq - -echo "##### Installing rename" -sudo apt install rename diff --git a/scripts/validation_script-config.yaml b/scripts/validation_script-config.yaml deleted file mode 100644 index 9753fec2..00000000 --- a/scripts/validation_script-config.yaml +++ /dev/null @@ -1,3 +0,0 @@ -proxy: - active: true - address: 192.168.110.10:3128 diff --git a/validate.sh b/validate.sh deleted file mode 100755 index d492a191..00000000 --- a/validate.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -clear -# This script will download the latest validation script from the template source save it -# to the scripts_folder and execute it to validate your fhir ressources. -script_name=downloaded_validation_script.sh -script_path=./scripts/$script_name - -parentdir="$(dirname "$script_path")" -mkdir -p "$parentdir" - -curl https://raw.githubusercontent.com/gematik/spec-TemplateForSimplifierProjects/master/scripts/$script_name -o $script_path -#curl https://raw.githubusercontent.com/gematik/spec-TemplateForSimplifierProjects/feature/improved_dependencies_for_hapi_call/scripts/$script_name -o $script_path -chmod a+x $script_path -$script_path "$@"