FHIR Release 3 (STU) Current Build
This page is part of FHIR STU 3 (v3.0.1) in it's permanent home (it will always be available at this URL). It has been superceded by R4 . For a full list of available versions, see the Directory of published versions .
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"
map "http://hl7.org/fhir/StructureMap/Subscription3to4" = "R3 to R4 Conversions for Subscription"
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Subscription" alias SubscriptionR2 as source

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

uses "http://hl7.org/fhir/StructureDefinition/Subscription" alias Subscription as target
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"
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"
map "http://hl7.org/fhir/StructureMap/Subscription4to3" = "R4 to R3 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
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/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>