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: R5 R4B R4 R3

Patient Care Work GroupMaturity Level: N/ABallot Status: Informative Compartments: Patient

R3 : R4 Conversion maps for Goal.

Functional status for this map: 2 tests that all execute ok. 2 fail round-trip testing and 2 r3 resources are invalid (0 errors). (see documentation)

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


uses "http://hl7.org/fhir/3.0/StructureDefinition/Goal" alias GoalR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Goal" alias Goal as target

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



group Goal extends DomainResource
  input src : GoalR3 as source
  input tgt : Goal as target

  "Goal.identifier" : for src.identifier as vs make tgt.identifier as vt
  "Goal.status" : for src.status as vs make tgt.status as vt
  "Goal.category" : for src.category as vs make tgt.category as vt
  "Goal.priority" : for src.priority as vs make tgt.priority as vt
  "Goal.description" : for src.description as vs make tgt.description as vt
  "Goal.subject" : for src.subject as vs make tgt.subject as vt
  "Goal.start-date" : for src.start  : date as vs make tgt.start = create("date") as vt then date(vs,vt)
  "Goal.start-CodeableConcept" : for src.start  : CodeableConcept as vs make tgt.start = create("CodeableConcept") as vt then CodeableConcept(vs,vt)
  "Goal.target" : for src.target as vs0 make tgt.target as vt0 then {
    "Goal.target.measure" : for vs0.measure as vs make vt0.measure as vt
    "Goal.target.detail-Quantity" : for vs0.detail  : Quantity as vs make vt0.detail = create("Quantity") as vt then Quantity(vs,vt)
    "Goal.target.detail-Range" : for vs0.detail  : Range as vs make vt0.detail = create("Range") as vt then Range(vs,vt)
    "Goal.target.detail-CodeableConcept" : for vs0.detail  : CodeableConcept as vs make vt0.detail = create("CodeableConcept") as vt then CodeableConcept(vs,vt)
    "Goal.target.due-date" : for vs0.due  : date as vs make vt0.due = create("date") as vt then date(vs,vt)
    "Goal.target.due-Duration" : for vs0.due  : Duration as vs make vt0.due = create("Duration") as vt then Duration(vs,vt)
  }
  "Goal.statusDate" : for src.statusDate as vs make tgt.statusDate as vt
  "Goal.statusReason" : for src.statusReason as vs make tgt.statusReason as vt
  "Goal.expressedBy" : for src.expressedBy as vs make tgt.expressedBy as vt
  "Goal.addresses" : for src.addresses as vs make tgt.addresses as vt
  "Goal.note" : for src.note as vs make tgt.note as vt
  "Goal.outcomeCode" : for src.outcomeCode as vs make tgt.outcomeCode as vt
  "Goal.outcomeReference" : for src.outcomeReference as vs make tgt.outcomeReference as vt
endgroup


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


uses "http://hl7.org/fhir/StructureDefinition/Goal" alias Goal as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Goal" alias GoalR3 as target

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



group Goal extends DomainResource
  input src : Goal as source
  input tgt : GoalR3 as target

  "Goal.identifier" : for src.identifier as vs make tgt.identifier as vt
  "Goal.status" : for src.status as vs make tgt.status as vt
  "Goal.category" : for src.category as vs make tgt.category as vt
  "Goal.priority" : for src.priority as vs make tgt.priority as vt
  "Goal.description" : for src.description as vs make tgt.description as vt
  "Goal.subject" : for src.subject as vs make tgt.subject as vt
  "Goal.start-date" : for src.start  : date as vs make tgt.start = create("date") as vt then date(vs,vt)
  "Goal.start-CodeableConcept" : for src.start  : CodeableConcept as vs make tgt.start = create("CodeableConcept") as vt then CodeableConcept(vs,vt)
  "Goal.target" : for src.target as vs0 make tgt.target as vt0 then {
    "Goal.target.measure" : for vs0.measure as vs make vt0.measure as vt
    "Goal.target.detail-Quantity" : for vs0.detail  : Quantity as vs make vt0.detail = create("Quantity") as vt then Quantity(vs,vt)
    "Goal.target.detail-Range" : for vs0.detail  : Range as vs make vt0.detail = create("Range") as vt then Range(vs,vt)
    "Goal.target.detail-CodeableConcept" : for vs0.detail  : CodeableConcept as vs make vt0.detail = create("CodeableConcept") as vt then CodeableConcept(vs,vt)
    "Goal.target.due-date" : for vs0.due  : date as vs make vt0.due = create("date") as vt then date(vs,vt)
    "Goal.target.due-Duration" : for vs0.due  : Duration as vs make vt0.due = create("Duration") as vt then Duration(vs,vt)
  }
  "Goal.statusDate" : for src.statusDate as vs make tgt.statusDate as vt
  "Goal.statusReason" : for src.statusReason as vs make tgt.statusReason as vt
  "Goal.expressedBy" : for src.expressedBy as vs make tgt.expressedBy as vt
  "Goal.addresses" : for src.addresses as vs make tgt.addresses as vt
  "Goal.note" : for src.note as vs make tgt.note as vt
  "Goal.outcomeCode" : for src.outcomeCode as vs make tgt.outcomeCode as vt
  "Goal.outcomeReference" : for src.outcomeReference as vs make tgt.outcomeReference as vt
endgroup