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
Official URL: http://hl7.org/fhir/StructureMap/Invoice5to4 | Version: 5.1.0 | |||
Standards status: Trial-use | Maturity Level: 1 | Computable Name: Invoice5to4 |
FMLConversionforInvoiceR5toR4
/// url = 'http://hl7.org/fhir/StructureMap/Invoice5to4' /// name = 'Invoice5to4' /// title = 'FML Conversion for Invoice: R5 to R4' /// status = 'active' conceptmap "InvoiceStatus" { prefix s = "http://hl7.org/fhir/invoice-status" prefix t = "http://hl7.org/fhir/4.0/invoice-status" s:draft - t:draft s:issued - t:issued s:balanced - t:balanced s:cancelled - t:cancelled s:"entered-in-error" - t:"entered-in-error" } uses "http://hl7.org/fhir/StructureDefinition/Invoice" alias InvoiceR5 as source uses "http://hl7.org/fhir/4.0/StructureDefinition/Invoice" alias InvoiceR4 as target imports "http://hl7.org/fhir/StructureMap/*5to4" group Invoice(source src : InvoiceR5, target tgt : InvoiceR4) extends DomainResource <<type+>> { src.identifier -> tgt.identifier; src.status as v -> tgt.status = translate(v, '#InvoiceStatus', 'code'); src.cancelledReason -> tgt.cancelledReason; src.type -> tgt.type; src.subject -> tgt.subject; src.recipient -> tgt.recipient; src.date -> tgt.date; src.participant as s -> tgt.participant as t then InvoiceParticipant(s, t); // src.creation -> tgt.creation; src.issuer -> tgt.issuer; src.account -> tgt.account; src.lineItem as s -> tgt.lineItem as t then InvoiceLineItem(s, t); src.totalPriceComponent as s -> tgt.totalPriceComponent as t then { s.type -> t.type; s.code -> t.code; s.factor -> t.factor; s.amount -> t.amount; }; src.totalNet -> tgt.totalNet; src.totalGross -> tgt.totalGross; src.paymentTerms -> tgt.paymentTerms; src.note -> tgt.note; } group InvoiceParticipant(source src, target tgt) extends BackboneElement { src.role -> tgt.role; src.actor -> tgt.actor; } group InvoiceLineItem(source src, target tgt) extends BackboneElement { src.sequence -> tgt.sequence; src.chargeItem : Reference -> tgt.chargeItem; // src.serviced : date -> tgt.serviced; src.chargeItem : CodeableConcept -> tgt.chargeItem; src.priceComponent as s -> tgt.priceComponent as t then { s.type -> t.type; s.code -> t.code; s.factor -> t.factor; s.amount -> t.amount; }; }