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

Difference between revisions of "Binding Syntax"

From HL7Wiki
Jump to navigation Jump to search
Line 51: Line 51:
  
  
=Prior Material=
+
=[http://wiki.hl7.org/index.php?title=Prior_Binding_Syntax_Work Prior Binding Syntax Materia Page]=
==Requirements==
 
*model binding to a single code or one or more Value Set Assertions
 
*context binding to one or more Value Set Assertions
 
*dynamic/static stability
 
*identification of MIN/MAX/IGNORE value sets in each Value Set Assertion
 
*identification of Coding Strength for each Value Set in each Value Set Assertion
 
*constraint 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 one or more specific Value Set Assertions or specific single fixed code from a coding system.  It thus has the components:
 
*Value Set Assertion or Single Code (required)
 
*Intensity (optional)
 
*sequence (optional)
 
 
 
These requirements have been updated to match the latest version of the Core Principles and Properties of HL7 Version 3 Models
 
document.
 
 
 
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 (required)
 
*end date (optional)
 
*Intensity (optional)
 
*sequence (optional)
 
 
 
The last five 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 Set 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)
 
 
 
Note that Model Binding is generally specified in Implementation Guides, whereas Context Binding is generally published separately by a Realm (since a Context Binding is valid across all models in the Realm that make use of the bound Context Domain).  However, context binding to the Example Realm is common in Implementation Guides.  Note also that Model Binding cannot be used for advisory bindings; Context Binding to Example Realm should be used for those, or information should be placed into the 'Terminology Guidance' section of the Vocabulary Declaration of a coded model element for such advisory information.
 
 
 
==Scenarios==
 
As of the February 10, 2015 call we determined that we will begin to assemble scenarios which will be documented here.
 
 
 
==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.
 
 
 
==EBNF grammar==
 
<code><big>
 
 
 
<b>ModelBindingSyntax</b> =
 
ModelBindingSyntaxValueSetAssertion | ModelBindingSyntaxFixedCodeAssertion
 
 
 
<b>ModelBindingSyntaxValueSetAssertion</b> =
 
: "<span style="color:blue">When not null, the content of this element " </span> @bindingIntensity " <span style="color:blue">comply with one of the following Value Set Assertions, " </span> @effectiveDateInfo <span style="color:blue">" listed in order of preference:</span>" @valueSetAssertion+ <span style="color:blue"> " sequenced " </span>@bindingPriority"." EOL
 
 
 
<b>ModelBindingSyntaxFixedCodeAssertion</b> =
 
: "<span style="color:blue">When not null, the content of this element " </span> @bindingIntensity @fixedCodeAssertion @effectiveDateInfo "." EOL
 
 
 
<b>ContextBindingSyntax</b> =
 
:"<span style="color:blue">When not null, content for all coded model elements and datatype properties with a Vocabulary Declaration of Concept Domain </span>" @conceptDomain "<span style="color:blue">with a binding realm context of</span>" @bindingRealmName @bindingIntensity " <span style="color:blue">comply with one of the following Value Set Assertions, " </span> @effectiveDateInfo <span style="color:blue">" listed in order of preference:</span>" @ContextBinding+ <span style="color:blue"> " sequenced " </span>@bindingPriority"." EOL
 
:<i>(* Sorted by @bindingPriority *)</i>
 
 
 
<b>conceptDomain</b> = "string"
 
 
 
<b>bindingRealmName</b> = "string"
 
 
 
<b>effectiveDateInfo</b> =
 
:( (<span style="color:blue">" effective "</span> @effectiveDate ) | (<span style="color:blue"> " effective " </span> @effectiveDate <span style="color:blue"> " through " </span> @endDate) )
 
 
 
<b>bindingPriority</b> =
 
:@bindingPriority [1-9][0-9]*
 
 
 
<b>FixedCodeAssertion</b> =
 
:"<span style="color:blue">be fixed to the code</span>" Code CodeSystem "<span style="color:blue">.</span>"
 
 
 
<b>Code</b> =
 
