Release 4B

This page is part of the FHIR Specification (v4.3.0: R4B - STU). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

13.7.10 Resource ClaimResponse - R3/R4 Conversions

R3 : R4 Conversion maps for ClaimResponse.

Functional status for this map: 1 test that all execute ok. 1 fail round-trip testing and 1 r3 resources are invalid (0 errors). (see documentation)

13.7.10.1 R3 to R4

map "http://hl7.org/fhir/StructureMap/ClaimResponse3to4" = "R3 to R4 Conversions for ClaimResponse"
uses "http://hl7.org/fhir/3.0/StructureDefinition/ClaimResponse" alias ClaimResponseR3 as source
uses "http://hl7.org/fhir/StructureDefinition/ClaimResponse" alias ClaimResponse as target
imports "http://hl7.org/fhir/StructureMap/*3to4"
group ClaimResponse(source src : ClaimResponseR3, target tgt : ClaimResponse) extends DomainResource <<type+>> {
 src.identifier -> tgt.identifier;
 src.status -> tgt.status;
 src.type -> tgt.type;
 src.subType -> tgt.subType;
 src.use -> tgt.use;
 src.patient -> tgt.patient;
 src.created -> tgt.created;
 src.insurer -> tgt.insurer;
 src.requestProvider -> tgt.requestor;
 src.request -> tgt.request;
 src.outcome as vs then {
 vs.coding as c then {
 c.code where value in ('queued' | 'complete' | 'error' | 'partial') -> tgt.outcome;
 };
 };
 src.disposition -> tgt.disposition;
 src.payeeType -> tgt.payeeType;
 src.item as s -> tgt.item as t then ClaimResponseItem(s, t);
 src.addItem as s -> tgt.addItem as t then ClaimResponseAddItem(s, t);
 src.error as s -> tgt.error as t then ClaimResponseError(s, t);
 src.totalCost as s -> tgt.total as t then ClaimResponseTotalCost(s, t);
 src.totalBenefit as s -> tgt.total as t then ClaimResponseTotalBenefit(s, t);
 src.payment as s -> tgt.payment as t then ClaimResponsePayment(s, t);
 src.reserved as vs -> tgt.fundsReserve as vt, vt.coding = vs;
 src.form -> tgt.form;
 src.processNote as s -> tgt.processNote as t then ClaimResponseProcessNote(s, t);
 src.communicationRequest -> tgt.communicationRequest;
 src.insurance as s -> tgt.insurance as t then ClaimResponseInsurance(s, t);
}
group ClaimResponseItem(source src, target tgt) extends BackboneElement {
 src.sequenceLinkId -> tgt.itemSequence;
 src.noteNumber -> tgt.noteNumber;
 src.adjudication as s -> tgt.adjudication as t then ClaimResponseItemAdjudication(s, t);
 src.detail as s -> tgt.detail as t then ClaimResponseItemDetail(s, t);
}
group ClaimResponseItemAdjudication(source src, target tgt) extends BackboneElement {
 src.category -> tgt.category;
 src.reason -> tgt.reason;
 src.amount -> tgt.amount;
 src.value -> tgt.value;
}
group ClaimResponseItemDetail(source src, target tgt) extends BackboneElement {
 src.detailSequence -> tgt.detailSequence;
 src.noteNumber -> tgt.noteNumber;
 src.adjudication -> tgt.adjudication;
 src.subDetail as s -> tgt.subDetail as t then ClaimResponseItemDetailSubDetail(s, t);
}
group ClaimResponseItemDetailSubDetail(source src, target tgt) extends BackboneElement {
 src.subDetailSequence -> tgt.subDetailSequence;
 src.noteNumber -> tgt.noteNumber;
 src.adjudication -> tgt.adjudication;
}
group ClaimResponseAddItem(source src, target tgt) extends BackboneElement {
 src.itemSequence -> tgt.itemSequence;
 src.detailSequence -> tgt.detailSequence;
 src.subdetailSequence -> tgt.subdetailSequence;
 src.service -> tgt.service;
 src.modifier -> tgt.modifier;
 src.programCode -> tgt.programCode;
 src.serviced -> tgt.serviced;
 src.location -> tgt.location;
 src.quantity -> tgt.quantity;
 src.unitPrice -> tgt.unitPrice;
 src.factor -> tgt.factor;
 src.net -> tgt.net;
 src.bodySite -> tgt.bodySite;
 src.subSite -> tgt.subSite;
 src.noteNumber -> tgt.noteNumber;
 src.adjudication -> tgt.adjudication;
 src.detail as s -> tgt.detail as t then ClaimResponseAddItemDetail(s, t);
}
group ClaimResponseAddItemDetail(source src, target tgt) extends BackboneElement {
 src.service -> tgt.service;
 src.modifier -> tgt.modifier;
 src.programCode -> tgt.programCode;
 src.quantity -> tgt.quantity;
 src.unitPrice -> tgt.unitPrice;
 src.factor -> tgt.factor;
 src.net -> tgt.net;
 src.noteNumber -> tgt.noteNumber;
 src.adjudication -> tgt.adjudication;
 src.subDetail as s -> tgt.subDetail as t then ClaimResponseAddItemDetailSubDetail(s, t);
}
group ClaimResponseAddItemDetailSubDetail(source src, target tgt) extends BackboneElement {
 src.service -> tgt.service;
 src.modifier -> tgt.modifier;
 src.programCode -> tgt.programCode;
 src.quantity -> tgt.quantity;
 src.unitPrice -> tgt.unitPrice;
 src.factor -> tgt.factor;
 src.net -> tgt.net;
 src.noteNumber -> tgt.noteNumber;
 src.adjudication -> tgt.adjudication;
}
group ClaimResponseError(source src, target tgt) extends BackboneElement {
 src.itemSequence -> tgt.itemSequence;
 src.detailSequence -> tgt.detailSequence;
 src.subDetailSequence -> tgt.subDetailSequence;
 src.code -> tgt.code;
}
group ClaimResponsePayment(source src, target tgt) extends BackboneElement {
 src.type -> tgt.type;
 src.adjustment -> tgt.adjustment;
 src.adjustmentReason -> tgt.adjustmentReason;
 src.date -> tgt.date;
 src.amount -> tgt.amount;
 src.identifier -> tgt.identifier;
}
group ClaimResponseProcessNote(source src, target tgt) extends BackboneElement {
 src.number -> tgt.number;
 src.type -> tgt.type;
 src.text -> tgt.text;
 src.language -> tgt.language;
}
group ClaimResponseInsurance(source src, target tgt) extends BackboneElement {
 src.sequence -> tgt.sequence;
 src.focal -> tgt.focal;
 src.coverage -> tgt.coverage;
 src.businessArrangement -> tgt.businessArrangement;
 src.preAuthRef -> tgt.preAuthRef;
 src.claimResponse -> tgt.claimResponse;
}
group ClaimResponseTotalCost(source src, target tgt) extends BackboneElement {
 src -> tgt.category as cc, cc.text = 'Submitted Amount', cc.coding as coding, coding.code = 'submitted', coding.system = 'http://terminology.hl7.org/CodeSystem/adjudication' "category";
 src as vs -> tgt.amount as vt then Money(vs, vt) "amount";
}
group ClaimResponseTotalBenefit(source src, target tgt) extends BackboneElement {
 src -> tgt.category as cc, cc.text = 'Benefit Amount', cc.coding as coding, coding.code = 'benefit', coding.system = 'http://terminology.hl7.org/CodeSystem/adjudication' "amount";
 src as vs -> tgt.amount as vt then Money(vs, vt) "amount";
}

