R4 Draft for Comment

This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). 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

Financial Management Work GroupMaturity Level: N/ABallot Status: Informative Compartments: Not linked to any defined compartments

R2 : R3 Conversion maps for Contract.

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

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

uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Contract" alias ContractR2 as source
uses "http://hl7.org/fhir/StructureDefinition/Contract" alias Contract as target

imports "http://hl7.org/fhir/StructureMap/primitives2to3"
imports "http://hl7.org/fhir/StructureMap/DomainResource2to3"
imports "http://hl7.org/fhir/StructureMap/Attachment2to3"
imports "http://hl7.org/fhir/StructureMap/Identifier2to3"
imports "http://hl7.org/fhir/StructureMap/Reference2to3"
imports "http://hl7.org/fhir/StructureMap/Period2to3"
imports "http://hl7.org/fhir/StructureMap/CodeableConcept2to3"

group for type+types  Contract extends DomainResource
  input src : ContractR2 as source
  input tgt : Contract as target
  
  "Contract-identifier" : for src.identifier make tgt.identifier
  "Contract-issued" : for src.issued make tgt.issued
  "Contract-applies" : for src.applies make tgt.applies
  "Contract-subject" : for src.subject make tgt.subject
  "Contract-authority" : for src.authority make tgt.authority
  "Contract-domain" : for src.domain make tgt.domain
  "Contract-type" : for src.type make tgt.type
  "Contract-subType" : for src.subType make tgt.subType
  "Contract-action" : for src.action make tgt.action
  "Contract-actionReason" : for src.actionReason make tgt.actionReason
  "Contract-actor" : for src.actor as vs make tgt.agent as vt then cntActor(vs, vt)
  "Contract-valuedItem" : for src.valuedItem as vs make tgt.valuedItem as vt then cntValuedItem(vs, vt)
  "Contract-signer" : for src.signer as vs make tgt.signer as vt then cntSigner(vs, vt)
  "Contract-term" : for src.term as vs make tgt.term as vt then cntTerm(vs, vt)
  "Contract-binding" : for src.binding make tgt.binding
  "Contract-friendly" : for src.friendly as vs make tgt.friendly as vt then cntContent(vs, vt)
  "Contract-legal" : for src.legal as vs make tgt.legal as vt then cntContent(vs, vt)
  "Contract-rule" : for src.rule as vs make tgt.rule as vt then cntContent(vs, vt)
endgroup

group cntActor extends BackboneElement
  input src as source
  input tgt as target
  
  "Contract.actor-entity" : for src.entity make tgt.actor
  "Contract.actor-role" : for src.role make tgt.role
endgroup

group cntValuedItem extends BackboneElement
  input src as source
  input tgt as target
  
  "Contract.valuedItem-entity" : for src.entity make tgt.entity
  "Contract.valuedItem-identifier" : for src.identifier make tgt.identifier
  "Contract.valuedItem-effectiveTime" : for src.effectiveTime make tgt.effectiveTime
  "Contract.valuedItem-quantity" : for src.quantity make tgt.quantity
  "Contract.valuedItem-unitPrice" : for src.unitPrice make tgt.unitPrice
  "Contract.valuedItem-factor" : for src.factor make tgt.factor
  "Contract.valuedItem-points" : for src.points make tgt.points
  "Contract.valuedItem-net" : for src.net make tgt.net
endgroup

group cntSigner extends BackboneElement
  input src as source
  input tgt as target
  
  "Contract.signer-type" : for src.type make tgt.type
  "Contract.signer-party" : for src.party make tgt.party
  "Contract.signer-signature" : for src.signature make tgt.signature
endgroup

group cntTerm extends BackboneElement
  input src as source
  input tgt as target
  
  "Contract.term-identifier" : for src.identifier make tgt.identifier
  "Contract.term-issued" : for src.issued make tgt.issued
  "Contract.term-applies" : for src.applies make tgt.applies
  "Contract.term-type" : for src.type make tgt.type
  "Contract.term-subType" : for src.subType make tgt.subType
  "Contract.term-subject" : for src.subject make tgt.topic
  "Contract.term-action" : for src.action make tgt.action
  "Contract.term-actionReason" : for src.actionReason make tgt.actionReason
  "Contract.term-actor" : for src.actor as vs make tgt.agent as vt then cntActor(vs, vt)
  "Contract.term-text" : for src.text make tgt.text
  "Contract.term-valuedItem" : for src.valuedItem as vs make tgt.valuedItem as vt then cntValuedItem(vs, vt)
  "Contract.term-group" : for src.group as vs make tgt.group as vt then cntTerm(vs, vt)
endgroup

