R4 Ballot #2 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.5.0: R4 Ballot #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: R4B R4 R3

FHIR Infrastructure Work GroupMaturity Level: N/ABallot Status: Informative

This page provides the detailed descriptions for the data types

Table of Contents

Primitive Types
ElementinstanttimedatedateTimedecimalbooleanintegerstringuribase64BinarycodeidoidunsignedIntpositiveIntmarkdownurlcanonicaluuid
Complex Types
ElementIdentifierHumanNameAddressContactPointTimingQuantitySimpleQuantityAttachmentRangePeriodRatioCodeableConceptCodingSampledDataAgeDistanceDurationCountMoneyMoneyQuantityAnnotationSignatureBackboneElement

See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/primitives3to4" = "R3 to R4 Primitive Conversions"

uses "http://hl7.org/fhir/3.0/StructureDefinition/base64Binary" alias base64BinaryR3 as source
uses "http://hl7.org/fhir/StructureDefinition/base64Binary" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/boolean" alias booleanR3 as source
uses "http://hl7.org/fhir/StructureDefinition/boolean" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/canonical" alias canonicalR3 as source
uses "http://hl7.org/fhir/StructureDefinition/canonical" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/code" alias codeR3 as source
uses "http://hl7.org/fhir/StructureDefinition/code" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/date" alias dateR3 as source
uses "http://hl7.org/fhir/StructureDefinition/date" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/dateTime" alias dateTimeR3 as source
uses "http://hl7.org/fhir/StructureDefinition/dateTime" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/decimal" alias decimalR3 as source
uses "http://hl7.org/fhir/StructureDefinition/decimal" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/id" alias idR3 as source
uses "http://hl7.org/fhir/StructureDefinition/id" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/instant" alias instantR3 as source
uses "http://hl7.org/fhir/StructureDefinition/instant" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/integer" alias integerR3 as source
uses "http://hl7.org/fhir/StructureDefinition/integer" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/markdown" alias markdownR3 as source
uses "http://hl7.org/fhir/StructureDefinition/markdown" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/oid" alias oidR3 as source
uses "http://hl7.org/fhir/StructureDefinition/oid" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/positiveInt" alias positiveIntR3 as source
uses "http://hl7.org/fhir/StructureDefinition/positiveInt" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/string" alias stringR3 as source
uses "http://hl7.org/fhir/StructureDefinition/string" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/time" alias timeR3 as source
uses "http://hl7.org/fhir/StructureDefinition/time" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/unsignedInt" alias unsignedIntR3 as source
uses "http://hl7.org/fhir/StructureDefinition/unsignedInt" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/uri" alias uriR3 as source
uses "http://hl7.org/fhir/StructureDefinition/uri" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/url" alias urlR3 as source
uses "http://hl7.org/fhir/StructureDefinition/url" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/uuid" alias uuidR3 as source
uses "http://hl7.org/fhir/StructureDefinition/uuid" as target
uses "http://hl7.org/fhir/3.0/StructureDefinition/xhtml" alias xhtmlR3 as source
uses "http://hl7.org/fhir/StructureDefinition/xhtml" as target

imports "http://hl7.org/fhir/StructureMap/Element3to4"

group for type+types base64Binary extends Element
  input src : base64BinaryR3 as source
  input tgt : base64Binary as target

  "base64Binary-value" : for src.value as v make tgt.value = v
endgroup

group for type+types boolean extends Element
  input src : booleanR3 as source
  input tgt : boolean as target

  "boolean-value" : for src.value as v make tgt.value = v
endgroup

group for type+types canonical extends Element
  input src : canonicalR3 as source
  input tgt : canonical as target

  "canonical-value" : for src.value as v make tgt.value = v
endgroup

group for type+types code extends Element
  input src : codeR3 as source
  input tgt : code as target

  "code-value" : for src.value as v make tgt.value = v
endgroup

group for type+types date extends Element
  input src : dateR3 as source
  input tgt : date as target

  "date-value" : for src.value as v make tgt.value = v
endgroup

group for type+types dateTime extends Element
  input src : dateTimeR3 as source
  input tgt : dateTime as target

  "dateTime-value" : for src.value as v make tgt.value = v
endgroup

group for type+types decimal extends Element
  input src : decimalR3 as source
  input tgt : decimal as target

  "decimal-value" : for src.value as v make tgt.value = v
endgroup

group for type+types id extends Element
  input src : idR3 as source
  input tgt : id as target

  "id-value" : for src.value as v make tgt.value = v
endgroup

group for type+types instant extends Element
  input src : instantR3 as source
  input tgt : instant as target

  "instant-value" : for src.value as v make tgt.value = v
endgroup

