Encoding
This article or section is in the middle of an expansion or major restructuring and is not yet ready for use. You are welcome to assist in its construction by editing it as well. If this article has not been edited in several days, please remove this template. This article was last edited by Foemig (talk| contribs) 9 years ago. (Purge) Diese Seite oder Abschnitt ist derzeit ein Entwurf und ist noch nicht fertiggestellt. Du bist eingeladen, bei der Fertigstellung mitzuwirken. Wenn dieser Beitrag länger als einige Tage nicht editiert wurde, entferne diese Vorlage. This article was last edited by Foemig (talk| contribs) 9 years ago. (Purge) |
Inhaltsverzeichnis
Encoding
Unter Encoding wird eine syntaktische Umwandlung der Daten in ein bestimmtes Datenformat verstanden, so dass diese Daten dann (über eine Leitung) übertragen werden können. Bei dieser Umwandlung muss auf die Besonderheiten des Datenformats eingegangen werden.
Als gängig werden Encoding in XML und HTML verstanden. Hierbei müssen dann spezielle Zeichen wie bspw. "<" und ">" durch "<" oder ">" ersetzt werden.
Für HL7 Version 2.x sind 2 Encodings definiert worden. HL7 Version 3 und CDA setzt hauptsächlich auf XML. Der neue FHIR Standard nutzt neben XMl auch JSON:
ER7
Ein anderes (bekanntes) und häufig verwendetes Encoding ist das "Vertical Bar Encoding" oder auch "Encoding Rules Level 7" (kurz ER7) von HL7 Version 2.x. Hierbei muss ebenfalls Rücksicht auf spezielle Zeichen genommen werden. Dumm ist hier nur, dass die meisten dieses Zeichen nicht fix festgelegt worden sind, sondern erst in der jeweiligen Nachricht definiert werden.
Das einzige Zeichen, das fest zum Encoding verwendet wird, ist das Carriage Return. Dieses wird zur Kennzeichnung des Segment-Endes genutzt. Daher muss ein Carriage Return immer durch eine spezielle Sequenz ersetzt werden.
Alle anderen Spezialzeichen, die zum Trennen der einzelnen Elemente in einer Nachricht verwendet werden, werden dynamisch festgelegt. (Fast alle Entwickler gehen allerdings davon aus, dass diese Zeichen fest definiert sind, was so nicht stimmt. Diese Zeichen werden fast nie geändert, so dass dies nicht zum Tragen kommt.)
Delimiter | Zweck | Position | Beispiel |
---|---|---|---|
Feld | Abtrennung der Datenelemente im Segment | MSH-1 | |
Komponente | Teile eines Feldes | MSH-2.1 | ^ |
Subkomponente | Teile einer Komponente | MSH-2.4 | & |
Escape | womit werden die "entwerteten" Zeichen gekennzeichnet? Dieses Zeichen wird dann davor und danach eingesetzt. | MSH-2.3 | \ |
Repetition | kennzeichnet die Wiederholung ganzer Felder | MSH-2.2 | ˜ |
Truncation | wie wird am Ende eines Feldes/Komponente/Subkomponente kenntlich gemacht, dass Daten abgeschnitten wurden? (erst ab v2.8) | MSH-2.5 | # |
v2.xml
Hiermit wird die Abstract Message Syntax (AMS) von HL7 v2.x in From von XML umgesetzt.
Inzwischen gibt es ein Update auf die Spezifikation: HL7 v2.xml Release 2.
Die bereitgestellten Schemas sind allerdings nur informativ.
JSON
Hier sind noch weitere Details zu hinterlegen. |