NullFlavor

Aus Hl7wiki
(Teildokument von V3 Datentypen Release 1)
Wechseln zu: Navigation, Suche
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 4: Zeile 4:
 
Jeder Datentyp und jede Assoziation besitzt das Attribut ''nullFlavor'', mit dem angegeben wird, dass der betreffende Wert fehlt, inklusive einer möglichen Erklärung für das Fehlen.
 
Jeder Datentyp und jede Assoziation besitzt das Attribut ''nullFlavor'', mit dem angegeben wird, dass der betreffende Wert fehlt, inklusive einer möglichen Erklärung für das Fehlen.
  
Dies wird verwendet, wenn eine Information in einer HL7v3 Nachricht verpflichtend ist (Kardinalität 1..), das sendende Anwenderprogramm aber einfach keinen Wert verfügbar hat. Es handelt sich dabei um Informationen, von denen die Conformance ''required'' ist, denn wenn die Conformance ''mandatory'' ist, muss grundsätzlich ein Nicht-Null-Wert zugewiesen werden.  
+
Dies wird verwendet, wenn eine Information in einer HL7v3 Nachricht / einem CDA-Dokument verpflichtend ist (Kardinalität 1..), das sendende Anwenderprogramm aber einfach keinen Wert verfügbar hat. Es handelt sich dabei um Informationen, von denen die Conformance ''required'' ist. Wenn die Conformance ''mandatory'' ist, muss grundsätzlich ein echter (Nicht-Null) Wert zugewiesen werden.  
  
Der Datentyp ist CS (Coded Simple Value) mit dem Vokabular der Domäne ''nullFlavor'':
+
Der Datentyp für das Attribut nullFlavor ist CS (Coded Simple Value) mit dem Vokabular der Domäne ''nullFlavor'':
  
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 20: Zeile 20:
 
|2||L||..NASK||not asked||Die Information wurde nicht erfragt (z.B. wenn dem Patienten eine bestimmte Frage nicht gestellt wurde) und ist dadurch nicht bekannt
 
|2||L||..NASK||not asked||Die Information wurde nicht erfragt (z.B. wenn dem Patienten eine bestimmte Frage nicht gestellt wurde) und ist dadurch nicht bekannt
 
|-
 
|-
|2||'''S'''||..ASKU||AskedButUnknown||Die Information wurde zwar erfragt, aber nicht beantwortet (z.B. wenn der Patient zwar befragt wurde, es aber nicht wusste)
+
|2||'''S'''||..ASKU||Asked but unknown||Die Information wurde zwar erfragt, aber nicht beantwortet (z.B. wenn der Patient zwar befragt wurde, es aber nicht wusste)
 
|-
 
|-
 
|3||L||...NAV||Temporarily unavailable||Die Information ist momentan noch nicht vorhanden, aber man erwartet, dass sie zu einem späteren Zeitpunkt doch noch verfügbar sein wird
 
|3||L||...NAV||Temporarily unavailable||Die Information ist momentan noch nicht vorhanden, aber man erwartet, dass sie zu einem späteren Zeitpunkt doch noch verfügbar sein wird
Zeile 28: Zeile 28:
 
|1||'''S'''||.OTH||Other||Es ist kein brauchbarer Wert in der Domäne verfügbar, der für die entsprechende Information zutreffend ist (z.B. vorgeschriebenes Vocabulary Domain für einen Code)
 
|1||'''S'''||.OTH||Other||Es ist kein brauchbarer Wert in der Domäne verfügbar, der für die entsprechende Information zutreffend ist (z.B. vorgeschriebenes Vocabulary Domain für einen Code)
 
|-
 
|-
|2||L||..PINF||positive infinity||Ein numerischer Wert, der (positiv) im Unendlichen liegt
+
|2||L||..PINF||Positive infinity||Ein numerischer Wert, der (positiv) im Unendlichen liegt
 
|-
 
|-
|2||L||..NINF||negative infinity||Ein numerischer Wert, der (negativ) im Unendlichen liegt
+
|2||L||..NINF||Negative infinity||Ein numerischer Wert, der (negativ) im Unendlichen liegt
 
|-
 
|-
 
|1||L||.MSK||Masked||Es ist zwar Information über dieses Item verfügbar, aber der Sender (oder ein Gateway) hat diese aus Gründen der Sicherheit, Privatsphäre oder anderweitig abgesichert; es gibt evtl. einen zusätzlichen Mechanismus um die Information zu erhalten
 
