xml in hl7€¦ · xml in hl7 wes rishel ... of crimson joy:.br and his dark secret love.br does...

50
XML in HL7 Wes Rishel Vice-chair, Technical Steering Committee [email protected] www.HL7.org

Upload: hoangdat

Post on 06-Jun-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

XML inHL7

Wes RishelVice-chair, Technical Steering Committee

[email protected]

Feb 8, 2000 2© 2000 by HL7 & Wes Rishel

Outline

• What is HL7?

• What is XML?

• HL7 Central Methodologies

• HL7 XML Projects

• Summary

Feb 8, 2000 3© 2000 by HL7 & Wes Rishel

What is HL7?

• Provider community

• Broad variety of transactions

• 2000 members, virtually all majorvendors

• Deep market penetration

• Rapidly expanding internationalparticipation

Feb 8, 2000 4© 2000 by HL7 & Wes Rishel

HL7 Standards• Medical Logic• Visual Integration• Applied Medical Vocabulary• Messaging

–Versions 2.x -- X12-like syntax• (XML adaptation)

– Version 3 -- XML at least• Clinical Documents (XML)

Feb 8, 2000 5© 2000 by HL7 & Wes Rishel

Outline

• What is HL7?

• What is XML?

• HL7 Central Methodologies

• HL7 XML Projects

• Summary

Feb 8, 2000 6© 2000 by HL7 & Wes Rishel

XML: What’s the Big Deal?

Disintermediation!

Feb 8, 2000 7© 2000 by HL7 & Wes Rishel

Business-to-Business Disintermediation

• Many estimates are that this willrapidly grow to ten timesconsumer-to-business

• C2B: mostly browser-to-application

• B2B: much more application-to-application

Feb 8, 2000 8© 2000 by HL7 & Wes Rishel

XML is:

• Syntax “disintermediation”

• A symbol of the general notion ofInternet-based disintermediation,especially B2B

• Tool disintermediation

Feb 8, 2000 9© 2000 by HL7 & Wes Rishel

The Internet As Disintermediator

Firewall

ApplicationApplication

engine

ApplicationApplication

engine

Application

engine

Internet

Web Server

Browser

Feb 8, 2000 10© 2000 by HL7 & Wes Rishel

What is XML

• XML: Extensible Markup Language

• XML is a “metalanguage”

• Subset of Standard GeneralizedMarkup Language

• Recommendation from W3C– W3C == World Wide Web Consortium– Formally Adopted on 10-February-1998

Feb 8, 2000 11© 2000 by HL7 & Wes Rishel

Markup

Markup a set of notations about text. Often

it is used to give instructions on how text is

displayed, but it can also be used to help

interpret the text.

Ital.is

Feb 8, 2000 12© 2000 by HL7 & Wes Rishel

MarkupA

A poem as itmight be printed.

B.The poem in the

nroff markup language.

C.The poem in a hypothetical

SGML markup language

The SICK ROSE

O Rose thou art sick.The invisible worm,That flies in the nightIn the howling storm:

Has found out thy bedOf crimson joy:And his dark secret loveDoes thy life destroy.

.ceThe SICK ROSE.sp 2O Rose thou art sick..brThe invisible worm,.brThat flies in the night.brIn the howling storm:.sp 1Has found out thy bed.brOf crimson joy:.brAnd his dark secret love.brDoes thy life destroy.

<anthology> <poem><title>The SICK ROSE</title> <stanza> <line>O Rose thou art sick.</line> <line>The invisible worm,</line> <line>That flies in the night</line> <line>In the howling storm:</line> </stanza> <stanza> <line>Has found out thy bed</line> <line>Of crimson joy:</line> <line>And his dark secret love</line> <line>Does thy life destroy.</line> </stanza> </poem>

<!-- more poems go here -->

</anthology>

Feb 8, 2000 13© 2000 by HL7 & Wes Rishel

XML: eXtended Markup Language

XML Standard

Document TypeDefinition:

Poetry<anthology> <poem><title>The SICK ROSE</title> <stanza> <line>O Rose thou art sick.</line> <line>The invisible worm,</line>

... Parser

