FHIR Release 3 (STU) R4 Ballot #2 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.0.2: STU 3). (v3.5.0: R4 Ballot #2). 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 Group Maturity Level : N/A Ballot Status : Informative Compartments : Not linked to any defined compartments

R2 : R3 Converson : R4 Conversion maps for Contract.

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

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

map "http://hl7.org/fhir/StructureMap/Contract3to4" = "R3 to R4 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"

uses "http://hl7.org/fhir/3.0/StructureDefinition/Contract" alias ContractR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Contract" alias Contract as target


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

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



group Contract extends DomainResource
  input src : ContractR3 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)


  "Contract.identifier": for src.identifier make tgt.identifier
  "Contract.status": for src.status make tgt.status
  "Contract.contentDerivative": for src.contentDerivative make tgt.contentDerivative
  "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.term": for src.term as s make tgt.term as t then ContractTerm(s,t)
  "Contract.signer": for src.signer as s make tgt.signer as t then ContractSigner(s,t)
  "Contract.friendly": for src.friendly as s make tgt.friendly as t then ContractFriendly(s,t)
  "Contract.legal": for src.legal as s make tgt.legal as t then ContractLegal(s,t)
  "Contract.rule": for src.rule as s make tgt.rule as t then ContractRule(s,t)
  "Contract.legallyBinding": for src.legallyBinding make tgt.legallyBinding

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


group ContractTerm extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract 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.offer": for src.offer as s make tgt.offer as t then ContractTermOffer(s,t)
  "Contract.term.asset": for src.asset as s make tgt.asset as t then ContractTermAsset(s,t)
  "Contract.term.agent": for src.agent as s make tgt.agent as t then ContractTermAgent(s,t)
  "Contract.term.action": for src.action make tgt.action
  "Contract.term.actionReason": for src.actionReason make tgt.actionReason
  "Contract.term.group": for src.group make tgt.group

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


group ContractTermOffer extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.term.offer.topic": for src.topic make tgt.topic
  "Contract.term.offer.type": for src.type make tgt.type
  "Contract.term.offer.decision": for src.decision make tgt.decision
  "Contract.term.offer.text": for src.text make tgt.text
  "Contract.term.offer.linkId": for src.linkId make tgt.linkId

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


group ContractTermAsset extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.term.asset.class": for src.class make tgt.class
  "Contract.term.asset.code": for src.code make tgt.code
  "Contract.term.asset.period": for src.period make tgt.period
  "Contract.term.asset.dataPeriod": for src.dataPeriod make tgt.dataPeriod
  "Contract.term.asset.data": for src.data as s make tgt.data as t then ContractTermAssetData(s,t)
  "Contract.term.asset.valuedItem": for src.valuedItem as s make tgt.valuedItem as t then ContractTermAssetValuedItem(s,t)
  "Contract.term.asset.securityLabel": for src.securityLabel make tgt.securityLabel

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)


group ContractTermAssetData extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.term.asset.data.meaning": for src.meaning make tgt.meaning
  "Contract.term.asset.data.reference": for src.reference make tgt.reference

endgroup

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


group ContractTermAssetValuedItem extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.term.asset.valuedItem.entity": for src.entity make tgt.entity
  "Contract.term.asset.valuedItem.identifier": for src.identifier make tgt.identifier
  "Contract.term.asset.valuedItem.effectiveTime": for src.effectiveTime make tgt.effectiveTime
  "Contract.term.asset.valuedItem.quantity": for src.quantity make tgt.quantity
  "Contract.term.asset.valuedItem.unitPrice": for src.unitPrice make tgt.unitPrice
  "Contract.term.asset.valuedItem.factor": for src.factor make tgt.factor
  "Contract.term.asset.valuedItem.points": for src.points make tgt.points
  "Contract.term.asset.valuedItem.net": for src.net make tgt.net
endgroup


group ContractTermAgent extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.term.agent.actor": for src.actor make tgt.actor
  "Contract.term.agent.role": for src.role make tgt.role
endgroup


group ContractSigner extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract 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 ContractFriendly extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.friendly.content": for src.content make tgt.content
endgroup


