WORKSHOP AT THE HL7 PLENARY '97

Developing Standard-Complient Applications with ProtoGen/HL7

San Francisco, Thursday August 21 1997, 5 - 7 pm.

ProtoGen/HL7 is an HL7 interface development software library that implements the complete HL7 standard in C++. ProtoGen/HL7 allows HL7 applications in C++ to be built easily. The library warrants high conformance to the HL7 standard, because about 2/3 of the its source code is automatically generated from a formal specification of HL7 that in turn is derived from the original HL7 specification. Its C++ API hides from the application programmers much of the details of HL7 and the way it is implemented . For instance, instead of having to know the exact field position of data elements within segments, the programmer can just use symbolic names. ProtoGen/HL7 grants convenient access to messages, segments, composite and primitive data types as C++ classes.

The object-oriented approach allows to not only implement the abstract HL7 syntax but also cover semantic and pragmatic aspects. Notably there is a sophisticated flexible subsystem to handle coded values as fast static tables, huge external databases. A lot of supportive classes are available that cover all aspects of HL7 client/server programming. The library and its generator program is available at no charge, comes with full source code, and is freely modifyable and redistributeable under the terms of the Library General Public License (LGPL) by the Free Software Foundation (FSF). Its highly modular design allows sophisticated extensions to be integrated easily.

ProtoGen/HL7 was first released in 1995 and has since gained more and more users among software companies and healthcare providers. It thus helps spread the diffusion of HL7 by freeing application programmers from the tedious and error-prone task of developing an HL7 implementation from scratch. Thanks to the Regentrief Institute, Indianapolis and the HL7 Headquarter, I am able to hold a workshop about ProtoGen/HL7 at the 1997 HL7 plenary meeting in San Francisco. This will be a one-time opportunity for those who already made experiences with ProtoGen/HL7 to ask specific questions and exchange experiences. People who are involved in the development of HL7-Interfaces for healthcare applications, and are considering to use ProtoGen/HL7 are welcome as well as those who have a general interest in the methodology of implementing HL7. Depending on the demand of the audience, it will be possible to discuss problems in considerable detail.

Possible topics are:

See you in San Francisco ...


The Slides

  1. Implementing HL7: Alternatives
  2. What are reusable libraries?
  3. What HL7 libraries do exist?
  4. Core functionality of an HL7 library
  5. The structure of the ORU message as a directed acyclic graph (DAG)
  6. The Structure of the whole HL7 standard as a DAG
  7. Why automatic methods?
  8. Formalisms in HL7
  9. Why Prolog?
  10. Conceptual Model of HL7
  11. Examples of ProtoGen/HL7
  12. HL7 messages as remote procedure calls (RPC)
  13. Example Applications with ProtoGen/HL7