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 : Business Compartments : Not linked to any defined compartments

R2 : R3 Converson : R4 Conversion maps for Subscription.

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

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

uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Subscription" alias SubscriptionR2 as source
uses "http://hl7.org/fhir/StructureDefinition/Subscription" alias Subscription as target

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


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

uses "http://hl7.org/fhir/3.0/StructureDefinition/Subscription" alias SubscriptionR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Subscription" alias Subscription as target


group for type+types  Subscription extends DomainResource
  input src : SubscriptionR2 as source
  input tgt : Subscription as target

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


  "Subscription-criteria" : for src.criteria make tgt.criteria
  "Subscription-contact" : for src.contact make tgt.contact
  "Subscription-reason" : for src.reason make tgt.reason
  "Subscription-status" : for src.status make tgt.status
  "Subscription-error" : for src.error make tgt.error
  "Subscription-channel" : for src.channel as vs0 make tgt.channel as vt0 then {
    "Subscription.channel-type" : for vs0.type make vt0.type
    "Subscription.channel-endpoint" : for vs0.endpoint make vt0.endpoint
    "Subscription.channel-payload" : for vs0.payload make vt0.payload
    "Subscription.channel-header" : for vs0.header make vt0.header
  }

group Subscription(source src : SubscriptionR3, target tgt : Subscription) extends DomainResource <<type+>> {
  src.status -> tgt.status;
  src.contact -> tgt.contact;
  src.end -> tgt.end;
  src.reason -> tgt.reason;
  src.criteria -> tgt.criteria;
  src.error -> tgt.error;
  src.channel as vs0 -> tgt.channel as vt0 then channel(vs0, vt0);
}


  "Subscription-end" : for src.end make tgt.end
  "Subscription-tag" : for src.tag make tgt.tag

group channel(source src, target tgt) extends BackboneElement {
  src.type -> tgt.type;
  src.endpoint -> tgt.endpoint;
  src.payload -> tgt.payload;
  src.header -> tgt.header;
}


endgroup


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

uses "http://hl7.org/fhir/StructureDefinition/Subscription" alias Subscription as source
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Subscription" alias SubscriptionR2 as target

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


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

uses "http://hl7.org/fhir/StructureDefinition/Subscription" alias Subscription as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Subscription" alias SubscriptionR3 as target


group for type+types  Subscription extends DomainResource
  input src : Subscription as source
  input tgt : SubscriptionR2 as target

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


  "Subscription-criteria" : for src.criteria make tgt.criteria
  "Subscription-contact" : for src.contact make tgt.contact
  "Subscription-reason" : for src.reason make tgt.reason
  "Subscription-status" : for src.status make tgt.status
  "Subscription-error" : for src.error make tgt.error
  "Subscription-channel" : for src.channel as vs0 make tgt.channel as vt0 then {
    "Subscription.channel-type" : for vs0.type make vt0.type
    "Subscription.channel-endpoint" : for vs0.endpoint make vt0.endpoint
    "Subscription.channel-payload" : for vs0.payload make vt0.payload
    "Subscription.channel-header" : for vs0.header make vt0.header
  }

group Subscription(source src : Subscription, target tgt : SubscriptionR3) extends DomainResource <<type+>> {
  src.status -> tgt.status;
  src.contact -> tgt.contact;
  src.end -> tgt.end;
  src.reason -> tgt.reason;
  src.criteria -> tgt.criteria;
  src.error -> tgt.error;
  src.channel as vs0 -> tgt.channel as vt0 then channel(vs0, vt0);
}


  "Subscription-end" : for src.end make tgt.end
  "Subscription-tag" : for src.tag make tgt.tag

group channel(source src, target tgt) extends BackboneElement {
  src.type -> tgt.type;
  src.endpoint -> tgt.endpoint;
  src.payload -> tgt.payload;
  src.header -> tgt.header;
}


endgroup


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