Anthology Poem Title1 1 The Sick Rose… … …

Browser

• XML is a “metalanguage”– Language for defining other

languages

Feb 8, 2000 14© 2000 by HL7 & Wes Rishel

XML: eXtended Markup Language

Document TypeDefinition:

Poetry<anthology> <poem><title>The SICK ROSE</title> <stanza> <line>O Rose thou art sick.</line> <line>The invisible worm,</line> Parser

Anthology Poem Title1 1 The Sick Rose… … …

Document TypeDefinition:

Legal_Brief<legal_brief> <case> Tweetie v Wabbit <prepared_by> <atty><f>E</f><l>Fudd</l></atty></prepared_by> </case> </legal_brief>

Court ScheduleFudd, E. Tweetie v. Wabbit… … …

Browser

XML Standard

• XML is a “metalanguage”– Language for defining other

languages

Feb 8, 2000 15© 2000 by HL7 & Wes Rishel

XML: eXtended Markup Language

Document TypeDefinition:XHTML<BODY><H1>Get rich quick</H1>

<P><I>Send Me All Your Money</I> andtrust me.</P></BODY>

Get rich quickSend Me All Your Money and trust me.

Browser

XHTML, Poetry, andLegal Brief are

“applications” of XML

XML Standard

• XML is a “metalanguage”– Language for defining other

languages

Feb 8, 2000 16© 2000 by HL7 & Wes Rishel

XML Components

• elements– <ElementName>element content</ElementName>

• attributes– <ElementName AttributeName=“attributevalue”>element content</ElementName>

Feb 8, 2000 17© 2000 by HL7 & Wes Rishel

Sample SGML Document<!DOCTYPE REPORT PUBLIC ”<!DOCTYPE REPORT PUBLIC ”

-//KonaExample//DTD Prescription 970926//EN" [ ]>-//KonaExample//DTD Prescription 970926//EN" [ ]><PRESCRIPTION>

Amoxicillin<FORM><FORM>250 mg. capsule</FORM><DISPENSE>30</DISPENSE><DOSAGE>1 cap(s) </DOSAGE><INSTRUCTIONS>3 times daily until gone</INSTRUCTIONS> <REFILL>0</REFILL><SUBSTITUTE>may substitute</SUBSTITUTE><NUMBERNOTYPE="DEA">AB1234567</NUMBER>

</PRESCRIPTION>

Feb 8, 2000 18© 2000 by HL7 & Wes Rishel

The "XML Family" of Standards

• XHTML -- HTML revised• XSL: Extensible Style Language• XML Schemas• Namespaces• Pointers• Domain Object Model• Digital Signatures (!!)

Feb 8, 2000 19© 2000 by HL7 & Wes Rishel

What is XML

• Well-formed vs. Valid– well-formed == “balanced parens”– valid == well-formed AND conforms to

the constrains specified in the “documenttype definition”

• Document Type Definition (DTD)– defines the grammar for a language

• a large subset of Context Free Grammars– a schema definition

Feb 8, 2000 20© 2000 by HL7 & Wes Rishel

XML Schema Languages

• Document Type Definitions (DTD)– no data types– global element definitions

• Microsoft XDR

• XML Schemas + namespaces– structures– data types

Feb 8, 2000 21© 2000 by HL7 & Wes Rishel

Outline

• What is HL7?

• What is XML?

• HL7 Central Methodologies

• HL7 XML Projects

• Summary

Feb 8, 2000 22© 2000 by HL7 & Wes Rishel

HL7 Central Methodologies• Reference Information Model

– multi-expert consensus process– facilitation/harmonization– ~120 classes– “subject classes”– state analysis

• Vocabulary– not reinvent– validate for use– crosswalks and realms– same experts; facilitation/harmonization

• Reference Information Model– multi-expert consensus process– facilitation/harmonization– ~120 classes– “subject classes”– state analysis

• Vocabulary– not reinvent– validate for use– crosswalks and realms– same experts; facilitation/harmonization

• Reference Information Model– multi-expert consensus process– facilitation/harmonization– ~120 classes– “subject classes”– state analysis

• Vocabulary– not reinvent– validate for use– crosswalks and realms– same experts; facilitation/harmonization

