cdamedp:Ultrakurzformat plus: Unterschied zwischen den Versionen

Aus Hl7wiki
Wechseln zu: Navigation, Suche
(Bezug des Ultrakurzformats zum Basisstandard FHIR)
Zeile 22: Zeile 22:
 
{{NoteBox|Hinweis: das Ultrakurzformat ist nur dafür bestimmt, in diesem Kontext auf kapazitätslimitierte Datenträger geschrieben zu werden. Sollen die Daten im Kontext von zum Beispiel FHIR-Server-Client Applikationen verwendet werden, müssen die Instanzen in eine vollwertige FHIR-Instanz nach dem Kurzformat-FHIR-Profil überführt werden.
 
{{NoteBox|Hinweis: das Ultrakurzformat ist nur dafür bestimmt, in diesem Kontext auf kapazitätslimitierte Datenträger geschrieben zu werden. Sollen die Daten im Kontext von zum Beispiel FHIR-Server-Client Applikationen verwendet werden, müssen die Instanzen in eine vollwertige FHIR-Instanz nach dem Kurzformat-FHIR-Profil überführt werden.
 
Zur Überführung der Instanzen im Ultrakurzformat in ein reguläres FHIR-Bundle stehen Konversionsskripts öffentlich zur Verfügung.}}
 
Zur Überführung der Instanzen im Ultrakurzformat in ein reguläres FHIR-Bundle stehen Konversionsskripts öffentlich zur Verfügung.}}
 +
 +
{| class="hl7table"
 +
|-
 +
|Vollwertige und übliche FHIR Beispiele zum normalen Gebrauch in FHIR-Anwendungen
 +
|Beispiel Ultrakurzformat mit sehr<br/>kurzen XML-Elementen und -Attributen
 +
|-
 +
|<syntaxhighlight lang="xml" highlight="1,10,12,18,23">
 +
<Bundle xmlns="http://hl7.org/fhir">
 +
  <meta>
 +
      <versionId value="2.1"/>
 +
      <profile value="http://fhir.hl7.de/.../bundle"/>
 +
  </meta>
 +
  <type value="document"/>
 +
  <entry>
 +
      <fullUrl value="http://.../2aca0674-...-6e5e5aea15ca"/>
 +
      <resource>
 +
        <Composition>
 +
            <meta>
 +
              <versionId value="2.1"/>
 +
              <profile
 +
                value="http://fhir.hl7.de/.../composition"/>
 +
            </meta>
 +
            <identifier>
 +
              <system value="http://mp.de/Composition"/>
 +
              <value value="2aca0674-...-6e5e5aea15ca"/>
 +
            </identifier>
 +
            <type>
 +
              <coding>
 +
                  <system value="http://loinc.org"/>
 +
                  <code value="56445-0"/>
 +
              </coding>
 +
            </type>
 +
            <title value="Patientenbezogener Medikationsplan"/>
 +
            <status value="final"/>
 +
            <confidentiality value="N"/>
 +
        ...
 +
</Bundle>
 +
</syntaxhighlight>
 +
| valign=top | <syntaxhighlight lang="xml">
 +
<MP U="2ACA0674...6E5E5AEA15CA" v="021">
 +
...
 +
</MP>
 +
</syntaxhighlight>
 +
|-
 +
|<syntaxhighlight lang="xml" highlight="9,14,17">
 +
<Observation>
 +
    <meta>
 +
        <profile value="http://fhir.hl7.de/.../observation"/>
 +
    </meta>
 +
    <status value="final"/>
 +
    <code>
 +
        <coding>
 +
            <system value="http://loinc.org"/>
 +
            <code value="3142-7"/>
 +
            <display value="Body weight"/>
 +
        </coding>
 +
    </code>
 +
    <valueQuantity>
 +
        <value value="89"/>
 +
        <unit value="kg"/>
 +
        <system value="http://unitsofmeasure.org"/>
 +
        <code value="kg"/>
 +
    </valueQuantity>
 +
</Observation>
 +
</syntaxhighlight>
 +
| valign=top | <syntaxhighlight lang="xml">
 +
<O w="89" .../>
 +
</syntaxhighlight>
 +
|-
 +
|<syntaxhighlight lang="xml" highlight="7,12,13,15,16">
 +
<Patient>
 +
    <meta>
 +
        <profile value="http://fhir.hl7.de/.../patient"/>
 +
    </meta>
 +
    <identifier>
 +
        <system value="http://kvnummer.gkvnet.de"/>
 +
        <value value="M996237218"/>
 +
    </identifier>
 +
    <active value="true"/>
 +
    <name>
 +
        <text value="Michaela Mustermann"/>
 +
        <family value="Mustermann"/>
 +
        <given value="Michaela"/>
 +
    </name>
 +
    <gender value="female"/>
 +
    <birthDate value="1936-12-13"/>
 +
</Patient>
 +
</syntaxhighlight>
 +
| valign=top | <syntaxhighlight lang="xml">
 +
<P egk="M996237218"
 +
  g="Michaela" f="Mustermann"
 +
  s="F" b="1936-12-13"/>
 +
</syntaxhighlight>
 +
|-
 +
|<syntaxhighlight lang="xml" highlight="6,9">
 +
<MedicationStatement>
 +
  ...
 +
  <repeat>
 +
      <period value="1"/>
 +
      <periodUnits value="d"/>
 +
      <when value="PCD"/>
 +
  </repeat>
 +
  <quantityQuantity>
 +
      <value value="1"/>
 +
      <unit value="Kps"/>
 +
      <system value="http://hl7.org/fhir/v3/orderableDrugForm"/>
 +
      <code value="CAP"/>
 +
  </quantityQuantity>
 +
    ...
 +
</MedicationStatement>
 +
</syntaxhighlight>
 +
| valign=top | <syntaxhighlight lang="xml">
 +
<M ... d="1" du="KAP" .../>
 +
</syntaxhighlight>
 +
|}
 +
 +
