HL7 Versie 2

59
HL7 Versie 2 HL7 Versie 2 HL7 Versie 2 HL7 Versie 2 © Stichting HL7 Nederland Bericht Opbouw Helen Drijfhout Met dank aan René Spronk

Transcript of HL7 Versie 2

Page 1: HL7 Versie 2

HL7 Versie 2HL7 Versie 2HL7 Versie 2HL7 Versie 2

© Stichting HL7 Nederland

Bericht Opbouw

Helen DrijfhoutMet dank aan René Spronk

Page 2: HL7 Versie 2

Inhoud

• Introductie• Rollen, Interacties• Bericht opbouw

december ’08 2© Stichting HL7 Nederland

• Segmenten, Velden & Componenten• Data Types• Encoding – klassieke syntax• Encoding – XML syntax

Page 3: HL7 Versie 2

HL7 Functionele Gebieden (Domeinen)

Hoodstuk 1 - IntroductieGeeft een algemeen overzicht van Health Level 7 en e en historisch

overzicht.

Hoofdstuk 2 - Control/QueryGeeft de regels die gelden voor alle HL7 berichten .

3

Hoofdstuk 3 - Patient AdministrationBevat de transactie set voor het verzenden van nieu we of gewijzigde

demografische patientgegevens en bezoek-informatie ( opnames).

Hoofdstuk 4 to 13- ‘Domein’ gerelateerde hoofdstukken

Bevatten transactie sets voor specifieke domeinen.

Page 4: HL7 Versie 2

Conceptuele benadering

Receive msg,

Triggerevent

4

sendHL7 msg

receive HL7 ACK msg

Receive msg,send ACK

System A

System B

network

Page 5: HL7 Versie 2

Voorbeeld: een aantal algemene patient administration trigger

eventsAdmit/visit notificationTransfer a patientDischarge/end visitRegister a patient

5

Register a patientPre-admit a patientChange an outpatient to an inpatientChange an inpatient to an outpatientUpdate patient information

Page 6: HL7 Versie 2

Messages

december ’08 6© Stichting HL7 Nederland

Page 7: HL7 Versie 2

HL7 Abstract Message

Application (data semantics)

Fully FunctionalEncoding Rules

7

65

Application

presentationsession

ISO/OSI

7

TCP/RPC(proprietary)

Reliable Transport:

TCP/IPX.25

SNA LU 6.2DECNET LLP

Lower LayerProtocols

Unreliable: RS-232IP, IPX, (Some LANs)

43

21

transportnetwork

data linkphysical

Page 8: HL7 Versie 2

Wat is een HL7 abstract bericht?

Beschrijft hoe het bericht is opgebouwd...Wanneer het bericht verzonden wordt...En wat de foutmeldingen kunnen zijn.Maar het beschrijft NIET de byte string die

daadwerkelijke verzonden wordt – dit hangt af

8

daadwerkelijke verzonden wordt – dit hangt af van de gekozen implementatie technologie.

Twee encoding technologies voor abstracte berichten worden gebruikt: vertical-bar(‘klassieke’) syntax voor HL7 versie 2 berichten, en XML voor versie 2 en versie 3 berichten.

Page 9: HL7 Versie 2

The HL7 v2.x abstract message

Een Abstract Bericht wordt gedefinieerd door:- Een message ID (een 3-letterige code)- Eén of meer segmenten (logische groep van

gegevens), elk geidentificeerd door een segment ID (een andere 3-letterige code)

9

ID (een andere 3-letterige code)- Nesting en herhaling van segmenten wordt

ondersteund- Berichten en segmenten beginnend met “Z” zijn

gereserveerd voor lokaal gebruik- Berichten en segmenten zijn gedocumenteerd in

functionele (applicatie-gerelateerde) hoofdstukken geschreven door technische commissies

Page 10: HL7 Versie 2

MSH Message HeaderEVN Event TypePID Patient Identification

[PD1] Additional Demographics[{NK1}] Next of Kin /Associated Parties

PV1 Patient Visit[PV2] Patient Visit - Add’l Info.