:@code [ "<span style="color:blue">(</span>" @codePrintName "<span style="color:blue">)</span>" ]
 
 
 
<b>CodeSystem</b> =
 
:"<span style="color:blue">from the code system having the OID</span>" @codeSystem [ "<span style="color:blue">(</span>" @codeSystemName "<span style="color:blue">)</span>" ]
 
 
 
<b>CodePrintName</b> =
 
:@codePrintName["string"]
 
 
 
<b>ContextBinding</b> =
 
:EOL @effectiveDateInfo
 
:"<span style="color:blue">,</span>" @valueSetAssertion
 
 
 
<b>BindingIntensity</b> =
 
:"<span style="color:blue"> MAY "</span> | <span style="color:blue">" SHOULD "</span> | <span style="color:blue">" SHALL </span>"
 
:<i>(* Use of 'SHALL' means that failure to observe the constraints expressed in the Value Set Assertion(s) will be judged non-conformant *)</i>
 
:<i>(* Use of 'SHOULD' means that applications are expected to obey the constraints expressed in the Value Set Assertion(s), but failure to do so will not be judged non-conformant *)</i>
 
:<i>(* Use of 'MAY' means that the constraints expressed in the Value Set Assertion(s) should be considered a helpful suggestion but no conformance expectations are being asserted. *)</i>
 
 
 
<b>ValueSetAssertion</b> =
 
:MaxValueSet [ MinValueSet ] [ IgnoreValueSet ] [ StaticDate ]
 
:<i>(* MinValueSet and IgnoreValueSet appear if the minimumValueSet or ignoreValueSet, respectively, are defined in the value set assertion *)</i>
 
 
 
<b>MaxValueSet</b> =
 
:EOL <span style="color:blue">" - "</span> @ValueSet
 
:( "<span style="color:blue">if an appropriate code exists within that expansion, otherwise a local code or original text SHALL be used,</span>" | "<span style="color:blue">,</span>" )
 
:<i>(* ValueSet is taken from element maximumValueSet.  First option is used if @codingStrength is CNE, second iS CWE *)</i>
 
 
 
<b>MinValueSet</b> =
 
:"<span style="color:blue">In addition, all applications SHALL at a minimum support</span>" ValueSet "<span style="color:blue">.</span>"
 
:[ "<span style="color:blue">  As well, SHALL must support all local codes and originalText.</span>" ]
 
:<i>(* ValueSet is taken from element minimumValueSet.  Last clause used if @codingStrength is CWE *)</i>
 
 
 
<b>IgnoreValueSet</b> =
 
:"<span style="color:blue">When receiving, all applications SHALL ignore - not process or raise an error when receiving - </span>" ValueSet
 
:( "<span style="color:blue">as well as all local codes and original text.</span>" | "<span style="color:blue">.</span>" )
 
:<i>(* ValueSet is taken from element ignoredValueSet.  First option is used if @codingStrength is CWE, second if CNE *)</i>
 
 
 
<b>StaticDate</b> =
 
:"<span style="color:blue">All of the above expansions SHALL be resolved based on the </span>",
 
:( "<span style="color:blue">date </span>" @staticBindingDate "<span style="color:blue">.</span>" | "<span style="color:blue">date of processing.</span>" )
 
:<i>(* First option is used if @staticBindingDate is present, otherwise use second option *)</i>
 
 
 
<b>ValueSet</b> =
 
:"<span style="color:blue">the set of codes in the expansion of Value Set</span>"
 
:[ ValueSetName ] [ ValueSetId ] [ ValueSetDef ] [ <ValueSetVersion> ]
 
:<i>(* At least one of ValueSetName, ValueSetId and ValueSetDef must be present *)</i>
 
 
 
<b>ValueSetName</b> =
 
:"<span style="color:blue"> </span>" @name
 
 
 
<b>ValueSetId</b> =
 
:"<span style="color:blue">with the identifier</span>" @id
 
 
 
<b>ValueSetDef</b> =
 
:"<span style="color:blue">containing all codes descended from root code</span>" @rootCode
 