Auf die Wiedergabe von Text-Elementen wie sie in FHIR definiert bzw. gefordert sind, um eine insgesamt lesbare Form der maschinenlesbaren Informationen anzugeben, wird im Ultrakurzformat ebenfalls verzichtet. Das käme der Tatsache gleich, dass das Barcode oder eGK-Format neben dem maschinenlesbaren Teil das Ganze auch noch als Text mit Aufmachung (Layout, Tabellenform etc.) wiedergibt, was außerhalb der Zielsetzung dieses Formats liegt.
 +
 +
Textwiedergaben können aber sowieso jederzeit aus den maschinenlesbaren Informationen generiert werden. Auch hierfür finden sich Beispiele für solche Transformationen in den Materialien.

Version vom 6. August 2017, 09:51 Uhr

Ultrakurzformat

Das hier vorgestellte Ultrakurzformat beruht auf den zuvor vorgestellten FHIR-Profile bzw. Vorarbeiten davon und wurde in einer angepassten Form auch als Technische Spezifikation für das Barcode-Format des Bundeseinheitlichen Medikationsplan verwendet.

In Bezug auf den Medikationplan ist die hier beschriebene Zusammenstellung er Komponenten das Äquivalent zum CDA-Format und wird seine Anwendung vornehmlich im Bereich der Mobilen Apps finden.

Die fachinhaltlichen Festlegungen aus dem Bundeseinheitlichen Medikationsplan[1] sind hier zunächst übernommen und die zu Erweiterungen in Bezug auf AMTS-Anwendungsfälle ergänzt.

Das Ultrakurzformat ist nicht nur für den Barcode, sondern auch für die eGK nutzbar. Damit soll es möglich sein, bis zu 40 Arzneimittel auf der eGK zu speichern und zum Beispiel bisherige nicht mehr aktuell eingenommene bzw. abgesetzte Medikamente oder jedenfalls nicht einzunehmende Substanzen (zum Beispiel wegen Unverträglichkeiten oder Allergien) wiederzugeben.

Bezug des Ultrakurzformats zum Basisstandard FHIR

Das Ultrakurzformat (UKF) basiert auf den zuvor vorgestellten FHIR-Profilen wie zum Beispiel Patient, AllergyIntolerance und MedicationStatement. Dabei wurden die üblichen Aspekte und Freiheiten in den Resources zunächst eingeschränkt und vorab in den Kurzformat-FHIR-Profilen festgelegt, dass die eigentlichen Instanzen („die Daten“) außerordentlich kurz gehalten werden können.

Das Ultrakurzformat reduziert dann von den FHIR-Profil-Definitionen ausgehend schließlich auf sehr kurze XML-Elemente und -Attribute, die in einer eins-zu-eins Beziehung zum zugrundeliegenden FHIR-Profil stehen. Dadurch können FHIR-Instanzen, die nach den Kurzformat-FHIR-Profilen erstellt sind und die Ultrakurzformat-Instanzen leicht ineinander überführt werden (Bijektivität).

Als Beispiel sei hier genannt, dass man bei der Übermittlung von Codes immer mit angeben muss, aus welchem Codesystem der Code entnommen wurde. Anders ließe sich der Code nicht korrekt interpretieren. Wird nun vorab (im Kurzformat-FHIR-Profil) festgelegt, dass an bestimmten Stellen nur Codes aus ganz bestimmten Codesystemen zur Anwendung kommen dürfen, erübrigt sich die Mitlieferung des Codesystems in der Instanz selbst (so genannte „kurze Terminologiebindung“).

