R4 Ballot #1 (Mixed Normative/Trial use) Current Build
This page was published as part of FHIR v3.3.0: R4 Ballot #1 : Mixed Normative/Trial use (First Normative ballot). It has been superceded by R4 . For a full list of available versions, see the Directory of published versions .
Patient Administration Work Group Maturity Level : N/A Ballot Standards Status : Informative Security Category : Business Compartments : Not linked to any defined compartments

R2 : R3 : R4 Conversion maps for Location.

Functional status for this map: 6 tests 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/Location2to3" = "R2 to R3 Conversions for Location"
map "http://hl7.org/fhir/StructureMap/Location3to4" = "R3 to R4 Conversions for Location"
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Location" alias LocationR2 as source

uses "http://hl7.org/fhir/3.0/StructureDefinition/Location" alias LocationR3 as source

uses "http://hl7.org/fhir/StructureDefinition/Location" alias Location as target
imports "http://hl7.org/fhir/StructureMap/*2to3"

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

group for type+types  Location extends DomainResource
  input src : LocationR2 as source
  input tgt : Location as target

group Location(source src : LocationR3, target tgt : Location) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier;
  src.status -> tgt.status;
  src.operationalStatus -> tgt.operationalStatus;
  src.name -> tgt.name;
  src.alias -> tgt.alias;
  src.description -> tgt.description;
  src.mode -> tgt.mode;
  src.type -> tgt.type;
  src.telecom -> tgt.telecom;
  src.address -> tgt.address;
  src.physicalType -> tgt.physicalType;
  src.position as vs0 -> tgt.position as vt0 then position(vs0, vt0);
  src.managingOrganization -> tgt.managingOrganization;
  src.partOf -> tgt.partOf;
  src.endpoint -> tgt.endpoint;
}

  "Location-identifier" : for src.identifier make tgt.identifier
  "Location-status" : for src.status make tgt.status
  "Location-name" : for src.name make tgt.name
  "Location-description" : for src.description make tgt.description
  "Location-mode" : for src.mode make tgt.mode
  "Location-type" : for src.type make tgt.type
  "Location-telecom" : for src.telecom make tgt.telecom
  "Location-address" : for src.address make tgt.address
  "Location-physicalType" : for src.physicalType make tgt.physicalType
  "Location-position" : for src.position as vs0 make tgt.position as vt0 then locPosition(vs0, vt0)
  "Location-managingOrganization" : for src.managingOrganization make tgt.managingOrganization
  "Location-partOf" : for src.partOf make tgt.partOf
endgroup

group position(source src, target tgt) extends BackboneElement {
  src.longitude -> tgt.longitude;
  src.latitude -> tgt.latitude;
  src.altitude -> tgt.altitude;
}

group locPosition extends BackboneElement
  input src : Location as source
  input tgt : LocationR2 as target

  "Location.position-longitude" : for src.longitude make tgt.longitude
  "Location.position-latitude" : for src.latitude make tgt.latitude
  "Location.position-altitude" : for src.altitude make tgt.altitude
endgroup
  

map "http://hl7.org/fhir/StructureMap/Location3to2" = "R3 to R2 Conversion for Location"
map "http://hl7.org/fhir/StructureMap/Location4to3" = "R4 to R3 Conversion for Location"
uses "http://hl7.org/fhir/StructureDefinition/Location" alias Location as source
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Location" alias LocationR2 as target

uses "http://hl7.org/fhir/3.0/StructureDefinition/Location" alias LocationR3 as target

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

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

group for type+types  Location extends DomainResource
  input src : Location as source
  input tgt : LocationR2 as target

group Location(source src : Location, target tgt : LocationR3) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier;
  src.status -> tgt.status;
  src.operationalStatus -> tgt.operationalStatus;
  src.name -> tgt.name;
  src.alias -> tgt.alias;
  src.description -> tgt.description;
  src.mode -> tgt.mode;
  src.type -> tgt.type;
  src.telecom -> tgt.telecom;
  src.address -> tgt.address;
  src.physicalType -> tgt.physicalType;
  src.position as vs0 -> tgt.position as vt0 then position(vs0, vt0);
  src.managingOrganization -> tgt.managingOrganization;
  src.partOf -> tgt.partOf;
  src.endpoint -> tgt.endpoint;
}

  "Location-identifier" : for src.identifier make tgt.identifier
  "Location-status" : for src.status make tgt.status
  "Location-name" : for src.name make tgt.name
  "Location-description" : for src.description make tgt.description
  "Location-mode" : for src.mode make tgt.mode
  "Location-type" : for src.type make tgt.type
  "Location-telecom" : for src.telecom make tgt.telecom
  "Location-address" : for src.address make tgt.address
  "Location-physicalType" : for src.physicalType make tgt.physicalType
  "Location-position" : for src.position as vs0 make tgt.position as vt0 then locPosition(vs0, vt0)
  "Location-managingOrganization" : for src.managingOrganization make tgt.managingOrganization
  "Location-partOf" : for src.partOf make tgt.partOf
endgroup

group position(source src, target tgt) extends BackboneElement {
  src.longitude -> tgt.longitude;
  src.latitude -> tgt.latitude;
  src.altitude -> tgt.altitude;
}

group locPosition extends BackboneElement
  input src : Location as source
  input tgt : LocationR2 as target

  "Location.position-longitude" : for src.longitude make tgt.longitude
  "Location.position-latitude" : for src.latitude make tgt.latitude
  "Location.position-altitude" : for src.altitude make tgt.altitude
endgroup
  

<p>No validation errors - all conversions are clean</p>