Publish-box (todo)
Financial Management Work Group | Maturity Level: 0 | Trial Use | Security Category: Patient | Compartments: Device, Patient, Practitioner, RelatedPerson |
Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
Tracking Financial information is vital in Patient Administration and Finance systems in most Healthcare Organizations. An invoice is a financial document issued by a healthcare provider to a patient or a payer indicating the goods and services (ChargeItems) performed with their quantities and prices.
Example implementations:
The existing Claim resource is constricted to use cases where Claims are sent to insurances for reimbursement, in a message-like style. It neither references ChargeItems nor Accounts.
Competing invoicing standards such as EDIFACT or X12 are aiming at inter-organizational exchange and do not offer human readable representations or traceable links to services rendered which is a requirement for invoicing towards patients. This resource is used where existing ChargeItems in an Account are collected to create an Invoice to be sent out to Individuals or Organizations in a structured way. The invoice is the hospital's view, whereas the Claim is the payer's view on the performed services.
Since the individual ChargeItem resources that make up the line items of the Invoice do not carry any pricing information, ChargeItemDefinitions will have to be applied to the ChargeItems in order to calculate the price components for the Invoice depending on the context of the ChargeItem
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Invoice | TU | DomainResource | Invoice containing ChargeItems from an Account Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Business Identifier for item |
status | ?!Σ | 1..1 | code | draft | issued | balanced | cancelled | entered-in-error Binding: Invoice Status (Required) |
cancelledReason | 0..1 | string | Reason for cancellation of this Invoice | |
type | Σ | 0..1 | CodeableConcept | Type of Invoice |
subject | Σ | 0..1 | Reference(Patient | Group) | Recipient(s) of goods and services |
recipient | Σ | 0..1 | Reference(Organization | Patient | RelatedPerson) | Recipient of this invoice |
date | 0..1 | dateTime | DEPRICATED | |
creation | Σ | 0..1 | dateTime | When posted |
period[x] | Σ | 0..1 | Billing date or period | |
periodDate | date | |||
periodPeriod | Period | |||
participant | 0..* | BackboneElement | Participant in creation of this Invoice | |
role | 0..1 | CodeableConcept | Type of involvement in creation of this Invoice | |
actor | 1..1 | Reference(Practitioner | Organization | Patient | PractitionerRole | Device | RelatedPerson) | Individual who was involved | |
issuer | 0..1 | Reference(Organization) | Issuing Organization of Invoice | |
account | 0..1 | Reference(Account) | Account that is being balanced | |
lineItem | 0..* | BackboneElement | Line items of this Invoice | |
sequence | 0..1 | positiveInt | Sequence number of line item | |
serviced[x] | 0..1 | Service data or period | ||
servicedDate | date | |||
servicedPeriod | Period | |||
chargeItem[x] | 1..1 | Reference to ChargeItem containing details of this line item or an inline billing code | ||
chargeItemReference | Reference(ChargeItem) | |||
chargeItemCodeableConcept | CodeableConcept | |||
priceComponent | 0..* | MonetaryComponent | Components of total line item price | |
totalPriceComponent | 0..* | MonetaryComponent | Components of Invoice total | |
totalNet | Σ | 0..1 | Money | Net total of this Invoice |
totalGross | Σ | 0..1 | Money | Gross total of this Invoice |
paymentTerms | 0..1 | markdown | Payment details | |
note | 0..* | Annotation | Comments made about the invoice | |
Documentation for this format |
See the Extensions for this resource
UML Diagram (Legend)
XML Template
<Invoice xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Business Identifier for item --></identifier> <status value="[code]"/><!-- 1..1 draft | issued | balanced | cancelled | entered-in-error --> <cancelledReason value="[string]"/><!-- 0..1 Reason for cancellation of this Invoice --> <type><!-- 0..1 CodeableConcept Type of Invoice --></type> <subject><!-- 0..1 Reference(Group|Patient) Recipient(s) of goods and services --></subject> <recipient><!-- 0..1 Reference(Organization|Patient|RelatedPerson) Recipient of this invoice --></recipient> <date value="[dateTime]"/><!-- 0..1 DEPRICATED --> <creation value="[dateTime]"/><!-- 0..1 When posted --> <period[x]><!-- 0..1 date|Period Billing date or period --></period[x]> <participant> <!-- 0..* Participant in creation of this Invoice --> <role><!-- 0..1 CodeableConcept Type of involvement in creation of this Invoice --></role> <actor><!-- 1..1 Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Individual who was involved --></actor> </participant> <issuer><!-- 0..1 Reference(Organization) Issuing Organization of Invoice --></issuer> <account><!-- 0..1 Reference(Account) Account that is being balanced --></account> <lineItem> <!-- 0..* Line items of this Invoice --> <sequence value="[positiveInt]"/><!-- 0..1 Sequence number of line item --> <serviced[x]><!-- 0..1 date|Period Service data or period --></serviced[x]> <chargeItem[x]><!-- 1..1 Reference(ChargeItem)|CodeableConcept Reference to ChargeItem containing details of this line item or an inline billing code --></chargeItem[x]> <priceComponent><!-- 0..* MonetaryComponent Components of total line item price --></priceComponent> </lineItem> <totalPriceComponent><!-- 0..* MonetaryComponent Components of Invoice total --></totalPriceComponent> <totalNet><!-- 0..1 Money Net total of this Invoice --></totalNet> <totalGross><!-- 0..1 Money Gross total of this Invoice --></totalGross> <paymentTerms value="[markdown]"/><!-- 0..1 Payment details --> <note><!-- 0..* Annotation Comments made about the invoice --></note> </Invoice>
JSON Template
{ "resourceType" : "Invoice", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Business Identifier for item "status" : "<code>", // R! draft | issued | balanced | cancelled | entered-in-error "cancelledReason" : "<string>", // Reason for cancellation of this Invoice "type" : { CodeableConcept }, // Type of Invoice "subject" : { Reference(Group|Patient) }, // Recipient(s) of goods and services "recipient" : { Reference(Organization|Patient|RelatedPerson) }, // Recipient of this invoice "date" : "<dateTime>", // DEPRICATED "creation" : "<dateTime>", // When posted // period[x]: Billing date or period. One of these 2: "periodDate" : "<date>", "periodPeriod" : { Period }, "participant" : [{ // Participant in creation of this Invoice "role" : { CodeableConcept }, // Type of involvement in creation of this Invoice "actor" : { Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) } // R! Individual who was involved }], "issuer" : { Reference(Organization) }, // Issuing Organization of Invoice "account" : { Reference(Account) }, // Account that is being balanced "lineItem" : [{ // Line items of this Invoice "sequence" : "<positiveInt>", // Sequence number of line item // serviced[x]: Service data or period. One of these 2: "servicedDate" : "<date>", "servicedPeriod" : { Period }, // chargeItem[x]: Reference to ChargeItem containing details of this line item or an inline billing code. One of these 2: "chargeItemReference" : { Reference(ChargeItem) }, "chargeItemCodeableConcept" : { CodeableConcept }, "priceComponent" : [{ MonetaryComponent }] // Components of total line item price }], "totalPriceComponent" : [{ MonetaryComponent }], // Components of Invoice total "totalNet" : { Money }, // Net total of this Invoice "totalGross" : { Money }, // Gross total of this Invoice "paymentTerms" : "<markdown>", // Payment details "note" : [{ Annotation }] // Comments made about the invoice }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:Invoice; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* Business Identifier for item fhir:status [ code ] ; # 1..1 draft | issued | balanced | cancelled | entered-in-error fhir:cancelledReason [ string ] ; # 0..1 Reason for cancellation of this Invoice fhir:type [ CodeableConcept ] ; # 0..1 Type of Invoice fhir:subject [ Reference(Group|Patient) ] ; # 0..1 Recipient(s) of goods and services fhir:recipient [ Reference(Organization|Patient|RelatedPerson) ] ; # 0..1 Recipient of this invoice fhir:date [ dateTime ] ; # 0..1 DEPRICATED fhir:creation [ dateTime ] ; # 0..1 When posted # period[x] : 0..1 Billing date or period. One of these 2 fhir:period [ a fhir:date ; date ] fhir:period [ a fhir:Period ; Period ] fhir:participant ( [ # 0..* Participant in creation of this Invoice fhir:role [ CodeableConcept ] ; # 0..1 Type of involvement in creation of this Invoice fhir:actor [ Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 1..1 Individual who was involved ] ... ) ; fhir:issuer [ Reference(Organization) ] ; # 0..1 Issuing Organization of Invoice fhir:account [ Reference(Account) ] ; # 0..1 Account that is being balanced fhir:lineItem ( [ # 0..* Line items of this Invoice fhir:sequence [ positiveInt ] ; # 0..1 Sequence number of line item # serviced[x] : 0..1 Service data or period. One of these 2 fhir:serviced [ a fhir:date ; date ] fhir:serviced [ a fhir:Period ; Period ] # chargeItem[x] : 1..1 Reference to ChargeItem containing details of this line item or an inline billing code. One of these 2 fhir:chargeItem [ a fhir:Reference ; Reference(ChargeItem) ] fhir:chargeItem [ a fhir:CodeableConcept ; CodeableConcept ] fhir:priceComponent ( [ MonetaryComponent ] ... ) ; # 0..* Components of total line item price ] ... ) ; fhir:totalPriceComponent ( [ MonetaryComponent ] ... ) ; # 0..* Components of Invoice total fhir:totalNet [ Money ] ; # 0..1 Net total of this Invoice fhir:totalGross [ Money ] ; # 0..1 Gross total of this Invoice fhir:paymentTerms [ markdown ] ; # 0..1 Payment details fhir:note ( [ Annotation ] ... ) ; # 0..* Comments made about the invoice ]
Changes from both R4 and R4B
Invoice | |
Invoice.creation |
|
Invoice.period[x] |
|
Invoice.lineItem.serviced[x] |
|
Invoice.lineItem.priceComponent |
|
Invoice.totalPriceComponent |
|
Invoice.lineItem.priceComponent.type |
|
Invoice.lineItem.priceComponent.code |
|
Invoice.lineItem.priceComponent.factor |
|
Invoice.lineItem.priceComponent.amount |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Invoice | TU | DomainResource | Invoice containing ChargeItems from an Account Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Business Identifier for item |
status | ?!Σ | 1..1 | code | draft | issued | balanced | cancelled | entered-in-error Binding: Invoice Status (Required) |
cancelledReason | 0..1 | string | Reason for cancellation of this Invoice | |
type | Σ | 0..1 | CodeableConcept | Type of Invoice |
subject | Σ | 0..1 | Reference(Patient | Group) | Recipient(s) of goods and services |
recipient | Σ | 0..1 | Reference(Organization | Patient | RelatedPerson) | Recipient of this invoice |
date | 0..1 | dateTime | DEPRICATED | |
creation | Σ | 0..1 | dateTime | When posted |
period[x] | Σ | 0..1 | Billing date or period | |
periodDate | date | |||
periodPeriod | Period | |||
participant | 0..* | BackboneElement | Participant in creation of this Invoice | |
role | 0..1 | CodeableConcept | Type of involvement in creation of this Invoice | |
actor | 1..1 | Reference(Practitioner | Organization | Patient | PractitionerRole | Device | RelatedPerson) | Individual who was involved | |
issuer | 0..1 | Reference(Organization) | Issuing Organization of Invoice | |
account | 0..1 | Reference(Account) | Account that is being balanced | |
lineItem | 0..* | BackboneElement | Line items of this Invoice | |
sequence | 0..1 | positiveInt | Sequence number of line item | |
serviced[x] | 0..1 | Service data or period | ||
servicedDate | date | |||
servicedPeriod | Period | |||
chargeItem[x] | 1..1 | Reference to ChargeItem containing details of this line item or an inline billing code | ||
chargeItemReference | Reference(ChargeItem) | |||
chargeItemCodeableConcept | CodeableConcept | |||
priceComponent | 0..* | MonetaryComponent | Components of total line item price | |
totalPriceComponent | 0..* | MonetaryComponent | Components of Invoice total | |
totalNet | Σ | 0..1 | Money | Net total of this Invoice |
totalGross | Σ | 0..1 | Money | Gross total of this Invoice |
paymentTerms | 0..1 | markdown | Payment details | |
note | 0..* | Annotation | Comments made about the invoice | |
Documentation for this format |
See the Extensions for this resource
XML Template
<Invoice xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Business Identifier for item --></identifier> <status value="[code]"/><!-- 1..1 draft | issued | balanced | cancelled | entered-in-error --> <cancelledReason value="[string]"/><!-- 0..1 Reason for cancellation of this Invoice --> <type><!-- 0..1 CodeableConcept Type of Invoice --></type> <subject><!-- 0..1 Reference(Group|Patient) Recipient(s) of goods and services --></subject> <recipient><!-- 0..1 Reference(Organization|Patient|RelatedPerson) Recipient of this invoice --></recipient> <date value="[dateTime]"/><!-- 0..1 DEPRICATED --> <creation value="[dateTime]"/><!-- 0..1 When posted --> <period[x]><!-- 0..1 date|Period Billing date or period --></period[x]> <participant> <!-- 0..* Participant in creation of this Invoice --> <role><!-- 0..1 CodeableConcept Type of involvement in creation of this Invoice --></role> <actor><!-- 1..1 Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Individual who was involved --></actor> </participant> <issuer><!-- 0..1 Reference(Organization) Issuing Organization of Invoice --></issuer> <account><!-- 0..1 Reference(Account) Account that is being balanced --></account> <lineItem> <!-- 0..* Line items of this Invoice --> <sequence value="[positiveInt]"/><!-- 0..1 Sequence number of line item --> <serviced[x]><!-- 0..1 date|Period Service data or period --></serviced[x]> <chargeItem[x]><!-- 1..1 Reference(ChargeItem)|CodeableConcept Reference to ChargeItem containing details of this line item or an inline billing code --></chargeItem[x]> <priceComponent><!-- 0..* MonetaryComponent Components of total line item price --></priceComponent> </lineItem> <totalPriceComponent><!-- 0..* MonetaryComponent Components of Invoice total --></totalPriceComponent> <totalNet><!-- 0..1 Money Net total of this Invoice --></totalNet> <totalGross><!-- 0..1 Money Gross total of this Invoice --></totalGross> <paymentTerms value="[markdown]"/><!-- 0..1 Payment details --> <note><!-- 0..* Annotation Comments made about the invoice --></note> </Invoice>
JSON Template
{ "resourceType" : "Invoice", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Business Identifier for item "status" : "<code>", // R! draft | issued | balanced | cancelled | entered-in-error "cancelledReason" : "<string>", // Reason for cancellation of this Invoice "type" : { CodeableConcept }, // Type of Invoice "subject" : { Reference(Group|Patient) }, // Recipient(s) of goods and services "recipient" : { Reference(Organization|Patient|RelatedPerson) }, // Recipient of this invoice "date" : "<dateTime>", // DEPRICATED "creation" : "<dateTime>", // When posted // period[x]: Billing date or period. One of these 2: "periodDate" : "<date>", "periodPeriod" : { Period }, "participant" : [{ // Participant in creation of this Invoice "role" : { CodeableConcept }, // Type of involvement in creation of this Invoice "actor" : { Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) } // R! Individual who was involved }], "issuer" : { Reference(Organization) }, // Issuing Organization of Invoice "account" : { Reference(Account) }, // Account that is being balanced "lineItem" : [{ // Line items of this Invoice "sequence" : "<positiveInt>", // Sequence number of line item // serviced[x]: Service data or period. One of these 2: "servicedDate" : "<date>", "servicedPeriod" : { Period }, // chargeItem[x]: Reference to ChargeItem containing details of this line item or an inline billing code. One of these 2: "chargeItemReference" : { Reference(ChargeItem) }, "chargeItemCodeableConcept" : { CodeableConcept }, "priceComponent" : [{ MonetaryComponent }] // Components of total line item price }], "totalPriceComponent" : [{ MonetaryComponent }], // Components of Invoice total "totalNet" : { Money }, // Net total of this Invoice "totalGross" : { Money }, // Gross total of this Invoice "paymentTerms" : "<markdown>", // Payment details "note" : [{ Annotation }] // Comments made about the invoice }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:Invoice; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* Business Identifier for item fhir:status [ code ] ; # 1..1 draft | issued | balanced | cancelled | entered-in-error fhir:cancelledReason [ string ] ; # 0..1 Reason for cancellation of this Invoice fhir:type [ CodeableConcept ] ; # 0..1 Type of Invoice fhir:subject [ Reference(Group|Patient) ] ; # 0..1 Recipient(s) of goods and services fhir:recipient [ Reference(Organization|Patient|RelatedPerson) ] ; # 0..1 Recipient of this invoice fhir:date [ dateTime ] ; # 0..1 DEPRICATED fhir:creation [ dateTime ] ; # 0..1 When posted # period[x] : 0..1 Billing date or period. One of these 2 fhir:period [ a fhir:date ; date ] fhir:period [ a fhir:Period ; Period ] fhir:participant ( [ # 0..* Participant in creation of this Invoice fhir:role [ CodeableConcept ] ; # 0..1 Type of involvement in creation of this Invoice fhir:actor [ Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 1..1 Individual who was involved ] ... ) ; fhir:issuer [ Reference(Organization) ] ; # 0..1 Issuing Organization of Invoice fhir:account [ Reference(Account) ] ; # 0..1 Account that is being balanced fhir:lineItem ( [ # 0..* Line items of this Invoice fhir:sequence [ positiveInt ] ; # 0..1 Sequence number of line item # serviced[x] : 0..1 Service data or period. One of these 2 fhir:serviced [ a fhir:date ; date ] fhir:serviced [ a fhir:Period ; Period ] # chargeItem[x] : 1..1 Reference to ChargeItem containing details of this line item or an inline billing code. One of these 2 fhir:chargeItem [ a fhir:Reference ; Reference(ChargeItem) ] fhir:chargeItem [ a fhir:CodeableConcept ; CodeableConcept ] fhir:priceComponent ( [ MonetaryComponent ] ... ) ; # 0..* Components of total line item price ] ... ) ; fhir:totalPriceComponent ( [ MonetaryComponent ] ... ) ; # 0..* Components of Invoice total fhir:totalNet [ Money ] ; # 0..1 Net total of this Invoice fhir:totalGross [ Money ] ; # 0..1 Gross total of this Invoice fhir:paymentTerms [ markdown ] ; # 0..1 Payment details fhir:note ( [ Annotation ] ... ) ; # 0..* Comments made about the invoice ]
Changes from both R4 and R4B
Invoice | |
Invoice.creation |
|
Invoice.period[x] |
|
Invoice.lineItem.serviced[x] |
|
Invoice.lineItem.priceComponent |
|
Invoice.totalPriceComponent |
|
Invoice.lineItem.priceComponent.type |
|
Invoice.lineItem.priceComponent.code |
|
Invoice.lineItem.priceComponent.factor |
|
Invoice.lineItem.priceComponent.amount |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis
Path | ValueSet | Type | Documentation |
---|---|---|---|
Invoice.status | InvoiceStatus | Required | Codes identifying the lifecycle stage of an Invoice. |
Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
account | reference | Account that is being balanced | Invoice.account (Account) |
|
date | date | Invoice date / posting date | Invoice.date | 26 Resources |
identifier | token | Business Identifier for item | Invoice.identifier | 65 Resources |
issuer | reference | Issuing Organization of Invoice | Invoice.issuer (Organization) |
|
participant | reference | Individual who was involved | Invoice.participant.actor (Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson) |
|
participant-role | token | Type of involvement in creation of this Invoice | Invoice.participant.role | |
patient | reference | Recipient(s) of goods and services | Invoice.subject.where(resolve() is Patient) (Patient) |
65 Resources |
recipient | reference | Recipient of this invoice | Invoice.recipient (Organization, Patient, RelatedPerson) |
|
status | token | draft | issued | balanced | cancelled | entered-in-error | Invoice.status | |
subject | reference | Recipient(s) of goods and services | Invoice.subject (Group, Patient) |
|
totalgross | quantity | Gross total of this Invoice | Invoice.totalGross | |
totalnet | quantity | Net total of this Invoice | Invoice.totalNet | |
type | token | Type of Invoice | Invoice.type | 11 Resources |