FHIR Extensions Pack
5.1.0-cibuild - Working Copy International flag

FHIR Extensions Pack, published by HL7 International / FHIR Infrastructure. This is not an authorized publication; it is the continuous build for version 5.1.0-cibuild). 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: R4 to R5

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

FMLConversionforFamilyMemberHistoryR4toR5

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

conceptmap "FamilyHistoryStatus" {
  prefix s = "http://hl7.org/fhir/4.0/history-status"
  prefix t = "http://hl7.org/fhir/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/4.0/StructureDefinition/FamilyMemberHistory" alias FamilyMemberHistoryR4 as source
uses "http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory" alias FamilyMemberHistoryR5 as target

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

group FamilyMemberHistory(source src : FamilyMemberHistoryR4, target tgt : FamilyMemberHistoryR5) 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.reasonCode -> tgt.reason;
  src.reasonReference -> tgt.reason;
  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;
}