This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Binding Syntax

From HL7Wiki
Revision as of 14:00, 13 September 2010 by Frankoemig (talk | contribs)
Jump to navigation Jump to search

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)