This
page
is
part
of
the
FHIR
Specification
(v3.3.0:
(v3.5.0:
R4
Ballot
2).
#2).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
Vocabulary
Work
Group
|
Maturity Level : N/A | Ballot Status : Informative | Compartments : Not linked to any defined compartments |
R2
:
R3
:
R4
Conversion
maps
for
ValueSet.
Functional
status
for
this
map:
11
8
tests
that
all
of
which
1
fail
to
execute
ok.
.
5
7
fail
round-trip
testing
and
4
7
r3
resources
are
invalid
(4
(0
errors).
(
see
documentation)
map "http://hl7.org/fhir/StructureMap/ValueSet2to3" = "R2 to R3 Conversions for ValueSet"map "http://hl7.org/fhir/StructureMap/ValueSet3to4" = "R3 to R4 Conversions for ValueSet"uses "http://hl7.org/fhir/DSTU2/StructureDefinition/ValueSet" alias ValueSetR2 as source uses "http://hl7.org/fhir/StructureDefinition/ValueSet" alias ValueSet as targetimports "http://hl7.org/fhir/StructureMap/*2to3"uses "http://hl7.org/fhir/3.0/StructureDefinition/ValueSet" alias ValueSetR3 as source uses "http://hl7.org/fhir/StructureDefinition/ValueSet" alias ValueSet as targetgroup for type+types ValueSet extends DomainResource input src : ValueSetR2 as source input tgt : ValueSet as targetimports "http://hl7.org/fhir/StructureMap/*3to4""ValueSet-url" : for src.url make tgt.url "ValueSet-identifier" : for src.identifier make tgt.identifier "ValueSet-version" : for src.version make tgt.version "ValueSet-name" : for src.name make tgt.name "ValueSet-status" : for src.status make tgt.status "ValueSet-experimental" : for src.experimental make tgt.experimental "ValueSet-publisher" : for src.publisher make tgt.publisher "ValueSet-contact" : for src.contact as vs0 make tgt.contact as vt0 then { "ContactDetail-name" : for vs0.name make vt0.name "ContactDetail-telecom" : for vs0.telecom make vt0.telecom }"ValueSet-date" : for src.date make tgt.date "ValueSet-description" : for src.description make tgt.description "ValueSet-purpose" : for src.requirements make tgt.purpose "ValueSet-copyright" : for src.copyright make tgt.copyright "ValueSet-jurisdiction" : for src.useContext where coding.system = 'urn:iso:std:iso:3166' make tgt.jurisdiction "ValueSet-useContext" : for src.useContext as vs where (coding.system = 'urn:iso:std:iso:3166').not() make tgt.useContext as uc, uc.code as ucc, ucc.system = "http://hl7.org/fhir/usage-context-type", ucc.code = "task", uc.value as vt then CodeableConcept(vs, vt) "ValueSet-immutable" : for src.immutable make tgt.immutable "ValueSet-extensible" : for src.extensible make tgt.extensible "ValueSet-codeSystem" : for src.codeSystem as vs0 make create("CodeSystem") as vt0 then codeSystem(src, tgt, vs0, vt0) "ValueSet-compose" : for src.compose as vs0 make tgt.compose as vt0 then compose(src, vs0, vt0) "ValueSet-expansion" : for src.expansion as vs0 make tgt.expansion as vt0 then expansion(vs0, vt0) endgroupgroup codeSystem extends Element input vs as source input vstgt as target input src as source input tgt as targetgroup ValueSet extends DomainResource input src : ValueSetR3 as source input tgt : ValueSet as target"CodeSystem-modifierExtension" : for src.modifierExtension make tgt.modifierExtension "CodeSystem-reference": for src.system as v make vstgt.compose as c, c.include as i, i.system = v "CodeSystem-text" : for vs.text make tgt.text "CodeSystem-url" : for src.system make tgt.url "CodeSystem-identifier" : for vs.identifier make tgt.identifier // not sure whether it's right to copy the identifier? "CodeSystem-version" : for src.version make tgt.version "CodeSystem-name" : for vs.name make tgt.name "CodeSystem-status" : for vs.status make tgt.status "CodeSystem-experimental" : for vs.experimental make tgt.experimental "CodeSystem-publisher" : for vs.publisher make tgt.publisher "CodeSystem-contact" : for vs.contact as vs0 make tgt.contact as vt0 then { "ContactDetail-name" : for vs0.name make vt0.name "ContactDetail-telecom" : for vs0.telecom make vt0.telecom"ValueSet.url" : for src.url as vs make tgt.url as vt "ValueSet.identifier" : for src.identifier as vs make tgt.identifier as vt "ValueSet.version" : for src.version as vs make tgt.version as vt "ValueSet.name" : for src.name as vs make tgt.name as vt "ValueSet.title" : for src.title as vs make tgt.title as vt "ValueSet.status" : for src.status as vs make tgt.status as vt "ValueSet.experimental" : for src.experimental as vs make tgt.experimental as vt "ValueSet.date" : for src.date as vs make tgt.date as vt "ValueSet.publisher" : for src.publisher as vs make tgt.publisher as vt "ValueSet.contact" : for src.contact as vs make tgt.contact as vt "ValueSet.description" : for src.description as vs make tgt.description as vt "ValueSet.useContext" : for src.useContext as vs make tgt.useContext as vt "ValueSet.jurisdiction" : for src.jurisdiction as vs make tgt.jurisdiction as vt "ValueSet.immutable" : for src.immutable as vs make tgt.immutable as vt "ValueSet.purpose" : for src.purpose as vs make tgt.purpose as vt "ValueSet.copyright" : for src.copyright as vs make tgt.copyright as vt "ValueSet.extensible" : for src.extensible as vs make tgt.extensible as vt "ValueSet.compose" : for src.compose as vs0 make tgt.compose as vt0 then { "ValueSet.compose.lockedDate" : for vs0.lockedDate as vs make vt0.lockedDate as vt "ValueSet.compose.inactive" : for vs0.inactive as vs make vt0.inactive as vt } "ValueSet.expansion" : for src.expansion as vs0 make tgt.expansion as vt0 then { "ValueSet.expansion.identifier" : for vs0.identifier as vs make vt0.identifier as vt "ValueSet.expansion.timestamp" : for vs0.timestamp as vs make vt0.timestamp as vt "ValueSet.expansion.total" : for vs0.total as vs make vt0.total as vt "ValueSet.expansion.offset" : for vs0.offset as vs make vt0.offset as vt }"CodeSystem-abstract" : for vs where codeSystem.descendants().abstract make tgt.property as p, p.code = 'notSelectable', p.uri = 'http://todo', p.description = 'Indicates that the code is abstract - only intended to be used as a selector for other concepts' "CodeSystem-date" : for vs.date make tgt.date "CodeSystem-description" : for vs.description make tgt.description "CodeSystem-jurisdiction" : for vs.useContext where coding.system = 'urn:iso:std:iso:3166' make tgt.jurisdiction "CodeSystem-useContext" : for vs.useContext as vs where (coding.system = 'urn:iso:std:iso:3166').not() make tgt.useContext as uc, uc.code as ucc, ucc.system = "http://hl7.org/fhir/usage-context-type", ucc.code = "task", uc.value as vt then CodeableConcept(vs, vt) "CodeSystem-purpose" : for vs.requirements make tgt.purpose "CodeSystem-copyright" : for vs.copyright make tgt.copyright "CodeSystem-valueSet" : for vs.url make tgt.valueSet "CodeSystem-caseSensitive" : for src.caseSensitive make tgt.caseSensitive "CodeSystem-content" : for src make tgt.content = 'complete' "CodeSystem-concept" : for src.concept as vs make tgt.concept as vt then csconcept(vs, vt) endgroup group csconcept extends BackboneElement input src as source input tgt as target "cs-concept-code" : for src.code make tgt.code "cs-concept-abstract" : for src.abstract as v make tgt.property as p, p.code = 'notSelectable', p.value = v "cs-concept-display" : for src.display make tgt.display "cs-concept-definition" : for src.definition make tgt.definition "cs-concept-designation" : for src.designation as vs make tgt.designation as vt then designation(vs, vt) "cs-concept-concept" : for src.concept as vs make tgt.concept as vt then csconcept(vs, vt) endgroup group compose extends BackboneElement input vs as source input src as source input tgt as target "vs-compose-ld" : for vs.lockedDate make tgt.lockedDate "vs-compose-imp" : for src.import as v make tgt.include as ti, ti.valueSet = v "vs-compose-incl" : for src.include as vs make tgt.include as vt then include(vs, vt) "vs-compose-excl" : for src.exclude as vs make tgt.exclude as vt then include(vs, vt) endgroup group include extends BackboneElement input src as source input tgt as target "vs-incl-system" : for src.system make tgt.system "vs-incl-version" : for src.version make tgt.version "vs-incl-concept" : for src.concept as vs make tgt.concept as vt then concept(vs, vt) "vs-incl-filter" : for src.filter as vs make tgt.filter as vt then filter(vs, vt) endgroup group concept extends BackboneElement input src as source input tgt as target "vs-concept-code" : for src.code make tgt.code "vs-concept-display" : for src.display make tgt.display "vs-concept-designation" : for src.designation as vs make tgt.designation as vt then designation(vs, vt) endgroup group designation extends BackboneElement input src as source input tgt as target "vs-designation-language" : for src.language make tgt.language "vs-designation-use" : for src.use make tgt.use "vs-designation-value" : for src.value make tgt.value endgroup group filter extends BackboneElement input src as source input tgt as target "vs-filter-property" : for src.property make tgt.property "vs-filter-op" : for src.op make tgt.op "vs-filter-value" : for src.value make tgt.value endgroup group expansion extends BackboneElement input src as source input tgt as target "ValueSet.expansion-identifier" : for src.identifier make tgt.identifier "ValueSet.expansion-timestamp" : for src.timestamp make tgt.timestamp "ValueSet.expansion-total" : for src.total make tgt.total "ValueSet.expansion-offset" : for src.offset make tgt.offset "ValueSet.expansion-parameter" : for src.parameter as vs make tgt.parameter as vt then parameter(vs, vt) "ValueSet.expansion-contains" : for src.contains as vs make tgt.contains as vt then contains(vs, vt) endgroup group parameter extends BackboneElement input src as source input tgt as target "vs-parameter-name" : for src.name make tgt.name "vs-parameter-value" : for src.value make tgt.value endgroup group contains extends BackboneElement input src as source input tgt as target "ValueSet.contains-system" : for src.system make tgt.system "ValueSet.contains-abstract" : for src.abstract make tgt.abstract "ValueSet.contains-version" : for src.version make tgt.version "ValueSet.contains-code" : for src.code make tgt.code "ValueSet.contains-display" : for src.display make tgt.display "ValueSet.contains-contains" : for src.contains as vs make tgt.contains as vt then contains(vs, vt)endgroup
map "http://hl7.org/fhir/StructureMap/ValueSet3to2" = "R3 to R2 Conversion for ValueSet" uses "http://hl7.org/fhir/StructureDefinition/ValueSet" alias ValueSet as source uses "http://hl7.org/fhir/DSTU2/StructureDefinition/ValueSet" alias ValueSetR2 as target imports "http://hl7.org/fhir/StructureMap/*3to2" group for type+types ValueSet extends DomainResource input src : ValueSet as source input tgt : ValueSetR2 as target "ValueSet-url" : for src.url make tgt.url "ValueSet-identifier" : for src.identifier make tgt.identifier "ValueSet-version" : for src.version make tgt.version "ValueSet-name" : for src.name make tgt.name "ValueSet-status" : for src.status make tgt.status "ValueSet-experimental" : for src.experimental make tgt.experimental "ValueSet-publisher" : for src.publisher make tgt.publisher "ValueSet-contact" : for src.contact as vs0 make tgt.contact as vt0 then { "ValueSet.contact-name" : for vs0.name make vt0.name "ValueSet.contact-telecom" : for vs0.telecom make vt0.telecom } "ValueSet-date" : for src.date make tgt.date "ValueSet-useContext" : for src.jurisdiction make tgt.useContext "ValueSet-description" : for src.description make tgt.description "ValueSet-requirements" : for src.purpose make tgt.requirements "ValueSet-copyright" : for src.copyright make tgt.copyright "ValueSet-immutable" : for src.immutable make tgt.immutable "ValueSet-extensible" : for src.extensible make tgt.extensible "ValueSet-compose" : for src.compose as vs0 make tgt.compose as vt0 then compose(src, tgt, vs0, vt0) "ValueSet-expansion" : for src.expansion as vs0 make tgt.expansion as vt0 then expansion(vs0, vt0) endgroup group compose extends BackboneElement input vs as source input vst as target input src as source input tgt as target "vs-compose-ld" : for src.lockedDate make vst.lockedDate "vs-compose-incl-cs" : for src.include as vs where (system.exists() and valueSet.empty() and concept.empty() and filter.empty()) and (system.resolve().valueSet = vs.url) make vst.codeSystem as vt, (vs.system.resolve()) as cs then codeSystem(cs, vt) "vs-compose-incl" : for src.include as vs where ((system.exists() and valueSet.empty() and concept.empty() and filter.empty()) and (system.resolve().valueSet = vs.url)).not() make tgt.include as vt then include(vs, vt, tgt) "vs-compose-excl" : for src.exclude as vs check valueSet.empty() make tgt.exclude as vt then include(vs, vt, tgt) endgroup group codeSystem extends Element // choice of Element is deliberate here; avoid all other resource overhead input src as source input tgt as target "CodeSystem-modifierExtension" : for src.modifierExtension make tgt.modifierExtension "CodeSystem-system" : for src.url make tgt.system "CodeSystem-version" : for src.version make tgt.version "CodeSystem-caseSensitive" : for src.caseSensitive make tgt.caseSensitive "CodeSystem-concept" : for src.concept as vs make tgt.concept as vt then csconcept(vs, vt) endgroup group csconcept extends BackboneElement input src as source input tgt as target "cs-concept-code" : for src.code make tgt.code "cs-concept-abstract" : for src where property.where(code = 'notSelectable') make tgt.abstract = (src.property.where(code = 'notSelectable').value) "cs-concept-display" : for src.display make tgt.display "cs-concept-definition" : for src.definition make tgt.definition "cs-concept-designation" : for src.designation as vs make tgt.designation as vt then designation(vs, vt) "cs-concept-concept" : for src.concept as vs make tgt.concept as vt then csconcept(vs, vt) endgroup group include extends BackboneElement input src as source input tgt as target input comp as target "vs-incl-valueSet" : for src.valueSet make comp.import "vs-incl-system" : for src.system make tgt.system "vs-incl-version" : for src.version make tgt.version "vs-incl-concept" : for src.concept as vs make tgt.concept as vt then concept(vs, vt) "vs-incl-filter" : for src.filter as vs make tgt.filter as vt then filter(vs, vt) endgroup group concept extends BackboneElement input src as source input tgt as target "vs-concept-code" : for src.code make tgt.code "vs-concept-display" : for src.display make tgt.display "vs-concept-designation" : for src.designation as vs make tgt.designation as vt then designation(vs, vt) endgroupmap "http://hl7.org/fhir/StructureMap/ValueSet4to3" = "R4 to R3 Conversion for ValueSet"group designation extends BackboneElement input src as source input tgt as target"vs-designation-language" : for src.language make tgt.language "vs-designation-use" : for src.use make tgt.use "vs-designation-value" : for src.value make tgt.value endgroup group filter extends BackboneElement input src as source input tgt as targetuses "http://hl7.org/fhir/StructureDefinition/ValueSet" alias ValueSet as source uses "http://hl7.org/fhir/3.0/StructureDefinition/ValueSet" alias ValueSetR3 as target"vs-filter-property" : for src.property make tgt.property "vs-filter-op" : for src.op make tgt.op "vs-filter-value" : for src.value make tgt.value endgroupimports "http://hl7.org/fhir/StructureMap/*4to3"group expansion extends BackboneElement input src as source input tgt as target"ValueSet.expansion-identifier" : for src.identifier make tgt.identifier "ValueSet.expansion-timestamp" : for src.timestamp make tgt.timestamp "ValueSet.expansion-total" : for src.total make tgt.total "ValueSet.expansion-offset" : for src.offset make tgt.offset "ValueSet.expansion-parameter" : for src.parameter as vs make tgt.parameter as vt then parameter(vs, vt) "ValueSet.expansion-contains" : for src.contains as vs make tgt.contains as vt then contains(vs, vt) endgroupgroup parameter extends BackboneElement input src as source input tgt as targetgroup ValueSet extends DomainResource input src : ValueSet as source input tgt : ValueSetR3 as target"vs-parameter-name" : for src.name make tgt.name "vs-parameter-value" : for src.value make tgt.value"ValueSet.url" : for src.url as vs make tgt.url as vt "ValueSet.identifier" : for src.identifier as vs make tgt.identifier as vt "ValueSet.version" : for src.version as vs make tgt.version as vt "ValueSet.name" : for src.name as vs make tgt.name as vt "ValueSet.title" : for src.title as vs make tgt.title as vt "ValueSet.status" : for src.status as vs make tgt.status as vt "ValueSet.experimental" : for src.experimental as vs make tgt.experimental as vt "ValueSet.date" : for src.date as vs make tgt.date as vt "ValueSet.publisher" : for src.publisher as vs make tgt.publisher as vt "ValueSet.contact" : for src.contact as vs make tgt.contact as vt "ValueSet.description" : for src.description as vs make tgt.description as vt "ValueSet.useContext" : for src.useContext as vs make tgt.useContext as vt "ValueSet.jurisdiction" : for src.jurisdiction as vs make tgt.jurisdiction as vt "ValueSet.immutable" : for src.immutable as vs make tgt.immutable as vt "ValueSet.purpose" : for src.purpose as vs make tgt.purpose as vt "ValueSet.copyright" : for src.copyright as vs make tgt.copyright as vt "ValueSet.extensible" : for src.extensible as vs make tgt.extensible as vt "ValueSet.compose" : for src.compose as vs0 make tgt.compose as vt0 then { "ValueSet.compose.lockedDate" : for vs0.lockedDate as vs make vt0.lockedDate as vt "ValueSet.compose.inactive" : for vs0.inactive as vs make vt0.inactive as vt } "ValueSet.expansion" : for src.expansion as vs0 make tgt.expansion as vt0 then { "ValueSet.expansion.identifier" : for vs0.identifier as vs make vt0.identifier as vt "ValueSet.expansion.timestamp" : for vs0.timestamp as vs make vt0.timestamp as vt "ValueSet.expansion.total" : for vs0.total as vs make vt0.total as vt "ValueSet.expansion.offset" : for vs0.offset as vs make vt0.offset as vt } endgroupgroup contains extends BackboneElement input src as source input tgt as target "ValueSet.contains-system" : for src.system make tgt.system "ValueSet.contains-abstract" : for src.abstract make tgt.abstract "ValueSet.contains-version" : for src.version make tgt.version "ValueSet.contains-code" : for src.code make tgt.code "ValueSet.contains-display" : for src.display make tgt.display "ValueSet.contains-contains" : for src.contains as vs make tgt.contains as vt then contains(vs, vt) endgroup