Abstract Message

A validMessageInstance

december ’08 10© Stichting HL7 Nederland

[PV2] Patient Visit - Add’l Info.[{DB1}] Disability Information[{OBX}] Observation/Result

. . . . . . . [{GT1}] Guarantor[{IN1 Insurance

[IN2] Insurance Additional Info.[IN3] Insurance Additional Info - Cert.}]

[ACC] Accident Information

[ ] optional

{ } may repeat

Page 11: HL7 Versie 2

Interpretatie van abstracte berichten

• Het aantal voorkomens van segmenten of segment groepen wordt als volgt opgegeven:

[…] Optioneel, komt 0 of 1 keer voor

december ’08 11© Stichting HL7 Nederland

[…] Optioneel, komt 0 of 1 keer voor{…} Herhalend, 1 tot N voorkomens[{…}] Optioneel/herhalend, 0 tot N

voorkomens …… Komt precies één keer voor

Page 12: HL7 Versie 2

Het zelfde abstracte bericht,Verschillende encoding types

december ’08 12© Stichting HL7 Nederland

MSH|….|||ADT^A01|..EVN|A01|20011291420||01|200111291420|PID|||80000235677^L||Veen^Petra^P.F.M.^^van^B||19560114||

Page 13: HL7 Versie 2

MSH|^~\&|NSI||LAB||20010827120759||ADT^A01|NSI1|P|2 .3||||AL<cr>

EVN|A01|18000101000000<cr>

PID|1||60719^^^^HI|26690949^^^^DNI|TORRALBA^AIDA||1 9780113000000|F|||POTOSI 4032 108^^CAPITAL FEDERAL^^1899< cr>

NK1|1|CAMUS^ALBERTO|PAD|RIVADAVIA 253|42539686<cr>

HL7 berichten, klassieke syntax

december ’08 13© Stichting HL7 Nederland

PV1|1|I|301|R|||1436^PEREZ^JORGE^ALBERTO|1026^LOPEZ ^NORBERTO|998^GARCIA^ALEJANDRO|M|||A|4|A0|N|1026^LOPEZ^NO RBERTO|OB|H0100240|||||||||||||||||ALV||||||||200108230 95130|20010823102455<cr>

IN1|1|INT^^HI|2^^^^HI~347^^^^NSI|PLAN DE SALUD<cr>

The message is the basic unit of data transfer betw een systems. It is comprised of a group of segments as defined by the abstract message definition.

The first segment (MSH) identifies the message type and the event that caused the message to be sent.

Page 14: HL7 Versie 2

HL7 berichten, XML Syntax

december ’08 14© Stichting HL7 Nederland

The message is the basic unit of data transfer betw een systems. It is comprised of a group of segments as defined by the abstract message definition.

The second segment (EVN) identifies the event that caused the message to be sent. This is the same event as listed in the MS H segment.

Page 15: HL7 Versie 2

Segmenten en Velden

december ’08 15© Stichting HL7 Nederland

Page 16: HL7 Versie 2

Segmenten

• Karakteristieken van segmenten:– Een HL7 segment bestaat uit een lijst met velden.

– Segmenten hebben de volgenden eigenschappen:• Ze kunnen verplicht of optioneel zijn

december ’08 16© Stichting HL7 Nederland

• Ze kunnen verplicht of optioneel zijn• Ze mogen één of meerdere keren voorkomen• Ze worden geidentificeerd door 3 letters die het segment

ID aangeven.

– HL7 staat implementatie-specifieke segmenten toe in de vorm van ‘Z’ segmenten.

Page 17: HL7 Versie 2

v2.3 Segment - MSHSEQ LEN DT OPT RP/# TBL# ITEM # ELEMENT NAME

1 1 ST R 00001 Field Separator 2 4 ST R 00002 Encoding Characters 3 180 HD O 00003 Sending Application 4 180 HD O 00004 Sending Facility 5 180 HD O 00005 Receiving Application 6 180 HD O 00006 Receiving Facility 7 26 TS O 00007 Date/Time Of Message 8 40 ST O 00008 Security

