FHIR Extensions Pack
5.1.0 - 5.1.0 (April 2024) International flag

This page is part of the FHIR Core Extensions Registry (v5.1.0: Release 5.1) based on FHIR (HL7® FHIR® Standard) v5.0.0. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, 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
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;
}