group for type+types integer extends Element
  input src : integerR3 as source
  input tgt : integer as target

  "integer-value" : for src.value as v make tgt.value = v
endgroup

group for type+types markdown extends Element
  input src : markdownR3 as source
  input tgt : markdown as target

  "markdown-value" : for src.value as v make tgt.value = v
endgroup

group for type+types oid extends Element
  input src : oidR3 as source
  input tgt : oid as target

  "oid-value" : for src.value as v make tgt.value = v
endgroup

group for type+types positiveInt extends Element
  input src : positiveIntR3 as source
  input tgt : positiveInt as target

  "positiveInt-value" : for src.value as v make tgt.value = v
endgroup

group for type+types string extends Element
  input src : stringR3 as source
  input tgt : string as target

  "string-value" : for src.value as v make tgt.value = v
endgroup

group for type+types time extends Element
  input src : timeR3 as source
  input tgt : time as target

  "time-value" : for src.value as v make tgt.value = v
endgroup

group for type+types unsignedInt extends Element
  input src : unsignedIntR3 as source
  input tgt : unsignedInt as target

  "unsignedInt-value" : for src.value as v make tgt.value = v
endgroup

group for type+types uri extends Element
  input src : uriR3 as source
  input tgt : uri as target

  "uri-value" : for src.value as v make tgt.value = v
endgroup

group for type+types url extends Element
  input src : urlR3 as source
  input tgt : url as target

  "url-value" : for src.value as v make tgt.value = v
endgroup

group for type+types uuid extends Element
  input src : uuidR3 as source
  input tgt : uuid as target

  "uuid-value" : for src.value as v make tgt.value = v
endgroup

group for type+types xhtml extends Element
  input src : xhtmlR3 as source
  input tgt : xhtml as target

  "xhtml-value" : for src.value as v make tgt.value = v
endgroup


map "http://hl7.org/fhir/StructureMap/primitives4to3" = "R4 to R3 Primitive Conversions"

uses "http://hl7.org/fhir/StructureDefinition/base64Binary" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/base64Binary" alias base64BinaryR3 as target
uses "http://hl7.org/fhir/StructureDefinition/boolean" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/boolean" alias booleanR3 as target
uses "http://hl7.org/fhir/StructureDefinition/canonical" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/canonical" alias canonicalR3 as target
uses "http://hl7.org/fhir/StructureDefinition/code" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/code" alias codeR3 as target
uses "http://hl7.org/fhir/StructureDefinition/date" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/date" alias dateR3 as target
uses "http://hl7.org/fhir/StructureDefinition/dateTime" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/dateTime" alias dateTimeR3 as target
uses "http://hl7.org/fhir/StructureDefinition/decimal" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/decimal" alias decimalR3 as target
uses "http://hl7.org/fhir/StructureDefinition/id" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/id" alias idR3 as target
uses "http://hl7.org/fhir/StructureDefinition/instant" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/instant" alias instantR3 as target
uses "http://hl7.org/fhir/StructureDefinition/integer" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/integer" alias integerR3 as target
uses "http://hl7.org/fhir/StructureDefinition/markdown" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/markdown" alias markdownR3 as target
uses "http://hl7.org/fhir/StructureDefinition/oid" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/oid" alias oidR3 as target
uses "http://hl7.org/fhir/StructureDefinition/positiveInt" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/positiveInt" alias positiveIntR3 as target
uses "http://hl7.org/fhir/StructureDefinition/string" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/string" alias stringR3 as target
uses "http://hl7.org/fhir/StructureDefinition/time" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/time" alias timeR3 as target
uses "http://hl7.org/fhir/StructureDefinition/unsignedInt" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/unsignedInt" alias unsignedIntR3 as target
uses "http://hl7.org/fhir/StructureDefinition/uri" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/uri" alias uriR3 as target
uses "http://hl7.org/fhir/StructureDefinition/url" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/url" alias urlR3 as target
uses "http://hl7.org/fhir/StructureDefinition/uuid" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/uuid" alias uuidR3 as target
uses "http://hl7.org/fhir/StructureDefinition/xhtml" as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/xhtml" alias xhtmlR3 as target

imports "http://hl7.org/fhir/StructureMap/Element4to3"

group for type+types base64Binary extends Element
  input src : base64Binary as source
  input tgt : base64BinaryR3 as target

  "base64Binary-value" : for src.value as v make tgt.value = v
endgroup

group for type+types boolean extends Element
  input src : boolean as source
  input tgt : booleanR3 as target

  "boolean-value" : for src.value as v make tgt.value = v
endgroup

group for type+types canonical extends Element
  input src : canonical as source
  input tgt : canonicalR3 as target

  "canonical-value" : for src.value as v make tgt.value = v
