HL7 Versie 2

Post on 15-Nov-2021

1 views 0 download

Transcript of HL7 Versie 2

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

© Stichting HL7 Nederland

Bericht Opbouw

Helen DrijfhoutMet dank aan René Spronk

Inhoud

• Introductie• Rollen, Interacties• Bericht opbouw

december ’08 2© Stichting HL7 Nederland

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

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.

Conceptuele benadering

Receive msg,

Triggerevent

4

sendHL7 msg

receive HL7 ACK msg

Receive msg,send ACK

System A

System B

network

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

Messages

december ’08 6© Stichting HL7 Nederland

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

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.

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

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

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

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||

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.

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.

Segmenten en Velden

december ’08 15© Stichting HL7 Nederland

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.

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

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.

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) >

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.

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.

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 .

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.

Data Types

december ’08 24© Stichting HL7 Nederland

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

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

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

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“

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|

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

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

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

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)

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

Classic Syntax –Encoding Characters

december ’08 35© Stichting HL7 Nederland

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)

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.

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

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|

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

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

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>

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

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

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.

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

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

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

XML encoding Syntax

december ’08 49© Stichting HL7 Nederland

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.

Message/Segment encoding

december ’08 51© Stichting HL7 Nederland

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

december ’08 52© Stichting HL7 Nederland

Group EncodingADT_A01:

MSHPIDPV1{NK1}

december ’08 53© Stichting HL7 Nederland

{NK1}{ --- INSURANCE Begin

IN1[ IN2 ]

} --- INSURANCE End

SegmentGroup Encoding

december ’08 54© Stichting HL7 Nederland

Complex Data Types

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

december ’08 55© Stichting HL7 Nederland

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

december ’08 56© Stichting HL7 Nederland

Validations DTD/XSD

december ’08 57© Stichting HL7 Nederland

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

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