SEQ - position within segment

december ’08 17© Stichting HL7 Nederland

8 40 ST O 00008 Security 9 7 CM R 00009 Message Type

10 20 ST R 00010 Message Control ID 11 3 PT R 00011 Processing ID 12 8 ID R 0104 00012 Version ID 13 15 NM O 00013 Sequence Number 14 180 ST O 00014 Continuation Pointer 15 2 ID O 0155 00015 Accept Acknowledgment Type 16 2 ID O 0155 00016 Application Ack. Type 17 2 ID O 00017 Country Code 18 6 ID O Y/3 0211 00692 Character Set 19 60 CE O 00693 Principal Language Of Message

SEQ - position within segment

LEN - length of field

DT - data type for field

OPT - optionality for field

RP/# - repeatability

TBL# - table number for codes

ITEM# - HL7 field number

ELEMENT NAME - name

Page 18: HL7 Versie 2

PV1 – Patient Visit segment

The PV1 segment is used by Registration/ADT applica tions to communicate information on a visit-specific basis

SEQ LEN DT OPT RP# TBL# ITEM# ELEMENT NAME …

2 1 IS R 0004 00132 PATIENT CLASS3 80 PL O 00133 ASSIGNED PATIENT LOCATION

18

3 80 PL O 00133 ASSIGNED PATIENT LOCATION4 2 IS O 0007 00134 ADMISSION TYPE

…3.3.3.0 PV1 field definitions…3.3.3.2 Patient class (IS) 00132

Definition: This field is used by systems to categ orize patients by site. It does not have a consistant industry-wide definition . It is subject to site-specific variations. Refer to user-defined table 0004 - Patient class for suggested values.

Page 19: HL7 Versie 2

Velden• Veld

– Een veld is een tekst weergave van een HL7 data type. Een data type is een serie componenten (subvelden).

– Hoofdstuk 2 bevat de specificatie van alle

december ’08 19© Stichting HL7 Nederland

– Hoofdstuk 2 bevat de specificatie van alle HL7 datatypes en geeft aanbevolen waarden (codelijsten).

Components: <family name (ST)> ^ <given name (ST)> ^ <middle

3.3.2.5 Patient name (XPN) 00108Components: <family name (ST)> ^ <given name (ST)> ^ <middle initial or name (ST)> ^ <suffix (e.g., JR or III) (ST)> ^ <prefix (e.g., DR) (ST)> ^ <degree (e.g., MD) (ST)> ^ <name type code (ID) >

Page 20: HL7 Versie 2

MSH|^~\&|NSI||LAB||20010827120759||ADT^A01|NSI1|P|2.3||||AL<cr>

EVN|A01|18000101000000<cr>

PID|1||60719^^^^HI|26690949^^^^DNI|TORRALBA^AIDA^LIDIA||19780113|F|||POTOSI 4032 108^^CAPITAL FEDERAL^^1899<cr>

NK1|1|CAMUS^ALBERTO|PAD|RIVADAVIA 253|42539686<cr>

PV1|1|I|301|R|||1436^PEREZ^JORGE^ALBERTO|1026^LOPEZ^NORBERTO|998

Classic Syntax: Subfields

december ’08 20© Stichting HL7 Nederland

PV1|1|I|301|R|||1436^PEREZ^JORGE^ALBERTO|1026^LOPEZ^NORBERTO|998^GARCIA^ALEJANDRO|M|||A|4|A0|N|1026^LOPEZ^NORBERTO|OB|H0100240|||||||||||||||||ALV||||||||20010823095130|20010823102455<cr>

IN1|1|INT^^HI|2^^^^HI~347^^^^NSI|PLAN DE SALUD<cr>

Subfields are separated by the subfield-separator ( ^ )

A field can consist of one or more subfields. For e xample, the name of a patient contains subfields such as last-name, first name, initials and nickname.

Page 21: HL7 Versie 2

MSH|^~\&|NSI||LAB||20010827120759||ADT^A01|NSI1|P|2.3||||AL<cr>

EVN|A01|18000101000000<cr>