13.7.10.2 R4 to R3

map "http://hl7.org/fhir/StructureMap/ClaimResponse4to3" = "R4 to R3 Conversion for ClaimResponse"
uses "http://hl7.org/fhir/StructureDefinition/ClaimResponse" alias ClaimResponse as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/ClaimResponse" alias ClaimResponseR3 as target
imports "http://hl7.org/fhir/StructureMap/*4to3"
group ClaimResponse(source src : ClaimResponseR3, target tgt : ClaimResponse) extends DomainResource <<type+>> {
 src.identifier -> tgt.identifier;
 src.status -> tgt.status;
 src.type -> tgt.type;
 src.subType -> tgt.subType;
 src.use -> tgt.use;
 src.patient -> tgt.patient;
 src.created -> tgt.created;
 src.insurer -> tgt.insurer;
 src.requestor -> tgt.requestProvider;
 src.request -> tgt.request;
 src.outcome as vs where value in ('complete' | 'error' | 'partial') -> tgt.outcome as vt, vt.coding as c, c.system = 'http://hl7.org/fhir/remittance-outcome', c.code = vs;
 src.disposition -> tgt.disposition;
 src.payeeType -> tgt.payeeType;
 src.item as s -> tgt.item as t then ClaimResponseItem(s, t);
 src.addItem as s -> tgt.addItem as t then ClaimResponseAddItem(s, t);
 src.error as s -> tgt.error as t then ClaimResponseError(s, t);
 src.total as total then {
 total.category as vs then {
 total.amount as va then {
 vs.coding as c where code = 'submitted' then {
 c -> tgt.totalCost as cost then Money(va, cost) "cost";
 };
 };
 };
 };
 src.total as total then {
 total.category as vs then {
 total.amount as va then {
 vs.coding as c where code = 'benefit' then {
 c -> tgt.totalBenefit as cost then Money(va, cost) "totalBenefit";
 };
 };
 };
 };
 src.payment as s -> tgt.payment as t then ClaimResponsePayment(s, t);
 src.fundsReserve as vs then {
 vs.coding -> tgt.reserved;
 };
 src.form -> tgt.form;
 src.processNote as s -> tgt.processNote as t then ClaimResponseProcessNote(s, t);
 src.communicationRequest -> tgt.communicationRequest;
 src.insurance as s -> tgt.insurance as t then ClaimResponseInsurance(s, t);
}
group ClaimResponseItem(source src, target tgt) extends BackboneElement {
 src.itemSequence -> tgt.sequenceLinkId;
 src.noteNumber -> tgt.noteNumber;
 src.adjudication as s -> tgt.adjudication as t then ClaimResponseItemAdjudication(s, t);
 src.detail as s -> tgt.detail as t then ClaimResponseItemDetail(s, t);
}
group ClaimResponseItemAdjudication(source src, target tgt) extends BackboneElement {
 src.category -> tgt.category;
 src.reason -> tgt.reason;
 src.amount -> tgt.amount;
 src.value -> tgt.value;
}
group ClaimResponseItemDetail(source src, target tgt) extends BackboneElement {
 src.detailSequence -> tgt.detailSequence;
 src.noteNumber -> tgt.noteNumber;
 src.adjudication -> tgt.adjudication;
 src.subDetail as s -> tgt.subDetail as t then ClaimResponseItemDetailSubDetail(s, t);
}
group ClaimResponseItemDetailSubDetail(source src, target tgt) extends BackboneElement {
 src.subDetailSequence -> tgt.subDetailSequence;
 src.noteNumber -> tgt.noteNumber;
 src.adjudication -> tgt.adjudication;
}
group ClaimResponseAddItem(source src, target tgt) extends BackboneElement {
 src.itemSequence -> tgt.itemSequence;
 src.detailSequence -> tgt.detailSequence;
 src.subdetailSequence -> tgt.subdetailSequence;
 src.service -> tgt.service;
 src.modifier -> tgt.modifier;
 src.programCode -> tgt.programCode;
 src.serviced -> tgt.serviced;
 src.location -> tgt.location;
 src.quantity -> tgt.quantity;
 src.unitPrice -> tgt.unitPrice;
 src.factor -> tgt.factor;
 src.net -> tgt.net;
 src.bodySite -> tgt.bodySite;
 src.subSite -> tgt.subSite;
 src.noteNumber -> tgt.noteNumber;
 src.adjudication -> tgt.adjudication;
 src.detail as s -> tgt.detail as t then ClaimResponseAddItemDetail(s, t);
}
group ClaimResponseAddItemDetail(source src, target tgt) extends BackboneElement {
 src.service -> tgt.service;
 src.modifier -> tgt.modifier;
 src.programCode -> tgt.programCode;
 src.quantity -> tgt.quantity;
 src.unitPrice -> tgt.unitPrice;
 src.factor -> tgt.factor;
 src.net -> tgt.net;
 src.noteNumber -> tgt.noteNumber;
 src.adjudication -> tgt.adjudication;
 src.subDetail as s -> tgt.subDetail as t then ClaimResponseAddItemDetailSubDetail(s, t);
}
group ClaimResponseAddItemDetailSubDetail(source src, target tgt) extends BackboneElement {
 src.service -> tgt.service;
 src.modifier -> tgt.modifier;
 src.programCode -> tgt.programCode;
 src.quantity -> tgt.quantity;
 src.unitPrice -> tgt.unitPrice;
 src.factor -> tgt.factor;
 src.net -> tgt.net;
 src.noteNumber -> tgt.noteNumber;
 src.adjudication -> tgt.adjudication;
}
group ClaimResponseError(source src, target tgt) extends BackboneElement {
 src.itemSequence -> tgt.itemSequence;
 src.detailSequence -> tgt.detailSequence;
 src.subDetailSequence -> tgt.subDetailSequence;
 src.code -> tgt.code;
}
group ClaimResponsePayment(source src, target tgt) extends BackboneElement {
 src.type -> tgt.type;
 src.adjustment -> tgt.adjustment;
 src.adjustmentReason -> tgt.adjustmentReason;
 src.date -> tgt.date;
 src.amount -> tgt.amount;
 src.identifier -> tgt.identifier;
}
group ClaimResponseProcessNote(source src, target tgt) extends BackboneElement {
 src.number -> tgt.number;
 src.type -> tgt.type;
 src.text -> tgt.text;
 src.language -> tgt.language;
}
group ClaimResponseInsurance(source src, target tgt) extends BackboneElement {
 src.sequence -> tgt.sequence;
 src.focal -> tgt.focal;
 src.coverage -> tgt.coverage;
 src.businessArrangement -> tgt.businessArrangement;
 src.preAuthRef -> tgt.preAuthRef;
 src.claimResponse -> tgt.claimResponse;
}

13.7.10.3 R4 Validation Errors

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

AltStyle によって変換されたページ (->オリジナル) /