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.
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.
- 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.
- XML-based Conformance /validation
- Serialization/deserialization of in-memory objects
- Datatypes (as per XML ITS), not about methods
- Transformation to v3-XML from “other” serialized formats
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.
- 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.
- 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
- 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.
- 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.
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.
PermaLink to this page: http://www.ringholm.com/column/Implementing_HL7_version_3_-_the_book.htm
Index of columns:
- News from the FHIR DevDays in Amsterdam (Dec 15, 2016)
- Next XDS Release (Oct 27, 2016)
- Five years of FHIR (Aug 11, 2016)
- Interoperability projects in Ireland - FHIReland (Mar 14, 2016)
- 2016 FHIR Jedi Calendar (Jan 06, 2016)
- Top 10 HL7 videos watched in 2015 (Dec 24, 2015)
- Update from the trenches on CDA R2.1/R3 and HL7v2. (Oct 15, 2015)
- FHIR DevDays - UK GP System APIs (Sep 16, 2015)
- IHE XDS - testing and implementation tools (Aug 25, 2015)
- Most often implemented IHE Profiles (Jun 08, 2015)
- Why we sponsor the HL7 WGM (May 10, 2015)
- FHIR in Paris (Apr 21, 2015)
- Mapping HL7v2 messages to FHIR. (Apr 13, 2015)
- Analysis of CDA R2 testing tools - most requirements are neither tested nor respected. (Feb 13, 2015)
- HL7 and IHE in Sweden (Feb 08, 2015)
- 2015 FHIR Chiefs Calendar (Jan 07, 2015)
- The Merry FHIR Choir caroling the 12 Days of Christmas (Dec 09, 2014)
- Chicago FHIR Update (Oct 13, 2014)
- Internationalization of HL7 (Sep 25, 2014)
- New XDS Advanced training course on offer by IHE Services and IHE Academy (Jul 14, 2014)
- Recent and Future developments of the DICOM standard (Mar 06, 2014)
- Top 10 HL7 videos watched in 2013 (Jan 02, 2014)
- Report from the HL7 WGM in Cambridge (Oct 16, 2013)
- Documenting the history of HL7 (Sep 03, 2013)
- Histology Lab Device Automation using HL7 version 2 (Jul 23, 2013)
- HL7 FHIR Elevator Pitch (Jul 15, 2013)
- Interoperability Standards - the no-sales pitch (Jul 09, 2013)
- HL7 UK - new landscape, new opportunities (Jun 26, 2013)
- Validation and error correction at the IHE Connectathon (Apr 25, 2013)
- CDA Implementation Guides - (not) invented here (Apr 17, 2013)
- Usage of IHE Profiles (Feb 25, 2013)
- 10 year anniversary - Dutch Ringholm HL7 v2 training courses. (Feb 19, 2013)
- About IHE Academy and new IHE training courses (Jan 12, 2013)
- CDA implementation experiences in the UK (Dec 04, 2012)
- Musings on free HL7 IP (Oct 01, 2012)
- HL7 Connectathons (Sep 09, 2012)
- Renovate HL7 version 3 (Aug 03, 2012)
- Frequency of use of HL7 message types (Jul 24, 2012)
- Lighting the FHIR, HL7s new major interoperability standard (Jun 15, 2012)
- Reflections on the HL7 membership model - the affiliate life cycle (Dec 28, 2011)
- Thinking like an OWL reasoner (Sep 17, 2011)
- RFH (Resources for Health): HL7 version 3 taken to the next step (Aug 18, 2011)
- What's so great about the HL7 organization? (Aug 04, 2011)
- Kerndossier: een Nederlandse versie van CCD (Dutch, May 03, 2011)
- A HL7 RIMBAA update (Apr 21, 2011)
- Timezone Hotel (Mar 29, 2011)
- HL7 and openEHR are cooperating (finally) (Jan 21, 2011)
- Increasing demand for IHE training courses (Dec 18, 2010)
- Context issues with the IHE QED profile (Dec 15, 2010)
- The changing role of HL7 country organizations (Jul 16, 2010)
- Implementing HL7 version 3 - the book (May 06, 2010)
- Adding openness to a closed world (Feb 09, 2010)
- How to lower the hurdle for HL7 v3 implementers (Jan 21, 2010)
- HL7 v3 deployment statistics (Dec 17, 2009)
- There's Trouble in Paradigm (Sep 25, 2009)
- Internationalization of HL7 (Sep 24, 2009)
- HL7 UK signs deal with Ringholm to deliver HL7 v2/v3 training courses in London (Sep 17, 2009)
- The use of HL7 in South Africa (Aug 20, 2009)
- The Next Web Conference in Amsterdam (Apr 17, 2009)
- The HL7 UK AGM and RIMBAA (Apr 16, 2009)
- The HL7 Wiki reaches 2000 pages (Mar 02, 2009)
- The HL7 roadmap for CDA R3 and the CCD (Jan 17, 2009)
- HL7 Affiliates Meeting in Orlando (Jan 11, 2009)
- Swiss and Dutch HL7 News (Dec 31, 2008)
- Devices and Prizes (Nov 22, 2008)
- HL7 in Norway: a situation report (Sep 02, 2008)
- Russian whitepaper (Jul 09, 2008)
- The HL7 Interoperability Conference - IHIC 2008 (May 30, 2008)
- HL7 creates a RIM Based Application Architecture (RIMBAA) group (May 18, 2008)
- Notes from the HL7 WGM in Phoenix (May 08, 2008)
- Germany embraces CDA eReferral document specification (May 02, 2008)
- HL7 v3 RIM based applications: an unintended side effect (Jan 19, 2008)
- Collaborative Tools (Jun 21, 2007)
- HL7 ist Pflicht in der deutschen Telematikinfrastruktur (German, Mar 16, 2007)
- HL7 based Tree inventory system (Jan 30, 2007)
- The link between HL7 and Open Source Software (Jan 06, 2007)
- Workflow Bribery (Sep 15, 2006)
- Timezones in HL7 (Jan 23, 2004)
- Controlled vocabularies: "@*%!!!" ? (Sep 01, 2003)
- Trusting the other Party (Nov 01, 2002)
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 is the Tutor-in-chief of Ringholm.