openIMIS FHIR R4 Implementation Guide
1.0.0 - ci-build

openIMIS FHIR R4 Implementation Guide - Local Development build (v1.0.0). See the Directory of published versions

Resource Profile: openIMIS Invoice

Official URL: https://openimis.github.io/openimis_fhir_r4_ig/StructureDefinition/openimis-invoice-invoice Version: 1.0.0
Active as of 2022-05-31 Responsible: openIMIS Initiative Computable Name: OpenIMISInvoice

Defines an Invoice for openIMIS.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Invoice

Summary

Mandatory: 19 elements (2 nested mandatory elements)
Must-Support: 1 element
Prohibited: 6 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Invoice.identifier is sliced based on the value of value:type.coding.code (Closed)
  • The element Invoice.lineItem.chargeItem[x] is sliced based on the value of type:$this

This structure is derived from Invoice

NameFlagsCard.TypeDescription & Constraintsdoco
.. Invoice 0..*InvoiceInvoice containing ChargeItems from an Account
... id 0..1stringInvoice UUID
... Slices for identifier 2..2IdentifierBusiness Identifier for item
Slice: Unordered, Closed by value:type.coding.code
.... identifier:All Slices Content/Rules for all slices
..... type 1..1CodeableConceptDescription of identifier
...... coding
....... code 0..1codeSymbol in syntax defined by the system
Binding: openIMIS Identifiers Value Set (required)
..... value 1..1stringThe value that is unique
.... identifier:Code S1..1IdentifierBusiness Identifier for item
..... type
...... coding
....... code 1..1codeInvoice openIMIS Code
Required Pattern: Code
.... identifier:UUID 1..1IdentifierBusiness Identifier for item
..... type
...... coding
....... code 1..1codeInvoice openIMIS UUID
Required Pattern: UUID
... status 1..1codeFHIR Invoice Status
Binding: Status (Invoice) (required)
... type 1..1CodeableConceptcontribution | contract | funding
.... coding 0..*CodingCode defined by a terminology system
Binding: Type (Invoice) (required)
... subject 0..0
... recipient 1..1Reference(Organization | Patient)Third party
... date 1..1dateTimeInvoice date / posting date
... participant 0..0
... account 0..0
... lineItem 1..*BackboneElementLine items of this Invoice
.... sequence 0..0
.... chargeItem[x] 1..1CodeableConceptReference to ChargeItem containing details of this line item or an inline billing code
Slice: Unordered, Open by type:$this
.... chargeItemCodeableConcept 1..1CodeableConceptReference to ChargeItem containing details of this line item or an inline billing code
Binding: ChargeItem (Invoice) (required)
.... priceComponent 1..*BackboneElementComponents of total line item price
..... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
..... unit-price 1..1MoneyUnit Price
URL: https://openimis.github.io/openimis_fhir_r4_ig/StructureDefinition/unit-price
..... type 1..1codebase | deduction | discount | tax
Binding: PriceComponent Type (Invoice) (required)
..... code 0..1CodeableConceptCode identifying the specific component
...... coding
....... code 0..1codeSymbol in syntax defined by the system
Required Pattern: Code
..... factor 1..1decimalFactor used for calculating this component
..... amount 1..1MoneyMonetary amount associated with this component
...... value 1..1decimalNumerical value (with implicit precision)
... totalPriceComponent 0..0
... totalNet 1..1MoneyNet total of this Invoice
.... value 1..1decimalNumerical value (with implicit precision)
... totalGross 1..1MoneyGross total of this Invoice
.... value 1..1decimalNumerical value (with implicit precision)
... note 0..1AnnotationComments made about the invoice

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Invoice 0..*InvoiceInvoice containing ChargeItems from an Account
... id Σ0..1stringInvoice UUID
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier Σ2..2IdentifierBusiness Identifier for item
Slice: Unordered, Closed by value:type.coding.code
.... identifier:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ1..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriIdentity of the terminology system
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
Binding: openIMIS Identifiers Value Set (required)
....... display Σ0..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ1..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:Code SΣ1..1IdentifierBusiness Identifier for item
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriIdentity of the terminology system
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeInvoice openIMIS Code
Required Pattern: Code
....... display Σ0..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:UUID Σ1..1IdentifierBusiness Identifier for item
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriIdentity of the terminology system
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeInvoice openIMIS UUID
Required Pattern: UUID
....... display Σ0..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... status ?!Σ1..1codeFHIR Invoice Status
Binding: Status (Invoice) (required)
... type Σ1..1CodeableConceptcontribution | contract | funding
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
Binding: Type (Invoice) (required)
.... text Σ0..1stringPlain text representation of the concept
... recipient Σ1..1Reference(Organization | Patient)Third party
... date Σ1..1dateTimeInvoice date / posting date
... issuer 0..1Reference(Organization)Issuing Organization of Invoice
... lineItem 1..*BackboneElementLine items of this Invoice
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... Slices for chargeItem[x] 1..1CodeableConceptReference to ChargeItem containing details of this line item or an inline billing code
Slice: Unordered, Closed by type:$this
..... chargeItem[x]:chargeItemCodeableConcept 1..1CodeableConceptReference to ChargeItem containing details of this line item or an inline billing code
Binding: ChargeItem (Invoice) (required)
.... priceComponent 1..*BackboneElementComponents of total line item price
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
..... unit-price 1..1MoneyUnit Price
URL: https://openimis.github.io/openimis_fhir_r4_ig/StructureDefinition/unit-price
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 1..1codebase | deduction | discount | tax
Binding: PriceComponent Type (Invoice) (required)
..... code 0..1CodeableConceptCode identifying the specific component
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriIdentity of the terminology system
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
Required Pattern: Code
....... display Σ0..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... factor 1..1decimalFactor used for calculating this component
..... amount 1..1MoneyMonetary amount associated with this component
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ1..1decimalNumerical value (with implicit precision)
...... currency Σ0..1codeISO 4217 Currency Code
Binding: Currencies (required): A code indicating the currency, taken from ISO 4217.

