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

Imaging Integration Work Group Maturity Level : N/A Ballot Status : Informative Compartments : Patient

R2 : R3 Converson : R4 Conversion maps for ImagingStudy.

Functional status for this map: 2 tests that all execute ok. of which 2 fail round-trip testing and 1 r3 resources are invalid (2 errors). to execute . ( see documentation)

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

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


uses "http://hl7.org/fhir/DSTU2/StructureDefinition/ImagingStudy" alias ImagingStudyR2 as source
uses "http://hl7.org/fhir/StructureDefinition/ImagingStudy" alias ImagingStudy as target


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

uses "http://hl7.org/fhir/3.0/StructureDefinition/ImagingStudy" alias ImagingStudyR3 as source
uses "http://hl7.org/fhir/StructureDefinition/ImagingStudy" alias ImagingStudy as target


group for type+types  ImagingStudy extends DomainResource
  input src : ImagingStudyR2 as source

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



group ImagingStudy extends DomainResource
  input src : ImagingStudyR3 as source

  input tgt : ImagingStudy as target

  "ImagingStudy-started" : for src.started make tgt.started
  "ImagingStudy-patient" : for src.patient make tgt.patient
  "ImagingStudy-uid" : for src.uid make tgt.uid
  "ImagingStudy-accession" : for src.accession make tgt.accession
  "ImagingStudy-identifier" : for src.identifier make tgt.identifier
  // no order
  "ImagingStudy-modalityList" : for src.modalityList make tgt.modalityList
  "ImagingStudy-referrer" : for src.referrer make tgt.referrer
  "ImagingStudy-availability" : for src.availability make tgt.availability
  "ImagingStudy-url" : for src.url as v make tgt.extension as t, t.url = 'http://hl7.org/fhir/ImagingStudy-r2-url', t.value = v
  "ImagingStudy-numberOfSeries" : for src.numberOfSeries make tgt.numberOfSeries
  "ImagingStudy-numberOfInstances" : for src.numberOfInstances make tgt.numberOfInstances
  "ImagingStudy-procedure" : for src.procedure make tgt.procedureReference
  "ImagingStudy-interpreter" : for src.interpreter make tgt.interpreter
  "ImagingStudy-description" : for src.description make tgt.description
  "ImagingStudy-series" : for src.series as vs0 make tgt.series as vt0 then imgSeries(vs0, vt0) 

  "ImagingStudy.identifier": for src.identifier make tgt.identifier
  "ImagingStudy.status": for src.status make tgt.status
  "ImagingStudy.modality": for src.modality make tgt.modality
  "ImagingStudy.subject": for src.subject make tgt.subject
  "ImagingStudy.context": for src.context make tgt.context
  "ImagingStudy.started": for src.started make tgt.started
  "ImagingStudy.basedOn": for src.basedOn make tgt.basedOn
  "ImagingStudy.referrer": for src.referrer make tgt.referrer
  "ImagingStudy.interpreter": for src.interpreter make tgt.interpreter
  "ImagingStudy.endpoint": for src.endpoint make tgt.endpoint
  "ImagingStudy.numberOfSeries": for src.numberOfSeries make tgt.numberOfSeries
  "ImagingStudy.numberOfInstances": for src.numberOfInstances make tgt.numberOfInstances
  "ImagingStudy.procedureReference": for src.procedureReference make tgt.procedureReference
  "ImagingStudy.procedureCode": for src.procedureCode make tgt.procedureCode
  "ImagingStudy.location": for src.location make tgt.location
  "ImagingStudy.reasonCode": for src.reasonCode make tgt.reasonCode
  "ImagingStudy.reasonReference": for src.reasonReference make tgt.reasonReference
  "ImagingStudy.note": for src.note make tgt.note
  "ImagingStudy.series": for src.series as s make tgt.series as t then ImagingStudySeries(s,t)

endgroup

group imgSeries extends BackboneElement
  input src as source
  input tgt as target


  "ImagingStudy.series-uid" : for src.uid make tgt.uid
  "ImagingStudy.series-number" : for src.number make tgt.number
  "ImagingStudy.series-modality" : for src.modality make tgt.modality
  "ImagingStudy.series-description" : for src.description make tgt.description
  "ImagingStudy.series-numberOfInstances" : for src.numberOfInstances make tgt.numberOfInstances
  "ImagingStudy.series-availability" : for src.availability make tgt.availability
  "ImagingStudy.series-url" : for src.url as v make tgt.extension as t, t.url = 'http://hl7.org/fhir/ImagingStudy-r2-url', t.value = v
  "ImagingStudy.series-bodySite" : for src.bodySite make tgt.bodySite
  "ImagingStudy.series-laterality" : for src.laterality make tgt.laterality
  "ImagingStudy.series-started" : for src.started make tgt.started
  "ImagingStudy.series-instance" : for src.instance as vs0 make tgt.instance as vt0 then imgInstance(vs0, vt0) 

