HL7-Version 2 - johner.org · HL7 Kommunikation Klinisches Arbeitsplatzsystem Patienten-Aufnahme...
Transcript of HL7-Version 2 - johner.org · HL7 Kommunikation Klinisches Arbeitsplatzsystem Patienten-Aufnahme...
HL7-Version 2
Eine Einführung
1
HL7 Kommunikation
Klinisches Arbeitsplatzsystem
Patienten-Aufnahme
Diagnosen-
Patienten-verwaltungs-
system
ArbeitsplatzsystemDiagnosen-
Übermittlung
Laborinformations-system LIS
Patienten-Aufnahme
Befund-Übermittlung
2
Nachrichten-SegmentFeldKomponenteSub-Komponente
HL7-Nachricht
MSH|^~MSH|^~MSH|^~MSH|^~\\\\&|&|&|&|KIS|Aufn|PDMSKIS|Aufn|PDMSKIS|Aufn|PDMSKIS|Aufn|PDMS||200907110801||ADT^A01|20090711080104|P|2.3|||||D||200907110801||ADT^A01|20090711080104|P|2.3|||||D||200907110801||ADT^A01|20090711080104|P|2.3|||||D||200907110801||ADT^A01|20090711080104|P|2.3|||||D
EVN|A01|20090711080104|||EVN|A01|20090711080104|||EVN|A01|20090711080104|||EVN|A01|20090711080104|||
PID|1||1234567||PID|1||1234567||PID|1||1234567||PID|1||1234567||Maier^IngoMaier^IngoMaier^IngoMaier^Ingo||19780423||19780423||19780423||19780423
PV1|2|I|ACHPV1|2|I|ACHPV1|2|I|ACHPV1|2|I|ACH----SSSS----SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817
Sub-Komponente
Message-Typ & Trigger EventSegment-ID
Trennzeichen
Nachrichten-Elemente
MSHMSHMSHMSH||||^~^~^~^~\\\\&&&&||||KIS|Aufn|PDMSKIS|Aufn|PDMSKIS|Aufn|PDMSKIS|Aufn|PDMS||200907110801||||200907110801||||200907110801||||200907110801||ADT^A01ADT^A01ADT^A01ADT^A01|20090711080104|P|2.3|||||D|20090711080104|P|2.3|||||D|20090711080104|P|2.3|||||D|20090711080104|P|2.3|||||D
EVNEVNEVNEVN|A01|20090711080104||||A01|20090711080104||||A01|20090711080104||||A01|20090711080104|||
PIDPIDPIDPID|1||1234567|||1||1234567|||1||1234567|||1||1234567||Maier^IngoMaier^IngoMaier^IngoMaier^Ingo||19780423||19780423||19780423||19780423
PV1PV1PV1PV1|2|I|ACH|2|I|ACH|2|I|ACH|2|I|ACH----SSSS----SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817
4
MSHMSHMSHMSH|^~|^~|^~|^~\\\\&|&|&|&|KIS|Aufn|PDMSKIS|Aufn|PDMSKIS|Aufn|PDMSKIS|Aufn|PDMS||200907110801||ADT^A01|20090711080104|P|2.3|||||D||200907110801||ADT^A01|20090711080104|P|2.3|||||D||200907110801||ADT^A01|20090711080104|P|2.3|||||D||200907110801||ADT^A01|20090711080104|P|2.3|||||DEVNEVNEVNEVN|A01|20090711080104||||A01|20090711080104||||A01|20090711080104||||A01|20090711080104|||PIDPIDPIDPID|1||1234567|||1||1234567|||1||1234567|||1||1234567||Maier^IngoMaier^IngoMaier^IngoMaier^Ingo||19780423||19780423||19780423||19780423PV1PV1PV1PV1|2|I|ACH|2|I|ACH|2|I|ACH|2|I|ACH----SSSS----SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817
Segment-ID Beschreibung
MSH Message-Header
Segment-ID
MSH Message-Header
EVN Event
PID Patient-Information
PV1 Patient Visit
OBR Observation Request
OBX Observation Result
DG1 Diagnosis (z.B. als ICD-Codes)
PR1 Procedure (z.B. OPS-Codes)
FT1 Financial Transaction (z.B. DRG-Codes) 5
Message-Typ & Trigger EventSegment-ID
Trennzeichen
Nachrichten-Elemente
MSHMSHMSHMSH||||^~^~^~^~\\\\&&&&||||KIS|Aufn|PDMSKIS|Aufn|PDMSKIS|Aufn|PDMSKIS|Aufn|PDMS||200907110801||||200907110801||||200907110801||||200907110801||ADT^A01ADT^A01ADT^A01ADT^A01|20090711080104|P|2.3|||||D|20090711080104|P|2.3|||||D|20090711080104|P|2.3|||||D|20090711080104|P|2.3|||||D
EVNEVNEVNEVN|A01|20090711080104||||A01|20090711080104||||A01|20090711080104||||A01|20090711080104|||
PIDPIDPIDPID|1||1234567|||1||1234567|||1||1234567|||1||1234567||Maier^IngoMaier^IngoMaier^IngoMaier^Ingo||19780423||19780423||19780423||19780423
PV1PV1PV1PV1|2|I|ACH|2|I|ACH|2|I|ACH|2|I|ACH----SSSS----SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817
6
MSH|^~^~^~^~\\\\&&&&|KIS|Aufn|PDMS||200907110801||ADT^A01|20090711080104|P|2.3|||||DEVN|A01|20090711080104|||PID|1||1234567||Maier^Ingo||19780423PV1|2|I|ACH-S-SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817
Trennzeichen
Position Beschreibung Standardzeichen
1 Komponententrenner ^
2 Wiederholungstrenner ~
3 Escape-Symbol \
4 Subkomponententrenner &
7
Message-Typ & Trigger EventSegment-ID
Trennzeichen
Nachrichten-Elemente
MSHMSHMSHMSH||||^~^~^~^~\\\\&&&&||||KIS|Aufn|PDMSKIS|Aufn|PDMSKIS|Aufn|PDMSKIS|Aufn|PDMS||200907110801||||200907110801||||200907110801||||200907110801||ADT^A01ADT^A01ADT^A01ADT^A01|20090711080104|P|2.3|||||D|20090711080104|P|2.3|||||D|20090711080104|P|2.3|||||D|20090711080104|P|2.3|||||D
EVNEVNEVNEVN|A01|20090711080104||||A01|20090711080104||||A01|20090711080104||||A01|20090711080104|||
PIDPIDPIDPID|1||1234567|||1||1234567|||1||1234567|||1||1234567||Maier^IngoMaier^IngoMaier^IngoMaier^Ingo||19780423||19780423||19780423||19780423
PV1PV1PV1PV1|2|I|ACH|2|I|ACH|2|I|ACH|2|I|ACH----SSSS----SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817
8
Message Type
Message-Type Beschreibung
ACK Quittierungsnachricht (Acknowledge)
MSH|^~\&|KIS|Aufn|PDMS||200907110801||ADTADTADTADT^A01|20090711080104|P|2.3|||||DEVN|A01|20090711080104|||PID|1||1234567||Maier^Ingo||19780423PV1|2|I|ACH-S-SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817
ACK Quittierungsnachricht (Acknowledge)
ADT Patientenstammdaten-Nachricht(Admission-Discharge-Transfer)
ORU Unaufgeforderte Befundübermittlung
BAR Abrechnung (Billing Account Record)
DFT Abrechnung(Detailed Financial Transaction)
9
Trigger Event
Trigger-Event Beschreibung
A01 Patientenaufnahme
MSH|^~\&|KIS|Aufn|PDMS||200907110801||ADT^A01A01A01A01|20090711080104|P|2.3|||||DEVN|A01|20090711080104|||PID|1||1234567||Maier^Ingo||19780423PV1|2|I|ACH-S-SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817
A01 Patientenaufnahme
A02 Patientenverlegung
A03 Patientenentlassung
P01 Patient anlegen/ändern
P03 Finanztranaktion verschicken
R01 Result
10
Kombinationen
MSH|^~\&|KIS|Aufn|PDMS||200907110801||ADT^A01ADT^A01ADT^A01ADT^A01|20090711080104|P|2.3|||||DEVN|A01|20090711080104|||PID|1||1234567||Maier^Ingo||19780423PV1|2|I|ACH-S-SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817
11
Message Types: ADT ORU BAR …
A01 A02 … R01 R30 … P01 P02 …Trigger Events:
MSH|^~MSH|^~MSH|^~MSH|^~\\\\&|&|&|&|KIS|Aufn|PDMSKIS|Aufn|PDMSKIS|Aufn|PDMSKIS|Aufn|PDMS||200907110801||ADT^A01|20090711080104|P|2.3|||||D||200907110801||ADT^A01|20090711080104|P|2.3|||||D||200907110801||ADT^A01|20090711080104|P|2.3|||||D||200907110801||ADT^A01|20090711080104|P|2.3|||||DEVN|A01|20090711080104|||PID|1||1234567||Maier^Ingo||19780423PV1|2|I|ACH-S-SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817
Segmentdefinition
SEQ LEN DT OPT ELEMENT NAME
1 1 ST R Field Separator
2 4 ST R Encoding Characters
3 180 HD O Sending Application
4 180 HD O Sending Facility
5 180 HD O Receiving Application
6 180 HD O Receiving Facility
7 26 TS O Date/Time Of Message
8 40 ST O Security
9 7 MSG R Message Type
… 12
Datentyp Beschreibung Format Beispiele
ST(String)
Text <200 Zeichen |akutes Fieber|
TX(Text)
Text <65k Zeichen, vom Benutzer zu lesen
Repetitionszeichen als harter Zeilenumbruch
|Akutes Fieber.~ Dann schnelle Besserung.|
NM(Numeric)
Zahlen Kann Vorzeichen undDezimalpunkt enthalten
|-22.8|
ID (Identifier) Werte aus HL-7 Tabellen M =Male(Tabelle Adm. Sex)
CE(Coded Element)
Eintrag aus kontrolliertem Vokabular mit Code und Text
identifier^text^coding-system^alt-identifier^alt-text^alt-codingsystem
R55^Synkope und Kollaps^ICD10^10512^Synkope^GMDD
XPN (Extended
Person Name)
Personenname und Namenszusätze
Name^Vorname^zweiter Name^Suffix^Präfix^Grad
Johner^Christian^^^^Prof. Dr.
DT (Date) Datum YYYY[MM[DD]]] 197102, 19710223
TM(Time)
Zeit bis Genauigkeit einer Zehntausendstel Sekunde
HH[MM[SS[.S[S[S[S]]]]][+/-ZZZZ]
132712
TS(Timestamp)
Zeitpunkt bis Genauigkeit einer Zehntausendstel Sek.
YYYY[MM[DD[HHMM[SS[.S[S[S[S]]]]]]][+/-ZZZZ]
12.3.2009 14:11:05
20090312141105
TR(Date Range)
Zeitbereiche TS^TS 12.03.2009 14:11-02.04.2009 09:02
200903121411^200904020902
Nachrichtentypen
• Beispiele
– Patientenaufnahme: ADT^A01
– Diagnosen-/Prozedurenübermittlung: BAR^P01
– Leistungsübermittlung: DFT^P03– Leistungsübermittlung: DFT^P03
– Befundübermittlung: ORU^R01
• Art und Anzahl der Nachrichtensegmente hängt vom Nachrichtentyp ab.
14
MSHMSHMSHMSH|^~|^~|^~|^~\\\\&|&|&|&|KIS|Aufn|PDMSKIS|Aufn|PDMSKIS|Aufn|PDMSKIS|Aufn|PDMS||200907110801||||200907110801||||200907110801||||200907110801||ADT^A01ADT^A01ADT^A01ADT^A01|20090711080104|P|2.3|||||D|20090711080104|P|2.3|||||D|20090711080104|P|2.3|||||D|20090711080104|P|2.3|||||D
EVNEVNEVNEVN|A01|20090711080104||||A01|20090711080104||||A01|20090711080104||||A01|20090711080104|||
PIDPIDPIDPID|1||1234567|||1||1234567|||1||1234567|||1||1234567||Maier^IngoMaier^IngoMaier^IngoMaier^Ingo||19780423||19780423||19780423||19780423
PV1PV1PV1PV1|2|I|ACH|2|I|ACH|2|I|ACH|2|I|ACH----SSSS----SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817
ÜBUNG
Aufbau von HL7-Nachrichten
15
http://www.johner.org/fileadmin/vorlesungen/material/medinf/hl7v24-HTML/hl7.htm
Segment Description ChapterMSH Message Header 2[{ SFT }] Software Segment 2EVN Event Type 3PID Patient Identification 3[ PD1 ] Additional Demographics 3[{ ROL }] Role 15
Spezifikation
{} Segment kann wiederholt werden
[] Segment ist optional
Beispiel 1 Beispiel 2 Beispiel 3
Beispiel Patientenaufnahme ADT^A01
[{ ROL }] Role 15[{ NK1 }] Next of Kin / Associated Parties 3
PV1 Patient Visit 3[ PV2 ] Patient Visit - Additional Info. 3[{ ROL }] Role 15[{ DB1 }] Disability Information 3[{ OBX }] Observation/Result 7[{ AL1 }] Allergy Information 3[{ DG1 }] Diagnosis Information 6[ DRG ] Diagnosis Related Group 6[{ --- PROCEDURE begin
PR1 Procedures 6…
16
Beispiel 1
MSHEVNPIDPV1
Beispiel 2
MSHSFTEVNPIDPV1
Beispiel 3
MSHSFTSFTEVNPIDPD1PV1
ORU^R01-Nachricht
Segment Description ChapterMSH Message Header 2[{ SFT }] Software Segment 2{ --- PATIENT_RESULT begin[ --- PATIENT begin
PID Patient Identification 3…
] --- PATIENT end{ --- ORDER_OBSERVATION begin
[ORC] Order common 4OBR Observations Request 7{[NTE]} Notes and comments 2
MSH|^~\&|LABO-System|ELYT-Modul|ICU-System|…PID|1||1234567||Maier^Ingo||19330411
{[NTE]} Notes and comments 2[{ --- TIMING_QTY begin
TQ1 Timing/Quantity 4[{TQ2}] Timing/Quantity Order Sequence 4
}] --- TIMING_QTY end[CTD] Contact Data 11[{ --- OBSERVATION begin
OBX Observation related to OBR 7{[NTE]} Notes and comments 2
}] --- OBSERVATION end[{FT1}] Financial Transaction 6{[CTI]} Clinical Trial Identification 7[{ --- SPECIMEN begin
SPM Specimen[{OBX}] Observation related to Specimen
}] --- SPECIMEN end} --- ORDER_OBSERVATION end
} --- PATIENT_RESULT end…
PID|1||1234567||Maier^Ingo||19330411OBR|1|06271095501|14983435|SA|R||2009071109…OBX|1|NM|NA^Natrium^L||126|1^mMol/l^L|…OBX|2|NM|K^Kalium^L||3.2|1^mMol/l^L|…OBX|3|…
17
2 X ÜBUNG
„Analysieren von Segmenten“ und „Spezifikation“
18
http://www.johner.org/fileadmin/vorlesungen/material/medinf/hl7v24-HTML/hl7.htm
Erste Zusammenfassung
• Befunde werden als ORU^R01 Nachrichten angefordert bzw. verschickt
• Das OBR-Segment enthält Informationen zur Untersuchung (Anforderung)Untersuchung (Anforderung)
• Befundergebnisse stehen in OBX-Segmenten
• HL7 Version 2.x definiert „nur“ die Syntax, semantische Standards wie LOINCmüssen zusätzlich integriert werden
19
System 2System 1
Übertragung von HL7-Nachrichten
• Datei (FTP)
• E-Mail (POP, SMTP)
• Socket (LLP)
• Datei (FTP)
• E-Mail (POP, SMTP)
• Socket (LLP)
• Webservice
• Messaging Service
• …
• Webservice
• Messaging Service
• …
20
HL7 spezifiziert NICHT die Nachrichtenübertragung!
MSH|^~\&|KIS|Aufn|PDMS||200907110801||ADT^A01|20090711080104|P|2.3|||||DEVN|A01|20090711080104|||PID|1||1234567||Maier^Ingo||19780423PV1|2|I|ACH-S-SAUE||||||||||||||||20091234567|||||||||||||||||||||||||200907110817
Netzwerkanalyse
21
Minimal Lower Layer Protocol MLLP
Header (Start block)
Nutzlast Trailer (End block)
Carriage Return
0x0B HL7-Nachricht einschließlich Carriage-Return (<CR>) zwischen den Segmenten
0x1C 0x0D
Länge: 1 Byte Variable Länge Länge: 1 Byte Länge: 1 ByteLänge: 1 Byte Variable Länge Länge: 1 Byte Länge: 1 Byte
22
MSH|^~\&|KIS|Aufn|PDMS||200907110801||ADT^A01|20090711080104|P|2.3|||||D<CR>EVN|A01|20090711080104|||<CR>PID|1||1234567||Maier^Ingo||19780423<CR>PV1|2|I|ACH-S-SAUE||||||||||||||||20091234567||||||||<CR>
Nutzlast
Kritik an HL7 Version 2
• Was HL7 Version 2 fehlt– Spezifikation des Messagings (Reihenfolge und
Zustellung der Nachrichten) � Kommunikationsserver– Theoretisches Fundament für Designentscheidungen– Definition der Semantik
• Was ein Problem bei HL7 Version 2 darstellt• Was ein Problem bei HL7 Version 2 darstellt– Kommunikationsszenarien u. Regeln unscharf definiert– Zu viele Optionen (z.B. optionale Segmente und Felder)
• Lösungsansatz– HL7 Nachrichtenprofile– IHE– Neuer theoretisch fundierter Ansatz: HL7 Version 3
23
Nachrichtenprofile
HL7 Version 2.x
HL7 Version 2.x (Deutsche Fassung)
Einschränkung
Einschränkung
Segment DescriptionMSH Message Header[{ SFT }] Software SegmentEVN Event TypePID Patient Identification[ PD1 ] Additional Demographics[{ ROL }] Role[{ NK1 }] Next of Kin
SEQ OPT ELEMENT NAME
1 R Field Separator
2 R Encoding Characters
3 O Sending Application
4 O Sending Facility
24
Nachrichtenprofile(gemeinsame Elemente,
Aufnahmeprofil, Verlegungsprofil, …)
Herstellerspezifische Implementierung (keine Freiheitsgrade)
Einschränkung
Einschränkung
[{ NK1 }] Next of KinPV1 Patient Visit
[ PV2 ] Patient Visit – Add. Info.[{ ROL }] Role[{ DB1 }] Disability Information[{ OBX }] Observation/Result[{ AL1 }] Allergy Information[{ DG1 }] Diagnosis Information[ DRG ] Diagnosis Related Group[{ --- PROCEDURE begin
PR1 Procedures…
5 O Receiving Application
6 O Receiving Facility
7 O Date/Time Of Message
8 O Security
9 R Message Type
…
HL7 Kommunikation
Patienten-
Patienten-Aufnahme
ADT1^A01
Patienten-verwaltungs-
system
Klinisches Arbeitsplatzsystem
Diagnosen-Übermittlung
BAR^P01
25
Nachricht
Feld Feld Feld Feld
0. Feld = Segment-ID
1. Segment =Message Header
� Nachrichtentyp
Aufbau der Nachrichten
KompKomp
(Nachrichten-)Segmente
Feld Feld Feld Feld
Feld Feld Feld Feld
� Nachrichtentyp
Komp Komp
Komp Komp
Komp Komp
26