Binding Syntax
Binding Syntax
This project is a joint effort between Implementation and Conformance and vocabulary.
Scope
Define a way on how to formulate vocabulary constraints when writing implementation guides.
Requirements
- dynamic/static binding
- value sets (+ release dates)
- allow for a separation of general statements and a realm specific binding
- separation of vocabulary domain (body) and value sets (appendix)
- restrict to single codes – if necessary
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
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.
Open Issues
- conditions (true/false)
- combined constraints: to be concatenated via "and" (must be reflected in BNF grammar)