endgroup

group for type+types code extends Element
  input src : code as source
  input tgt : codeR3 as target

  "code-value" : for src.value as v make tgt.value = v
endgroup

group for type+types date extends Element
  input src : date as source
  input tgt : dateR3 as target

  "date-value" : for src.value as v make tgt.value = v
endgroup

group for type+types dateTime extends Element
  input src : dateTime as source
  input tgt : dateTimeR3 as target

  "dateTime-value" : for src.value as v make tgt.value = v
endgroup

group for type+types decimal extends Element
  input src : decimal as source
  input tgt : decimalR3 as target

  "decimal-value" : for src.value as v make tgt.value = v
endgroup

group for type+types id extends Element
  input src : id as source
  input tgt : idR3 as target

  "id-value" : for src.value as v make tgt.value = v
endgroup

group for type+types instant extends Element
  input src : instant as source
  input tgt : instantR3 as target

  "instant-value" : for src.value as v make tgt.value = v
endgroup

group for type+types integer extends Element
  input src : integer as source
  input tgt : integerR3 as target

  "integer-value" : for src.value as v make tgt.value = v
endgroup

group for type+types markdown extends Element
  input src : markdown as source
  input tgt : markdownR3 as target

  "markdown-value" : for src.value as v make tgt.value = v
endgroup

group for type+types oid extends Element
  input src : oid as source
  input tgt : oidR3 as target

  "oid-value" : for src.value as v make tgt.value = v
endgroup

group for type+types positiveInt extends Element
  input src : positiveInt as source
  input tgt : positiveIntR3 as target

  "positiveInt-value" : for src.value as v make tgt.value = v
endgroup

group for type+types string extends Element
  input src : string as source
  input tgt : stringR3 as target

  "string-value" : for src.value as v make tgt.value = v
endgroup

group for type+types time extends Element
  input src : time as source
  input tgt : timeR3 as target

  "time-value" : for src.value as v make tgt.value = v
endgroup

group for type+types unsignedInt extends Element
  input src : unsignedInt as source
  input tgt : unsignedIntR3 as target

  "unsignedInt-value" : for src.value as v make tgt.value = v
endgroup

group for type+types uri extends Element
  input src : uri as source
  input tgt : uriR3 as target

  "uri-value" : for src.value as v make tgt.value = v
endgroup

group for type+types url extends Element
  input src : url as source
  input tgt : urlR3 as target

  "url-value" : for src.value as v make tgt.value = v
endgroup

group for type+types uuid extends Element
  input src : uuid as source
  input tgt : uuidR3 as target

  "uuid-value" : for src.value as v make tgt.value = v
endgroup

group for type+types xhtml extends Element
  input src : xhtml as source
  input tgt : xhtmlR3 as target

  "xhtml-value" : for src.value as v make tgt.value = v
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/Attachment3to4" = "R3 to R4 Conversions for Attachment"


uses "http://hl7.org/fhir/3.0/StructureDefinition/Attachment" alias AttachmentR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Attachment" alias Attachment as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group Attachment extends Element
  input src : AttachmentR3 as source
  input tgt : Attachment as target

  "Attachment.contentType" : for src.contentType as vs make tgt.contentType as vt
  "Attachment.language" : for src.language as vs make tgt.language as vt
  "Attachment.data" : for src.data as vs make tgt.data as vt
  "Attachment.size" : for src.size as vs make tgt.size as vt
  "Attachment.hash" : for src.hash as vs make tgt.hash as vt
  "Attachment.title" : for src.title as vs make tgt.title as vt
  "Attachment.creation" : for src.creation as vs make tgt.creation as vt
endgroup


map "http://hl7.org/fhir/StructureMap/Attachment4to3" = "R4 to R3 Conversion for Attachment"


uses "http://hl7.org/fhir/StructureDefinition/Attachment" alias Attachment as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Attachment" alias AttachmentR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group Attachment extends Element
  input src : Attachment as source
  input tgt : AttachmentR3 as target

  "Attachment.contentType" : for src.contentType as vs make tgt.contentType as vt
  "Attachment.language" : for src.language as vs make tgt.language as vt
  "Attachment.data" : for src.data as vs make tgt.data as vt
  "Attachment.size" : for src.size as vs make tgt.size as vt
  "Attachment.hash" : for src.hash as vs make tgt.hash as vt
  "Attachment.title" : for src.title as vs make tgt.title as vt
  "Attachment.creation" : for src.creation as vs make tgt.creation as vt
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/Identifier3to4" = "R3 to R4 Conversions for Identifier"