... totalNet Σ1..1MoneyNet total of this Invoice
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... value Σ1..1decimalNumerical value (with implicit precision)
.... currency Σ0..1codeISO 4217 Currency Code
Binding: Currencies (required): A code indicating the currency, taken from ISO 4217.

... totalGross Σ1..1MoneyGross total of this Invoice
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... value Σ1..1decimalNumerical value (with implicit precision)
.... currency Σ0..1codeISO 4217 Currency Code
Binding: Currencies (required): A code indicating the currency, taken from ISO 4217.

... paymentTerms 0..1markdownPayment details
... note 0..1AnnotationComments made about the invoice

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Invoice 0..*InvoiceInvoice containing ChargeItems from an Account
... identifier:Code Σ1..1IdentifierBusiness Identifier for item

doco Documentation for this format

This structure is derived from Invoice

Summary

Mandatory: 19 elements (2 nested mandatory elements)
Must-Support: 1 element
Prohibited: 6 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Invoice.identifier is sliced based on the value of value:type.coding.code (Closed)
  • The element Invoice.lineItem.chargeItem[x] is sliced based on the value of type:$this

Differential View

This structure is derived from Invoice

NameFlagsCard.TypeDescription & Constraintsdoco
.. Invoice 0..*InvoiceInvoice containing ChargeItems from an Account
... id 0..1stringInvoice UUID
... Slices for identifier 2..2IdentifierBusiness Identifier for item
Slice: Unordered, Closed by value:type.coding.code
.... identifier:All Slices Content/Rules for all slices
..... type 1..1CodeableConceptDescription of identifier
...... coding
....... code 0..1codeSymbol in syntax defined by the system
Binding: openIMIS Identifiers Value Set (required)
..... value 1..1stringThe value that is unique
.... identifier:Code S1..1IdentifierBusiness Identifier for item
..... type
...... coding
....... code 1..1codeInvoice openIMIS Code
Required Pattern: Code
.... identifier:UUID 1..1IdentifierBusiness Identifier for item
..... type
...... coding
....... code 1..1codeInvoice openIMIS UUID
Required Pattern: UUID
... status 1..1codeFHIR Invoice Status
Binding: Status (Invoice) (required)
... type 1..1CodeableConceptcontribution | contract | funding
.... coding 0..*CodingCode defined by a terminology system
Binding: Type (Invoice) (required)
... subject 0..0
... recipient 1..1Reference(Organization | Patient)Third party
... date 1..1dateTimeInvoice date / posting date
... participant 0..0
... account 0..0
... lineItem 1..*BackboneElementLine items of this Invoice
.... sequence 0..0
.... chargeItem[x] 1..1CodeableConceptReference to ChargeItem containing details of this line item or an inline billing code
Slice: Unordered, Open by type:$this
.... chargeItemCodeableConcept 1..1CodeableConceptReference to ChargeItem containing details of this line item or an inline billing code
Binding: ChargeItem (Invoice) (required)
.... priceComponent 1..*BackboneElementComponents of total line item price
..... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
..... unit-price 1..1MoneyUnit Price
URL: https://openimis.github.io/openimis_fhir_r4_ig/StructureDefinition/unit-price
..... type 1..1codebase | deduction | discount | tax
Binding: PriceComponent Type (Invoice) (required)
..... code 0..1CodeableConceptCode identifying the specific component
...... coding
....... code 0..1codeSymbol in syntax defined by the system
Required Pattern: Code
..... factor 1..1decimalFactor used for calculating this component
..... amount 1..1MoneyMonetary amount associated with this component
...... value 1..1decimalNumerical value (with implicit precision)
... totalPriceComponent 0..0
... totalNet 1..1MoneyNet total of this Invoice
.... value 1..1decimalNumerical value (with implicit precision)
... totalGross 1..1MoneyGross total of this Invoice
.... value 1..1decimalNumerical value (with implicit precision)
... note 0..1AnnotationComments made about the invoice

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Invoice 0..*InvoiceInvoice containing ChargeItems from an Account
... id Σ0..1stringInvoice UUID
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier Σ2..2IdentifierBusiness Identifier for item
Slice: Unordered, Closed by value:type.coding.code
.... identifier:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ1..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriIdentity of the terminology system
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
Binding: openIMIS Identifiers Value Set (required)
....... display Σ0..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ1..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:Code SΣ1..1IdentifierBusiness Identifier for item
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriIdentity of the terminology system
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeInvoice openIMIS Code
Required Pattern: Code
....... display Σ0..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:UUID Σ1..1IdentifierBusiness Identifier for item
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriIdentity of the terminology system
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeInvoice openIMIS UUID
Required Pattern: UUID
....... display Σ0..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... status ?!Σ1..1codeFHIR Invoice Status
Binding: Status (Invoice) (required)
... type Σ1..1CodeableConceptcontribution | contract | funding
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
Binding: Type (Invoice) (required)
.... text Σ0..1stringPlain text representation of the concept
... recipient Σ1..1Reference(Organization | Patient)Third party
... date Σ1..1dateTimeInvoice date / posting date
... issuer 0..1Reference(Organization)Issuing Organization of Invoice
... lineItem 1..*BackboneElementLine items of this Invoice
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... Slices for chargeItem[x] 1..1CodeableConceptReference to ChargeItem containing details of this line item or an inline billing code
Slice: Unordered, Closed by type:$this
..... chargeItem[x]:chargeItemCodeableConcept 1..1CodeableConceptReference to ChargeItem containing details of this line item or an inline billing code
Binding: ChargeItem (Invoice) (required)
.... priceComponent 1..*BackboneElementComponents of total line item price
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
..... unit-price 1..1MoneyUnit Price
URL: https://openimis.github.io/openimis_fhir_r4_ig/StructureDefinition/unit-price
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 1..1codebase | deduction | discount | tax
Binding: PriceComponent Type (Invoice) (required)
..... code 0..1CodeableConceptCode identifying the specific component
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriIdentity of the terminology system
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
Required Pattern: Code
....... display Σ0..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... factor 1..1decimalFactor used for calculating this component
..... amount 1..1MoneyMonetary amount associated with this component
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ1..1decimalNumerical value (with implicit precision)
...... currency Σ0..1codeISO 4217 Currency Code
Binding: Currencies (required): A code indicating the currency, taken from ISO 4217.

