Ringholm-Logo Ringholm Ringholm page header
Training    Services   |   Whitepapers    Blog    Events    Links   |   About us    Partners    Clients    Contact
Home > Current column | Ringholm bv | Tel. +31 33 7 630 636| rene.spronk@ringholm.com

Implementing HL7 version 3 - the book

Publication date: May 06, 2010

An "Implementing HL7 version 3" book - just what would it look like? We'll probably know before the end of this year, because that book is about to be written. There are a couple of books for HL7 version 3 modellers, but there are none for HL7 v3 software implementers and architects.

In an earlier column I mentioned that I frequently get asked if there's a v3 book for implementers - such a book doesn't exist. Subsequently I was asked to write one (by someone who actually hadn't read my column). As a first step one has to describe the target audience, its contents and one has to identify of any competing books. The latter issue is simple: there are no competing books.

As to the aim of the book: it has the intent to support those that are in the process of implementing HL7 version 3, inclusive of CDA. It focuses on best practices and architectural principles, without being specifically targeted at any particular programming language or development framework.

Newbie HL7 v3 implementers don’t need the whys, wherefores and deep clinical reasons as to why certain things are modeled in certain ways. They require access mostly from an XML oriented starting point: how do I get v3 interactions up and running and what are the necessary components that I should be aware of. This requires a different view of the standard, which is bottom-up from the technology perspective, and not top- down from a modelers perspective.

The draft content is shown in the next section. The content is split into 5 parts. Most of the topics shown in the draft content were brought forward and discussed in the HL7 RIMBAA (the "HL7 v3 implementers") Working Group.

Draft content

Preface

Prerequisites: knowledge of XML and XML schema, general architectural principles, general programming techniques.

Part 1: Introduction

Scope: this part of the book describes those elements of HL7 v3 and its associated implementation techniques/architectures that form the basis for all implementations. The reader should be familiar with these topics prior to reading the subsequent parts of the book.
Content:
  • The HL7 version 3 learning curve; organizational recommendations
  • HL7 v3 modelling
    • HDF bottom up, XML -> ITS -> R-MIM -> RIM. HDF and SAIF.
    • MIF and the origins of schema; ITSs (ITS or derived ITS e.g. green CDA, collapsed models)
    • Conformance/validation (generic principles). CIM/LIM/Templates/Vocab. Technology choice: perform on validation on serialized format, or on object tree.
  • RIMBAA technology matrix
  • How to use the v3 documentation from an implementers viewpoint; implementation guides, framework issues
  • (updated) Description of an example project.
    • One single example project will be referred to throughout the book to illustrate the various implementation aspects covered by this book. It would have to be as simple as possible, yet still powerful enough to illustrate all different aspects that are touched upon.
    • Our standard use-case (for HL7 v3 implementation training courses) is a tree surgery practice.
    • To remain platform agnostic the example project would have to be based on no particular tool - although one could use Java, or a generic pseudo programming language, to illustrate some of the issues.

Part 2: XML - Serialization

Scope: This part of the book is related to the serialization/deserialization of XML instances as well as the transformation and validation of XML instances.
Content:
  • XML-based Conformance /validation
    • ITS schema, schematron
  • Serialization/deserialization of in-memory objects
    • Datatypes (as per XML ITS), not about methods
  • Transformation to v3-XML from “other” serialized formats
    • XML formats, Hl7 v2

Part 3: in-memory objects

Scope: This part of the book is about the processing and manipulation of in-memory RIM-based object trees. This includes MIF and XML Schema based class generation.
Content:
  • OO-based conformance/validation
  • Class generators
    • MDE principles
    • MIF/Schema based code generation
  • M2M transformations
    • Version independent internal model, external model may be versioned
  • Data types; e.g. GTS, CD
  • OID management
  • Object nets
    • object identity
    • querying parts of object nets
  • Processing logic on object-trees (as received)

Part 4: Persistence

Scope: This part of the book covers persisting in-memory object trees as well as the design of logical and physical database models.
Content:
  • Relational, EAV, XML, OO, and hybrid database models; distributed solutions
  • Persisting RIM object graphs and messages;
    • update/snapshot mode;
    • obsolescing CDA and messages;
    • context conduction;
    • Persistence of OIDs and IDs
    • Persisting concepts; versions of vocabularies
  • Extracting/querying data;
  • LDM, PDM
    • ORM best practices
  • Versioning; temporal aspects
  • Mapping of proprietary database models to v3 in-memory object trees

Part 5: Special topics

Scope: this part of the book covers a number of implementation related topics that don’t quite fit in any of the other parts.
Content:
  • User interfaces
  • Transmission layer
    • (Updated) This section will contain a high level overview; with references to appropriate material, inclusive of v3 message transmission guidance provided by IHE.

Planning

The planning is to publish an initial release before the end of 2010. This does however depend on the progress that the RIMBAA WG is able to make when it comes to the discussion of various open implementation issues.

The creation of an implementation oreinted book is not possible without the help and feedback provided by current HL7 v3 implementers. I will therefore be solliciting comments related to the above draft content; I'll be holding a series of (off the record) interviews with implementers to gather missing information, and I'll ask actual implementers to review parts of the document.

I don't consider myself to be an implementer - I'm a trainer and a consultant. However, I do present a HL7 v3 implementation training course, and as a co-chair of the RIMBAA WG I get to talk and exchange ideas with a lot of implementers. If you are an implementer and you'd like to suggest a topic which should be covered by this book, please let me know by e-mail.

-Rene

PermaLink to this page: http://www.ringholm.com/column/Implementing_HL7_version_3_-_the_book.htm

Index of columns:


About Ringholm bv

Ringholm bv is a group of European experts in the field of messaging standards and systems integration in healthcare IT. We provide the industry's most advanced training courses and consulting on healthcare information exchange standards.
See http://www.ringholm.com or call +31 33 7 630 636 for additional information.
Rene's Column (English) Rene is the Tutor-in-chief of Ringholm.
[e-mail]