uses "http://hl7.org/fhir/3.0/StructureDefinition/Identifier" alias IdentifierR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Identifier" alias Identifier as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group Identifier extends Element
  input src : IdentifierR3 as source
  input tgt : Identifier as target

  "Identifier.use" : for src.use as vs make tgt.use as vt
  "Identifier.type" : for src.type as vs make tgt.type as vt
  "Identifier.system" : for src.system as vs make tgt.system as vt
  "Identifier.value" : for src.value as vs make tgt.value as vt
  "Identifier.period" : for src.period as vs make tgt.period as vt
  "Identifier.assigner" : for src.assigner as vs make tgt.assigner as vt
endgroup


map "http://hl7.org/fhir/StructureMap/Identifier4to3" = "R4 to R3 Conversion for Identifier"


uses "http://hl7.org/fhir/StructureDefinition/Identifier" alias Identifier as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Identifier" alias IdentifierR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group Identifier extends Element
  input src : Identifier as source
  input tgt : IdentifierR3 as target

  "Identifier.use" : for src.use as vs make tgt.use as vt
  "Identifier.type" : for src.type as vs make tgt.type as vt
  "Identifier.system" : for src.system as vs make tgt.system as vt
  "Identifier.value" : for src.value as vs make tgt.value as vt
  "Identifier.period" : for src.period as vs make tgt.period as vt
  "Identifier.assigner" : for src.assigner as vs make tgt.assigner as vt
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/Coding3to4" = "R3 to R4 Conversions for Coding"


uses "http://hl7.org/fhir/3.0/StructureDefinition/Coding" alias CodingR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Coding" alias Coding as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group Coding extends Element
  input src : CodingR3 as source
  input tgt : Coding as target

  "Coding.system" : for src.system as vs make tgt.system as vt
  "Coding.version" : for src.version as vs make tgt.version as vt
  "Coding.code" : for src.code as vs make tgt.code as vt
  "Coding.display" : for src.display as vs make tgt.display as vt
  "Coding.userSelected" : for src.userSelected as vs make tgt.userSelected as vt
endgroup


map "http://hl7.org/fhir/StructureMap/Coding4to3" = "R4 to R3 Conversion for Coding"


uses "http://hl7.org/fhir/StructureDefinition/Coding" alias Coding as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Coding" alias CodingR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group Coding extends Element
  input src : Coding as source
  input tgt : CodingR3 as target

  "Coding.system" : for src.system as vs make tgt.system as vt
  "Coding.version" : for src.version as vs make tgt.version as vt
  "Coding.code" : for src.code as vs make tgt.code as vt
  "Coding.display" : for src.display as vs make tgt.display as vt
  "Coding.userSelected" : for src.userSelected as vs make tgt.userSelected as vt
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/CodeableConcept3to4" = "R3 to R4 Conversions for CodeableConcept"


uses "http://hl7.org/fhir/3.0/StructureDefinition/CodeableConcept" alias CodeableConceptR3 as source
uses "http://hl7.org/fhir/StructureDefinition/CodeableConcept" alias CodeableConcept as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group CodeableConcept extends Element
  input src : CodeableConceptR3 as source
  input tgt : CodeableConcept as target

  "CodeableConcept.coding" : for src.coding as vs make tgt.coding as vt
  "CodeableConcept.text" : for src.text as vs make tgt.text as vt
endgroup


map "http://hl7.org/fhir/StructureMap/CodeableConcept4to3" = "R4 to R3 Conversion for CodeableConcept"


uses "http://hl7.org/fhir/StructureDefinition/CodeableConcept" alias CodeableConcept as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/CodeableConcept" alias CodeableConceptR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group CodeableConcept extends Element
  input src : CodeableConcept as source
  input tgt : CodeableConceptR3 as target

  "CodeableConcept.coding" : for src.coding as vs make tgt.coding as vt
  "CodeableConcept.text" : for src.text as vs make tgt.text as vt
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/Quantity3to4" = "R3 to R4 Conversions for Quantity"


uses "http://hl7.org/fhir/3.0/StructureDefinition/Quantity" alias QuantityR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Quantity" alias Quantity as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group Quantity extends Element
  input src : QuantityR3 as source
  input tgt : Quantity as target

  "Quantity.value" : for src.value as vs make tgt.value as vt
  "Quantity.comparator" : for src.comparator as vs make tgt.comparator as vt
  "Quantity.unit" : for src.unit as vs make tgt.unit as vt
  "Quantity.system" : for src.system as vs make tgt.system as vt
  "Quantity.code" : for src.code as vs make tgt.code as vt
endgroup


map "http://hl7.org/fhir/StructureMap/Quantity4to3" = "R4 to R3 Conversion for Quantity"


