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

Home

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:

  • web-based publication
  • web-based editing
  • structural enhancement
  • completeness
  • change in technical terminology

The following statements and declarations can be made. The most current version can be seen at: http://www.hl7.eu/refactored/

Web-based Publication

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

Web-based Editing

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.

Completeness

An important topic is to include different separate specifications like HL7 v2.xml and HTTP so that everything is available in a single location.

Structural Enhancement

In combination with the previous topic a refactoring should take place that restructures the content:

  • technology (encoding, transport)
  • domain information (chapters)
  • conformance
  • implementation guides and profiles

Change in Technical Terminology

The most important topic is to align the technical terminology that is used to write and publish the specification, namely:

  • optionality / usage
  • repetitions / cardinality

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.

For Fields

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.

For Message Structures

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.

Implement

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.

Problems with v2

v2.x is difficult with regard to

  • Maintainance
    • Consistency across chapters is challenging to achieve (due to presentation, content, and style)
    • using Word as a text processing software
      • auto-correction
      • language-dependent styles
    • Generating PDFs
    • Variations in level of activity across chapters, yet impacting others
      • Modular updates that isolate the change and minimize publication scope
    • Inconsistent change tracking / request proposal
  • Access
    • Finding editors to perform the necessary updates
  • Processing
    • Inability to easily/consistently create implementation guides
    • Inability to easily/consistently generate and integrate with testing tools
  • Actuality
    • Long time line between versions
    • Dependencies across chapters requiring everything to move together rather than targeted components individually

Status

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:

Status

The details are either explained in a general way, or specific for v2+.

V2+ FHIR-alike Definition

This (FHIR) Implementation Guide represents v2+ using the FHIR Type Definition Framework as far as possible.

V2+ Elements

V2+ Data Types (Examples)