PID|1||60719^^^^HI|26690949^^^^DNI|TORRALBA^AIDA^LUZ||19780113000000|F|||POTOSI 4032^^CAPITAL FEDERAL^^1899||(011)4959-0200 |(011)4959-0353~(011)4959-0354<cr>

NK1|1|CAMUS^ALBERTO|PAD|RIVADAVIA 253|(011)4253 - 9686<cr>

Classic Syntax:Repeating Fields

december ’08 21© Stichting HL7 Nederland

NK1|1|CAMUS^ALBERTO|PAD|RIVADAVIA 253|(011)4253 - 9686<cr>

PV1|1|I|301|R|||1436^PEREZ^JORGE^ALBERTO|1026^LOPEZ^NORBERTO|998^GARCIA^ALEJANDRO|M|||A|4|A0|N|1026^LOPEZ^NORBERTO|OB|H0100240|||||||||||||||||ALV||||||||20010823095130|20010823102455<cr>

IN1|1|INT^^HI|2^^^^HI~347^^^^NSI|PLAN DE SALUD<cr>

Repeating fields are separated by the repeats separ ator ( ~ )

Fields may contain repeating values. For example, t he telephone number –work field allows for multiple phone numbers to be included.

Page 22: HL7 Versie 2

MSH|^~\&|HNAM|KFSHRCRIYADH|CL|CL|20021012130024+0300||ADT^A04|||2.3

EVN|A04|20021012125946+0300|||1883204

PID|1||534177^^^KFSH_MRN^MRN||

AL TEST^AHMAD^ALI EID^^^^L^P~ �^ا�^ا��ه�ا�� �� ^^^^L^A ||19670701000000+0300|M||| ا����دي^^ا����� ا������^^^ا����� ^H^^N~P.O. BOX NNN^^^ 02^00000 ^^A^^N~^^ALBAHA^^^^F|

Classic Syntax:Repeating Fields

december ’08 22© Stichting HL7 Nederland

~P.O. BOX NNN^^^ 02^00000 ^^A^^N~^^ALBAHA^^^^F| |055554034^H|||M|M|1914^^^JKFSH_FIN^FinNbr|4959||||||0|||SA||N

NK1|1|SAEED^AHMAD^^^^^Current|R|JEDDAH^^^SA|026795687|026931182|Emergency Contact

PV1|1|O|Oncology EW-J^^^J^^Ambulatory(s)^MJ||||^Kelta^Mohammed^^^^^^^Current|||||||||N|^Kelta^Mohammed^^^^^^^Current|Outpatient (Scheduled)|5341770002^0^^^Visit Id|CD:1027315|||||||||||||||||||J||Active|||20021012125900

Repeating fields are separated by the repeats separ ator ( ~ )

Fields may contain repeating values. For example, t he patient name field allows for multiple name types/forms to be included .

Page 23: HL7 Versie 2

XML Syntax: RepeatingFields

december ’08 23© Stichting HL7 Nederland

Repeating fields are encoded using repeating XML elements.

Fields may contain repeating values. For example, the person name field allows for multiple names to be included.

Page 24: HL7 Versie 2

Data Types

december ’08 24© Stichting HL7 Nederland

Page 25: HL7 Versie 2

Datatypes

• Simple Datatypes, e.g.– ST: String– NM: Number– ID, IS: Coded Value

december ’08 25© Stichting HL7 Nederland

– DT: Date

• Complex Datatatypes, e.g.– XPN: Person name– XAD: Address– DR: Date Range

Page 26: HL7 Versie 2

Data types

ST STRING PT PROCESSING TYPETX TEXT DT DATEFT FORMATTED TEXT TM TIMECQ COMPOSITE QUANTITY TS TIME STAMP

WITH UNITS CE CODED ELEMENTMO MONEY CF CODED ELEMENT WITHNM NUMERIC

FORMATTED VALUES

26

FORMATTED VALUESSI SEQUENCE ID CK COMPOSITE ID WITH SN STRUCTURED NUMERIC CHECK DIGITID CODED VALUES FOR CN COMPOSITE ID NUMBER

