FHIR Extensions Pack
5.1.0-cibuild - Working Copy International flag

FHIR Extensions Pack, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 5.1.0-cibuild built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-extensions/ and changes regularly. See the Directory of published versions

StructureMap: FML Conversion for FamilyMemberHistory: R5 to R4B

Official URL: http://hl7.org/fhir/StructureMap/FamilyMemberHistory5to4B Version: 5.1.0-cibuild
Standards status: Trial-use Maturity Level: 1 Computable Name: FamilyMemberHistory5to4B

FMLConversionforFamilyMemberHistoryR5toR4B

/// url = 'http://hl7.org/fhir/StructureMap/FamilyMemberHistory5to4B'
/// name = 'FamilyMemberHistory5to4B'
/// title = 'FML Conversion for FamilyMemberHistory: R5 to R4B'
/// status = 'active'

conceptmap "FamilyHistoryStatus" {
  prefix s = "http://hl7.org/fhir/history-status"
  prefix t = "http://hl7.org/fhir/4.3/history-status"

  s:partial - t:partial
  s:completed - t:completed
  s:"entered-in-error" - t:"entered-in-error"
  s:"health-unknown" - t:"health-unknown"
}

uses "http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory" alias FamilyMemberHistoryR5 as source
uses "http://hl7.org/fhir/4.3/StructureDefinition/FamilyMemberHistory" alias FamilyMemberHistoryR4B as target

imports "http://hl7.org/fhir/StructureMap/*5to4B"

group FamilyMemberHistory(source src : FamilyMemberHistoryR5, target tgt : FamilyMemberHistoryR4B) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier;
  src.instantiatesCanonical -> tgt.instantiatesCanonical;
  src.instantiatesUri -> tgt.instantiatesUri;
  src.status as v -> tgt.status = translate(v, '#FamilyHistoryStatus', 'code');
  src.dataAbsentReason -> tgt.dataAbsentReason;
  src.patient -> tgt.patient;
  src.date -> tgt.date;
  src.name -> tgt.name; // src.participant as s -> tgt.participant as t then FamilyMemberHistoryParticipant(s,t);
  src.relationship -> tgt.relationship;
  src.sex -> tgt.sex;
  src.born : Period -> tgt.born;
  src.born : date -> tgt.born;
  src.born : string -> tgt.born;
  src.age : Age -> tgt.age;
  src.age : Range -> tgt.age;
  src.age : string -> tgt.age;
  src.estimatedAge -> tgt.estimatedAge;
  src.deceased : boolean -> tgt.deceased;
  src.deceased : Age -> tgt.deceased;
  src.deceased : Range -> tgt.deceased;
  src.deceased : date -> tgt.deceased;
  src.deceased : string -> tgt.deceased;
  src.reason -> tgt.reasonCode;
  src.reason -> tgt.reasonReference;
  src.note -> tgt.note;
  src.condition as s -> tgt.condition as t then FamilyMemberHistoryCondition(s, t);
}

// group FamilyMemberHistoryParticipant(source src, target tgt) extends BackboneElement {
// src.function -> tgt.function;
// src.actor -> tgt.actor;
// }
group FamilyMemberHistoryCondition(source src, target tgt) extends BackboneElement {
  src.code -> tgt.code;
  src.outcome -> tgt.outcome;
  src.contributedToDeath -> tgt.contributedToDeath;
  src.onset : Age -> tgt.onset;
  src.onset : Range -> tgt.onset;
  src.onset : Period -> tgt.onset;
  src.onset : string -> tgt.onset;
  src.note -> tgt.note;
}