Ähnliches gilt für bestimmte Dosierungsmuster, die festliegen. Die Angabe „morgens“ bedeutet an sich „Medikament morgens einnehmen („wann“) und dies jeden Tag wiederholen („repeat, period 1 d). Diese Statements können sich auf das „wann“ beschränken, denn dass sich dies (innerhalb ggf. vorgegebener Einnahmedauer-Grenzen) täglich wiederholt, ist bei diesem Muster klar.

Das bedeutet auch, dass Instanzen im Ultrakurzformat aufgrund der Einheit von Instanz und Kurzformat-FHIR-Profil nur durch die langen Strukturen und die im Profil definierten Festlegungen ergänzt werden müssen, um auch außerhalb der Spezifikation des Ultrakurzformats vollwertig gemäß dem allgemeinen FHIR-Profil für den Medikationsplan zu sein (vgl. auch folgende Tabelle).

Vollwertige und übliche FHIR Beispiele zum normalen Gebrauch in FHIR-Anwendungen Beispiel Ultrakurzformat mit sehr
kurzen XML-Elementen und -Attributen
<Bundle xmlns="http://hl7.org/fhir">
   <meta>
      <versionId value="2.1"/>
      <profile value="http://fhir.hl7.de/.../bundle"/>
   </meta>
   <type value="document"/>
   <entry>
      <fullUrl value="http://.../2aca0674-...-6e5e5aea15ca"/>
      <resource>
         <Composition>
            <meta>
               <versionId value="2.1"/>
               <profile 
                 value="http://fhir.hl7.de/.../composition"/>
            </meta>
            <identifier>
               <system value="http://mp.de/Composition"/>
               <value value="2aca0674-...-6e5e5aea15ca"/>
            </identifier>
            <type>
               <coding>
                  <system value="http://loinc.org"/>
                  <code value="56445-0"/>
               </coding>
            </type>
            <title value="Patientenbezogener Medikationsplan"/>
            <status value="final"/>
            <confidentiality value="N"/>
        ...
</Bundle>
<MP U="2ACA0674...6E5E5AEA15CA" v="021">
...
</MP>
<Observation>
    <meta>
        <profile value="http://fhir.hl7.de/.../observation"/>
    </meta>
    <status value="final"/>
    <code>
        <coding>
            <system value="http://loinc.org"/>
            <code value="3142-7"/>
            <display value="Body weight"/>
        </coding>
    </code>
    <valueQuantity>
        <value value="89"/>
        <unit value="kg"/>
        <system value="http://unitsofmeasure.org"/>
        <code value="kg"/>
    </valueQuantity>
</Observation>
<O w="89" .../>
<Patient>
    <meta>
        <profile value="http://fhir.hl7.de/.../patient"/>
    </meta>
    <identifier>
        <system value="http://kvnummer.gkvnet.de"/>
        <value value="M996237218"/>
    </identifier>
    <active value="true"/>
    <name>
        <text value="Michaela Mustermann"/>
        <family value="Mustermann"/>
        <given value="Michaela"/>
    </name>
    <gender value="female"/>
    <birthDate value="1936-12-13"/>
</Patient>
<P egk="M996237218"
   g="Michaela" f="Mustermann" 
   s="F" b="1936-12-13"/>
<MedicationStatement>
  ...
  <repeat>
      <period value="1"/>
      <periodUnits value="d"/>
      <when value="PCD"/>
  </repeat>
  <quantityQuantity>
      <value value="1"/>
      <unit value="Kps"/>
      <system value="http://hl7.org/fhir/v3/orderableDrugForm"/>
      <code value="CAP"/>
  </quantityQuantity>
    ...
</MedicationStatement>
<M ... d="1" du="KAP" .../>

Auf die Wiedergabe von Text-Elementen wie sie in FHIR definiert bzw. gefordert sind, um eine insgesamt lesbare Form der maschinenlesbaren Informationen anzugeben, wird im Ultrakurzformat ebenfalls verzichtet. Das käme der Tatsache gleich, dass das Barcode oder eGK-Format neben dem maschinenlesbaren Teil das Ganze auch noch als Text mit Aufmachung (Layout, Tabellenform etc.) wiedergibt, was außerhalb der Zielsetzung dieses Formats liegt.

Textwiedergaben können aber sowieso jederzeit aus den maschinenlesbaren Informationen generiert werden. Auch hierfür finden sich Beispiele für solche Transformationen in den Materialien.

  1. Referenzfehler: Es ist ein ungültiger <ref>-Tag vorhanden: Für die Referenz namens bmp wurde kein Text angegeben.