Several versions of the HL7 message sets have been released by the Standards Collaborative folks, and although the existing implementations (PEI and Newfoundland) have only been targeting single, specific versions of the message sets, it’s only a matter of time before multi-version support is necessary.
The following versions of the Standards Collaborative deliverables are in use:
- R02.03.00 (MR 2009 draft)
- R02.04.00 (MR 2009 final)
When a message is received for processing, one must determine the version of the spec that the message conforms to. Very recent conversation in the Standards Collaborative community has focused on how that determination is made.
Certainly, a standard part of the message transport wrapper is an XML element called “versionCode” — this refers to the version of the HL7 standard itself, not the version of the Canada Health Infoway / Standards Collaborative message standards. This version code typically looks like this:
<?xml version="1.0" encoding="UTF-8"?> <PRPM_IN306010CA xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" ITSVersion="XML_1.0"> <id extension="293844" root="18.104.22.168622.214.171.124.1.2"/> <creationTime value="20080625141610"/> <responseModeCode code="I"/> <versionCode code="V3-2007-05"/> ...
To indicate which version of the Standards Collaborative message sets are being used, the profileId is used, instead. In releases V02R02 and lower, the messages can support a single profileId; in V02R03 and above, multiple profileIds are allowed so that one can say, for example, my message is compliant with Newfoundland’s CeRx V01R04.3 and Alberta’s CeRx V01R04.3.
At the time of this writing, the following versions are supported by existing HL7 deployments:
|Newfoundland||CeRx – V01R04.3
CR / PR / other – V02R02