group ImagingStudySeries extends BackboneElement
  input src : ImagingStudyR3 as source
  input tgt : ImagingStudy as target

  "ImagingStudy.series.identifier": for src.identifier make tgt.identifier
  "ImagingStudy.series.number": for src.number make tgt.number
  "ImagingStudy.series.modality": for src.modality make tgt.modality
  "ImagingStudy.series.description": for src.description make tgt.description
  "ImagingStudy.series.numberOfInstances": for src.numberOfInstances make tgt.numberOfInstances
  "ImagingStudy.series.endpoint": for src.endpoint make tgt.endpoint
  "ImagingStudy.series.bodySite": for src.bodySite make tgt.bodySite
  "ImagingStudy.series.laterality": for src.laterality make tgt.laterality
  "ImagingStudy.series.specimen": for src.specimen make tgt.specimen
  "ImagingStudy.series.started": for src.started make tgt.started
  "ImagingStudy.series.performer": for src.performer as s make tgt.performer as t then ImagingStudySeriesPerformer(s,t)
  "ImagingStudy.series.instance": for src.instance as s make tgt.instance as t then ImagingStudySeriesInstance(s,t)

endgroup

group imgInstance extends BackboneElement
  input src as source
  input tgt as target


  "ImagingStudy.series.instance-number" : for src.number make tgt.number
  "ImagingStudy.series.instance-uid" : for src.uid make tgt.uid
  "ImagingStudy.series.instance-sopClass" : for src.sopClass make tgt.sopClass
  "ImagingStudy.series.instance-title" : for src.title make tgt.title

group ImagingStudySeriesPerformer extends BackboneElement
  input src : ImagingStudyR3 as source
  input tgt : ImagingStudy as target

  "ImagingStudy.series.performer.function": for src.function make tgt.function
  "ImagingStudy.series.performer.actor": for src.actor make tgt.actor

endgroup


group ImagingStudySeriesInstance extends BackboneElement
  input src : ImagingStudyR3 as source
  input tgt : ImagingStudy as target

  "ImagingStudy.series.instance.identifier": for src.identifier make tgt.identifier
  "ImagingStudy.series.instance.number": for src.number make tgt.number
  "ImagingStudy.series.instance.sopClass": for src.sopClass make tgt.sopClass
  "ImagingStudy.series.instance.title": for src.title make tgt.title
endgroup



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

map "http://hl7.org/fhir/StructureMap/ImagingStudy4to3" = "R4 to R3 Conversion for ImagingStudy"


uses "http://hl7.org/fhir/StructureDefinition/ImagingStudy" alias ImagingStudy as source
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/ImagingStudy" alias ImagingStudyR2 as target


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

uses "http://hl7.org/fhir/StructureDefinition/ImagingStudy" alias ImagingStudy as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/ImagingStudy" alias ImagingStudyR3 as target


group for type+types  ImagingStudy extends DomainResource
  input src : ImagingStudy as source
  input tgt : ImagingStudyR2 as target

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


  "ImagingStudy-started" : for src.started make tgt.started
  "ImagingStudy-patient" : for src.patient make tgt.patient
  "ImagingStudy-uid" : for src.uid make tgt.uid
  "ImagingStudy-accession" : for src.accession make tgt.accession
  "ImagingStudy-identifier" : for src.identifier make tgt.identifier
  "ImagingStudy-modalityList" : for src.modalityList make tgt.modalityList
  "ImagingStudy-referrer" : for src.referrer make tgt.referrer
  "ImagingStudy-availability" : for src.availability make tgt.availability
  "ImagingStudy-url" : for src.extension as e where e.url = 'http://hl7.org/fhir/ImagingStudy-r2-url' make tgt.modified = (e.value)
  "ImagingStudy-numberOfSeries" : for src.numberOfSeries make tgt.numberOfSeries
  "ImagingStudy-numberOfInstances" : for src.numberOfInstances make tgt.numberOfInstances
  "ImagingStudy-procedure" : for src.procedureReference make tgt.procedure
  "ImagingStudy-interpreter" : for src.interpreter make tgt.interpreter
  "ImagingStudy-description" : for src.description make tgt.description
  "ImagingStudy-series" : for src.series as vs0 make tgt.series as vt0 then imgSeries(vs0, vt0) 
endgroup


group imgSeries extends BackboneElement
  input src as source
  input tgt as target


  "ImagingStudy.series-uid" : for src.uid make tgt.uid
  "ImagingStudy.series-number" : for src.number make tgt.number
  "ImagingStudy.series-modality" : for src.modality make tgt.modality
  "ImagingStudy.series-description" : for src.description make tgt.description
  "ImagingStudy.series-numberOfInstances" : for src.numberOfInstances make tgt.numberOfInstances
  "ImagingStudy.series-availability" : for src.availability make tgt.availability
  "ImagingStudy.series-url" : for src.extension as e where e.url = 'http://hl7.org/fhir/ImagingStudy-r2-url' make tgt.modified = (e.value)
  "ImagingStudy.series-bodySite" : for src.bodySite make tgt.bodySite
  "ImagingStudy.series-laterality" : for src.laterality make tgt.laterality
  "ImagingStudy.series-started" : for src.started make tgt.started
  "ImagingStudy.series-instance" : for src.instance as vs0 make tgt.instance as vt0 then imgInstance(vs0, vt0) 

