Class Invoice.Builder

    • Method Detail

      • id

        public Invoice.Builder id​(java.lang.String id)
        The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
        Overrides:
        id in class DomainResource.Builder
        Parameters:
        id - Logical id of this artifact
        Returns:
        A reference to this Builder instance
      • meta

        public Invoice.Builder meta​(Meta meta)
        The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
        Overrides:
        meta in class DomainResource.Builder
        Parameters:
        meta - Metadata about the resource
        Returns:
        A reference to this Builder instance
      • implicitRules

        public Invoice.Builder implicitRules​(Uri implicitRules)
        A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
        Overrides:
        implicitRules in class DomainResource.Builder
        Parameters:
        implicitRules - A set of rules under which this content was created
        Returns:
        A reference to this Builder instance
      • language

        public Invoice.Builder language​(Code language)
        The base language in which the resource is written.
        Overrides:
        language in class DomainResource.Builder
        Parameters:
        language - Language of the resource content
        Returns:
        A reference to this Builder instance
      • text

        public Invoice.Builder text​(Narrative text)
        A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
        Overrides:
        text in class DomainResource.Builder
        Parameters:
        text - Text summary of the resource, for human interpretation
        Returns:
        A reference to this Builder instance
      • contained

        public Invoice.Builder contained​(Resource... contained)
        These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

        Adds new element(s) to the existing list. If any of the elements are null, calling build() will fail.

        Overrides:
        contained in class DomainResource.Builder
        Parameters:
        contained - Contained, inline Resources
        Returns:
        A reference to this Builder instance
      • contained

        public Invoice.Builder contained​(java.util.Collection<Resource> contained)
        These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

        Replaces the existing list with a new one containing elements from the Collection. If any of the elements are null, calling build() will fail.

        Overrides:
        contained in class DomainResource.Builder
        Parameters:
        contained - Contained, inline Resources
        Returns:
        A reference to this Builder instance
        Throws:
        java.lang.NullPointerException - If the passed collection is null
      • extension

        public Invoice.Builder extension​(Extension... extension)
        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 manageable, 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.

        Adds new element(s) to the existing list. If any of the elements are null, calling build() will fail.

        Overrides:
        extension in class DomainResource.Builder
        Parameters:
        extension - Additional content defined by implementations
        Returns:
        A reference to this Builder instance
      • extension

        public Invoice.Builder extension​(java.util.Collection<Extension> extension)
        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 manageable, 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.

        Replaces the existing list with a new one containing elements from the Collection. If any of the elements are null, calling build() will fail.

        Overrides:
        extension in class DomainResource.Builder
        Parameters:
        extension - Additional content defined by implementations
        Returns:
        A reference to this Builder instance
        Throws:
        java.lang.NullPointerException - If the passed collection is null
      • modifierExtension

        public Invoice.Builder modifierExtension​(Extension... modifierExtension)
        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 manageable, 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).

        Adds new element(s) to the existing list. If any of the elements are null, calling build() will fail.

        Overrides:
        modifierExtension in class DomainResource.Builder
        Parameters:
        modifierExtension - Extensions that cannot be ignored
        Returns:
        A reference to this Builder instance
      • modifierExtension

        public Invoice.Builder modifierExtension​(java.util.Collection<Extension> modifierExtension)
        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 manageable, 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).

        Replaces the existing list with a new one containing elements from the Collection. If any of the elements are null, calling build() will fail.

        Overrides:
        modifierExtension in class DomainResource.Builder
        Parameters:
        modifierExtension - Extensions that cannot be ignored
        Returns:
        A reference to this Builder instance
        Throws:
        java.lang.NullPointerException - If the passed collection is null
      • identifier

        public Invoice.Builder identifier​(Identifier... identifier)
        Identifier of this Invoice, often used for reference in correspondence about this invoice or for tracking of payments.

        Adds new element(s) to the existing list. If any of the elements are null, calling build() will fail.

        Parameters:
        identifier - Business Identifier for item
        Returns:
        A reference to this Builder instance
      • identifier

        public Invoice.Builder identifier​(java.util.Collection<Identifier> identifier)
        Identifier of this Invoice, often used for reference in correspondence about this invoice or for tracking of payments.

        Replaces the existing list with a new one containing elements from the Collection. If any of the elements are null, calling build() will fail.

        Parameters:
        identifier - Business Identifier for item
        Returns:
        A reference to this Builder instance
        Throws:
        java.lang.NullPointerException - If the passed collection is null
      • status

        public Invoice.Builder status​(InvoiceStatus status)
        The current state of the Invoice.

        This element is required.

        Parameters:
        status - draft | issued | balanced | cancelled | entered-in-error
        Returns:
        A reference to this Builder instance
      • cancelledReason

        public Invoice.Builder cancelledReason​(java.lang.String cancelledReason)
        Convenience method for setting cancelledReason.
        Parameters:
        cancelledReason - Reason for cancellation of this Invoice
        Returns:
        A reference to this Builder instance
        See Also:
        cancelledReason(com.ibm.fhir.model.type.String)
      • cancelledReason

        public Invoice.Builder cancelledReason​(String cancelledReason)
        In case of Invoice cancellation a reason must be given (entered in error, superseded by corrected invoice etc.).
        Parameters:
        cancelledReason - Reason for cancellation of this Invoice
        Returns:
        A reference to this Builder instance
      • type

        public Invoice.Builder type​(CodeableConcept type)
        Type of Invoice depending on domain, realm an usage (e.g. internal/external, dental, preliminary).
        Parameters:
        type - Type of Invoice
        Returns:
        A reference to this Builder instance
      • subject

        public Invoice.Builder subject​(Reference subject)
        The individual or set of individuals receiving the goods and services billed in this invoice.

        Allowed resource types for this reference:

        Parameters:
        subject - Recipient(s) of goods and services
        Returns:
        A reference to this Builder instance
      • recipient

        public Invoice.Builder recipient​(Reference recipient)
        The individual or Organization responsible for balancing of this invoice.

        Allowed resource types for this reference:

        Parameters:
        recipient - Recipient of this invoice
        Returns:
        A reference to this Builder instance
      • date

        public Invoice.Builder date​(DateTime date)
        Date/time(s) of when this Invoice was posted.
        Parameters:
        date - Invoice date / posting date
        Returns:
        A reference to this Builder instance
      • participant

        public Invoice.Builder participant​(Invoice.Participant... participant)
        Indicates who or what performed or participated in the charged service.

        Adds new element(s) to the existing list. If any of the elements are null, calling build() will fail.

        Parameters:
        participant - Participant in creation of this Invoice
        Returns:
        A reference to this Builder instance
      • participant

        public Invoice.Builder participant​(java.util.Collection<Invoice.Participant> participant)
        Indicates who or what performed or participated in the charged service.

        Replaces the existing list with a new one containing elements from the Collection. If any of the elements are null, calling build() will fail.

        Parameters:
        participant - Participant in creation of this Invoice
        Returns:
        A reference to this Builder instance
        Throws:
        java.lang.NullPointerException - If the passed collection is null
      • issuer

        public Invoice.Builder issuer​(Reference issuer)
        The organizationissuing the Invoice.

        Allowed resource types for this reference:

        Parameters:
        issuer - Issuing Organization of Invoice
        Returns:
        A reference to this Builder instance
      • account

        public Invoice.Builder account​(Reference account)
        Account which is supposed to be balanced with this Invoice.

        Allowed resource types for this reference:

        Parameters:
        account - Account that is being balanced
        Returns:
        A reference to this Builder instance
      • lineItem

        public Invoice.Builder lineItem​(Invoice.LineItem... lineItem)
        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.

        Adds new element(s) to the existing list. If any of the elements are null, calling build() will fail.

        Parameters:
        lineItem - Line items of this Invoice
        Returns:
        A reference to this Builder instance
      • lineItem

        public Invoice.Builder lineItem​(java.util.Collection<Invoice.LineItem> lineItem)
        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.

        Replaces the existing list with a new one containing elements from the Collection. If any of the elements are null, calling build() will fail.

        Parameters:
        lineItem - Line items of this Invoice
        Returns:
        A reference to this Builder instance
        Throws:
        java.lang.NullPointerException - If the passed collection is null
      • totalPriceComponent

        public Invoice.Builder totalPriceComponent​(Invoice.LineItem.PriceComponent... totalPriceComponent)
        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.

        Adds new element(s) to the existing list. If any of the elements are null, calling build() will fail.

        Parameters:
        totalPriceComponent - Components of Invoice total
        Returns:
        A reference to this Builder instance
      • totalPriceComponent

        public Invoice.Builder totalPriceComponent​(java.util.Collection<Invoice.LineItem.PriceComponent> totalPriceComponent)
        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.

        Replaces the existing list with a new one containing elements from the Collection. If any of the elements are null, calling build() will fail.

        Parameters:
        totalPriceComponent - Components of Invoice total
        Returns:
        A reference to this Builder instance
        Throws:
        java.lang.NullPointerException - If the passed collection is null
      • totalNet

        public Invoice.Builder totalNet​(Money totalNet)
        Invoice total , taxes excluded.
        Parameters:
        totalNet - Net total of this Invoice
        Returns:
        A reference to this Builder instance
      • totalGross

        public Invoice.Builder totalGross​(Money totalGross)
        Invoice total, tax included.
        Parameters:
        totalGross - Gross total of this Invoice
        Returns:
        A reference to this Builder instance
      • paymentTerms

        public Invoice.Builder paymentTerms​(Markdown paymentTerms)
        Payment details such as banking details, period of payment, deductibles, methods of payment.
        Parameters:
        paymentTerms - Payment details
        Returns:
        A reference to this Builder instance
      • note

        public Invoice.Builder note​(Annotation... note)
        Comments made about the invoice by the issuer, subject, or other participants.

        Adds new element(s) to the existing list. If any of the elements are null, calling build() will fail.

        Parameters:
        note - Comments made about the invoice
        Returns:
        A reference to this Builder instance
      • note

        public Invoice.Builder note​(java.util.Collection<Annotation> note)
        Comments made about the invoice by the issuer, subject, or other participants.

        Replaces the existing list with a new one containing elements from the Collection. If any of the elements are null, calling build() will fail.

        Parameters:
        note - Comments made about the invoice
        Returns:
        A reference to this Builder instance
        Throws:
        java.lang.NullPointerException - If the passed collection is null
      • build

        public Invoice build()
        Build the Invoice

        Required elements:

        • status
        Specified by:
        build in interface Builder<Resource>
        Specified by:
        build in class DomainResource.Builder
        Returns:
        An immutable object of type Invoice
        Throws:
        java.lang.IllegalStateException - if the current state cannot be built into a valid Invoice per the base specification
      • validate

        protected void validate​(Invoice invoice)