Feb 8, 2000 23© 2000 by HL7 & Wes Rishel

Outline• What is HL7?• What is XML?• HL7 Central Methodologies• HL7 XML Projects

– Version 2.x– Version 3 Messages– Patient Record Architecture

• Summary

Feb 8, 2000 24© 2000 by HL7 & Wes Rishel

XML and Version 2.x

• Standard mapping from fields andsegments to XML elements

• No structural changes

• Useful for access to mapping tools

Feb 8, 2000 25© 2000 by HL7 & Wes Rishel

XML and Version 3

• The syntax handles recursion• Parsers are “free”• Self-documenting data files• XML-related tools

– viewing– testing– conversion

• Availability of trained personnel

Feb 8, 2000 26© 2000 by HL7 & Wes Rishel

Version 3 Message Definition ProcessUse Case Model

InteractionModel

HierarchicalMessage

Description

ReferenceInformation Model

DomainInformation

Model

MessageInformation

Model

RefinedMessage

InformationModel

CommonMessage

Element Type

!"#$%&'$()

Feb 8, 2000 27© 2000 by HL7 & Wes Rishel

Hierarchical Message Descriptions

Feb 8, 2000 28© 2000 by HL7 & Wes Rishel

Information About a Message Element

• Type• Cardinality• Null?• Update mode• Vocabulary domain• Constraint--includes conditional use• Conformance

Feb 8, 2000 29© 2000 by HL7 & Wes Rishel

Version 2.3 Instance and Type DefinitionMSH|^~\&|LABGL1||DMCRES||199812300100||ORU^R01|LABGL1199510221838581|P|2.3

|||NE|NEPID|||6910828^Y^C8||Newman^Alfred^E||19720812|M||W|25 Centscheap Ave^^

Whatmeworry^UT^85201^^P||(555)777-6666|(444)677-7777||M||773789090OBR||110801^LABGL|387209373^DMCRES|18768-2^CELL COUNTS+DIFFERENTIAL TESTS

(COMPOSITE)^LN|||199812292128||35^ML|||||||IN2973^Schadow^Gunther^^^^MD^UPIN||||||||||^Once||||||CA20837^Spinosa^John^^^^MD^UPIN

OBX||NM|4544-3^HEMATOCRIT (AUTOMATED)^LN||45||39-49

||||F|||199812292128||CA20837OBX||NM|789-8^ERYTHROCYTES COUNT (AUTOMATED)^LN||4.94|10*12/mm3

|4.30-5.90||||F|||199812292128||CA20837

MSHPID{ [ ORC ]

{ OBR { OBX } }}

Figure 7-4. OBR attributesSEQ

LEN DT OPT

RP/#

TBL#

ITEM # ELEMENT NAME

1 4 SI C 00237 Set ID - OBR2 22 EI C 00216 Placer Order Number3 22 EI C 00217 Filler Order Number +4 200 CE R 00238 Universal Service ID5 2 ID X 00239 Priority

Feb 8, 2000 30© 2000 by HL7 & Wes Rishel

V3 XML Prototype Instance--same data<Labrs3P00 T="Labrs3P00"> <Labrs3P00.PTP T="PTP"> <PTP.primrPrsnm T="PN"> <fmn T="ST">Sample</fmn> <gvn T="ST">George</gvn> <mdn T="ST">H</mdn> </PTP.primrPrsnm> </Labrs3P00.PTP> <Labrs3P00.SIOO_L T="SIOO_L"> <SIOO_L.item T="SIOO"> <SIOO.filrOrdId T="IID">LABGL110801</SIOO.filrOrdId> <SIOO.placrOrdId T="IID">DMCRES387209373</SIOO.placrOrdId> <SIOO.InsncOf T="MSRV"> <MSRV.unvSvcId T="CE">18768-2</MSRV.unvSvcId> <MSRV.svcDesc T="TX">CELL COUNTS+DIFFERENTIAL TESTS (COMPOSITE)</MSRV.svcDesc> </SIOO.InsncOf> <SIOO.SRVE_L T="SRVE_L"> <SRVE_L.item T="SRVE"> <SRVE.name T="CE">4544-3</SRVE.name> <SRVE.svcEvntDesc T="ST">HEMATOCRIT (AUTOMATED)</SRVE.svcEvntDesc> <SRVE.CLOB T="CLOB"> <CLOB.obsvnValu T="NM">45</CLOB.obsvnValu> <CLOB.refsRng T="ST">39-49</CLOB.refsRng> <CLOB.clnRlvnBgnDtm T="DTM">199812292128</CLOB.clnRlvnBgnDtm> </SRVE.CLOB> <SRVE.spcmRcvdDtm T="DTM">199812292315</SRVE.spcmRcvdDtm> </SRVE_L.item> </SIOO_L.item> </Labrs3P00.SIOO_L></Labrs3P00>

