Class Invoice

  • All Implemented Interfaces:
    Visitable

    @Generated("org.linuxforhealth.fhir.tools.CodeGenerator")
    public class Invoice
    extends DomainResource
    Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.

    Maturity level: FMM0 (Trial Use)

    • Method Detail

      • getIdentifier

        public java.util.List<Identifier> getIdentifier()
        Identifier of this Invoice, often used for reference in correspondence about this invoice or for tracking of payments.
        Returns:
        An unmodifiable list containing immutable objects of type Identifier that may be empty.
      • getStatus

        public InvoiceStatus getStatus()
        The current state of the Invoice.
        Returns:
        An immutable object of type InvoiceStatus that is non-null.
      • getCancelledReason

        public String getCancelledReason()
        In case of Invoice cancellation a reason must be given (entered in error, superseded by corrected invoice etc.).
        Returns:
        An immutable object of type String that may be null.
      • getType

        public CodeableConcept getType()
        Type of Invoice depending on domain, realm an usage (e.g. internal/external, dental, preliminary).
        Returns:
        An immutable object of type CodeableConcept that may be null.
      • getSubject

        public Reference getSubject()
        The individual or set of individuals receiving the goods and services billed in this invoice.
        Returns:
        An immutable object of type Reference that may be null.
      • getRecipient

        public Reference getRecipient()
        The individual or Organization responsible for balancing of this invoice.
        Returns:
        An immutable object of type Reference that may be null.
      • getDate

        public DateTime getDate()
        Date/time(s) of when this Invoice was posted.
        Returns:
        An immutable object of type DateTime that may be null.
      • getParticipant

        public java.util.List<Invoice.Participant> getParticipant()
        Indicates who or what performed or participated in the charged service.
        Returns:
        An unmodifiable list containing immutable objects of type Invoice.Participant that may be empty.
      • getIssuer

        public Reference getIssuer()
        The organizationissuing the Invoice.
        Returns:
        An immutable object of type Reference that may be null.
      • getAccount

        public Reference getAccount()
        Account which is supposed to be balanced with this Invoice.
        Returns:
        An immutable object of type Reference that may be null.
      • getLineItem

        public java.util.List<Invoice.LineItem> getLineItem()
        Each line item represents one charge for goods and services rendered. Details such as date, code and amount are found in the referenced ChargeItem resource.
        Returns:
        An unmodifiable list containing immutable objects of type Invoice.LineItem that may be empty.
      • getTotalPriceComponent

        public java.util.List<Invoice.LineItem.PriceComponent> getTotalPriceComponent()
        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.
        Returns:
        An unmodifiable list containing immutable objects of type PriceComponent that may be empty.
      • getTotalNet

        public Money getTotalNet()
        Invoice total , taxes excluded.
        Returns:
        An immutable object of type Money that may be null.
      • getTotalGross

        public Money getTotalGross()
        Invoice total, tax included.
        Returns:
        An immutable object of type Money that may be null.
      • getPaymentTerms

        public Markdown getPaymentTerms()
        Payment details such as banking details, period of payment, deductibles, methods of payment.
        Returns:
        An immutable object of type Markdown that may be null.
      • getNote

        public java.util.List<Annotation> getNote()
        Comments made about the invoice by the issuer, subject, or other participants.
        Returns:
        An unmodifiable list containing immutable objects of type Annotation that may be empty.
      • accept

        public void accept​(java.lang.String elementName,
                           int elementIndex,
                           Visitor visitor)
        Description copied from interface: Visitable
        Accept a Visitor and invoke the appropriate visit methods. A typical implementation would look like this:
         if (visitor.preVisit(this)) {
             visitor.visitStart(elementName, elementIndex, this);
             if (visitor.visit(elementName, elementIndex, this)) {
                 // visit children
             }
             visitor.visitEnd(elementName, elementIndex, this);
             visitor.postVisit(this);
         }
         
        Specified by:
        accept in interface Visitable
        Specified by:
        accept in class AbstractVisitable
        Parameters:
        elementName - the name of the element in the context of this visit
        elementIndex - the index of the element in a list or -1 if it is not contained within a List
        visitor - the visitor to use
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object