uses "http://hl7.org/fhir/StructureDefinition/Quantity" alias Quantity as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Quantity" alias QuantityR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group Quantity extends Element
  input src : Quantity as source
  input tgt : QuantityR3 as target

  "Quantity.value" : for src.value as vs make tgt.value as vt
  "Quantity.comparator" : for src.comparator as vs make tgt.comparator as vt
  "Quantity.unit" : for src.unit as vs make tgt.unit as vt
  "Quantity.system" : for src.system as vs make tgt.system as vt
  "Quantity.code" : for src.code as vs make tgt.code as vt
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/Money3to4" = "R3 to R4 Conversions for Money"


uses "http://hl7.org/fhir/3.0/StructureDefinition/Money" alias MoneyR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Money" alias Money as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group Money extends Element
  input src : MoneyR3 as source
  input tgt : Money as target

  "Money.value" : for src.value as vs make tgt.value as vt
  "Money.currency" : for src.code as vs make tgt.currency as vt
endgroup


map "http://hl7.org/fhir/StructureMap/Money4to3" = "R4 to R3 Conversion for Money"


uses "http://hl7.org/fhir/StructureDefinition/Money" alias Money as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Money" alias MoneyR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group Money extends Element
  input src : Money as source
  input tgt : MoneyR3 as target

  "Money.value" : for src.value as vs make tgt.value as vt
  "Money.code" : for src.currency as vs make tgt.code as vt
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/Range3to4" = "R3 to R4 Conversions for Range"


uses "http://hl7.org/fhir/3.0/StructureDefinition/Range" alias RangeR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Range" alias Range as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group Range extends Element
  input src : RangeR3 as source
  input tgt : Range as target

  "Range.low" : for src.low as vs make tgt.low as vt
  "Range.high" : for src.high as vs make tgt.high as vt
endgroup


map "http://hl7.org/fhir/StructureMap/Range4to3" = "R4 to R3 Conversion for Range"


uses "http://hl7.org/fhir/StructureDefinition/Range" alias Range as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Range" alias RangeR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group Range extends Element
  input src : Range as source
  input tgt : RangeR3 as target

  "Range.low" : for src.low as vs make tgt.low as vt
  "Range.high" : for src.high as vs make tgt.high as vt
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/Ratio3to4" = "R3 to R4 Conversions for Ratio"


uses "http://hl7.org/fhir/3.0/StructureDefinition/Ratio" alias RatioR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Ratio" alias Ratio as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group Ratio extends Element
  input src : RatioR3 as source
  input tgt : Ratio as target

  "Ratio.numerator" : for src.numerator as vs make tgt.numerator as vt
  "Ratio.denominator" : for src.denominator as vs make tgt.denominator as vt
endgroup


map "http://hl7.org/fhir/StructureMap/Ratio4to3" = "R4 to R3 Conversion for Ratio"


uses "http://hl7.org/fhir/StructureDefinition/Ratio" alias Ratio as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Ratio" alias RatioR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group Ratio extends Element
  input src : Ratio as source
  input tgt : RatioR3 as target

  "Ratio.numerator" : for src.numerator as vs make tgt.numerator as vt
  "Ratio.denominator" : for src.denominator as vs make tgt.denominator as vt
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/Period3to4" = "R3 to R4 Conversions for Period"


uses "http://hl7.org/fhir/3.0/StructureDefinition/Period" alias PeriodR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Period" alias Period as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group Period extends Element
  input src : PeriodR3 as source
  input tgt : Period as target

  "Period.start" : for src.start as vs make tgt.start as vt
  "Period.end" : for src.end as vs make tgt.end as vt
endgroup


map "http://hl7.org/fhir/StructureMap/Period4to3" = "R4 to R3 Conversion for Period"


uses "http://hl7.org/fhir/StructureDefinition/Period" alias Period as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Period" alias PeriodR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group Period extends Element
  input src : Period as source
  input tgt : PeriodR3 as target

  "Period.start" : for src.start as vs make tgt.start as vt
  "Period.end" : for src.end as vs make tgt.end as vt
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/SampledData3to4" = "R3 to R4 Conversions for SampledData"


uses "http://hl7.org/fhir/3.0/StructureDefinition/SampledData" alias SampledDataR3 as source
uses "http://hl7.org/fhir/StructureDefinition/SampledData" alias SampledData as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group SampledData extends Element
  input src : SampledDataR3 as source
  input tgt : SampledData as target

  "SampledData.origin" : for src.origin as vs make tgt.origin as vt
  "SampledData.period" : for src.period as vs make tgt.period as vt
  "SampledData.factor" : for src.factor as vs make tgt.factor as vt
  "SampledData.lowerLimit" : for src.lowerLimit as vs make tgt.lowerLimit as vt
  "SampledData.upperLimit" : for src.upperLimit as vs make tgt.upperLimit as vt
  "SampledData.dimensions" : for src.dimensions as vs make tgt.dimensions as vt
  "SampledData.data" : for src.data as vs make tgt.data as vt
