Binding Syntax
Binding Syntax
This project is a joint effort between Implementation and Conformance and vocabulary.
Scope
Define the expression of the vocabulary constraints in implementation guides. Define the expression of the Value Set Assertion, a Model Binding, a Context Binding, and a Context Domain constraint. Information expressed in the syntax should be isomorphic to the normative definition of the data items comprising vocabulary constraints in Core Principles and the MIF ballots.
Requirements
- model binding to a single code or Value Set Assertion
- context binding to a Value Set Assertion
- dynamic/static stability
- identification of MIN/MAX/IGNORE value sets in Value Set Assertion
- identification of Coding Strength in the Value Set Assertion
- constraining of a Concept Domain to a sub-Domain
- publication of value set expansions (appendix)
A Model Binding is the direct association of a coded attribute or data type property to a specific Value Set Assertion or specific single fixed code from a coding system.
A Context Binding is the association between a Concept Domain, a Binding Realm, and one or more Value Set Assertions, along with effective timestamps and a sequence (if more than one Value Set Assertion is defined). The specific items that are included in a Context Binding are:
- Context Domain or sub-Domain (required)
- Binding Realm (required)
- Value Set Assertion (required)
- effective date (optional)
- end date (optional)
- sequence (optional)
The last four items may be repeated as a group.
A Value Set Assertion is the mechanism to express the coded vocabulary constraint in a binding. A Value Aet Assertion has at least one required value set declared - the MAX; this is mandatory. A Value Set Assertion has two optional Value Sets that may be declared, the MIN and IGNORED. For more information about the MAX, MIN, and IGNORED value sets in a Value Set Assertion, and how mathematical set operations may be used to understand how these provide a localizable, extensible, yet controllable constraint, see the discussion in Core Principles of V3 Models, chapter 5. The value set must be declared using a unique identifier, preferably the OID of the value set. Each value set identified in a Value Set Assertion must have an associated Coding Strength declared. The entire Value Set Assertion has an optional Stability level declared; if not declared, the stability is Dynamic. If declared, the stability is Static, and the effective timestamp is that which is declared in the Value Set Assertion stability.
A Value Set Assertion is expressed using the following ten (10) elements:
- MAX Value Set OID and/or name (mandatory)
- MAX Value Set version date/time (optional)
- MAX Value Set Coding Strength (CNE or CWE – mandatory)
- MIN Value Set OID and/or name (optional)
- MIN Value Set version date/time (optional)
- MIN Value Set Coding Strength (CNE or CWE – conditional)
- IGNORED Value Set OID and/or name (optional)
- IGNORED Value Set version date/time (optional)
- IGNORED Value Set Coding Strength (CNE or CWE – conditional)
- STABILITY StaticDate (optional)
Keywords
The keywords SHALL, SHOULD, MAY, NEED NOT, SHOULD NOT, and SHALL NOT in this document are to be interpreted as described in the HL7 Version 3 Publishing Facilitator's Guide. The keyword "SHALL" implies a lower cardinality of 1 but does not disallow NULL values. If NULL values are to be excluded, it will be via an additional explicit conformance statement.
BNF grammar
BindingSyntax := "A" <elementName> ["SHALL" | "SHOULD" | "MAY" ] "be present where the value of" <elementName> "is" [ <ValueSet> | <CodeX> ] "."
<ValueSet> := "selected from Value Set" <valueSetOID> <localValueSetName> [ "DYNAMIC" | "STATIC"] (valueSetEffectiveDate) "."
<CodeX> := [ <displayName> ] <codeSystemOID> [ <codeSystemName> ] "STATIC".
Examples
Model Binding: CONF-ex1: A code element SHALL be present where the value of @code is selected from Value Set 2.16.840.1.113883.19.3 LoincDocumentTypeCode DYNAMIC.
CONF-ex2: A code element SHALL be present where the value of @code is 34133-9 Summarization of episode note 2.16.840.1.113883.6.1 LOINC STATIC.
Context Binding:
Context Domain Constraining to a Context sub-Domain:
Open Issues
- conditions (true/false)
- combined constraints: to be concatenated via "and" (must be reflected in BNF grammar)
- current grammar is not the current state of binding in HL7 v3 models; current state uses Value Set Assertion for binding
- Value Set Assertions are defined in the Implementation Guides
- Value Sets may be identified by OID or name