FHIR Extensions Pack v1.0.0 (2023-03-26)

This page is part of the FHIR Core Extensions Registry (v1.0.0: Releases) based on FHIR 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

Patient Care Work GroupMaturity Level: N/AStandards Status: InformativeSecurity Category: N/A Compartments: N/A

Following are maps for converting between the equivalent R4B resource and this R5 resource.

Maps to FamilyMemberHistory

FML Conversion for FamilyMemberHistory: R5 to R4 (Ready for Use/Trial Use)

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

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

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

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

FML Conversion for FamilyMemberHistory: R5 to R4B (Ready for Use/Trial Use)

/// 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;
}

Maps from FamilyMemberHistory

FML Conversion for FamilyMemberHistory: R4B to R5 (Ready for Use/Trial Use)

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

conceptmap "FamilyHistoryStatus" {
  prefix s = "http://hl7.org/fhir/4.3/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.3/StructureDefinition/FamilyMemberHistory" alias FamilyMemberHistoryR4B as source
uses "http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory" alias FamilyMemberHistoryR5 as target

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

group FamilyMemberHistory(source src : FamilyMemberHistoryR4B, 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;
}

FML Conversion for FamilyMemberHistory: R4 to R5 (Ready for Use/Trial Use)

/// 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;
}