... totalNet Σ1..1MoneyNet total of this Invoice
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... value Σ1..1decimalNumerical value (with implicit precision)
.... currency Σ0..1codeISO 4217 Currency Code
Binding: Currencies (required): A code indicating the currency, taken from ISO 4217.

... totalGross Σ1..1MoneyGross total of this Invoice
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... value Σ1..1decimalNumerical value (with implicit precision)
.... currency Σ0..1codeISO 4217 Currency Code
Binding: Currencies (required): A code indicating the currency, taken from ISO 4217.

... paymentTerms 0..1markdownPayment details
... note 0..1AnnotationComments made about the invoice

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
Invoice.languagepreferredCommonLanguages
Max Binding: AllLanguages
Invoice.identifier.userequiredIdentifierUse
Invoice.identifier.typeextensibleIdentifier Type Codes
Invoice.identifier.type.coding.coderequiredOpenIMISIdentifierVS
Invoice.identifier:Code.userequiredIdentifierUse
Invoice.identifier:Code.typeextensibleIdentifier Type Codes
Invoice.identifier:UUID.userequiredIdentifierUse
Invoice.identifier:UUID.typeextensibleIdentifier Type Codes
Invoice.statusrequiredInvoiceStatusVS
Invoice.type.codingrequiredInvoiceTypeVS
Invoice.lineItem.chargeItem[x]:chargeItemCodeableConceptrequiredInvoiceChargeItemVS
Invoice.lineItem.priceComponent.typerequiredInvoicePriceComponentTypeVS
Invoice.lineItem.priceComponent.amount.currencyrequiredCurrencies
Invoice.totalNet.currencyrequiredCurrencies
Invoice.totalGross.currencyrequiredCurrencies