:( "<span style="color:blue"> including</span>" | "<span style="color:blue"> excluding</span>" ) "<span style="color:blue">that root code</span>"
 
:<i>(* Use the first option when @includeRoot is true, second option otherwise *)</i>
 
:<i>(* NOTE: This style is restricted to use only when dealing with the ActClass, EntityClass, RoleClass, ActMood, EntityDeterminer, ActRelationshipType, ParticipationType and RoleLink classCodes.  For these the code system is fixed and can be inferred.  There is no ability to constrain the code system version. *)</i>
 
</big></code>
 
 
 
<code><big>
 
<b>ValueSetVersion</b> =
 
: @ValueSetVersionStatic | @ValueSetVersionDynamic
 
 
 
<b>ValueSetVersionStatic</b> =
 
:"<span style="color:blue"> using the version defined on </span>" @staticDate [ "<span style="color:blue">at </span>" @staticTime ]
 
 
 
<b>ValueSetVersionDynamic</b> =
 
: "the most recent version of the value set available at the time of processing"
 
</big></code>
 
 
 
'''Note''': ''EOL'' Represents an end of line as appropriate to the rendering technology (so &#60;br>, CR, CR/LF, etc.)
 
 
 
'''Note''': all dates should be formatted as "yyyy-mm-dd".
 
'''Note''': value set ID should be formatted in Object Identifier (OID).
 
 
 
===Issue===
 
The MIF representation of value set binding has (and has had for a while) the idea of "revision frequency" as a characteristic of the binding assertion.  It appears at the same level as the static binding date.  The definition is as follows:
 
 
 
<b>revisionFrequency</b> "Indicates how often applications are expected to update their codes to reflect changes to the value-set associated with the attribute"
 
 
 
Allowed values are:
 
 
 
<i>Edition</i>: The value set associated with the domain is 'frozen' at the set of codes available at the time the Edition referenced by the interaction was published.  I.e. The codes which were published by HL7 as part of the edition for 'internal' code systems and the codes which were available in external code systems at the time the edition was published
 
 
 
<i>CodeSystem</i>: The value set bound to concept domain changes with the underlying code system.  Applications are expected to support codes from the current version of the code system, regardless of declared edition.
 
 
 
====Background====
 
This element has been available for model bindings since MIF 2.0.0 in May, 2006.  It was added with the intention of being used by implementation guides and conformance profiles.  It has never been used in HL7 International models because the tools don't support capturing it.  To the best of my knowledge, it has not been used in implementation guides or profiles to date yet either.  The objective is, for value set assertions that are not staticly bound (i.e. that do not have a static binding date), to indicate how often implementers are supposed to keep up with changes to the value set expansion.  One possibility is they only compute a new expansion for each "release" of the underlying specification and they use the expansion for the release communicated in the version attribute of the instance.  For example, if they receive an instance declaring that a version of "NE2007", then they use the value set expansion for that release date.  They don't have to track intervening changes in the code systems.  The other possibility is they need to keep current as the code systems change.  Whenever anything the value set depends on gets updated, implementers are expected to compute a new expansion and validate based on that "current" expansion.
 
 
 
====Decision Alternatives====
 
The Vocabulary Work Group needs to do one of three things:
 
- Request that this concept be deprecated or removed from the MIF
 
- Add the concept into Core Principles and into this binding syntax specification
 
- Request modifications to this concept as represented in the MIF and then incorporate the revised content into Core Principles and into this binding syntax specification
 
 
 
====Discussion====
 
The challenge with expectations for "keeping up to date" with a vocabulary are not just dependent on the bound vocabulary, but also on what the application is doing.  For example, the vocabulary for drug codes might change bi-weekly.  For a prescribing or dispensing application, a revision frequency of bi-weekly might also be an expectation.  However, for a research application doing retrospective analysis, a frequency of yearly might be perfectly fine.
 
 
 
====Recommendation====
 
Capture guidance around revision frequency in the "Vocabulary Guidance" annotation, but not as part of the binding syntax.  This attribute should be deprecated from the MIF.
 
 
 
==Examples==
 
 
 
<b>Model Binding:
 
 
 
CNE</b>
 
 
 
When not null, the content of this element SHALL comply with one of the following Value Set Assertions, effective 2012-09-13, listed in order of preference:
 
- the set of codes in the expansion of Value Set 2.16.840.1.114222.4.11.3595 NHSNPopulationSummaryReportTypeCode, sequenced as 1
 
 
 
<b>CWE</b>
 
 
 
When not null, the content of this element SHOULD comply with one of the following Value Set Assertions, effective 2012-09-13, listed in order of preference:
 
- the set of codes in the expansion of Value Set 2.16.840.1.114222.4.11.3595 NHSNPopulationSummaryReportTypeCode if an appropriate code exists within that expansion, otherwise a local code or original text SHALL be used, sequenced as 1
 
 
 
<b>Single Code Binding:</b>
 
 
 
When not null, the content of this element SHALL be fixed to the code 138875005 from the code system having the OID 2.16.840.1.113883.6.96 effective 2012-09-13.
 
 
 
<b>Context Binding:
 
 
 
(default)</b>
 
 
 
When not null, content for all coded model elements and datatype properties with a Vocabulary Declaration of Concept Domain MyConceptDomain with a binding realm context of Genovia SHALL comply with one of the following Value Set Assertions, effective 2012-09-13 listed in order of preference:
 
- the set of codes in the expansion of Value Set 2.16.840.1.114222.4.11.3595 NHSNPopulationSummaryReportTypeCode, sequenced 1
 
 
 
<b>STATIC</b>
 
 
 
When not null, content for all coded model elements and datatype properties with a Vocabulary Declaration of Concept Domain MyConceptDomain with a binding realm context of Genovia SHALL comply with one of the following Value Set Assertions, effective 2012-09-13 listed in order of preference:
 
- the set of codes in the expansion of Value Set 2.16.840.1.114222.4.11.3595 NHSNPopulationSummaryReportTypeCode using the version defined on 2012-09-13, sequenced 1
 
 
 
 
 
<b>NOTE: the examples below have not yet been updated to reflect the newly proposed EBNF syntax</b>
 
 
 
--[[User:Tklein|Tklein]] 02:22, 14 September 2010 (UTC)I'm thinking a model binding to a set of codes will look more like this:
 
 
 
A code element SHALL be present where the value of @code is asserted by MAX Value Set 2.16.840.1.113883.19.3 LoincDocumentTypeCode 20100422 CWE, MIN Value Set 2.16.840.1.113883.19.6 MinimumDocumentTypeCode CNE with stability 20101015
 
 
 
The following are older examples that use the former syntax which fails to support the current binding characteristics:
 
 
 
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.
 
 
 
A restatement of these under the proposed syntax might look like:
 
 
 
1.  When not NULL, the content of this element be drawn from the set of codes in the expansion of Value Set "LoincDocumentTypeCode" with the identifier 2.16.840.1.113883.19.3 if an appropriate code exists within that expansion, otherwise a local code or original text MAY be used.
 
 
 
2.  {A coded element} SHALL be present where the value of @code be fixed to the code 34133-9 "Summarization of episode note" from the code system having the OID 2.16.840.1.113883.6.1 "LOINC" using the version of the code system as published on 20110415.
 
 
 
--[[User:TedKlein|TedKlein]] 14:53, 28 July 2011 (UTC)We need some further examples showing the full Value Set Assertion with all three components.  Something like:
 
 
 
When not NULL, the content of this element shall be drawn from the set of codes in the expansion of Value Set "AcknowledgementDetailType" with the identifier 2.16.840.1.113883.1.11.19358 if an appropriate code exists within that expansion, otherwise a local code or original text MAY be used.  All of the above expansions SHALL be resolved based on the date 20110311 effective 20110601
 
 
 
 
 
--[[User:Tklein|Tklein]] 02:22, 14 September 2010 (UTC)And a context binding something like this:
 
 
 
Context Binding:
 
 
 
When not null, content for all coded model elements and datatype properties with a Vocabulary Declaration of Concept Domain "ActDetectedIssueType" with a binding realm context of "R1" SHALL comply with one of the following Value Set Assertions, respecting the identified date ranges and listed in order of preference:
 
On or following 20100701 but prior to 20110615 be drawn from the set of codes in the expansion of Value Set "ActDetectedIssueCode" with the identifier 2.16.840.1.113883.1.11.19572 if an appropriate code exists within that expansion, otherwise a local code or original text MAY be used.  On or following 20110616 be drawn from the set of codes in the expansion of Value Set "ActIssueCode" with the identifier 2.16.840.1.113883.1.11.20357 if an appropriate code exists within that expansion, otherwise a local code or original text MAY be used.  All of the above expansions SHALL be resolved based on the date of processing.
 
 
 
Context Domain Constraining to a Context sub-Domain:  to be defined
 
 
 
Context binding to a single code:  to be defined
 
 
 
Context binding to a list of value set assertions with overlapping dates: to be defined
 
 
 
 
 
--[[User:TedKlein|TedKlein]] 14:53, 28 July 2011 (UTC)Is the sequence in the bindings implied by the sequence of prose sentences in the syntax?
 
 
 
==Translations==
 
The grammar listed above is using the English language for convenience. However, it can be assumed that localized implementation guides will be created not written English. Therefore, a translation is necessary. This could be done best by defining a country specific the grammar. The grammars defined so far are listed below.
 
 
 
 
 
===German===
 
HL7 Germany provides a detailed description in German as well, which can be found at [http://wiki.hl7.de/index.php/Vokabular-Einbindung].
 
 
 
<code><big>
 
<b>DesignTimeDynamicBindingSyntax</b> =  
 
:„Der Wert für“ CodedElement („MUSS“ | „SOLL“) „DYNAMISCH aus dem ValueSet“ (ValueSetOID | ValueSetName) „ausgewählt werden.“
 
:„Der Wert für“ CodedElement („MUSS“ | „SOLL“) „DYNAMISCH aus dem ValueSet“ (ValueSetOID | ValueSetName) [„ODER“ (ValueSetOID | ValueSetName)] „ausgewählt werden.“ EOL
 
 
 
<b>DesignTimeStaticBindingSyntax</b> =
 
:„Der Wert für“ CodedElement („MUSS“ | „SOLL“) „STATISCH aus dem ValueSet“ (valueSetOID | valueSetName) ValueSetEffectiveDate „ausgewählt werden.“
 
:„Der Wert für“ CodedElement („MUSS“ | „SOLL“) „STATISCH aus dem ValueSet“ (ValueSetOID | ValueSetName) ValueSetEffectiveDate [„ODER“ (valueSetOID | ValueSetName)] ValueSetEffectiveDate „ausgewählt werden.“ EOL
 
 
 
 
 
Reduction to a single code:
 
 
 
<b>DesignTimeStaticBindingSingleCodeSyntax</b> =
 
:„Der Wert für“ codedElement („MUSS“ | „SOLL“) „STATISCH auf“ Code [DisplayName] CodeSystemOID [CodeSystemName] (EffectiveDate] „festgelegt werden.“ EOL
 
 
 
<b>RuntimeDynamicBindingSyntax</b> =
 
:„Die VocabularyDomain für“ CodedElement „MUSS“ DomainName „sein. Das ValueSet für“ DomainName „in“ RealmName („MUSS“ | „SOLL“) „DYNAMISCH auf“ (ValueSetOID | ValueSetName) „festgelegt werden.“
 
:„Die VocabularyDomain für“ CodedElement „MUSS“ DomainName „sein. Das ValueSet für“ DomainName „in“ RealmName („MUSS“ | „SOLL“) „DYNAMISCH auf“ (ValueSetOID | ValueSetName) [„ODER“ (ValueSetOID | ValueSetName)] „festgelegt werden.“
 
 
 
<b>RuntimeStaticBindingSyntax</b> =
 
:„Die VocabularyDomain für“ CodedElement „MUSS“ DomainName „sein. Das ValueSet für“ DomainName „in" RealmName („MUSS“ | „SOLL“) „STATISCH auf“ (ValueSetOID | ValueSetName) ValueSetEffectiveDate „festgelegt werden.
 
:Die VocabularyDomain für“ CodedElement „MUSS“ DomainName „sein. Das ValueSet für“ DomainName „in“ RealmName („MUSS“ | „SOLL“) „DYNAMISCH auf“ (ValueSetOID | ValueSetName) ValueSetEffectiveDate [„ODER“ (ValueSetOID | ValueSetName)] ValueSetEffectiveDate „festgelegt werden.“
 
</big></code>
 
 
 
===French===
 
Not provided yet.
 
 
 
===Spanish===
 
Not provided yet.
 
 
 
===Portuguese===
 
Not provided yet.
 
 
 
===Japanese===
 
Not provided yet.
 
 
 
==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
 
*Must be a way to assert ad hoc constraints to implement OCL-like restrictions on the bindings
 
*finalize translations
 

Revision as of 13:45, 8 October 2015

Binding Syntax

This project is a joint effort between CGIT and Vocabulary.

Scope

Define the human readable expression of the vocabulary constraints in implementation guides (Model Bindings) and by Realms as published sets of Context Bindings. 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.

General meeting Agenda

Meeting occurs Every Other Tuesday 2p ET for 60 minutes


Mikogo session https://go.mikogo.com/?sp=&sid=368206475
If the above link does not work, you can follow these steps instead to join a session: 
1. Go to http://go.mikogo.com
2. Enter the Session ID: 368-206-475
3. Enter your name
4. Click "Join Session"

Current Working Material

Binding must specify

  1. Identify the value set and Identify the versions as prescribed by the value set to be used – IE: Which expansion is to be used? This likely means we have a “HL7 default” for any parameter not specified, and likely we support noting in guidance, not a binding parameter how a particular implementing entity can define a different default.
    1. Binding needs to specify how to allow a change in the defined expansion, IE: Preferred/example that provide an expansion that may be changed. In V3 this is similar to representative, in CDA it is similar to SHOULD, wherein the binding may be further fully constrained and then used in an implementable guide, but a completely different value set my be bound as an alternative as long as the value set meets the required scope. We will call this SUGGESTED binding.
    2. A coded data element to be bound is associated with a semantic category, such as a HL7 V3 concept domain. This association is not a binding but may provide guidance that can be used to create a binding. The scope of the value set bound MUST be consistent with the scope of the semantic category because the value set is the implementation of the semantic category. When creating a binding for a data element the binding assertion must follow the approach noted in this document.
  2. Identify behaviours of the data in the instance with respect to the values in the expansion. Through this we describe if a binding may or may not send/receive something not in the expansion determined via the process described above
    1. Restriction to only values that are within the expansion - CLOSED
      1. Sender perspective
        1. Must only send values in the expansion
      2. Receiver perspective
        1. Must receive without error values in the expansion
        2. Error for any other value
    2. Binding allows use of values that are not in the expansion - OPEN
      1. Sender perspective:
        1. Must send from expansion if idea is in the expansion
        2. May send something not in expansion if idea is not in the expansion
          1. Must Flag the instance – “OTHR” (Flavour Of Null yet is really not a null)
            1. Send a code and an identification of code system (can be local)
            2. Send text and no code
            3. Send a “reason that expansion code can not be sent” – This is a true flavour of null
      2. Receiver Perspective
        1. Must be able to identify when received code is in the expansion and not report an error
        2. Identify when a data instance contains content not in the expansion but is sent appropriately

Current project document

ATL meeting time: Thursday either Q1 or Q2

  1. Project now chaired by Rob McClure, building on work from Wendy, Ted, Frank O., Rob H. and Rob S.
  2. Current project document with minutes (latest work at the bottom) HERE

Old Minutes

2015-07-07_Binding_Minutes
2015-07-21_Binding_Minutes


Prior Binding Syntax Materia Page