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

Code Conformance Discussion

From HL7Wiki
Revision as of 21:04, 11 January 2009 by Tklein (talk | contribs)
Jump to navigation Jump to search

"Code Conformance" is related to the issues and implications for declaring whether all the codes in model bound Value Sets for either data types or attributes in static models are considered to be required or optional. The issue is primarily whether all the codes defined in the value set must be supported in all implementations and in further constrained models. To do this, a value set may need to be defined as containing required codes. For realms, this is particularly important for codes supporting data type properties. For attributes, a coding strength of CNE only indicates that codes in an instance must be present in the value set bound to the attribute, but doesn't indicate that all codes must be supported.

  • For example: If when we bind country codes at the UV level to a value set that says all codes are "required" (i.e. all implementations must support all codes to be conformant), then realm-specific constraints aren't possible. If on the other hand we bind a value set at the UV codes where the codes are optional, then we can constrain in realm bindings to a smaller set of codes, or declare some or all of them required at the realm level.
  • Issues are related to:
    • Are there any constraints on who can declare a value set to be "required"? Only UV or Affiliates?
    • How would a value set definition that has required codes be expressed? A "Conformance" property with Required or Optional values, with Optional being the default?
    • Alternatively, it may be possible to indicate the expectation that all codes in a bound value set are "required" or "optional" if the value set definition itself does not have such a property, although it might be onerous to have to specify in all static model definitions. How would this alternative "conformance" expectation be expressed?
    • How would a conformance statement identify that only a sub-set of the value set codes are supported? A separately registered value set bound to the static model instead of the parent binding?


There rae currently two proposals to address these concerns: 1. A binding must have a characteristic indicating if the binding must be exact, or is constrainable for conformance. IF the binding must be exact, this indicates that all of the codes in the value set, and no codes that are not in the value set, comprise the conformance set; ie no conformance statement may be asserted by any Binding Realm that is different from the specified value set. If constrainable, that means that any conformance statement that a Realm asserts on a UV binding where the value set specified has every concept in its expansion is also a member of the expansion of the value set identified in the UV constraint would be a legal and valid conformance statement. This would permit UV constraints to be developed that are large enough to encompass all value sets needed by the international community, but where any particular Realm may constrain to a proper subset of those.

2. The binding statement asserts two bindings. The first is mandatory, and is a MAX binding, where no concept may be sent that is not in the MAX value set. The second binding is optional, and is a MIN value set, where a conformance statement cannot be written for a value set that does not expand to contain all concepts contained within this minimum. If the MIN value set it not specified, it would mean that a value set of arbitrary restriction on the MAX could still be used for conformance statements (it would reduce to the case in (1) above)