Talk:Value Set binding
Versions and Value Set Binding
Harold Solbrig (excerpt from 2/18/2009 e-mail): alue set definition versions (note the word definition, in contrast with the set itself) should not be considered a component of the binding equation. If it is found that they become such, we need to back off and say that value set definition identity is the set. Some of the documentation below may be unnecessarily complex because this component has been factored in.
Jobst Landgrebe (2/19/2009 e-mail response to Harold Solbrig): Do you mean that the binding is agnostic of the version because it takes the value set definition "as is" upon binding? If yes, I agree and we should try to simplify the binding section based on this idea. However, I do not know whether I will have the time to do this in this cycle ... for now, I will keep your idea in the document as a comment.
Ted Klein (2/19/2009 e-mail response to Jobst): Bindings also have an optional 'Version' identifier. This is *NOT* the "version" of the value set definition or expansion! This is used when performing the resolution of the value set definition to properly access the correct version of the code systems involved, and the particular expression of the definition (if it has changed over time). The version identifier of the value set definition is merely a state label to differentiate a definition from a modified definition.
--Hsolbrig 16:20, 19 February 2009 (UTC) This is the very complexity that I had been hoping to avoid. Perhaps this is just an issue of semantics? I would argue that there is nothing that can be said about a value set if you don't know its definition. There are no rules about how little or much a value set definition can change before it is considered a new value set definition, and I don't believe that it would be fruitful to try to make such rules. This means, however, that any meaningful discussion about a value set definition must include the version, which is another way of saying that the identity of a value set definition changes whenever the definition changes. Whether we choose to label two definitions as "VSD A" and "VSD B" or "VSD A R1" and "VSD A R2" is immaterial.
What does matter is what code system versions are used whenever one of these definitions is resolved. By resolved, I mean whenever (a) the definition is used to produce a partial or complete list of valid values (== permissible value + concept identifier) or (b) the definition is used to valid a possible value for an instance of the associated attribute. In either of these cases, we need to record the combination of the value set definition and code system version(s) that were used to answer the question. We could assign this its own identifier, but I wonder whether this might be overkill, as the typical answer would be one value set definition name and one code system version identifier.