group cntContent extends BackboneElement
  input src as source
  input tgt as target
  
  "Contract.content-content" : for src.content make tgt.content
endgroup

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

uses "http://hl7.org/fhir/StructureDefinition/Contract" alias Contract as source
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Contract" alias ContractR2 as target

imports "http://hl7.org/fhir/StructureMap/primitives3to2"
imports "http://hl7.org/fhir/StructureMap/DomainResource3to2"
imports "http://hl7.org/fhir/StructureMap/Attachment3to2"
imports "http://hl7.org/fhir/StructureMap/Identifier3to2"
imports "http://hl7.org/fhir/StructureMap/Reference3to2"
imports "http://hl7.org/fhir/StructureMap/Period3to2"
imports "http://hl7.org/fhir/StructureMap/CodeableConcept3to2"

group for type+types  Contract extends DomainResource
  input src : Contract as source
  input tgt : ContractR2 as target

  "Contract-identifier" : for src.identifier make tgt.identifier
  "Contract-issued" : for src.issued make tgt.issued
  "Contract-applies" : for src.applies make tgt.applies
  "Contract-subject" : for src.subject make tgt.subject
  "Contract-authority" : for src.authority make tgt.authority
  "Contract-domain" : for src.domain make tgt.domain
  "Contract-type" : for src.type make tgt.type
  "Contract-subType" : for src.subType make tgt.subType
  "Contract-action" : for src.action make tgt.action
  "Contract-actionReason" : for src.actionReason make tgt.actionReason
  "Contract-actor" : for src.agent as vs make tgt.actor as vt then cntActor(vs, vt)
  "Contract-valuedItem" : for src.valuedItem as vs make tgt.valuedItem as vt then cntValuedItem(vs, vt)
  "Contract-signer" : for src.signer as vs make tgt.signer as vt then cntSigner(vs, vt)
  "Contract-term" : for src.term as vs make tgt.term as vt then cntTerm(vs, vt)
  "Contract-binding" : for src.binding make tgt.binding
  "Contract-friendly" : for src.friendly as vs make tgt.friendly as vt then cntContent(vs, vt)
  "Contract-legal" : for src.legal as vs make tgt.legal as vt then cntContent(vs, vt)
  "Contract-rule" : for src.rule as vs make tgt.rule as vt then cntContent(vs, vt)
endgroup

group cntActor extends BackboneElement
  input src as source
  input tgt as target
  
  "Contract.actor-entity" : for src.actor make tgt.entity
  "Contract.actor-role" : for src.role make tgt.role
endgroup

group cntValuedItem extends BackboneElement
  input src as source
  input tgt as target
  
  "Contract.valuedItem-entity" : for src.entity make tgt.entity
  "Contract.valuedItem-identifier" : for src.identifier make tgt.identifier
  "Contract.valuedItem-effectiveTime" : for src.effectiveTime make tgt.effectiveTime
  "Contract.valuedItem-quantity" : for src.quantity make tgt.quantity
  "Contract.valuedItem-unitPrice" : for src.unitPrice make tgt.unitPrice
  "Contract.valuedItem-factor" : for src.factor make tgt.factor
  "Contract.valuedItem-points" : for src.points make tgt.points
  "Contract.valuedItem-net" : for src.net make tgt.net
endgroup

group cntSigner extends BackboneElement
  input src as source
  input tgt as target
  
  "Contract.signer-type" : for src.type make tgt.type
  "Contract.signer-party" : for src.party make tgt.party
  "Contract.signer-signature" : for src.signature make tgt.signature
endgroup

group cntTerm extends BackboneElement
  input src as source
  input tgt as target
  
  "Contract.term-identifier" : for src.identifier make tgt.identifier
  "Contract.term-issued" : for src.issued make tgt.issued
  "Contract.term-applies" : for src.applies make tgt.applies
  "Contract.term-type" : for src.type make tgt.type
  "Contract.term-subType" : for src.subType make tgt.subType
  "Contract.term-subject" : for src.topic make tgt.subject
  "Contract.term-action" : for src.action make tgt.action
  "Contract.term-actionReason" : for src.actionReason make tgt.actionReason
  "Contract.term-actor" : for src.agent as vs make tgt.actor as vt then cntActor(vs, vt)
  "Contract.term-text" : for src.text make tgt.text
  "Contract.term-valuedItem" : for src.valuedItem as vs make tgt.valuedItem as vt then cntValuedItem(vs, vt)
  "Contract.term-group" : for src.group as vs make tgt.group as vt then cntTerm(vs, vt)
endgroup

group cntContent extends BackboneElement
  input src as source
  input tgt as target
  
  "Contract.content-content" : for src.content make tgt.content
endgroup