Implementation Guide
E-T-Rezept Datenaustausch
Version 1.1.0-ballot-1 - ballot

: E-T-Rezept Structure Map for MedicationRequest - JSON Representation

Draft as of 2025-07-07

Raw json | Download

{
  "resourceType" : "StructureMap",
  "id" : "ERPTPrescriptionStructureMapMedicationRequest",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap ERPTPrescriptionStructureMapMedicationRequest</b></p><a name=\"ERPTPrescriptionStructureMapMedicationRequest\"> </a><a name=\"hcERPTPrescriptionStructureMapMedicationRequest\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> &quot;</span>https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapMedicationRequest<span style=\"color: navy\">&quot; = &quot;</span>ERPTPrescriptionStructureMapMedicationRequest<span style=\"color: navy\">&quot;\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Mapping-Anweisungen zur Transformation von KBV MedicationRequest zu BfArM T-Prescription MedicationRequest</span>\r\n\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"https://simplifier.net/resolve?scope=kbv.ita.erp@1.4.0-alpha&amp;canonical=https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription\" title=\"KBV_PR_ERP_Prescription\">https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription</a><span style=\"color: navy\">&quot; </span><b>alias </b>kbvMedicationRequest <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-erp-tprescription-medication-request.html\" title=\"E-T-Rezept Medication Request\">https://gematik.de/fhir/erp-t-prescription/StructureDefinition/erp-tprescription-medication-request</a><span style=\"color: navy\">&quot; </span><b>alias </b>bfarmMedicationRequest <b>as </b><b>target</b>\r\n\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Mapping-Anweisungen zur Transformation von KBV MedicationRequest zu BfArM T-Prescription MedicationRequest</span>\r\n<b>group </b>ERPTPrescriptionStructureMapMedicationRequest<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">kbvMedicationRequest</span><span style=\"color: navy\"> : </span>kbvMedicationRequest, <b>target</b> <span style=\"color: maroon\">bfarmMedicationRequest</span><span style=\"color: navy\"> : </span>bfarmMedicationRequest<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  kbvMedicationRequest.status<b> as </b><span style=\"color: maroon\">srcStatus</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.status = <span style=\"color: blue\">'completed'</span> <i>&quot;medicationRequestStatus&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Setzt den Status auf 'completed' für den digitalen Durchschlag (Verschreibung ist bereits abgeschlossen)</span>\r\n  kbvMedicationRequest.intent<span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.intent = <span style=\"color: blue\">'order'</span> <i>&quot;medicationRequestIntent&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Setzt den Intent auf 'order' entsprechend der BfArM-Spezifikation für T-Prescription</span>\r\n  kbvMedicationRequest.extension<b> as </b><span style=\"color: maroon\">extVar</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.extension<b> as </b><span style=\"color: maroon\">tgtExtVar</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    extVar<b> as </b><span style=\"color: maroon\">extMatchVar</span><b> where </b>url='https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Teratogenic'<span style=\"color: navy\"><b> -&gt; </b></span>tgtExtVar.url = <span style=\"color: blue\">'https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Teratogenic'</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      extMatchVar.extension<b> as </b><span style=\"color: maroon\">extValVar</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtExtVar.extension = <span style=\"color: maroon\">extValVar</span> <i>&quot;copyExtensionValue&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Übernimmt den Wert der teratogenen Extension unverändert</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;copyTPrescriptionExtensionUrl&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Kopiert teratogene Extensions für T-Rezept Kennzeichnung</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;medicationRequestExt&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Mappt T-Rezept spezifische Extensions vom KBV- zum BfArM-Format</span>\r\n  kbvMedicationRequest.subject<b> as </b><span style=\"color: maroon\">srcSubject</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.subject<b> as </b><span style=\"color: maroon\">tgtSubject</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    kbvMedicationRequest.subject<b> as </b><span style=\"color: maroon\">srcSubject</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtSubject.extension<b> as </b><span style=\"color: maroon\">tgtSubjectExtension</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      kbvMedicationRequest.subject<b> as </b><span style=\"color: maroon\">srcSubject</span><span style=\"color: navy\"><b> -&gt; </b></span> tgtSubjectExtension.url = <span style=\"color: blue\">'http://hl7.org/fhir/StructureDefinition/data-absent-reason'</span><span style=\"color: navy\">, </span> tgtSubjectExtension.value = <b>cast</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'not-permitted'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span> <i>&quot;medicationRequestsubjectExtensionContent&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Setzt data-absent-reason auf 'not-permitted' um Patientendaten zu anonymisieren</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;medicationRequestsubjectExtension&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Erstellt data-absent-reason Extension für Subject</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;medicationRequestsubject&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Entfernt Patientenbezug durch data-absent-reason Extension für Datenschutz im digitalen Durchschlag</span>\r\n  kbvMedicationRequest.authoredOn<b> as </b><span style=\"color: maroon\">srcAuthoredOnVar</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.authoredOn = <span style=\"color: maroon\">srcAuthoredOnVar</span> <i>&quot;medicationRequestAuthoredOn&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Übernimmt das Verschreibungsdatum unverändert vom KBV MedicationRequest</span>\r\n  kbvMedicationRequest.dosageInstruction<b> as </b><span style=\"color: maroon\">srcDosageInstructionVar</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.dosageInstruction = <span style=\"color: maroon\">srcDosageInstructionVar</span> <i>&quot;medicationRequestDosageInstruction&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Kopiert die Dosierungsanweisungen vollständig für den digitalen Durchschlag</span>\r\n  kbvMedicationRequest.dispenseRequest<b> as </b><span style=\"color: maroon\">srcDispenseRequestVar</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.dispenseRequest = <span style=\"color: maroon\">srcDispenseRequestVar</span> <i>&quot;medicationRequestDispenseRequest&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Übernimmt Abgabeanweisungen (Menge, Wiederholungen) aus der ursprünglichen Verschreibung</span>\r\n  kbvMedicationRequest.medication<b> as </b><span style=\"color: maroon\">medicationVar</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.medication = <span style=\"color: maroon\">medicationVar</span> <i>&quot;medicationReference&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Kopiert die Medikamentenreferenz - das referenzierte Medication wird separat gemappt</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
  },
  "url" : "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapMedicationRequest",
  "version" : "1.1.0-ballot-1",
  "name" : "ERPTPrescriptionStructureMapMedicationRequest",
  "title" : "E-T-Rezept Structure Map for MedicationRequest",
  "status" : "draft",
  "experimental" : false,
  "date" : "2025-07-07",
  "publisher" : "gematik GmbH",
  "contact" : [
    {
      "name" : "gematik GmbH",
      "telecom" : [
        {
          "system" : "url",
          "value" : "https://gematik.de"
        },
        {
          "system" : "email",
          "value" : "erp-umsetzung@gematik.de"
        }
      ]
    }
  ],
  "description" : "Mapping-Anweisungen zur Transformation von KBV MedicationRequest zu BfArM T-Prescription MedicationRequest",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "urn:iso:std:iso:3166",
          "code" : "DE",
          "display" : "Germany"
        }
      ]
    }
  ],
  "structure" : [
    {
      "url" : "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription",
      "mode" : "source",
      "alias" : "kbvMedicationRequest"
    },
    {
      "url" : "https://gematik.de/fhir/erp-t-prescription/StructureDefinition/erp-tprescription-medication-request",
      "mode" : "target",
      "alias" : "bfarmMedicationRequest"
    }
  ],
  "group" : [
    {
      "name" : "ERPTPrescriptionStructureMapMedicationRequest",
      "typeMode" : "none",
      "documentation" : "Mapping-Anweisungen zur Transformation von KBV MedicationRequest zu BfArM T-Prescription MedicationRequest",
      "input" : [
        {
          "name" : "kbvMedicationRequest",
          "type" : "kbvMedicationRequest",
          "mode" : "source"
        },
        {
          "name" : "bfarmMedicationRequest",
          "type" : "bfarmMedicationRequest",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "medicationRequestStatus",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "status",
              "variable" : "srcStatus"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "status",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "completed"
                }
              ]
            }
          ],
          "documentation" : "Setzt den Status auf 'completed' für den digitalen Durchschlag (Verschreibung ist bereits abgeschlossen)"
        },
        {
          "name" : "medicationRequestIntent",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "intent"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "intent",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "order"
                }
              ]
            }
          ],
          "documentation" : "Setzt den Intent auf 'order' entsprechend der BfArM-Spezifikation für T-Prescription"
        },
        {
          "name" : "medicationRequestExt",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "extension",
              "variable" : "extVar"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "extension",
              "variable" : "tgtExtVar"
            }
          ],
          "rule" : [
            {
              "name" : "copyTPrescriptionExtensionUrl",
              "source" : [
                {
                  "context" : "extVar",
                  "variable" : "extMatchVar",
                  "condition" : "url='https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Teratogenic'"
                }
              ],
              "target" : [
                {
                  "context" : "tgtExtVar",
                  "contextType" : "variable",
                  "element" : "url",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Teratogenic"
                    }
                  ]
                }
              ],
              "rule" : [
                {
                  "name" : "copyExtensionValue",
                  "source" : [
                    {
                      "context" : "extMatchVar",
                      "element" : "extension",
                      "variable" : "extValVar"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgtExtVar",
                      "contextType" : "variable",
                      "element" : "extension",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "extValVar"
                        }
                      ]
                    }
                  ],
                  "documentation" : "Übernimmt den Wert der teratogenen Extension unverändert"
                }
              ],
              "documentation" : "Kopiert teratogene Extensions für T-Rezept Kennzeichnung"
            }
          ],
          "documentation" : "Mappt T-Rezept spezifische Extensions vom KBV- zum BfArM-Format"
        },
        {
          "name" : "medicationRequestsubject",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "subject",
              "variable" : "srcSubject"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "subject",
              "variable" : "tgtSubject"
            }
          ],
          "rule" : [
            {
              "name" : "medicationRequestsubjectExtension",
              "source" : [
                {
                  "context" : "kbvMedicationRequest",
                  "element" : "subject",
                  "variable" : "srcSubject"
                }
              ],
              "target" : [
                {
                  "context" : "tgtSubject",
                  "contextType" : "variable",
                  "element" : "extension",
                  "variable" : "tgtSubjectExtension"
                }
              ],
              "rule" : [
                {
                  "name" : "medicationRequestsubjectExtensionContent",
                  "source" : [
                    {
                      "context" : "kbvMedicationRequest",
                      "element" : "subject",
                      "variable" : "srcSubject"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgtSubjectExtension",
                      "contextType" : "variable",
                      "element" : "url",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
                        }
                      ]
                    },
                    {
                      "context" : "tgtSubjectExtension",
                      "contextType" : "variable",
                      "element" : "value",
                      "transform" : "cast",
                      "parameter" : [
                        {
                          "valueString" : "not-permitted"
                        },
                        {
                          "valueString" : "code"
                        }
                      ]
                    }
                  ],
                  "documentation" : "Setzt data-absent-reason auf 'not-permitted' um Patientendaten zu anonymisieren"
                }
              ],
              "documentation" : "Erstellt data-absent-reason Extension für Subject"
            }
          ],
          "documentation" : "Entfernt Patientenbezug durch data-absent-reason Extension für Datenschutz im digitalen Durchschlag"
        },
        {
          "name" : "medicationRequestAuthoredOn",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "authoredOn",
              "variable" : "srcAuthoredOnVar"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "authoredOn",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "srcAuthoredOnVar"
                }
              ]
            }
          ],
          "documentation" : "Übernimmt das Verschreibungsdatum unverändert vom KBV MedicationRequest"
        },
        {
          "name" : "medicationRequestDosageInstruction",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "dosageInstruction",
              "variable" : "srcDosageInstructionVar"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "dosageInstruction",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "srcDosageInstructionVar"
                }
              ]
            }
          ],
          "documentation" : "Kopiert die Dosierungsanweisungen vollständig für den digitalen Durchschlag"
        },
        {
          "name" : "medicationRequestDispenseRequest",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "dispenseRequest",
              "variable" : "srcDispenseRequestVar"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "dispenseRequest",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "srcDispenseRequestVar"
                }
              ]
            }
          ],
          "documentation" : "Übernimmt Abgabeanweisungen (Menge, Wiederholungen) aus der ursprünglichen Verschreibung"
        },
        {
          "name" : "medicationReference",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "medication",
              "variable" : "medicationVar"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "medication",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "medicationVar"
                }
              ]
            }
          ],
          "documentation" : "Kopiert die Medikamentenreferenz - das referenzierte Medication wird separat gemappt"
        }
      ]
    }
  ]
}