HL7 TABLES AND NAMEIS CODED VALUE FOR USER- CX EXTENDED COMPOSITE

DEFINED TABLES ID NUMBER AND NAMEHD HIERARCHIC DESIGNATOR XCN EXTENDED COMPOSITEEI ENTITY IDENTIFIER ID NUMBER AND NAMERP REFERENCE POINTER CM COMPOSITEPL PERSON LOCATION AD ADDRESS

Page 27: HL7 Versie 2

Data types (cont)

PN PERSON NAME QIP QUERY INPUT PARA-TN TELEPHONE NUMBER METER LISTXAD EXTENDED ADDRESS RCD ROW COLUMN DEFINITIONXPN EXTENDED PERSON NAME DLN DRIVER’S LICENSEXON EXTENDED COMPOSITE NUMBER

NAME AND ID NUMBER FORJCC JOB CODE/CLASSORGANIZATIONS VH VISITING HOURS

XTN EXTENDED TELECOM- PPN PERFORMING PERSON

27

XTN EXTENDED TELECOM- PPN PERFORMING PERSONMUNIATIONS NUMBER TIME STAMP

CD CHANNEL DEFINITION DR DATE/TIME RANGEMA MULTIPLEXED ARRAY RI REPEAT INTERVALNA NUMERIC ARRAY SCV SCHEDULING CLASSED ENCAPSULATED DATA VALUE PAIRCP COMPOSITE PRICE TQ TIMING/QUANTITYFC FINANCIAL CLASSQSC QUERY SELECTION CRITERIA

Page 28: HL7 Versie 2

Datatypes

• Frequently used datatypes– ST: „String“– ID, IS: „Identifier“– NM: „Numeric“

december ’08 28© Stichting HL7 Nederland

– NM: „Numeric“– DT, TS: „Date, Timestamp“– CE: „coded Elements“– XAD: „extended Address“– XPN: „extended Person Name“

Page 29: HL7 Versie 2

v2.4 Data Type - XPNeXtended Person Name

Components:<family name (FN)> ^ <given name (ST)> ^ <second and further given names or initials thereof (ST)> ^ <suffix (e.g., JR or III) (ST)> ^ <prefix (e.g., DR) (ST)> ^ <degree (e.g., MD) (IS)> ^ <name type code (ID) > ^ <name representation code (ID)> ^ <name context (CE)> ^ <name validity range (DR)> ^ <name assembly order (ID)>

december ’08 29© Stichting HL7 Nederland

Value Description

ALDMC

Alias NameLegal NameDisplay NameMaiden NameAdopted Name

Value Description

IAP

Ideographic (i.e., Kanji)Alphabetic (i.e., Default or some single-byte)Phonetic (i.e., ASCII, Katakana, Hirigana, etc.)

<name validity range (DR)> ^ <name assembly order (ID)>

Example:

|van den Berg&Berg&van den^Anne^A E^^DR^^L|

Page 30: HL7 Versie 2

v2.5 Data Type - XAD

SEQ LEN DT OPT TBL# COMPONENT NAME COMMENTS SEC.REF.

1 SAD Street Address 2.16.71

2 ST Other Designation 2.16.78

3 ST City 2.16.78

4 ST State or Province 2.16.78

5 ST Zip or Postal Code 2.16.78

SEQ - Position within Datatype

LEN – Length of Component

DT – Component Datatype

december ’08 30© Stichting HL7 Nederland

6 3 ID 0399 Country 2.16.38

7 3 ID 0190 Address Type 2.16.38

8 ST Other Geographic Designation 2.16.78

9 20 IS 289 County/Parish Code 2.16.39

10 20 IS 288 Census Tract 2.16.39

11 1 ID 465 Address Representation Code 2.16.38

12 53 DR B Address Validity Range 2.16.23

13 26 TS O Effective date 2.16.82

14 26 TS O Expiration date 2.16.82

DT – Component Datatype

OPT - Optionality

TBL# - Table

COMPONENT NAME - Name

COMMENTS – Additional info