Feb 8, 2000 31© 2000 by HL7 & Wes Rishel

HL7 Standard Development Tools

Repository

Rational Rose

Rose Tree

Schema XMLDocument+

PDFDocuments

XSL

SoftwareTools

Feb 8, 2000 32© 2000 by HL7 & Wes Rishel

The Patient Record Architecture

• Multi-layered schema consisting ofthree layers❚ A basic, abstract layer to exchange

narrative documents (ProseDoc)❚ A layer that provides simple

classification (ClinicalContent)❚ A layer that requires greater clinical

semantics

Feb 8, 2000 33© 2000 by HL7 & Wes Rishel

A Transformation

<PRESCRIPTION>

<MEDNAME MED="Amoxil">

Prescribed medication: Amoxil

</MEDNAME>

APPLICATION PRAArchitectural Forms specify how tags are changed:

<PLANCC.CLIENT.ETN="PRESCRIPTION">

<MENTION DOMAIN="Kona Example"NORMALIZED.CONTENT="Amoxil"CC.CLIENT.ETN="MEDNAME">Prescribed medication: Amoxil

</MENTION>

Transform <PRESCRIPTION> to <PLAN>

Feb 8, 2000 34© 2000 by HL7 & Wes Rishel

Example: Document RepositoryOrganization 1 Organization 2

Op-Note DTD 1

Op-Note (1)Op-Note (1)

Op-Note (1)

Op-Note DTD 2

Op-Note (2)Op-Note (2)

Op-Note (2)

Op-Note (PRA)Op-Note (PRA)

Op-Note (PRA)

Transform

Op-Note (PRA)Op-Note (PRA)

Op-Note (PRA)

Transform

Diabetes DTD 1

Diabetes Note (1)

Transform

Diabetes Note (PRA Level one)

A computer can searchall the notes based on Level One admin. Data, anddo smart processing onOp-notes based on the PRA subset

A person can readall the contents of

all the notes

A person can readall the contents of

all the notes

Feb 8, 2000 35© 2000 by HL7 & Wes Rishel

Why not Just Standardize Schemas?

• Schemas support process

• A single document may need multipleschemas in a single organization

• Achieving consensus acrossorganizations takes longer

• Schemas evolve as organizations usethem

Feb 8, 2000 36© 2000 by HL7 & Wes Rishel

PRA and the Central Methodologies

• Vocabulary– identical coding requirements

• Information model– basis for level one header– basis for structure of higher order

architectural DTDs

• Uses HMDs to document documents

Feb 8, 2000 37© 2000 by HL7 & Wes Rishel

Busy Booth

Feb 8, 2000 38© 2000 by HL7 & Wes Rishel

• What is it? by the numbers:– 10 vendors– 7 applications use prototype HL7 documents– 8 applications use prototype V3 XML messages; one

application uses version 2.3– 6 applications involve some message/document

interactivity– 3 document types: the PRA LevelOne architecture, a

History & Physical and a Progress Note– 12 message types including registrations, lab orders

and results, query/response, and one documentenvelop

HL7 XML HIMSS ‘99 DemoHL7 XML HIMSS ‘99 Demo

Feb 8, 2000 39© 2000 by HL7 & Wes Rishel

• What is it? the applications:– clinical data repository– clinical document repository– lab system– electronic health record system– transcription system– medical intranet– patient administration– “widget”– interface engine

