FHIR Release 3 (STU) 4

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 Ballot Standards Status : Informative Security Category : Anonymous Compartments : Not linked to any defined compartments

R2 : R3 Converson : R4 Conversion maps for SearchParameter.

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

map "http://hl7.org/fhir/StructureMap/SearchParameter2to3" = "R2 to R3 Conversions for SearchParameter"

uses "http://hl7.org/fhir/DSTU2/StructureDefinition/SearchParameter" alias SearchParameterR2 as source
uses "http://hl7.org/fhir/StructureDefinition/SearchParameter" alias SearchParameter as target

imports "http://hl7.org/fhir/StructureMap/primitives2to3"
imports "http://hl7.org/fhir/StructureMap/DomainResource2to3"
imports "http://hl7.org/fhir/StructureMap/ContactPoint2to3"

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


group for type+types  SearchParameter extends DomainResource
  input src : SearchParameterR2 as source
  input tgt : SearchParameter as target

uses "http://hl7.org/fhir/3.0/StructureDefinition/SearchParameter" alias SearchParameterR3 as source
uses "http://hl7.org/fhir/StructureDefinition/SearchParameter" alias SearchParameter as target


  "SearchParameter-url" : for src.url make tgt.url
  "SearchParameter-name" : for src.name make tgt.name
  "SearchParameter-status" : for src.status default "draft" make tgt.status
  "SearchParameter-experimental" : for src.experimental make tgt.experimental
  "SearchParameter-date" : for src.date make tgt.date
  "SearchParameter-publisher" : for src.publisher make tgt.publisher
  "SearchParameter-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
  }

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


  "SearchParameter-purpose" : for src.requirements make tgt.purpose
  "SearchParameter-code" : for src.code make tgt.code
  "SearchParameter-base" : for src.base make tgt.base
  "SearchParameter-type" : for src.type make tgt.type
  "SearchParameter-description" : for src.description make tgt.description
  "SearchParameter-xpath" : for src.xpath make tgt.xpath
  "SearchParameter-xpathUsage" : for src.xpathUsage make tgt.xpathUsage
  "SearchParameter-target" : for src.target make tgt.target

group SearchParameter(source src : SearchParameterR3, target tgt : SearchParameter) 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.useContext -> tgt.useContext;
  src.jurisdiction -> tgt.jurisdiction;
  src.purpose -> tgt.purpose;
  src.code -> tgt.code;
  src.base -> tgt.base;
  src.type -> tgt.type;
  src.derivedFrom -> tgt.derivedFrom;
  src.description -> tgt.description;
  src.expression -> tgt.expression;
  src.xpath -> tgt.xpath;
  src.xpathUsage -> tgt.xpathUsage;
  src.target -> tgt.target;
  src.comparator -> tgt.comparator;
  src.modifier -> tgt.modifier;
  src.chain -> tgt.chain;
  src.component as vs0 -> tgt.component as vt0 then {
    vs0.definition -> vt0.definition;
    vs0.expression -> vt0.expression;
  };
}


endgroup


map "http://hl7.org/fhir/StructureMap/SearchParameter3to2" = "R3 to R2 Conversion for SearchParameter"

uses "http://hl7.org/fhir/StructureDefinition/SearchParameter" alias SearchParameter as source
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/SearchParameter" alias SearchParameterR2 as target

imports "http://hl7.org/fhir/StructureMap/primitives3to2"
imports "http://hl7.org/fhir/StructureMap/DomainResource3to2"
imports "http://hl7.org/fhir/StructureMap/ContactPoint3to2"

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


group for type+types  SearchParameter extends DomainResource
  input src : SearchParameter as source
  input tgt : SearchParameterR2 as target

uses "http://hl7.org/fhir/StructureDefinition/SearchParameter" alias SearchParameter as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/SearchParameter" alias SearchParameterR3 as target


  "SearchParameter-url" : for src.url make tgt.url
  "SearchParameter-name" : for src.name make tgt.name
  "SearchParameter-status" : for src.status make tgt.status
  "SearchParameter-experimental" : for src.experimental make tgt.experimental
  "SearchParameter-publisher" : for src.publisher make tgt.publisher
  "SearchParameter-contact" : for src.contact as vs0 make tgt.contact as vt0 then {
    "SearchParameter.contact-name" : for vs0.name make vt0.name
    "SearchParameter.contact-telecom" : for vs0.telecom make vt0.telecom
  }

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


  "SearchParameter-date" : for src.date make tgt.date
  "SearchParameter-requirements" : for src.purpose make tgt.requirements
  "SearchParameter-code" : for src.code make tgt.code
  "SearchParameter-base" : for src.base only_one make tgt.base
  "SearchParameter-type" : for src.type make tgt.type
  "SearchParameter-description" : for src.description make tgt.description
  "SearchParameter-xpath" : for src.xpath make tgt.xpath
  "SearchParameter-xpathUsage" : for src.xpathUsage make tgt.xpathUsage
  "SearchParameter-target" : for src.target make tgt.target

group SearchParameter(source src : SearchParameter, target tgt : SearchParameterR3) 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.useContext -> tgt.useContext;
  src.jurisdiction -> tgt.jurisdiction;
  src.purpose -> tgt.purpose;
  src.code -> tgt.code;
  src.base -> tgt.base;
  src.type -> tgt.type;
  src.derivedFrom -> tgt.derivedFrom;
  src.description -> tgt.description;
  src.expression -> tgt.expression;
  src.xpath -> tgt.xpath;
  src.xpathUsage -> tgt.xpathUsage;
  src.target -> tgt.target;
  src.comparator -> tgt.comparator;
  src.modifier -> tgt.modifier;
  src.chain -> tgt.chain;
  src.component as vs0 -> tgt.component as vt0 then {
    vs0.definition -> vt0.definition;
    vs0.expression -> vt0.expression;
  };
}


endgroup


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