This
page
is
part
of
the
FHIR
Specification
(v3.0.2:
(v4.0.1:
R4
-
Mixed
Normative
and
STU
3).
)
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
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
R4
R3
FHIR
Infrastructure
Work
Group
|
Maturity Level : N/A |
| Security Category : Anonymous | Compartments : Not linked to any defined compartments |
R2
:
R3
Converson
:
R4
Conversion
maps
for
ImplementationGuide.
Functional
status
for
this
map:
1
test
that
all
execute
ok.
All
tests
pass
round-trip
testing
and
all
1
r3
resources
are
valid.
invalid
(0
errors).
(
see
documentation)
map "http://hl7.org/fhir/StructureMap/ImplementationGuide2to3" = "R2 to R3 Conversions for ImplementationGuide" uses "http://hl7.org/fhir/DSTU2/StructureDefinition/ImplementationGuide" alias ImplementationGuideR2 as source uses "http://hl7.org/fhir/StructureDefinition/ImplementationGuide" alias ImplementationGuide as targetmap "http://hl7.org/fhir/StructureMap/ImplementationGuide3to4" = "R3 to R4 Conversions for ImplementationGuide"imports "http://hl7.org/fhir/StructureMap/primitives2to3" imports "http://hl7.org/fhir/StructureMap/BackboneElement2to3" imports "http://hl7.org/fhir/StructureMap/DomainResource2to3" imports "http://hl7.org/fhir/StructureMap/ContactPoint2to3" imports "http://hl7.org/fhir/StructureMap/CodeableConcept2to3" imports "http://hl7.org/fhir/StructureMap/Reference2to3"uses "http://hl7.org/fhir/3.0/StructureDefinition/ImplementationGuide" alias ImplementationGuideR3 as source uses "http://hl7.org/fhir/StructureDefinition/ImplementationGuide" alias ImplementationGuide as targetgroup for type+types ImplementationGuide extends DomainResource input src : ImplementationGuideR2 as source input tgt : ImplementationGuide as targetimports "http://hl7.org/fhir/StructureMap/*3to4""ImplementationGuide-url" : for src.url make tgt.url "ImplementationGuide-version" : for src.version make tgt.version "ImplementationGuide-name" : for src.name make tgt.name "ImplementationGuide-status" : for src.status make tgt.status "ImplementationGuide-experimental" : for src.experimental make tgt.experimental "ImplementationGuide-publisher" : for src.publisher make tgt.publisher "ImplementationGuide-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 }group ImplementationGuide(source src : ImplementationGuideR3, target tgt : ImplementationGuide) extends DomainResource <<type+>> { src.url -> tgt.url; src.version -> tgt.version; src.name -> tgt.name; src.status -> tgt.status; src.experimental -> tgt.experimental; src.date -> tgt.date; src.publisher -> tgt.publisher; src.contact -> tgt.contact; src.description -> tgt.description; src.useContext -> tgt.useContext; src.jurisdiction -> tgt.jurisdiction; src.copyright -> tgt.copyright; src.fhirVersion -> tgt.fhirVersion; src.dependency as vs0 check type = 'reference' -> tgt.dependsOn as vt0 then dependency(vs0, vt0); src.global as vs0 -> tgt.global as vt0 then global(vs0, vt0); src -> tgt.definition as dfn then definition(src, dfn) "definition"; src where binary.exists() -> tgt.manifest as mft then manifest(src, mft) "manifest"; }"ImplementationGuide-description" : for src.description make tgt.description "ImplementationGuide-copyright" : for src.copyright make tgt.copyright "ImplementationGuide-jurisdiction" : for src.useContext where coding.system = 'urn:iso:std:iso:3166' make tgt.jurisdiction "ImplementationGuide-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 = create("CodeableConcept") as vt then CodeableConcept(vs, vt) "ImplementationGuide-date" : for src.date make tgt.date "ImplementationGuide-fhirVersion" : for src.fhirVersion make tgt.fhirVersion "ImplementationGuide-dependency" : for src.dependency as vs0 make tgt.dependency as vt0 then { "ImplementationGuide.dependency-type" : for vs0.type make vt0.type "ImplementationGuide.dependency-uri" : for vs0.uri make vt0.uri }group dependency(source src, target tgt) extends BackboneElement { src.uri -> tgt.uri; }"ImplementationGuide-package" : for src.package as vs0 make tgt.package as vt0 then { "ImplementationGuide.package-name" : for vs0.name make vt0.name "ImplementationGuide.package-description" : for vs0.description make vt0.description "ImplementationGuide.package-resource" : for vs0.resource as vs make vt0.resource as vt then resource(vs, vt) }group global(source src, target tgt) extends BackboneElement { src.type -> tgt.type; src.profile -> tgt.profile; }"ImplementationGuide-global" : for src.global as vs0 make tgt.global as vt0 then { "ImplementationGuide.global-type" : for vs0.type make vt0.type "ImplementationGuide.global-profile" : for vs0.profile make vt0.profile }group definition(source src, target tgt) extends BackboneElement { src.package as pck -> tgt.grouping as grp then grouping(pck, tgt, grp); src.page as vs0 -> tgt.page as vt0 then page(vs0, vt0); }"ImplementationGuide-binary" : for src.binary make tgt.binary "ImplementationGuide-page" : for src.page as vs0 make tgt.page as vt0 then page(vs0, vt0) endgroupgroup grouping(source src, target dfn, target grp) extends BackboneElement { src.name -> grp.name; src.description -> grp.description; src.resource as rs -> dfn.resource as rt then resource(rs, rt, src); }group resource extends BackboneElement input src as source input tgt as targetgroup resource(source src, target tgt, source pck) extends BackboneElement { pck.id -> tgt.groupingId "packageId"; src.example where src.exampleFor.empty() as vs0 -> tgt.example = create('boolean') as vt0 then boolean(vs0, vt0); src.name -> tgt.name; src.description -> tgt.description; src.acronym as vs -> tgt.extension as ext, ext.url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-ImplementationGuide.package.resource.acronym', ext.value = vs; src.source : uri as vs -> tgt.reference as ref, ref.reference = vs, ref.extension as ext, ext.url = 'http://hl7.org/fhir/3.0/StructureDefinition/BaseType', ext.value = 'uri' "sourceUri"; src.source : Reference as vs0 -> tgt.reference as vt0 then reference(vs0, vt0) "sourceRef"; src.exampleFor as vs0 -> tgt.example = create('canonical') as vt0 then Reference2Canonical(vs0, vt0); }"ImplementationGuide.resource-purpose" : for src where src.purpose = 'example' make tgt.example = true "ImplementationGuide.resource-name" : for src.name make tgt.name "ImplementationGuide.resource-description" : for src.description make tgt.description "ImplementationGuide.resource-acronym" : for src.acronym make tgt.acronym "ImplementationGuide.resource-source" : for src.source make tgt.source "ImplementationGuide.resource-exampleFor" : for src.exampleFor make tgt.exampleFor endgroupgroup page(source src, target tgt) extends BackboneElement { src.source as vs0 -> tgt.name = create('uri') as vt0 then uri(vs0, vt0); src.title -> tgt.title; src.kind as vs -> tgt.extension as ext, ext.url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-ImplementationGuide.page.kind', ext.value = vs; src.type as vs -> tgt.extension as ext, ext.url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-ImplementationGuide.page.type', ext.value = vs; src.package as vs -> tgt.extension as ext, ext.url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-ImplementationGuide.page.package', ext.value = vs; src.format as vs -> tgt.extension as ext, ext.url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-ImplementationGuide.page.format', ext.value = vs; src.page as vs0 -> tgt.page as vt0 then page(vs0, vt0); }group page extends BackboneElement input src as source input tgt as targetgroup manifest(source src, target tgt) extends BackboneElement { src.binary -> tgt.other; }"ImplementationGuide.page-source" : for src.source make tgt.source "ImplementationGuide.page-title" : for src.name make tgt.title "ImplementationGuide.page-kind" : for src.kind make tgt.kind "ImplementationGuide.page-type" : for src.type make tgt.type "ImplementationGuide.page-package" : for src.package make tgt.package "ImplementationGuide.page-format" : for src.format make tgt.format "ImplementationGuide.page-page" : for src.page as vs0 make tgt.page as vt0 then page(vs0, vt0) endgroup
map "http://hl7.org/fhir/StructureMap/ImplementationGuide3to2" = "R3 to R2 Conversion for ImplementationGuide" uses "http://hl7.org/fhir/StructureDefinition/ImplementationGuide" alias ImplementationGuide as source uses "http://hl7.org/fhir/DSTU2/StructureDefinition/ImplementationGuide" alias ImplementationGuideR2 as targetmap "http://hl7.org/fhir/StructureMap/ImplementationGuide4to3" = "R4 to R3 Conversion for ImplementationGuide"imports "http://hl7.org/fhir/StructureMap/primitives3to2" imports "http://hl7.org/fhir/StructureMap/BackboneElement3to2" imports "http://hl7.org/fhir/StructureMap/DomainResource3to2" imports "http://hl7.org/fhir/StructureMap/ContactPoint3to2" imports "http://hl7.org/fhir/StructureMap/Reference3to2" imports "http://hl7.org/fhir/StructureMap/CodeableConcept3to2"uses "http://hl7.org/fhir/StructureDefinition/ImplementationGuide" alias ImplementationGuide as source uses "http://hl7.org/fhir/3.0/StructureDefinition/ImplementationGuide" alias ImplementationGuideR3 as targetgroup for type+types ImplementationGuide extends DomainResource input src : ImplementationGuide as source input tgt : ImplementationGuideR2 as targetimports "http://hl7.org/fhir/StructureMap/*4to3""ImplementationGuide-url" : for src.url make tgt.url "ImplementationGuide-version" : for src.version make tgt.version "ImplementationGuide-name" : for src.name make tgt.name "ImplementationGuide-status" : for src.status make tgt.status "ImplementationGuide-experimental" : for src.experimental make tgt.experimental "ImplementationGuide-publisher" : for src.publisher make tgt.publisher "ImplementationGuide-contact" : for src.contact as vs0 make tgt.contact as vt0 then { "ImplementationGuide.contact-name" : for vs0.name make vt0.name "ImplementationGuide.contact-telecom" : for vs0.telecom make vt0.telecom }group ImplementationGuide(source src : ImplementationGuideR3, target tgt : ImplementationGuide) extends DomainResource <<type+>> { src.url -> tgt.url; src.version -> tgt.version; src.name -> tgt.name; src.status -> tgt.status; src.experimental -> tgt.experimental; src.date -> tgt.date; src.publisher -> tgt.publisher; src.contact -> tgt.contact; src.description -> tgt.description; src.useContext -> tgt.useContext; src.jurisdiction -> tgt.jurisdiction; src.copyright -> tgt.copyright; src.fhirVersion -> tgt.fhirVersion; src.dependsOn as vs0 -> tgt.dependency as vt0 then dependency(vs0, vt0) "dependency"; src.global as vs0 -> tgt.global as vt0 then global(vs0, vt0); src.definition as vs0 then definition(vs0, tgt); src.manifest as mft then manifest(mft, tgt); }"ImplementationGuide-date" : for src.date make tgt.date "ImplementationGuide-description" : for src.description make tgt.description "ImplementationGuide-useContext" : for src.jurisdiction make tgt.useContext "ImplementationGuide-copyright" : for src.copyright make tgt.copyright "ImplementationGuide-fhirVersion" : for src.fhirVersion make tgt.fhirVersion "ImplementationGuide-dependency" : for src.dependency as vs0 make tgt.dependency as vt0 then { "ImplementationGuide.dependency-type" : for vs0.type make vt0.type "ImplementationGuide.dependency-uri" : for vs0.uri make vt0.uri }group dependency(source src, target tgt) extends BackboneElement { src -> tgt.type = 'reference' "type"; src.uri -> tgt.uri; }"ImplementationGuide-package" : for src.package as vs0 make tgt.package as vt0 then { "ImplementationGuide.package-name" : for vs0.name make vt0.name "ImplementationGuide.package-description" : for vs0.description make vt0.description "ImplementationGuide.package-resource" : for vs0.resource as vs make vt0.resource as vt then resource(vs, vt) }group global(source src, target tgt) extends BackboneElement { src.type -> tgt.type; src.profile -> tgt.profile; }"ImplementationGuide-global" : for src.global as vs0 make tgt.global as vt0 then { "ImplementationGuide.global-type" : for vs0.type make vt0.type "ImplementationGuide.global-profile" : for vs0.profile make vt0.profile }group definition(source src, target tgt) extends BackboneElement { src.grouping as grp -> tgt.package as pck then grouping(grp, pck, src) "package"; src.page as vs0 -> tgt.page as vt0 then page(vs0, vt0); }"ImplementationGuide-binary" : for src.binary make tgt.binary "ImplementationGuide-page" : for src.page as vs0 make tgt.page as vt0 then page(vs0, vt0) endgroupgroup grouping(source src, target tgt, source dfn) extends BackboneElement { src.name -> tgt.name; src.description -> tgt.description; dfn.resource as rs where groupingId = src.id -> tgt.resource as rt then resource(rs, rt); }group resource extends BackboneElement input src as source input tgt as targetgroup resource(source src, target tgt) extends BackboneElement { src.example : boolean as vs0 -> tgt.example as vt0 then boolean(vs0, vt0); src.name -> tgt.name; src.description -> tgt.description; src.extension as ext where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-ImplementationGuide.package.resource.acronym' then { ext.value as vs0 -> tgt.acronym = vs0 "acronym2"; } "acronym"; src.reference as vs0 where extension('http://hl7.org/fhir/3.0/StructureDefinition/BaseType').empty() -> tgt.source = create('Reference') as vt0 then Reference(vs0, vt0) "source1"; src.reference as vs0 where extension('http://hl7.org/fhir/3.0/StructureDefinition/BaseType').exists() -> tgt.source = create('uri') as vt0 then { vs0.reference as vs1 then uri(vs1, vt0) "source2a"; } "source2"; src.example : canonical as vs0 -> tgt.example = true, tgt.exampleFor as vt0 then canonical2Reference(vs0, vt0) "exampleFor"; }"ImplementationGuide.resource-purpose" : for src where example = true make tgt.purpose = 'example' "ImplementationGuide.resource-name" : for src.name make tgt.name "ImplementationGuide.resource-description" : for src.description make tgt.description "ImplementationGuide.resource-acronym" : for src.acronym make tgt.acronym "ImplementationGuide.resource-source" : for src.source make tgt.source "ImplementationGuide.resource-exampleFor" : for src.exampleFor make tgt.exampleFor endgroupgroup page(source src, target tgt) extends BackboneElement { src.name : uri as vs0 -> tgt.source as vt0 then uri(vs0, vt0) "source"; src.title -> tgt.title; src.extension as ext where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-ImplementationGuide.page.kind' then { ext.value as vs0 -> tgt.kind = vs0 "acronym2"; } "acronym"; src.extension as ext where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-ImplementationGuide.page.type' then { ext.value as vs0 -> tgt.type = vs0 "acronym2"; } "acronym"; src.extension as ext where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-ImplementationGuide.page.package' then { ext.value as vs0 -> tgt.package = vs0 "acronym2"; } "acronym"; src.extension as ext where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-ImplementationGuide.page.format' then { ext.value as vs0 -> tgt.format = vs0 "acronym2"; } "acronym"; src.page as vs0 -> tgt.page as vt0 then page(vs0, vt0); }group page extends BackboneElement input src as source input tgt as targetgroup manifest(source src, target tgt) extends BackboneElement { src.other -> tgt.binary "binary"; }"ImplementationGuide.page-source" : for src.source make tgt.source "ImplementationGuide.page-name" : for src.title make tgt.name "ImplementationGuide.page-kind" : for src.kind make tgt.kind "ImplementationGuide.page-type" : for src.type make tgt.type "ImplementationGuide.page-package" : for src.package make tgt.package "ImplementationGuide.page-format" : for src.format make tgt.format "ImplementationGuide.page-page" : for src.page as vs0 make tgt.page as vt0 then page(vs0, vt0) endgroup