group ContractLegal extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.legal.content": for src.content make tgt.content

endgroup


group ContractRule extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.rule.content": for src.content make tgt.content
endgroup



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

map "http://hl7.org/fhir/StructureMap/Contract4to3" = "R4 to R3 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"

uses "http://hl7.org/fhir/StructureDefinition/Contract" alias Contract as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Contract" alias ContractR3 as target


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

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


  "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)



group Contract extends DomainResource
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.identifier": for src.identifier make tgt.identifier
  "Contract.status": for src.status make tgt.status
  "Contract.contentDerivative": for src.contentDerivative make tgt.contentDerivative
  "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.term": for src.term as s make tgt.term as t then ContractTerm(s,t)
  "Contract.signer": for src.signer as s make tgt.signer as t then ContractSigner(s,t)
  "Contract.friendly": for src.friendly as s make tgt.friendly as t then ContractFriendly(s,t)
  "Contract.legal": for src.legal as s make tgt.legal as t then ContractLegal(s,t)
  "Contract.rule": for src.rule as s make tgt.rule as t then ContractRule(s,t)
  "Contract.legallyBinding": for src.legallyBinding make tgt.legallyBinding

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

group ContractTerm extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract 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.offer": for src.offer as s make tgt.offer as t then ContractTermOffer(s,t)
  "Contract.term.asset": for src.asset as s make tgt.asset as t then ContractTermAsset(s,t)
  "Contract.term.agent": for src.agent as s make tgt.agent as t then ContractTermAgent(s,t)
  "Contract.term.action": for src.action make tgt.action
  "Contract.term.actionReason": for src.actionReason make tgt.actionReason
  "Contract.term.group": for src.group make tgt.group

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

group ContractTermOffer extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.term.offer.topic": for src.topic make tgt.topic
  "Contract.term.offer.type": for src.type make tgt.type
  "Contract.term.offer.decision": for src.decision make tgt.decision
  "Contract.term.offer.text": for src.text make tgt.text
  "Contract.term.offer.linkId": for src.linkId make tgt.linkId

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

group ContractTermAsset extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.term.asset.class": for src.class make tgt.class
  "Contract.term.asset.code": for src.code make tgt.code
  "Contract.term.asset.period": for src.period make tgt.period
  "Contract.term.asset.dataPeriod": for src.dataPeriod make tgt.dataPeriod
  "Contract.term.asset.data": for src.data as s make tgt.data as t then ContractTermAssetData(s,t)
  "Contract.term.asset.valuedItem": for src.valuedItem as s make tgt.valuedItem as t then ContractTermAssetValuedItem(s,t)
  "Contract.term.asset.securityLabel": for src.securityLabel make tgt.securityLabel

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)

group ContractTermAssetData extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.term.asset.data.meaning": for src.meaning make tgt.meaning
  "Contract.term.asset.data.reference": for src.reference make tgt.reference

endgroup

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

group ContractTermAssetValuedItem extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.term.asset.valuedItem.entity": for src.entity make tgt.entity
  "Contract.term.asset.valuedItem.identifier": for src.identifier make tgt.identifier
  "Contract.term.asset.valuedItem.effectiveTime": for src.effectiveTime make tgt.effectiveTime
  "Contract.term.asset.valuedItem.quantity": for src.quantity make tgt.quantity
  "Contract.term.asset.valuedItem.unitPrice": for src.unitPrice make tgt.unitPrice
  "Contract.term.asset.valuedItem.factor": for src.factor make tgt.factor
  "Contract.term.asset.valuedItem.points": for src.points make tgt.points
  "Contract.term.asset.valuedItem.net": for src.net make tgt.net
endgroup

group ContractTermAgent extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.term.agent.actor": for src.actor make tgt.actor
  "Contract.term.agent.role": for src.role make tgt.role
endgroup

group ContractSigner extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract 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 ContractFriendly extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.friendly.content": for src.content make tgt.content
endgroup

group ContractLegal extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.legal.content": for src.content make tgt.content
endgroup

group ContractRule extends BackboneElement
  input src : ContractR3 as source
  input tgt : Contract as target

  "Contract.rule.content": for src.content make tgt.content

endgroup