SEC.REF. – Ref. to Paragraph

Page 31: HL7 Versie 2

Coded ElementComponents:<identifier (ST)> ^ <text (ST)> ^ <name of coding system (IS)> ^

v2.4 Data Type - CE

Coded Value

Alternative

december ’08 31© Stichting HL7 Nederland

<alternate identifier (ST)> ^ <alternate text (ST)> ^ <name of alternate coding system (IS)>

Example:|K35.9V^Verdacht auf akute Appendizitis^I10|

AlternativeCoded Value

Value Textual Description Coding System

Page 32: HL7 Versie 2

Table Example

• User defined table

User 0002 MaritalStatus

PID-16, NK1-14, GT1-32,IN2-44

december ’08 32© Stichting HL7 Nederland

IN2-440002 A Separated

0002 D Divorced

0002 M Married

0002 S Single

0002 W Widowed

Page 33: HL7 Versie 2

Table Example

• HL7 defined tables

HL7 0027 Priority OM4-13

0027 S Stat (do immediately)

december ’08 33© Stichting HL7 Nederland

0027 A As soon as possible (a prioritylower than stat)

0027 R Routine

0027 P Preoperative (to be done prior tosurgery)

0027 T Timing critical (do as near aspossible to requested time)

Page 34: HL7 Versie 2

Table Example

• External code sets (vocabularies, terminologies) created by relevant organizations.

december ’08 34© Stichting HL7 Nederland

• Int’l: e.g. ISO (e.g. country, language, currency), LOINC (‘lab codes’), SNOMED, ICD (diagnoses)

• NL: e.g. Vektis

Page 35: HL7 Versie 2

Classic Syntax –Encoding Characters

december ’08 35© Stichting HL7 Nederland

Page 36: HL7 Versie 2

Encoding characters• Delimiters: | ^ ˜ \ & <CR>

– Bij het opbouwen van een bericht worden scheidingstekens gebruikt tussen de onderdelen. Een segment wordt altijd afgesloten met <cr>, andere scheidingstekens worden gespecificeerd in het bericht zelf (MSH segment).

december ’08 36© Stichting HL7 Nederland

• Segment terminator <CR> (ASCII 13)

• Field terminator | (ASCII 124)

• Component (Subfield) separator ^ (ASCII 94)

• Subcomponent (Subsubfield) separator & (ASCII 38)

• Field repetition separator ~ (ASCII 126)

• Escape character \ (ASCII 92)

Page 37: HL7 Versie 2

Encoding Characters

EVN|A01|200207201123|<cr>PID|1||PATID1234^5^M11||Jones^Sam^Houston||19670329|

|M|C|1200 N Elm Street^^Greenville^NC^27401-1020| Repetition Separator

Escape CharacterSubcomponent Separator

Segment TerminatorMSH|^ ~ \&|ADT1|MCM|LABADT|MCM|200207201126||

ADT^A01^ADT_A01|MSG00001|P|2.4|<cr>

december ’08 37© Stichting HL7 Nederland

|M|C|1200 N Elm Street^^Greenville^NC^27401-1020| |GL|(919)379-1212|(919)271-3434||S||X454337 ^2^M10| 123456789|987654^NC|<cr>

NK1|1|Jones^Barbara^K|WIFE||||CP^Contact person|<cr>PV1|1|I|2000^2012^01|E||||004777^Lebauer^Sara^J.||

TRMA||||ADM|A0|<cr>

Field Separator

Component Separator

Repetition Separator

The delimiters: fieldseparator, component separator , repetition separator, escape character, subcomponent separator; defined i n the first 5 characters in the MSH segment.

Page 38: HL7 Versie 2

Scheidingstekens

• Veld scheidingsteken

– Het veld scheidingsteken wordt gebruikt om twee aansluitende velden te scheiden binnen een segment. Het wordt ook gebruikt als scheidingsteken tussen de

december ’08 38© Stichting HL7 Nederland

Het wordt ook gebruikt als scheidingsteken tussen de naam van het segment en het eerste veld in het segment.

