R4 Ballot #2 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (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 GroupMaturity Level: N/ABallot Status: Informative Compartments: Not linked to any defined compartments

R3 : R4 Conversion maps for Contract.

Functional status for this map: 7 tests of which 7 fail to execute. (see documentation)

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


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

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.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 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 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 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 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 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/Contract4to3" = "R4 to R3 Conversion for Contract"


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

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



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