HL7 XML HIMSS ‘99 DemoHL7 XML HIMSS ‘99 Demo

Feb 8, 2000 40© 2000 by HL7 & Wes Rishel

HL7-XML Demo HIMSS ‘99

V2.3

V3-XML

V3-XML V3-XML

V3-XML

PRADocmnt

PRADocmnt

PRADocmnt

V3-XML

PRA

V3-XML

PRA

V3-XML

PRA

Feb 8, 2000 41© 2000 by HL7 & Wes Rishel

Trade Show Zen

• Easier to get software engineeringresources for standards-groups prototypes

• Fixed deadline• Internal visibility to standards efforts

within large companies.• If you want to communicate with a

Klingon, speak Klingon; if you want tocommunicate with Marketing ...

Feb 8, 2000 42© 2000 by HL7 & Wes Rishel

Outline

• What is HL7?

• What is XML?

• HL7 Central Methodologies

• HL7 XML Projects

• Summary

Feb 8, 2000 43© 2000 by HL7 & Wes Rishel

The Gotchas for XML Messaging

• Not a patch to an existing parser–recursion–choice

• Message sizes substantially larger

Feb 8, 2000 44© 2000 by HL7 & Wes Rishel

Limitations of XML

• Many important features “not soupyet”

• An XML-valid message is not anHL7-valid message

• Implication:There will always be a post-processordriven by HL7 specifications

Feb 8, 2000 45© 2000 by HL7 & Wes Rishel

Limitations of Mapping/Transforms

• No silver bullet

• Important uses– same concepts with different names– data presentation– reducing detail

• Little help for– different concepts– creating detail that was not there

Feb 8, 2000 46© 2000 by HL7 & Wes Rishel

Dr. Isaac Asimov On Change

“No sensible decision can be made anylonger without taking into account notonly the world as it is, but the world as itwill be. . . .”

• Design decisions require cautiousoptimism about change.

• Five years from now, if HL7 does notuse XML, people will, at best, beamused by our quaint eccentric ways.

• These comments from May, 1999.

Feb 8, 2000 47© 2000 by HL7 & Wes Rishel

Cross-Industry “Standards” Efforts

Workflow Tags

Transaction TagsGeneralBusiness

TagsGeneralBusiness

Tags

Figure 1: Message constructedfrom multiple schemas

Multiple Schema Modules

A Message Schema

Source: GartnerGroup

<Envelope><From> <Org>Able Family Practice</Org>

<Applic_role>Medical Record</Applic_role></From><To> <Org>Baker Care Manager</Org>

<Applic_role>Diabetes Mgt</Applic_role></To><Action>Request Referral</Action><Request_Referral_Message>

<Patient> <Person_name>Jones</Person_name><Telephone>999 555-1212</Telephone><Pt_ID>1234</ Pt_ID ></Patient>

<Refer_from_phys><Person_name>Smith, M.D.</Person_name><Telephone>999 121-5555</Telephone><Provider_ID>AX4734-8</Provider_ID></Refer_from_phys>

<Refer_to> <Orgn_name>Opthalmology, PA</Orgn_name><Telephone>999 777-5555</Telephone><Provider_ID>)X4217-3</Provider_ID></Refer_to>

<Purpose>Diabetic Retinopathy</Purpose></Request_Referral_Message>

</Envelope>

General Business ObjectsGeneral Business Objects

Transaction

Workflow

Transaction

Example Message

framework

Feb 8, 2000 48© 2000 by HL7 & Wes Rishel

Organizations/Repositories/Specs

• Oasis--yes

• (ebXML)--yes??

• Microsoft/BizTalk--??

Feb 8, 2000 49© 2000 by HL7 & Wes Rishel

Does XML Disintermediate Standards?

• The magic bullet view:– Yes! And about time! Standards

groups are too slow, and it is too hardto get my way

• The real issues:– authority– broad consensus– consistency

Feb 8, 2000 50© 2000 by HL7 & Wes Rishel

XML Summary

• A better Syntax (plusdisintermediation)

• Disintermediate tools

• Enables Internet Disintermediation

• For HL7, it’s the place to be

• No magic bullet