v2+ Details
0.3.2 - Working Draft to present the concept ideas (FO)
v2+ Details - Local Development build (v0.3.2). See the Directory of published versions
Official URL: https://hl7.eu/v2plus/ImplementationGuide/hl7v2plus.v2.uv.v2plus | Version: 0.3.2 | |||
Draft as of 2023-10-23 | Computable Name: HL7v2v2plusConcept |
HL7 v2+ should realize the next step in the evolution of HL7 v2.x. The v2+ project references different topics that are subsumed:
The following statements and declarations can be made. The most current version can be seen at: http://www.hl7.eu/refactored/
HL7 v2.x is available in HTML form for 20 years now. It is available on the members site and here:
http://www.hl7.eu/HL7v2x/hl7.htm
During the IHIC conference in Reading, UK, in 2001 a proposal and live demonstration has been made to show how web-based editing may work. This proposal has been rejected in favor of HL7 Version 3. We all know the history.
Today, this software is lost. Furthermore, we need to investigate in fulfilling new requirements that should be discussed in this group and which are brought forward already. One approach could be to make v2+ FHIR aware or at least alike.
An important topic is to include different separate specifications like HL7 v2.xml and HTTP so that everything is available in a single location.
In combination with the previous topic a refactoring should take place that restructures the content:
The most important topic is to align the technical terminology that is used to write and publish the specification, namely:
Some terms like “R” and “RE” are still under discussion. And for “RE” the difference to “O” is unclear. Therefore the following changes are intended:
Optionality/usage resp. the corresponding Abstract Message Syntax (AMS) constructs are replaced by an “implement” flag, that allows for the following values: “SHALL”, “SHALL NOT”, “MAY”, “MAY NOT” and “empty” which is equal to “MAY”. “empty” is the default and can be constrained to either “SHALL” or “SHALL NOT”, but once constrained cannot be changed any more in derived profiles / specialisations.
Repetitions resp. the corresponding AMS constructs are replaced by cardinality. Here the following constraints are intended: “min..max”, where min starts with “0” and max=”*”. min is increased, max is decreased until they are equal.
On field level the optionality constructs are translated according to the following table:
optionality | repetition | => | implement | cardinality | comment |
---|---|---|---|---|---|
R | SHALL | min = 1 | |||
RE | SHALL | min = 0 | |||
O | MAY (default) | fully open | |||
X | SHALL NOT | min = 0, max = 0 | |||
B | MAY NOT | represented as a comment | |||
W | MAY NOT | represented as a comment | |||
C(a/b) | MAY | that depends on the evaluation of “a” and “b”, but can be translated into must-support and cardinality | |||
n | max = n | ||||
* | max = * | Combinations are combined accordingly. |
Similarly, the same applies for the markup that is used in message structure definitions with the AMS:
AMS | Comment | => | Implement | Cardinality |
---|---|---|---|---|
[ { xxx } ] | 0 .. * | |||
[ xxx ] | 0 .. 1 | |||
{ xxx } | 1 .. * | |||
xxx | No parenthesis | SHALL | 1 .. 1 | |
xxx | marked as withdrawn | SHALL NOT | 0 .. 0 |
Angle parenthesis are used to introduce groups of segments. With the new representation the coice out of several is easier to visualize.
An important point is the definition of “Implement”, aka “must-support”. Even if the intend is to come as close as possible to use the same technical terminology like with FHIR, some definitions must be slightly different. FHIR does not provide any base requirements. This is left for profiles that also individually declares what “implement” means. For v2+, the definition for implement is equal to the previous definition of “RE”.
The occurence of data within an instance is controlled by minimum cardinality.
v2.x is difficult with regard to
Migrating the old, possibly out-dated way of writing a standard, esp. v2.x, to a new representation and management form touches different aspects. The following drawing lists them with an indication how far agreement is reached:
The details are either explained in a general way, or specific for v2+.
This (FHIR) Implementation Guide represents v2+ using the FHIR Type Definition Framework as far as possible.
V2+ Elements |
V2+ Data Types (Examples) |