A value set is a collection of codes from one or more code systems. The definition of the value set may be either an enumeration (extensional) or an expression (intentional)
Value Set
Requirement
|
Value sets must be able to be identified in a globally unique way.
|
Rationale
|
Value sets need to be explicitly referenced in static models, implementation guides and context bindings. This can only occur if they're uniquely identified with no possibility of confusion
|
Methodology
|
mif-vocabulary-model.xsd/ValueSet/@id
|
Requirement
|
Value sets must be able to be given a human-readable label
|
Rationale
|
Value sets need to be talked about and understood by human beings and globally unique identifiers aren't terribly useful for humans
|
Methodology
|
mif-vocabulary-model.xsd/ValueSet/@name
|
Requirement
|
Some value sets need to be able to be marked as "unchangable"
|
Rationale
|
With some value sets, there's an identified purpose for the value set and the definition can change over time, so long as the revised set of codes still reflects the original purpose. However, for other value sets, there is no clearly expressible purpose. There is simply an arbitrary set of codes. Anyone who wants that particular arbitrary set can reference the value set. Because the defining characteristic of the value set is the codes themselves, it is not safe for the definition of the value set to ever be revised. As well, those who reference the value set need to have confidence that it's not going to change.
|
Methodology
|
mif-vocabulary-model.xsd/ValueSet/@isImmutable
|
Requirement
|
Value sets must be able to be uniquely identified
|
Rationale
|
Value sets need to be explicitly referenced in static models, implementation guides and context bindings. This can only occur if they're uniquely identified.
|
Methodology
|
mif-vocabulary-model.xsd/ValueSet/@id
|
Requirement
|
There's a need to understand the intended purpose of a value set
|
Rationale
|
Value sets can be constructed for different reasons. When choosing a value set, it's useful to know why the value set exists. As well, the purpose of the value set can impact what codes are exposed within the value set. For example, in analysis value sets, "abstract" codes would be returned, while they would not normally be part of a value set used for exchange or as a pick-list.
|
Methodology
|
- analysis: The value set is intended to provide a list of concepts that is definitional in some way. E.g. "Symptoms of dementia".
- exchange: The value set is intended to identify an allowed set of codes that may be persisted or transmitted.
- pick-list: The value set is intended to identify a set of displayed values to be exposed to a user from which they can select one or more concepts.
|
MIF
|
mif-vocabulary-model.xsd/ValueSetVersion/@use
|
Requirement
|
Value sets need to be able to track statuses over time.
|
Rationale
|
Like other vocabulary objects, Value sets can be draft, active, deprecated or even retired. In some cases, they even get resurrected. Users need to know what the status of a concept domain is right now as well as what it was at times in the past.
|
MIF
|
mif-vocabulary-model.xsd/ValueSet/statusInfo
|
Value Set Version
Requirement
|
Value sets must support multiple versions over time
|
Rationale
|
The content of many value sets needs to change over time. Perhaps codes need to be added or removed from an enumeration, or perhaps an expression needs to be tweaked based on changes to one of the referenced code systems
|
MIF
|
mif-vocabulary-model.xsd/ValueSetVersion
|
Requirement
|
Value set versions must be identifiable. Value set versions must also identify the time they were created
|
Rationale
|
When binding a value set, sometimes there's a need to bind a specific version (so there's tighter control over the specific set of codes chosen). When a specific version is not chosen, there's a need to know what version of a value set was in effect at a particular time. Usually a date suffices. However, some value sets are revised multiple times a day and therefore time may also be required
|
MIF
|
- mif-vocabulary-model.xsd/ValueSetVersion/@versionDate
- mif-vocabulary-model.xsd/ValueSetVersion/@versionTime
|