group ImagingStudy extends DomainResource
  input src : ImagingStudyR3 as source
  input tgt : ImagingStudy as target

  "ImagingStudy.identifier": for src.identifier make tgt.identifier
  "ImagingStudy.status": for src.status make tgt.status
  "ImagingStudy.modality": for src.modality make tgt.modality
  "ImagingStudy.subject": for src.subject make tgt.subject
  "ImagingStudy.context": for src.context make tgt.context
  "ImagingStudy.started": for src.started make tgt.started
  "ImagingStudy.basedOn": for src.basedOn make tgt.basedOn
  "ImagingStudy.referrer": for src.referrer make tgt.referrer
  "ImagingStudy.interpreter": for src.interpreter make tgt.interpreter
  "ImagingStudy.endpoint": for src.endpoint make tgt.endpoint
  "ImagingStudy.numberOfSeries": for src.numberOfSeries make tgt.numberOfSeries
  "ImagingStudy.numberOfInstances": for src.numberOfInstances make tgt.numberOfInstances
  "ImagingStudy.procedureReference": for src.procedureReference make tgt.procedureReference
  "ImagingStudy.procedureCode": for src.procedureCode make tgt.procedureCode
  "ImagingStudy.location": for src.location make tgt.location
  "ImagingStudy.reasonCode": for src.reasonCode make tgt.reasonCode
  "ImagingStudy.reasonReference": for src.reasonReference make tgt.reasonReference
  "ImagingStudy.note": for src.note make tgt.note
  "ImagingStudy.series": for src.series as s make tgt.series as t then ImagingStudySeries(s,t)

endgroup

group imgInstance extends BackboneElement
  input src as source
  input tgt as target

group ImagingStudySeries extends BackboneElement
  input src : ImagingStudyR3 as source
  input tgt : ImagingStudy as target


  "ImagingStudy.series.instance-number" : for src.number make tgt.number
  "ImagingStudy.series.instance-uid" : for src.uid make tgt.uid
  "ImagingStudy.series.instance-sopClass" : for src.sopClass make tgt.sopClass
  "ImagingStudy.series.instance-title" : for src.title make tgt.title

  "ImagingStudy.series.identifier": for src.identifier make tgt.identifier
  "ImagingStudy.series.number": for src.number make tgt.number
  "ImagingStudy.series.modality": for src.modality make tgt.modality
  "ImagingStudy.series.description": for src.description make tgt.description
  "ImagingStudy.series.numberOfInstances": for src.numberOfInstances make tgt.numberOfInstances
  "ImagingStudy.series.endpoint": for src.endpoint make tgt.endpoint
  "ImagingStudy.series.bodySite": for src.bodySite make tgt.bodySite
  "ImagingStudy.series.laterality": for src.laterality make tgt.laterality
  "ImagingStudy.series.specimen": for src.specimen make tgt.specimen
  "ImagingStudy.series.started": for src.started make tgt.started
  "ImagingStudy.series.performer": for src.performer as s make tgt.performer as t then ImagingStudySeriesPerformer(s,t)
  "ImagingStudy.series.instance": for src.instance as s make tgt.instance as t then ImagingStudySeriesInstance(s,t)

endgroup

group ImagingStudySeriesPerformer extends BackboneElement
  input src : ImagingStudyR3 as source
  input tgt : ImagingStudy as target


group imgSrc 
  input src as source
  input tgt as target

  "ImagingStudy.series.performer.function": for src.function make tgt.function
  "ImagingStudy.series.performer.actor": for src.actor make tgt.actor
endgroup


  "imgSrc" : for src.url make tgt.url

group ImagingStudySeriesInstance extends BackboneElement
  input src : ImagingStudyR3 as source
  input tgt : ImagingStudy as target

  "ImagingStudy.series.instance.identifier": for src.identifier make tgt.identifier
  "ImagingStudy.series.instance.number": for src.number make tgt.number
  "ImagingStudy.series.instance.sopClass": for src.sopClass make tgt.sopClass
  "ImagingStudy.series.instance.title": for src.title make tgt.title

endgroup

imagingstudy-example ERROR @ ImagingStudy.extension[1]: The extension http://hl7.org/fhir/StructureDefinition/imagingstudy-radiationDose is unknown, and not allowed here (src = InstanceValidator) ERROR @ ImagingStudy.extension[2]: The extension http://hl7.org/fhir/StructureDefinition/imagingstudy-radiationDuration is unknown, and not allowed here (src = InstanceValidator)