PackagesCanonicalsLogsProblems
    Packages
    de.gematik.erp.t-prescription@1.1.0-ballot2
    https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapCarbonCopy
{
  "description": "Diese Ressource beschreibt das Mapping und führt die Mappings aller Teilressourcen zusammen. Weitere Informationen und Beschreibungen zum Mapping können auf der Seite [Mapping des digitalen Durchschlag E-T-Rezept](./trezept.html#mapping-des-digitalen-durchschlags-e-t-rezept) eingesehen werden.",
  "_filename": "StructureMap-ERPTPrescriptionStructureMapCarbonCopy.json",
  "package_name": "de.gematik.erp.t-prescription",
  "date": "2025-07-07",
  "group": [ {
    "name": "erpTPrescriptionCarbonCopy",
    "rule": [ {
      "name": "tgtMeta",
      "rule": [ {
        "name": "tgtMetaProfile",
        "source": [ {
          "context": "bundle"
        } ],
        "target": [ {
          "context": "erpTCarbonCopyMeta",
          "element": "profile",
          "parameter": [ {
            "valueString": "https://gematik.de/fhir/erp-t-prescription/StructureDefinition/erp-tprescription-carbon-copy|1.1"
          } ],
          "transform": "copy",
          "contextType": "variable"
        } ],
        "documentation": "Setzt das meta.profile des digitalen Durchschlags T-Rezept"
      } ],
      "source": [ {
        "context": "bundle"
      } ],
      "target": [ {
        "context": "erpTCarbonCopy",
        "element": "meta",
        "variable": "erpTCarbonCopyMeta",
        "contextType": "variable"
      } ],
      "documentation": "Setzt die Metadaten für den digitalen Durchschlag"
    }, {
      "name": "rxPrescriptionRule",
      "rule": [ {
        "name": "bundleEntries",
        "rule": [ {
          "name": "rxPrescriptionParameter",
          "rule": [ {
            "name": "parameterrXPrescriptionPart",
            "rule": [ {
              "name": "parameterrXPrescriptionPartIdentifier",
              "source": [ {
                "context": "srcEntryTaskVar"
              } ],
              "dependent": [ {
                "name": "ERPTPrescriptionStructureMapTask",
                "variable": [ "srcEntryTaskVar", "newIdentifier" ]
              } ],
              "documentation": "Mappt Task-Informationen auf Identifier für die Rezept-ID"
            } ],
            "source": [ {
              "context": "srcEntryResourceVar",
              "variable": "srcEntryTaskVar",
              "condition": "ofType(Task)"
            } ],
            "target": [ {
              "context": "tgtRxPrescriptionPartId",
              "element": "name",
              "parameter": [ {
                "valueString": "prescriptionId"
              } ],
              "transform": "copy",
              "contextType": "variable"
            }, {
              "context": "tgtRxPrescriptionPartId",
              "element": "value",
              "variable": "newIdentifier",
              "parameter": [ {
                "valueString": "Identifier"
              } ],
              "transform": "create",
              "contextType": "variable"
            } ],
            "documentation": "Extrahiert die E-Rezept-ID aus dem Task und erstellt den prescriptionId Parameter"
          }, {
            "name": "entryMedicationRequest",
            "rule": [ {
              "name": "entryMedicationRequestPart",
              "rule": [ {
                "name": "entryMedicationRequestPartResourceSet",
                "source": [ {
                  "context": "srcEntryBundleMRVar"
                } ],
                "dependent": [ {
                  "name": "ERPTPrescriptionStructureMapMedicationRequest",
                  "variable": [ "srcEntryBundleMRVar", "newMedicationRequest" ]
                } ],
                "documentation": "Führt die detaillierte MedicationRequest-Transformation durch"
              } ],
              "source": [ {
                "context": "srcEntryBundleMRVar"
              } ],
              "target": [ {
                "context": "tgtRxPrescriptionPartMR",
                "element": "resource",
                "variable": "newMedicationRequest",
                "parameter": [ {
                  "valueString": "MedicationRequest"
                } ],
                "transform": "create",
                "contextType": "variable"
              } ],
              "documentation": "Transformiert KBV-MedicationRequest in BfArM MedicationRequest Format"
            } ],
            "source": [ {
              "context": "srcEntryResourceVar",
              "variable": "srcEntryBundleMRVar",
              "condition": "ofType(MedicationRequest)"
            } ],
            "target": [ {
              "context": "tgtRxPrescriptionPartMR",
              "element": "name",
              "parameter": [ {
                "valueString": "medicationRequest"
              } ],
              "transform": "copy",
              "contextType": "variable"
            } ],
            "documentation": "Erstellt den medicationRequest Parameter für Verschreibungsdetails"
          }, {
            "name": "entryMedicationRequestMedication",
            "rule": [ {
              "name": "prepMedication",
              "rule": [ {
                "name": "entryMedicationPrescriptionMedicationPart",
                "rule": [ {
                  "name": "entryMedicationPrescriptionMedicationPartResourceSet",
                  "source": [ {
                    "context": "srcEntryBundleMRMedIdVar",
                    "element": "resource",
                    "variable": "srcEntryBundleMRMedIdVarRes"
                  } ],
                  "dependent": [ {
                    "name": "ERPTPrescriptionStructureMapMedication",
                    "variable": [ "srcEntryBundleMRMedIdVarRes", "newMedicationPrescriptionMedication" ]
                  } ],
                  "documentation": "Führt die detaillierte Medication-Transformation für das verschriebene Arzneimittel durch"
                } ],
                "source": [ {
                  "context": "srcEntryVar2",
                  "variable": "srcEntryBundleMRMedIdVar",
                  "condition": "resource.ofType(Medication).where(id=%srcMedicationRequestId.resource.medicationReference.reference.replace('urn:uuid:', '').split('/').last())"
                } ],
                "target": [ {
                  "context": "tgtRxPrescriptionPartMed",
                  "element": "resource",
                  "variable": "newMedicationPrescriptionMedication",
                  "parameter": [ {
                    "valueString": "Medication"
                  } ],
                  "transform": "create",
                  "contextType": "variable"
                } ],
                "documentation": "Findet die vom MedicationRequest referenzierte Medication und transformiert sie in BfArM Format"
              } ],
              "source": [ {
                "context": "bundle",
                "element": "entry",
                "variable": "srcEntryVar2"
              } ],
              "documentation": "Bereitet die Suche nach der referenzierten Medication vor"
            } ],
            "source": [ {
              "context": "srcEntryVar",
              "variable": "srcMedicationRequestId",
              "condition": "resource.ofType(MedicationRequest)"
            } ],
            "target": [ {
              "context": "tgtRxPrescriptionPartMed",
              "element": "name",
              "parameter": [ {
                "valueString": "medication"
              } ],
              "transform": "copy",
              "contextType": "variable"
            } ],
            "documentation": "Erstellt den medication Parameter für das verschriebene Arzneimittel"
          } ],
          "source": [ {
            "context": "srcEntryVar",
            "element": "resource",
            "variable": "srcEntryResourceVar"
          } ],
          "documentation": "Extrahiert relevante Ressourcen für die Verschreibung"
        } ],
        "source": [ {
          "context": "bundle",
          "element": "entry",
          "variable": "srcEntryVar"
        } ],
        "documentation": "Verarbeitet alle Einträge des Quell-Bundles für Verschreibungsinformationen"
      } ],
      "source": [ {
        "context": "bundle"
      } ],
      "target": [ {
        "context": "erpTCarbonCopy",
        "element": "parameter",
        "variable": "tgtRxPrescription",
        "contextType": "variable"
      }, {
        "context": "tgtRxPrescription",
        "element": "part",
        "variable": "tgtRxPrescriptionPartId",
        "contextType": "variable"
      }, {
        "context": "tgtRxPrescription",
        "element": "part",
        "variable": "tgtRxPrescriptionPartMR",
        "contextType": "variable"
      }, {
        "context": "tgtRxPrescription",
        "element": "part",
        "variable": "tgtRxPrescriptionPartMed",
        "contextType": "variable"
      }, {
        "context": "tgtRxPrescription",
        "element": "name",
        "parameter": [ {
          "valueString": "rxPrescription"
        } ],
        "transform": "copy",
        "contextType": "variable"
      } ],
      "documentation": "Erstellt den rxPrescription Parameter mit allen Verschreibungsinformationen"
    }, {
      "name": "MedicationDispenseFromBundle",
      "rule": [ {
        "name": "bundleEntries",
        "rule": [ {
          "name": "rxDispensationParameter",
          "rule": [ {
            "name": "entryVZDSearchSet",
            "rule": [ {
              "name": "entryOrganizationPart",
              "rule": [ {
                "name": "entryOrganizationPartResourceSet",
                "source": [ {
                  "context": "srcEntryBundleOrgVar"
                } ],
                "dependent": [ {
                  "name": "ERPTPrescriptionStructureMapOrganization",
                  "variable": [ "srcEntryBundleOrgVar", "newOrganization" ]
                } ],
                "documentation": "Führt die detaillierte Organization-Transformation durch"
              } ],
              "source": [ {
                "context": "srcEntryBundleOrgVar"
              } ],
              "target": [ {
                "context": "tgtRxDispensationPartOrg",
                "element": "resource",
                "variable": "newOrganization",
                "parameter": [ {
                  "valueString": "Organization"
                } ],
                "transform": "create",
                "contextType": "variable"
              } ],
              "documentation": "Transformiert VZD SearchSet in BfArM Organization Format für die abgebende Apotheke"
            } ],
            "source": [ {
              "context": "srcEntryResourceVar",
              "variable": "srcEntryBundleOrgVar",
              "condition": "ofType(Bundle).where(entry.first().fullUrl.contains('fhir-directory'))"
            } ],
            "target": [ {
              "context": "tgtRxDispensationPartOrg",
              "element": "name",
              "parameter": [ {
                "valueString": "dispenseOrganization"
              } ],
              "transform": "copy",
              "contextType": "variable"
            } ],
            "documentation": "Identifiziert VZD SearchSet Bundle für Apothekeninformationen"
          }, {
            "name": "entryMedicationDispense",
            "rule": [ {
              "name": "entryDispenseInformation",
              "rule": [ {
                "name": "entryDispenseInformationMedicationDispense",
                "rule": [ {
                  "name": "entryMedicationDispensePartResourceSet",
                  "source": [ {
                    "context": "srcEntryBundleMDVar"
                  } ],
                  "dependent": [ {
                    "name": "ERPTPrescriptionStructureMapMedicationDispense",
                    "variable": [ "srcEntryBundleMDVar", "newMedicationDispense" ]
                  } ],
                  "documentation": "Führt die detaillierte MedicationDispense-Transformation durch"
                } ],
                "source": [ {
                  "context": "srcEntryBundleMDVar"
                } ],
                "target": [ {
                  "context": "tgtDispenseInformationMedDispPart",
                  "element": "name",
                  "parameter": [ {
                    "valueString": "medicationDispense"
                  } ],
                  "transform": "copy",
                  "contextType": "variable"
                }, {
                  "context": "tgtDispenseInformationMedDispPart",
                  "element": "resource",
                  "variable": "newMedicationDispense",
                  "parameter": [ {
                    "valueString": "MedicationDispense"
                  } ],
                  "transform": "create",
                  "contextType": "variable"
                } ],
                "documentation": "Transformiert gematik MedicationDispense in BfArM MedicationDispense Format"
              }, {
                "name": "entryDispenseInformationMedication",
                "rule": [ {
                  "name": "prepDispenseMedication",
                  "rule": [ {
                    "name": "entryDispenseMedicationPart",
                    "rule": [ {
                      "name": "entryMedicationDispensationMedicationPartResourceSet",
                      "source": [ {
                        "context": "srcEntryBundleMDMedIdVar",
                        "element": "resource",
                        "variable": "srcEntryBundleMDMedIdVarRes"
                      } ],
                      "dependent": [ {
                        "name": "ERPTPrescriptionStructureMapMedication",
                        "variable": [ "srcEntryBundleMDMedIdVarRes", "newMedicationDispensationMedication" ]
                      } ],
                      "documentation": "Führt die detaillierte Medication-Transformation für das abgegebene Arzneimittel durch"
                    } ],
                    "source": [ {
                      "context": "srcEntryVarDisp",
                      "variable": "srcEntryBundleMDMedIdVar",
                      "condition": "resource.ofType(Medication).where(id=%srcEntryBundleMDVar.medicationReference.reference.replace('urn:uuid:', '').split('/').last())"
                    } ],
                    "target": [ {
                      "context": "tgtDispenseInformationMedicationPart",
                      "element": "resource",
                      "variable": "newMedicationDispensationMedication",
                      "parameter": [ {
                        "valueString": "Medication"
                      } ],
                      "transform": "create",
                      "contextType": "variable"
                    } ]
                  } ],
                  "source": [ {
                    "context": "bundle",
                    "element": "entry",
                    "variable": "srcEntryVarDisp"
                  } ],
                  "documentation": "Bereitet die Suche nach der referenzierten Medication im Bundle vor"
                } ],
                "source": [ {
                  "context": "srcEntryBundleMDVar"
                } ],
                "target": [ {
                  "context": "tgtDispenseInformationMedicationPart",
                  "element": "name",
                  "parameter": [ {
                    "valueString": "medication"
                  } ],
                  "transform": "copy",
                  "contextType": "variable"
                } ],
                "documentation": "Findet die vom MedicationDispense referenzierte Medication und transformiert sie in BfArM Format"
              } ],
              "source": [ {
                "context": "srcEntryBundleMDVar"
              } ],
              "target": [ {
                "context": "tgtDispenseInformationPart",
                "element": "name",
                "parameter": [ {
                  "valueString": "dispenseInformation"
                } ],
                "transform": "copy",
                "contextType": "variable"
              }, {
                "context": "tgtDispenseInformationPart",
                "element": "part",
                "variable": "tgtDispenseInformationMedDispPart",
                "contextType": "variable"
              }, {
                "context": "tgtDispenseInformationPart",
                "element": "part",
                "variable": "tgtDispenseInformationMedicationPart",
                "contextType": "variable"
              } ],
              "documentation": "Bündelt MedicationDispense und zugehörige Medication unter dispenseInformation"
            } ],
            "source": [ {
              "context": "srcEntryResourceVar",
              "variable": "srcEntryBundleMDVar",
              "condition": "ofType(MedicationDispense)"
            } ],
            "target": [ {
              "context": "tgtRxDispensation",
              "element": "part",
              "variable": "tgtDispenseInformationPart",
              "contextType": "variable"
            } ],
            "documentation": "Erstellt eine dispenseInformation Part pro abgegebener MedicationDispense"
          } ],
          "source": [ {
            "context": "srcEntryVar",
            "element": "resource",
            "variable": "srcEntryResourceVar"
          } ],
          "documentation": "Extrahiert relevante Ressourcen für die Abgabe"
        } ],
        "source": [ {
          "context": "bundle",
          "element": "entry",
          "variable": "srcEntryVar"
        } ],
        "documentation": "Verarbeitet alle Einträge des Quell-Bundles für Abgabeinformationen"
      } ],
      "source": [ {
        "context": "bundle"
      } ],
      "target": [ {
        "context": "erpTCarbonCopy",
        "element": "parameter",
        "variable": "tgtRxDispensation",
        "contextType": "variable"
      }, {
        "context": "tgtRxDispensation",
        "element": "part",
        "variable": "tgtRxDispensationPartOrg",
        "contextType": "variable"
      }, {
        "context": "tgtRxDispensation",
        "element": "name",
        "parameter": [ {
          "valueString": "rxDispensation"
        } ],
        "transform": "copy",
        "contextType": "variable"
      } ],
      "documentation": "Erstellt den rxDispensation Parameter mit allen Abgabeinformationen"
    } ],
    "input": [ {
      "mode": "source",
      "name": "bundle",
      "type": "bundle"
    }, {
      "mode": "target",
      "name": "erpTCarbonCopy",
      "type": "erpTCarbonCopy"
    } ],
    "typeMode": "none",
    "documentation": "Mapping des digitalen Durchschlags T-Rezept aus einem E-Rezept Bundle in das BfArM CarbonCopy Format"
  } ],
  "publisher": null,
  "name": "ERPTPrescriptionStructureMapCarbonCopy",
  "type": null,
  "experimental": "false",
  "resourceType": "StructureMap",
  "title": "E-T-Rezept Structure Map for CarbonCopy",
  "package_version": "1.1.0-ballot2",
  "structure": [ {
    "url": "http://hl7.org/fhir/StructureDefinition/Bundle",
    "mode": "source",
    "alias": "bundle"
  }, {
    "url": "https://gematik.de/fhir/erp-t-prescription/StructureDefinition/erp-tprescription-carbon-copy",
    "mode": "target",
    "alias": "erpTCarbonCopy"
  } ],
  "status": "draft",
  "id": "e303d94d-7d36-4119-b21b-5e41d3468acc",
  "kind": null,
  "url": "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapCarbonCopy",
  "version": "1.1.0-ballot2",
  "import": [ "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapMedicationDispense", "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapMedicationRequest", "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapOrganization", "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapTask", "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapMedication" ]
}