Release 5 Preview #2
Biomedical Research and Regulation Work GroupMaturity Level: N/AStandards Status: InformativeSecurity Category: Patient Compartments: Patient

R3 : R4 Conversion maps for ResearchSubject.

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/ResearchSubject3to4" = "R3 to R4 Conversions for ResearchSubject"

conceptmap "ResourceSubjectStatus" {
  prefix s = "http://hl7.org/fhir/research-study-status"
  prefix t = "http://hl7.org/fhir/research-study-status"

  s:candidate - t:candidate
  s:eligible - t:candidate
  s:"follow-up" - t:completed
  s:ineligible - t:candidate
  s:"not-registered" - t:candidate
  s:"off-study" - t:completed
  s:"on-study" - t:enrolled
  s:"on-study-intervention" - t:active
  s:"on-study-observation" - t:suspended
  s:"pending-on-study" - t:enrolled
  s:"potential-candidate" - t:candidate
  s:screening - t:candidate
  s:withdrawn - t:withdrawn
}

uses "http://hl7.org/fhir/3.0/StructureDefinition/ResearchSubject" alias ResearchSubjectR3 as source
uses "http://hl7.org/fhir/StructureDefinition/ResearchSubject" alias ResearchSubject as target

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

group ResearchSubject(source src : ResearchSubjectR3, target tgt : ResearchSubject) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier;
  src.status as v -> tgt.status = translate(v, '#ResourceSubjectStatus', 'code');
  src.status -> tgt.status;
  src.period -> tgt.period;
  src.study -> tgt.study;
  src.individual -> tgt.individual;
  src.assignedArm -> tgt.assignedArm;
  src.actualArm -> tgt.actualArm;
  src.consent -> tgt.consent;
}


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

conceptmap "ResourceSubjectStatus" {
  prefix s = "http://hl7.org/fhir/research-study-status"
  prefix t = "http://hl7.org/fhir/research-study-status"

  s:candidate - t:candidate
  s:enrolled - t:"on-study"
  s:active - t:"on-study-intervention"
  s:suspended - t:"on-study-observation"
  s:withdrawn - t:withdrawn
  s:completed - t:"off-study"
}

uses "http://hl7.org/fhir/StructureDefinition/ResearchSubject" alias ResearchSubject as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/ResearchSubject" alias ResearchSubjectR3 as target

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

group ResearchSubject(source src : ResearchSubject, target tgt : ResearchSubjectR3) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier;
  src.status as v -> tgt.status = translate(v, '#ResourceSubjectStatus', 'code');
  src.status -> tgt.status;
  src.period -> tgt.period;
  src.study -> tgt.study;
  src.individual -> tgt.individual;
  src.assignedArm -> tgt.assignedArm;
  src.actualArm -> tgt.actualArm;
  src.consent -> tgt.consent;
}


<p>No validation errors - all conversions are clean</p>