Constraints

IdGradePathDetailsRequirements
dom-2errorInvoiceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorInvoiceIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorInvoiceIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorInvoiceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeInvoiceA resource should have narrative for robust management
: text.`div`.exists()
ele-1errorInvoice.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.identifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.identifier.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier.type.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.identifier.type.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.identifier.type.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier.type.coding.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.identifier.type.coding.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.identifier.type.coding.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier.type.coding.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier.type.coding.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier.type.coding.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier.type.coding.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier.type.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:CodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:Code.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.identifier:Code.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.identifier:Code.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:Code.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:Code.type.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.identifier:Code.type.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.identifier:Code.type.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:Code.type.coding.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.identifier:Code.type.coding.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.identifier:Code.type.coding.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:Code.type.coding.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:Code.type.coding.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:Code.type.coding.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:Code.type.coding.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:Code.type.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:Code.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:Code.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:Code.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:Code.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:UUIDAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:UUID.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.identifier:UUID.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.identifier:UUID.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:UUID.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:UUID.type.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.identifier:UUID.type.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.identifier:UUID.type.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:UUID.type.coding.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.identifier:UUID.type.coding.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.identifier:UUID.type.coding.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:UUID.type.coding.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:UUID.type.coding.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:UUID.type.coding.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:UUID.type.coding.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:UUID.type.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:UUID.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:UUID.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:UUID.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.identifier:UUID.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.type.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.type.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.type.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.type.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.recipientAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.participant.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.participant.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.participant.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.participant.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.participant.roleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.participant.actorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.issuerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.lineItem.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.lineItem.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.lineItem.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.lineItem.chargeItem[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.chargeItem[x]:chargeItemCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.priceComponentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.priceComponent.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.lineItem.priceComponent.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.lineItem.priceComponent.extension:unitPriceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.lineItem.priceComponent.extension:unitPriceMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.lineItem.priceComponent.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.lineItem.priceComponent.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.lineItem.priceComponent.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.priceComponent.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.priceComponent.code.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.lineItem.priceComponent.code.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.lineItem.priceComponent.code.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.priceComponent.code.coding.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.lineItem.priceComponent.code.coding.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.lineItem.priceComponent.code.coding.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.priceComponent.code.coding.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.priceComponent.code.coding.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.priceComponent.code.coding.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.priceComponent.code.coding.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.priceComponent.code.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.priceComponent.factorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.priceComponent.amountAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.priceComponent.amount.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.lineItem.priceComponent.amount.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.lineItem.priceComponent.amount.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.lineItem.priceComponent.amount.currencyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.totalNetAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.totalNet.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.totalNet.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.totalNet.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.totalNet.currencyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.totalGrossAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.totalGross.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorInvoice.totalGross.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorInvoice.totalGross.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.totalGross.currencyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.paymentTermsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorInvoice.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())