– Het veld scheidingsteken is gedefinieerd als het eerste teken na de MSH segment identificatie.

| MSH|^¨\&|NSI||LAB||19990923165100||ORM^O01|NSI798|P |2.3||||AL

Page 39: HL7 Versie 2

Delimiters

• Component (Subfield) scheidingsteken

– Het component scheidingsteken wordt gebruikt als een scheiding tussen 2 componenten van een veld.

– Het component scheidingsteken wordt gedefinieerd

december ’08 39© Stichting HL7 Nederland

– Het component scheidingsteken wordt gedefinieerd als het eerste teken in het MSH Encoding Character veld.

^ |Vermeer^J.P.^Johannes|

Page 40: HL7 Versie 2

Delimiters

• Herhalingsteken

– Het herhalingsteken wordt gebruikt als scheiding tussen twee of meer herhalingen van een veld. Een veld mag alleen herhaald worden als dit expliciet

december ’08 40© Stichting HL7 Nederland

veld mag alleen herhaald worden als dit expliciet vermeld staat in de veld definitie.

˜ |20401^DIARREA^HI ˜20402^INFECCION URINARIA^HI

Page 41: HL7 Versie 2

Delimiters

• Subcomponent scheidingsteken

– Het subcomponent scheidingsteken geeft de mogelijkheid om subcomponents binnen een component te onderscheiden. Subcomponenten

december ’08 41© Stichting HL7 Nederland

component te onderscheiden. Subcomponenten mogen alleen gebruikt worden als deze gedefinieerd zijn in de veldspecificatie.

& |1^C^^^^^^^c&124B&SMS&&&*ES+0M

Page 42: HL7 Versie 2

Delimiters

• Segment Einde-teken

• Is altijd (verplicht) ASCII <CR> (hex 0D)

december ’08 42© Stichting HL7 Nederland

<CR>PV1|1|I|01-02^11^23|||01-2^11^23|||||||||||||H00001 71||||||||19990831103712<CR>IN1|1|INT|2|PLAN DE SALUD|||||||||||||||||||||||||| |||||||||||||||||||123456789-9<CR>

Page 43: HL7 Versie 2

MSH|^~\&|ADT1|MCM|LABADT|MCM|200207201126||ADT^A01^ADT_A01|MSG00001|P|2.4|<cr>

EVN|A01|200207201123|<cr>

� PATID^1234

Escape Sequences

PID|1||PATID\S\1234^5^M11||Jones^Sam^Houston||19670329||M|C|1200 N Elm Street^^Greenville^NC^27401-1020|

\H\ Highlighting\F\ field separator\S\ component separator

december ’08 43© Stichting HL7 Nederland

|M|C|1200 N Elm Street^^Greenville^NC^27401-1020||GL|(919)379-1212|(919)271-3434||S||X454337 ^2^M10| 123456789|987654^NC|<cr>

NK1|1|Jones^Barbara^K|WIFE||||CP^Contact person|<cr>PV1|1|I|2000^2012^01|E||||004777^Lebauer^Sara^J.||

TRMA||||ADM|A0|<cr>

\S\ component separator\T\ subcomponent separator\R\ repetition separator\E\ escape character\Xdddd...\ hexadecimal data\Cxxyy\ single-byte character\Mxxyyzz\ multi-byte character

Page 44: HL7 Versie 2

Encoding Regels

• Encoding Rules– Gebruik de encoding regels zoals vastgelegd in

hoofdstuk 2 om het abstracte bericht zoals gedefinieerd in een domein-gerelateerd hoofdstuk om te zetten naar een bericht.

december ’08 44© Stichting HL7 Nederland

CHAP. 3

ADT^A01MSH|^-\&|ADT|LIS|…

PID|...Encoding Rules

Page 45: HL7 Versie 2

Encoding Regels

�Codeer elk segment in de volgorde die opgegeven is in het abstracte berichten formaat

� Plaats het segment ID eerst in het segment

45

� Begin elk veld met het veld scheidingsteken

� Codeer de data velden in de volgorde die in de segment definitie tabel staat opgegeven.

Page 46: HL7 Versie 2