endgroup


map "http://hl7.org/fhir/StructureMap/SampledData4to3" = "R4 to R3 Conversion for SampledData"


uses "http://hl7.org/fhir/StructureDefinition/SampledData" alias SampledData as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/SampledData" alias SampledDataR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group SampledData extends Element
  input src : SampledData as source
  input tgt : SampledDataR3 as target

  "SampledData.origin" : for src.origin as vs make tgt.origin as vt
  "SampledData.period" : for src.period as vs make tgt.period as vt
  "SampledData.factor" : for src.factor as vs make tgt.factor as vt
  "SampledData.lowerLimit" : for src.lowerLimit as vs make tgt.lowerLimit as vt
  "SampledData.upperLimit" : for src.upperLimit as vs make tgt.upperLimit as vt
  "SampledData.dimensions" : for src.dimensions as vs make tgt.dimensions as vt
  "SampledData.data" : for src.data as vs make tgt.data as vt
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/HumanName3to4" = "R3 to R4 Conversions for HumanName"


uses "http://hl7.org/fhir/3.0/StructureDefinition/HumanName" alias HumanNameR3 as source
uses "http://hl7.org/fhir/StructureDefinition/HumanName" alias HumanName as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group HumanName extends Element
  input src : HumanNameR3 as source
  input tgt : HumanName as target

  "HumanName.use" : for src.use as vs make tgt.use as vt
  "HumanName.text" : for src.text as vs make tgt.text as vt
  "HumanName.family" : for src.family as vs make tgt.family as vt
  "HumanName.given" : for src.given as vs make tgt.given as vt
  "HumanName.prefix" : for src.prefix as vs make tgt.prefix as vt
  "HumanName.suffix" : for src.suffix as vs make tgt.suffix as vt
  "HumanName.period" : for src.period as vs make tgt.period as vt
endgroup


map "http://hl7.org/fhir/StructureMap/HumanName4to3" = "R4 to R3 Conversion for HumanName"


uses "http://hl7.org/fhir/StructureDefinition/HumanName" alias HumanName as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/HumanName" alias HumanNameR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group HumanName extends Element
  input src : HumanName as source
  input tgt : HumanNameR3 as target

  "HumanName.use" : for src.use as vs make tgt.use as vt
  "HumanName.text" : for src.text as vs make tgt.text as vt
  "HumanName.family" : for src.family as vs make tgt.family as vt
  "HumanName.given" : for src.given as vs make tgt.given as vt
  "HumanName.prefix" : for src.prefix as vs make tgt.prefix as vt
  "HumanName.suffix" : for src.suffix as vs make tgt.suffix as vt
  "HumanName.period" : for src.period as vs make tgt.period as vt
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/Address3to4" = "R3 to R4 Conversions for Address"


uses "http://hl7.org/fhir/3.0/StructureDefinition/Address" alias AddressR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Address" alias Address as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group Address extends Element
  input src : AddressR3 as source
  input tgt : Address as target

  "Address.use" : for src.use as vs make tgt.use as vt
  "Address.type" : for src.type as vs make tgt.type as vt
  "Address.text" : for src.text as vs make tgt.text as vt
  "Address.line" : for src.line as vs make tgt.line as vt
  "Address.city" : for src.city as vs make tgt.city as vt
  "Address.district" : for src.district as vs make tgt.district as vt
  "Address.state" : for src.state as vs make tgt.state as vt
  "Address.postalCode" : for src.postalCode as vs make tgt.postalCode as vt
  "Address.country" : for src.country as vs make tgt.country as vt
  "Address.period" : for src.period as vs make tgt.period as vt
endgroup


map "http://hl7.org/fhir/StructureMap/Address4to3" = "R4 to R3 Conversion for Address"


uses "http://hl7.org/fhir/StructureDefinition/Address" alias Address as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Address" alias AddressR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group Address extends Element
  input src : Address as source
  input tgt : AddressR3 as target

  "Address.use" : for src.use as vs make tgt.use as vt
  "Address.type" : for src.type as vs make tgt.type as vt
  "Address.text" : for src.text as vs make tgt.text as vt
  "Address.line" : for src.line as vs make tgt.line as vt
  "Address.city" : for src.city as vs make tgt.city as vt
  "Address.district" : for src.district as vs make tgt.district as vt
  "Address.state" : for src.state as vs make tgt.state as vt
  "Address.postalCode" : for src.postalCode as vs make tgt.postalCode as vt
  "Address.country" : for src.country as vs make tgt.country as vt
  "Address.period" : for src.period as vs make tgt.period as vt
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/ContactPoint3to4" = "R3 to R4 Conversions for ContactPoint"


