/** * FHIR Version R5 * The following is auto generated resource definition. * * OpenAPI spec version: 3.0.1 * * * NOTE: This class is auto generated by the swagger code generator program. * https://github.com/swagger-api/swagger-codegen.git * Do not edit the class manually. */ import { Annotation } from './annotation'; import { Code } from './code'; import { CodeableConcept } from './codeableConcept'; import { DateTime } from './dateTime'; import { Extension } from './extension'; import { Id } from './id'; import { Identifier } from './identifier'; import { InvoiceLineItem } from './invoiceLineItem'; import { InvoiceParticipant } from './invoiceParticipant'; import { Markdown } from './markdown'; import { Meta } from './meta'; import { MonetaryComponent } from './monetaryComponent'; import { Money } from './money'; import { Narrative } from './narrative'; import { Period } from './period'; import { Reference } from './reference'; import { ResourceList } from './resourceList'; import { Uri } from './uri'; /** * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose. */ export interface Invoice { /** * This is a Invoice resource */ resourceType: 'Invoice'; id?: Id; meta?: Meta; implicitRules?: Uri; language?: Code; text?: Narrative; /** * These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning. */ contained?: Array; /** * May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. */ extension?: Array; /** * May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). */ modifierExtension?: Array; /** * Identifier of this Invoice, often used for reference in correspondence about this invoice or for tracking of payments. */ identifier?: Array; status?: Code; cancelledReason?: string; type?: CodeableConcept; subject?: Reference; recipient?: Reference; date?: Date; creation?: Date; /** * Date/time(s) range of services included in this invoice. */ periodDate?: string; periodPeriod?: Period; /** * Indicates who or what performed or participated in the charged service. */ participant?: Array; issuer?: Reference; account?: Reference; /** * Each line item represents one charge for goods and services rendered. Details such.ofType(date), code and amount are found in the referenced ChargeItem resource. */ lineItem?: Array; /** * The total amount for the Invoice may be calculated as the sum of the line items with surcharges/deductions that apply in certain conditions. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the total price was calculated. */ totalPriceComponent?: Array; totalNet?: Money; totalGross?: Money; paymentTerms?: Markdown; /** * Comments made about the invoice by the issuer, subject, or other participants. */ note?: Array; }