A Java API for HL7 Version 3 RIM · 2018. 10. 24. · Oracle McKesson US ... Approved basic API...

19
Todd Freter Program Manager Web Technologies and Standards A Java API for HL7 Version 3 RI M "Write once, run anywhere"

Transcript of A Java API for HL7 Version 3 RIM · 2018. 10. 24. · Oracle McKesson US ... Approved basic API...

  • Todd Fre te r

    Program Manager

    Web Technologies and Standards

    A Java API for HL7 Vers ion 3 RIM

    "Write once, run anywhere"

  • Useful abbrevia tions� HL7 = Hea lth Level Seven, Inc. www.hl7.org� SIG = Specia l Interest Group� V3 = Vers ion 3� RIM = Reference Information Model� RMIM = Refined Message Information Model� HMD = Hierarchical Message Definition� HIMSS = Health Information Management Systems

    Society www.himss.org� ebXML = Electronic Bus iness XML www.ebxml.org� W3C = World Wide Web Consortium www.w3.org� OASIS = Organization for the Advancement of

    Structured Information Standards www.oasis-open.org

  • Sun's HL7 work� Evange lize ebXML framework for e lectronic

    business� Co-chair HL7 Java SIG� Represent Java SIG in HL7 Interoperability

    events(e .g., HIMSS 2003)

    � Support Java SIG code development by recruiting volunteers and funding work by experts under contract with Sun

  • Background: XML at HL7� Prior to 1996, HL7 developed EDI formats for

    hea lthcare information interchange� "Kona Project," 1996: Explored us ing SGML in

    hea lthcare� SGML/XML SIG chartered in 1997 with three

    working groups Documents: Patient Record Architecture Messaging: Message encoding in XML Education: Teaching HL7 about XML

    � Foundation for HL7 Vers ion 3, the XML-based standard (to be balloted this year)

  • HL7 Java SIG� Sponsored by HL7 Control/Query TC� Chartered to deve lop Java API to HL7 V3

    RIM, which uses XML� Supported by

    Sun Microsystems Oracle McKesson US Veterans Adminis tra tion Regenstrie f Institute (Univers ity of Indiana)

  • Goals of HL7 Java SIG� Encourage adoption of HL7 V3� Fos ter HL7 V3 application interoperability� Provide universa l HL7 API for full range of

    hea lthcare applications� Provide sample implementations for

    deve lopers� Encourage HL7 V3 API development for other

    popular programming languages

  • HL7 Java SIG chronology� Approved by HL7 Technica l Steering

    Committee and HL7 Board, May 2002� Approved basic API design in July 2002,

    s tarted development� Accepted role in HL7 interoperability demo for

    HIMSS conference, October 2002� Completed and showed API demo code a t

    HIMSS, February 2003

  • The HL7 V3 Java API� Java classes for HL7 RIM objects� Java classes for HL7 data types� Tools :

    Message builder Message parser

  • API des ign principles� Minimal inte rpretation

    Classes re flect V3 specifications as directly as poss ible

    � Universa l, not specific Classes enable any message type, not specific

    message types� Inte lligent use of HL7 V3 specifica tions and

    resources (e.g., HMDs)� Adaptable, "sca lable"

    New message types don't require new classes

  • API components (1)Java classes for RIM objects� "Getters" and "se tte rs" for in-memory

    message structures� Create, read instances of HL7 V3 RMIMs

  • API components (2)Java classes for HL7 V3 RIM data

    types� 29 specific da tatypes� Many data types conta in rich methods� Specific data type handlers support API tools

  • API components (3)Message builder� Creates V3-compliant XML message from in-

    memory RMIM instance� Uses HMD to build XML message with correct

    e lements in correct order with appropria te attributes

    � May a lso use XML message templa tes (under discuss ion)

  • API components (4)Message parser� Creates in-memory RMIM instance from V3-

    compliant XML message� Uses HMD to es tablish correct data s tructure

    suggested by XML e lements� Uses data type-specific handlers to evaluate

    data in XML message

  • HL7 RMIM ins tance in memory

    Java HL7 message builder

    HL7 XML message

    Creating V3 XML messages

    EpicCare Patient Medical Records

    JavaSIG Object Browser

    v3r1b3

  • HL7 RMIM ins tance in memory

    Java HL7 message parser

    HL7 XML message

    Pars ing V3 XML messages

    EpicCare Patient Medical Records

    JavaSIG Object Browser

    v3r1b3

  • API current s tatus� "Pre liminary, incomplete prototype"

    demonstrated at HIMSS 2003� Classes for HL7 V3 RIM classes : a ll

    completed� Classes and handlers for HL7 V3 data types:

    only 3 of 29 completed� Message parser: comple ted� Message builder: not yet s tarted

  • Next s teps for Java SIG� Assess current completion� Calculate requirements to complete a lpha-

    leve l components� Recruit further technica l resources� Publish a tenta tive schedule for a lpha re lease

    of API

  • Thanks for your a ttention!

    Questions?

  • Todd Fre te r

    [email protected] "Write once,run a nywhere"