uses "http://hl7.org/fhir/3.0/StructureDefinition/ContactPoint" alias ContactPointR3 as source
uses "http://hl7.org/fhir/StructureDefinition/ContactPoint" alias ContactPoint as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group ContactPoint extends Element
  input src : ContactPointR3 as source
  input tgt : ContactPoint as target

  "ContactPoint.system" : for src.system as vs make tgt.system as vt
  "ContactPoint.value" : for src.value as vs make tgt.value as vt
  "ContactPoint.use" : for src.use as vs make tgt.use as vt
  "ContactPoint.rank" : for src.rank as vs make tgt.rank as vt
  "ContactPoint.period" : for src.period as vs make tgt.period as vt
endgroup


map "http://hl7.org/fhir/StructureMap/ContactPoint4to3" = "R4 to R3 Conversion for ContactPoint"


uses "http://hl7.org/fhir/StructureDefinition/ContactPoint" alias ContactPoint as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/ContactPoint" alias ContactPointR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group ContactPoint extends Element
  input src : ContactPoint as source
  input tgt : ContactPointR3 as target

  "ContactPoint.system" : for src.system as vs make tgt.system as vt
  "ContactPoint.value" : for src.value as vs make tgt.value as vt
  "ContactPoint.use" : for src.use as vs make tgt.use as vt
  "ContactPoint.rank" : for src.rank as vs make tgt.rank as vt
  "ContactPoint.period" : for src.period as vs make tgt.period as vt
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/Timing3to4" = "R3 to R4 Conversions for Timing"


uses "http://hl7.org/fhir/3.0/StructureDefinition/Timing" alias TimingR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Timing" alias Timing as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group Timing extends BackboneElement
  input src : TimingR3 as source
  input tgt : Timing as target

  "Timing.event" : for src.event as vs make tgt.event as vt
  "Timing.repeat" : for src.repeat as vs0 make tgt.repeat as vt0 then {
    "Timing.repeat.bounds-Duration" : for vs0.bounds  : Duration as vs make vt0.bounds = create("Duration") as vt then Duration(vs,vt)
    "Timing.repeat.bounds-Range" : for vs0.bounds  : Range as vs make vt0.bounds = create("Range") as vt then Range(vs,vt)
    "Timing.repeat.bounds-Period" : for vs0.bounds  : Period as vs make vt0.bounds = create("Period") as vt then Period(vs,vt)
    "Timing.repeat.count" : for vs0.count as vs make vt0.count as vt
    "Timing.repeat.countMax" : for vs0.countMax as vs make vt0.countMax as vt
    "Timing.repeat.duration" : for vs0.duration as vs make vt0.duration as vt
    "Timing.repeat.durationMax" : for vs0.durationMax as vs make vt0.durationMax as vt
    "Timing.repeat.durationUnit" : for vs0.durationUnit as vs make vt0.durationUnit as vt
    "Timing.repeat.frequency" : for vs0.frequency as vs make vt0.frequency as vt
    "Timing.repeat.frequencyMax" : for vs0.frequencyMax as vs make vt0.frequencyMax as vt
    "Timing.repeat.period" : for vs0.period as vs make vt0.period as vt
    "Timing.repeat.periodMax" : for vs0.periodMax as vs make vt0.periodMax as vt
    "Timing.repeat.periodUnit" : for vs0.periodUnit as vs make vt0.periodUnit as vt
    "Timing.repeat.timeOfDay" : for vs0.timeOfDay as vs make vt0.timeOfDay as vt
    "Timing.repeat.offset" : for vs0.offset as vs make vt0.offset as vt
  }
  "Timing.code" : for src.code as vs make tgt.code as vt
endgroup


map "http://hl7.org/fhir/StructureMap/Timing4to3" = "R4 to R3 Conversion for Timing"


