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

Patient Care Work GroupMaturity Level: N/ABallot Status: Informative Compartments: Encounter, Patient, Practitioner, RelatedPerson

R2 : R3 Conversion maps for Procedure.

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

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

uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Procedure" alias ProcedureR2 as source
uses "http://hl7.org/fhir/StructureDefinition/Procedure" alias Procedure as target

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

group for type+types  Procedure extends DomainResource
  input src : ProcedureR2 as source
  input tgt : Procedure as target

  "Procedure-identifier" : for src.identifier make tgt.identifier
  "Procedure-subject" : for src.subject make tgt.subject
  "Procedure-status" : for src.status make tgt.status
  "Procedure-category" : for src.category make tgt.category
  "Procedure-code" : for src.code make tgt.code
  "Procedure-notPerformed" : for src.notPerformed make tgt.notDone
  "Procedure-reasonNotPerformed" : for src.reasonNotPerformed make tgt.notDoneReason
  "Procedure-bodySite" : for src.bodySite make tgt.bodySite
  "Procedure-reasonCode" : for src.reason where $this is CodeableConcept make tgt.reasonCode
  "Procedure-reasonReference" : for src.reason where $this is Reference make tgt.reasonReference
  "Procedure-performed" : for src.performed make tgt.performed 
  "Procedure-performer" : for src.performer as vs0 make tgt.performer as vt0 then prcPerformer(vs0, vt0)
  "Procedure-encounter" : for src.encounter make tgt.context
  "Procedure-location" : for src.location make tgt.location
  "Procedure-outcome" : for src.outcome make tgt.outcome
  "Procedure-report" : for src.report make tgt.report
  "Procedure-complication" : for src.complication make tgt.complication
  "Procedure-followUp" : for src.followUp make tgt.followUp
  "Procedure-request" : for src.request make tgt.basedOn
  "Procedure-notes" : for src.notes make tgt.note
  "Procedure-focalDevice" : for src.focalDevice as vs0 make tgt.focalDevice as vt0 then prcFocalDevice(vs0, vt0)
  "Procedure-used" : for src.used make tgt.usedReference
endgroup

group prcPerformer extends BackboneElement
  input src : Procedure as source
  input tgt : ProcedureR2 as target

  "Procedure.performer-actor" : for src.actor make tgt.actor 
  "Procedure.performer-role" : for src.role make tgt.role 
endgroup

group prcFocalDevice extends BackboneElement
  input src : Procedure as source
  input tgt : ProcedureR2 as target

  "Procedure.focalDevice-action" : for src.action make tgt.action
  "Procedure.focalDevice-manipulated" : for src.manipulated make tgt.manipulated
endgroup


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

uses "http://hl7.org/fhir/StructureDefinition/Procedure" alias  Procedure as source
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Procedure" alias  ProcedureR2 as target

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

group for type+types  Procedure extends DomainResource
  input src : Procedure as source
  input tgt : ProcedureR2 as target

  "Procedure-identifier" : for src.identifier make tgt.identifier
  "Procedure-subject" : for src.subject make tgt.subject
  "Procedure-status" : for src.status make tgt.status
  "Procedure-category" : for src.category make tgt.category
  "Procedure-code" : for src.code make tgt.code
  "Procedure-notPerformed" : for src.notDone make tgt.notPerformed
  "Procedure-reasonNotPerformed" : for src.notDoneReason make tgt.reasonNotPerformed
  "Procedure-bodySite" : for src.bodySite make tgt.bodySite
  "Procedure-reasonCode" : for src.reasonCode make tgt.reason
  "Procedure-reasonReference" : for src.reasonReference make tgt.reason
  "Procedure-performed" : for src.performed make tgt.performed 
  "Procedure-performer" : for src.performer as vs0 make tgt.performer as vt0 then prcPerformer(vs0, vt0)
  "Procedure-encounter" : for src.context make tgt.encounter
  "Procedure-location" : for src.location make tgt.location
  "Procedure-outcome" : for src.outcome make tgt.outcome
  "Procedure-report" : for src.report make tgt.report
  "Procedure-complication" : for src.complication make tgt.complication
  "Procedure-followUp" : for src.followUp make tgt.followUp
  "Procedure-request" : for src.basedOn make tgt.request
  "Procedure-notes" : for src.note make tgt.notes
  "Procedure-focalDevice" : for src.focalDevice as vs0 make tgt.focalDevice as vt0 then prcFocalDevice(vs0, vt0)
  "Procedure-used" : for src.usedReference make tgt.used
endgroup

group prcPerformer extends BackboneElement
  input src : Procedure as source
  input tgt : ProcedureR2 as target

  "Procedure.performer-actor" : for src.actor make tgt.actor 
  "Procedure.performer-role" : for src.role make tgt.role 
endgroup

group prcFocalDevice extends BackboneElement
  input src : Procedure as source
  input tgt : ProcedureR2 as target

  "Procedure.focalDevice-action" : for src.action make tgt.action
  "Procedure.focalDevice-manipulated" : for src.manipulated make tgt.manipulated
endgroup