|1||L||.MSK||Masked||Es ist zwar Information über dieses Item verfügbar, aber der Sender (oder ein Gateway) hat diese aus Gründen der Sicherheit, Privatsphäre oder anderweitig abgesichert; es gibt evtl. einen zusätzlichen Mechanismus um die Information zu erhalten
 
|}
 
|}
 
  
 
'''''XML Beispiel'''''
 
'''''XML Beispiel'''''
Zeile 42: Zeile 41:
 
1) Der Anfrage/Verordnungszeitpunkt ist in einer HL7 v3 Nachricht Pflicht, aber das sendende Anwenderprogramm weiß einfach nicht, wann die Anfrage oder Verordnung ausgeschrieben wurde (auch wenn das Konzept unterstützt wird, weil es required ist).
 
1) Der Anfrage/Verordnungszeitpunkt ist in einer HL7 v3 Nachricht Pflicht, aber das sendende Anwenderprogramm weiß einfach nicht, wann die Anfrage oder Verordnung ausgeschrieben wurde (auch wenn das Konzept unterstützt wird, weil es required ist).
  
{{HL7XML
+
<syntaxhighlight lang="xml">
| code =
 
 
<author>
 
<author>
 
<time nullFlavor="UNK"/>
 
<time nullFlavor="UNK"/>
 
</author>
 
</author>
}}
+
</syntaxhighlight>
  
 
2) Ein Anwenderprogramm hat die Möglichkeit, Daten von Patienten zu registrieren, deren eindeutige Identifikationsnummer (noch) nicht bekannt ist, und diese später doch noch an die registrierten Daten zu koppeln. In diesem Fall kann die Personenidentifikation (wenn sie verpflichtend in der betreffenden HL7 v3 Nachricht vorhanden ist), folgendermaßen wiedergegeben werden:
 
2) Ein Anwenderprogramm hat die Möglichkeit, Daten von Patienten zu registrieren, deren eindeutige Identifikationsnummer (noch) nicht bekannt ist, und diese später doch noch an die registrierten Daten zu koppeln. In diesem Fall kann die Personenidentifikation (wenn sie verpflichtend in der betreffenden HL7 v3 Nachricht vorhanden ist), folgendermaßen wiedergegeben werden:
{{HL7XML
+
<syntaxhighlight lang="xml">
| code =
 
 
<Patient>
 
<Patient>
 
...
 
...
Zeile 59: Zeile 56:
 
</Person>
 
</Person>
 
</Patient>
 
</Patient>
}}
+
</syntaxhighlight>
  
 
3) In bestimmten Situationen wird bei den Spezifikationen ein festes Vocabulary Domain angegeben, ohne die Möglichkeit, extra Werte hinzuzufügen. Das sendende Anwenderprogramm kann allerdings keinen dieser Werte in der betreffenden Domäne nutzen (ein Beispiel dieser Situation ist die Übermittlung von Arzneimittel-Rezepturen).
 
3) In bestimmten Situationen wird bei den Spezifikationen ein festes Vocabulary Domain angegeben, ohne die Möglichkeit, extra Werte hinzuzufügen. Das sendende Anwenderprogramm kann allerdings keinen dieser Werte in der betreffenden Domäne nutzen (ein Beispiel dieser Situation ist die Übermittlung von Arzneimittel-Rezepturen).
{{HL7XML
+
<syntaxhighlight lang="xml">
| code =
 
 
<medicationKind>
 
<medicationKind>
 
<code nullFlavor="OTH"/>
 
<code nullFlavor="OTH"/>
 
</medicationKind>
 
</medicationKind>
}}
+
</syntaxhighlight>
  
 
4) Bei der Spezifikation der Inhaltsstoffe eines bestimmten Arzneimittels muss angegeben werden, dass es Spuren von Eisen enthält, obwohl die exakte Menge nicht bekannt ist (und angesichts der geringen Menge nicht relevant). In diesem Fall könnte angegeben werden, dass es sich um eine TRC (trace) Menge von unbekannter Größe handelt.
 