uses "http://hl7.org/fhir/StructureDefinition/Timing" alias Timing as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Timing" alias TimingR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group Timing extends BackboneElement
  input src : Timing as source
  input tgt : TimingR3 as target

  "Timing.event" : for src.event as vs make tgt.event as vt
  "Timing.repeat" : for src.repeat as vs0 make tgt.repeat as vt0 then {
    "Timing.repeat.bounds-Duration" : for vs0.bounds  : Duration as vs make vt0.bounds = create("Duration") as vt then Duration(vs,vt)
    "Timing.repeat.bounds-Range" : for vs0.bounds  : Range as vs make vt0.bounds = create("Range") as vt then Range(vs,vt)
    "Timing.repeat.bounds-Period" : for vs0.bounds  : Period as vs make vt0.bounds = create("Period") as vt then Period(vs,vt)
    "Timing.repeat.count" : for vs0.count as vs make vt0.count as vt
    "Timing.repeat.countMax" : for vs0.countMax as vs make vt0.countMax as vt
    "Timing.repeat.duration" : for vs0.duration as vs make vt0.duration as vt
    "Timing.repeat.durationMax" : for vs0.durationMax as vs make vt0.durationMax as vt
    "Timing.repeat.durationUnit" : for vs0.durationUnit as vs make vt0.durationUnit as vt
    "Timing.repeat.frequency" : for vs0.frequency as vs make vt0.frequency as vt
    "Timing.repeat.frequencyMax" : for vs0.frequencyMax as vs make vt0.frequencyMax as vt
    "Timing.repeat.period" : for vs0.period as vs make vt0.period as vt
    "Timing.repeat.periodMax" : for vs0.periodMax as vs make vt0.periodMax as vt
    "Timing.repeat.periodUnit" : for vs0.periodUnit as vs make vt0.periodUnit as vt
    "Timing.repeat.timeOfDay" : for vs0.timeOfDay as vs make vt0.timeOfDay as vt
    "Timing.repeat.offset" : for vs0.offset as vs make vt0.offset as vt
  }
  "Timing.code" : for src.code as vs make tgt.code as vt
endgroup


See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/Signature3to4" = "R3 to R4 Conversions for Signature"


uses "http://hl7.org/fhir/3.0/StructureDefinition/Signature" alias SignatureR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Signature" alias Signature as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group Signature extends Element
  input src : SignatureR3 as source
  input tgt : Signature as target

  "Signature.type": for src.type make tgt.type
  "Signature.when": for src.when make tgt.when
  "Signature.who": for src.who make tgt.who
  "Signature.onBehalfOf": for src.onBehalfOf make tgt.onBehalfOf
  "Signature.targetFormat": for src.targetFormat make tgt.targetFormat
  "Signature.sigFormat": for src.sigFormat make tgt.sigFormat
  "Signature.blob": for src.blob make tgt.blob
endgroup


map "http://hl7.org/fhir/StructureMap/Signature4to3" = "R4 to R3 Conversion for Signature"


uses "http://hl7.org/fhir/StructureDefinition/Signature" alias Signature as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Signature" alias SignatureR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group Signature extends Element
  input src : SignatureR3 as source
  input tgt : Signature as target

  "Signature.type": for src.type make tgt.type
  "Signature.when": for src.when make tgt.when
  "Signature.who": for src.who make tgt.who
  "Signature.onBehalfOf": for src.onBehalfOf make tgt.onBehalfOf
  "Signature.targetFormat": for src.targetFormat make tgt.targetFormat
  "Signature.sigFormat": for src.sigFormat make tgt.sigFormat
  "Signature.blob": for src.blob make tgt.blob
endgroup

See also Base Definition, Detailed Descriptions, Examples, Profiles & Extensions and Mappings.

Functional status for this map: Not Mapped (based on R2 -> R3 -> R2 round tripping)

map "http://hl7.org/fhir/StructureMap/Annotation3to4" = "R3 to R4 Conversions for Annotation"


uses "http://hl7.org/fhir/3.0/StructureDefinition/Annotation" alias AnnotationR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Annotation" alias Annotation as target

imports "http://hl7.org/fhir/StructureMap/*3to4"



group Annotation extends Element
  input src : AnnotationR3 as source
  input tgt : Annotation as target

  "Annotation.author-Reference" : for src.author  : Reference as vs make tgt.author = create("Reference") as vt then Reference(vs,vt)
  "Annotation.author-string" : for src.author  : string as vs make tgt.author = create("string") as vt then string(vs,vt)
  "Annotation.time" : for src.time as vs make tgt.time as vt
  "Annotation.text" : for src.text as vs make tgt.text as vt
endgroup


map "http://hl7.org/fhir/StructureMap/Annotation4to3" = "R4 to R3 Conversion for Annotation"


uses "http://hl7.org/fhir/StructureDefinition/Annotation" alias Annotation as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Annotation" alias AnnotationR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"



group Annotation extends Element
  input src : Annotation as source
  input tgt : AnnotationR3 as target

  "Annotation.author-Reference" : for src.author  : Reference as vs make tgt.author = create("Reference") as vt then Reference(vs,vt)
  "Annotation.author-string" : for src.author  : string as vs make tgt.author = create("string") as vt then string(vs,vt)
  "Annotation.time" : for src.time as vs make tgt.time as vt
  "Annotation.text" : for src.text as vs make tgt.text as vt
endgroup