Encoding Regels• Vul niets in voor velden die ‘niet aanwezig’

zijn• Neem velden die aanwezig, maar leeg zijn als

““ op• Sla eventueel scheidingstekens aan het eind

46

• Sla eventueel scheidingstekens aan het eind over, wanneer er geen veldinhoud voor is

• Sla eventueel veldscheidingstekens aan het eind van een segment over, wanneer er geen velden meer zijn

• Beeindig elk segment met het segment einde-teken

Page 47: HL7 Versie 2

Parsing Regels

• Verwerk data segmenten die verwacht waren, maar niet aanwezig zijn als of alle data velden binnen het segment “niet gevuld zijn”

47

• Negeer alle data segmenten die aanwezig zijn maar niet verwacht—dit is een fout

• Negeer data velden die aanwezig zijn maar niet verwacht aan het einde van het segment –dit is geen fout

Page 48: HL7 Versie 2

MSH Segment

• Message Header – MSH segmentField Notes– MSH-3-sending application– MSH-4-sending facility– MSH-5-receiving application– MSH-6-receiving facility

december ’08 48© Stichting HL7 Nederland

– MSH-6-receiving facility– MSH-7-date/time of message– MSH-9-message type Type & event– MSH-10-message control ID– MSH-11-processing ID – MSH-12-version ID– MSH-13-sequence number– MSH-14-continuation pointer

Page 49: HL7 Versie 2

XML encoding Syntax

december ’08 49© Stichting HL7 Nederland

Page 50: HL7 Versie 2

Voordelen van de XML encoding

• Message encoding beschikbaar in de vorm van Schema en DTDs.

• Beschikbaarheid van bestaande XML tools en toolsets, ondersteuning van XML in programmeertalen.

december ’08 50© Stichting HL7 Nederland

programmeertalen.• Geen specifieke eigen parsers nodig voor de

vertical-bar-symbool (klassieke) syntax.• Het zelfde encoding type als bij HL7 versie 3.

Page 51: HL7 Versie 2

Message/Segment encoding

december ’08 51© Stichting HL7 Nederland

Page 52: HL7 Versie 2

Elementary Data TypesEVN|A01|200111291420||01||200111291420||

december ’08 52© Stichting HL7 Nederland

Page 53: HL7 Versie 2

Group EncodingADT_A01:

MSHPIDPV1{NK1}

december ’08 53© Stichting HL7 Nederland

{NK1}{ --- INSURANCE Begin

IN1[ IN2 ]

} --- INSURANCE End

Page 54: HL7 Versie 2

SegmentGroup Encoding

december ’08 54© Stichting HL7 Nederland

Page 55: HL7 Versie 2

Complex Data Types

…|F-11380^CREATININE^I9^2148-5^CREATININE^LN|…

december ’08 55© Stichting HL7 Nederland

Page 56: HL7 Versie 2

PID|||80000235677^^^PI~N3763254^^^NI||Veen^Petra^P.F.M.^^van^B~Vries^^^de^S||19560114||…

december ’08 56© Stichting HL7 Nederland

Page 57: HL7 Versie 2

Validations DTD/XSD

december ’08 57© Stichting HL7 Nederland

Page 58: HL7 Versie 2

Encoding Conversions

Classic

HL7 Abstract Message Definitions

december ’08 58© Stichting HL7 Nederland

ClassicSyntax

XML Syntax

XSLTOpen Source converter in Java was developed by HL7 Germany. See www.lumrix.de/hl7xml

Page 59: HL7 Versie 2

HL7 v2.x XML

• HL7 v2.x XML standaard is beschikbaar, te gebruiken met HL7 versies 2.3.1 en 2.4

• Bevat Schemas en DTDs; deze kunnen nationaal of lokaal aangepast worden (zoals bijv. Z-Segmenten)

december ’08 59© Stichting HL7 Nederland

Z-Segmenten) • XML/DTD/XSD – http://www.w3.org• ebXML – http://www.ebxml.org• Classic -> XML syntax converter, zie

www.lumrix.de/hl7xml