4) Bei der Spezifikation der Inhaltsstoffe eines bestimmten Arzneimittels muss angegeben werden, dass es Spuren von Eisen enthält, obwohl die exakte Menge nicht bekannt ist (und angesichts der geringen Menge nicht relevant). In diesem Fall könnte angegeben werden, dass es sich um eine TRC (trace) Menge von unbekannter Größe handelt.
{{HL7XML
+
<syntaxhighlight lang="xml">
| code =
 
 
<ingredient>
 
<ingredient>
 
<quantity nullFlavor="TRC"/>
 
<quantity nullFlavor="TRC"/>
 
</ingredient>  
 
</ingredient>  
}}
+
</syntaxhighlight>
  
 
5) Das Privacy Filter eines bestimmten Anwenderprogramms (oder ein zwischen-gelagertes Gateway) hat beschlossen, dass eine bestimmte Information nicht übermittelt werden darf. Der betreffende Wert wird durch ein nullFlavor des Typen MSK (masked) ersetzt, um ihn abzuschirmen. Achten Sie darauf, dass der Empfänger trotzdem darüber informiert wird, dass die Information verfügbar war!
 
5) Das Privacy Filter eines bestimmten Anwenderprogramms (oder ein zwischen-gelagertes Gateway) hat beschlossen, dass eine bestimmte Information nicht übermittelt werden darf. Der betreffende Wert wird durch ein nullFlavor des Typen MSK (masked) ersetzt, um ihn abzuschirmen. Achten Sie darauf, dass der Empfänger trotzdem darüber informiert wird, dass die Information verfügbar war!
{{HL7XML
+
<syntaxhighlight lang="xml">
| code =
 
 
<subject>
 
<subject>
 
<Patient>
 
<Patient>
Zeile 87: Zeile 81:
 
</Patient>
 
</Patient>
 
</subject>
 
</subject>
}}
+
</syntaxhighlight>
  
 
{{EMBox|
 
{{EMBox|
Zeile 94: Zeile 88:
  
 
{{HL7intBox|
 
{{HL7intBox|
Innerhalb von HL7 ist leider noch keine Klarheit darüber, wie mit ''xsi:nil'' in Assoziationen umgegangen werden muss. An sich sind ''nullFlavor'' und ''xsi:nil'' äquivalent. Die XML Prozessoren aber verlangen, dass neben ''nullFlavor'' auch ''xsi:nil'' angegeben wird.
+
Ansich recht es aus der Schema-Perspektive aus, um ''xsi:nil'' in Assoziationen zu spezifizieren, wenn keine Informationen hierzu verfügbar ist. In HL7 sind ''nullFlavor'' und ''xsi:nil'' äquivalent, die XML Prozessoren aber verlangen, dass neben ''nullFlavor'' auch ''xsi:nil'' angegeben wird.
 
}}
 
}}

Aktuelle Version vom 24. August 2015, 09:02 Uhr

Dieses Material ist Teil des Leitfadens V3 Datentypen Release 1.
  • Direkt im Wiki geändert werden sollten Schreibfehler, ergänzende Hinweise.
  • Offene Fragen, die der Diskussionen bedürfen, sollten auf der Diskussionsseite aufgenommen werden.
  • Liste der Seiten dieses Leitfadens: hier, Liste der Seiten, in denen dieses Material verwendet (transkludiert) siehe hier .

Fehlende Informationen: nullFlavors

Jeder Datentyp und jede Assoziation besitzt das Attribut nullFlavor, mit dem angegeben wird, dass der betreffende Wert fehlt, inklusive einer möglichen Erklärung für das Fehlen.

Dies wird verwendet, wenn eine Information in einer HL7v3 Nachricht / einem CDA-Dokument verpflichtend ist (Kardinalität 1..), das sendende Anwenderprogramm aber einfach keinen Wert verfügbar hat. Es handelt sich dabei um Informationen, von denen die Conformance required ist. Wenn die Conformance mandatory ist, muss grundsätzlich ein echter (Nicht-Null) Wert zugewiesen werden.

Der Datentyp für das Attribut nullFlavor ist CS (Coded Simple Value) mit dem Vokabular der Domäne nullFlavor:

Codesystem NullFlavor (OID: 2.16.840.1.113883.5.1008)
Lvl Typ Code / Domänenname Kurzbezeichnung Definition/Beschreibung
0 S NI NoInformation Aus der Verwendung von diesem nullFlavor darf keinerlei Information abgeleitet werden. Es bedeutet lediglich, dass die betreffende Information fehlt, ohne dass dafür ein Grund angegeben wird
1 L .NA not applicable Es gibt keinen zutreffenden Wert in diesem Kontext (z.B. Datum der letzten Menstruation bei einem männlichen Patienten)
1 S .UNK Unknown Es gibt zwar einen zutreffenden Wert, aber dieser ist beim Versender nicht bekannt (diverse Spezialisierungen sind möglich)
2 L ..NASK not asked Die Information wurde nicht erfragt (z.B. wenn dem Patienten eine bestimmte Frage nicht gestellt wurde) und ist dadurch nicht bekannt
2 S ..ASKU Asked but unknown Die Information wurde zwar erfragt, aber nicht beantwortet (z.B. wenn der Patient zwar befragt wurde, es aber nicht wusste)
3 L ...NAV Temporarily unavailable Die Information ist momentan noch nicht vorhanden, aber man erwartet, dass sie zu einem späteren Zeitpunkt doch noch verfügbar sein wird
2 L ..TRC Trace Es handelt sich um eine Menge die größer ist als 0, die aber zu klein ist, um sie zu quantifizieren; dieser nullFlavor wird nur beim Datentyp PQ (Physical Quantity) verwendet
1 S .OTH Other Es ist kein brauchbarer Wert in der Domäne verfügbar, der für die entsprechende Information zutreffend ist (z.B. vorgeschriebenes Vocabulary Domain für einen Code)
2 L ..PINF Positive infinity Ein numerischer Wert, der (positiv) im Unendlichen liegt
2 L ..NINF Negative infinity Ein numerischer Wert, der (negativ) im Unendlichen liegt
1 L .MSK Masked Es ist zwar Information über dieses Item verfügbar, aber der Sender (oder ein Gateway) hat diese aus Gründen der Sicherheit, Privatsphäre oder anderweitig abgesichert; es gibt evtl. einen zusätzlichen Mechanismus um die Information zu erhalten

XML Beispiel

Da keinerlei Information in einer HL7v3 Nachricht de facto den Datentyp ANY haben kann, wird hier die Verwendung des Attributs nullFlavor anhand einiger spezieller Datentypen erläutert (die das Attribut nullFlavor also von ANY erben). Bei den Beschreibungen im weiteren Verlauf dieses Implementierungsleitfadens wird im übrigen von Nicht-Null-Werten ausgegangen.

1) Der Anfrage/Verordnungszeitpunkt ist in einer HL7 v3 Nachricht Pflicht, aber das sendende Anwenderprogramm weiß einfach nicht, wann die Anfrage oder Verordnung ausgeschrieben wurde (auch wenn das Konzept unterstützt wird, weil es required ist).

<author>
	<time nullFlavor="UNK"/>
</author>

2) Ein Anwenderprogramm hat die Möglichkeit, Daten von Patienten zu registrieren, deren eindeutige Identifikationsnummer (noch) nicht bekannt ist, und diese später doch noch an die registrierten Daten zu koppeln. In diesem Fall kann die Personenidentifikation (wenn sie verpflichtend in der betreffenden HL7 v3 Nachricht vorhanden ist), folgendermaßen wiedergegeben werden:

<Patient>
	...
	<Person>
		<id nullFlavor="NAV"/>
		...
	</Person>
</Patient>

3) In bestimmten Situationen wird bei den Spezifikationen ein festes Vocabulary Domain angegeben, ohne die Möglichkeit, extra Werte hinzuzufügen. Das sendende Anwenderprogramm kann allerdings keinen dieser Werte in der betreffenden Domäne nutzen (ein Beispiel dieser Situation ist die Übermittlung von Arzneimittel-Rezepturen).

<medicationKind>
	<code nullFlavor="OTH"/>
</medicationKind>

4) Bei der Spezifikation der Inhaltsstoffe eines bestimmten Arzneimittels muss angegeben werden, dass es Spuren von Eisen enthält, obwohl die exakte Menge nicht bekannt ist (und angesichts der geringen Menge nicht relevant). In diesem Fall könnte angegeben werden, dass es sich um eine TRC (trace) Menge von unbekannter Größe handelt.

<ingredient>
	<quantity nullFlavor="TRC"/>
</ingredient>

5) Das Privacy Filter eines bestimmten Anwenderprogramms (oder ein zwischen-gelagertes Gateway) hat beschlossen, dass eine bestimmte Information nicht übermittelt werden darf. Der betreffende Wert wird durch ein nullFlavor des Typen MSK (masked) ersetzt, um ihn abzuschirmen. Achten Sie darauf, dass der Empfänger trotzdem darüber informiert wird, dass die Information verfügbar war!

<subject>
	<Patient>
		...
		<addr nullFlavor="MSK"/>
		...
	</Patient>
</subject>