This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4
Invoice.shex
Raw ShEx
ShEx statement for invoice
PREFIX fhir: <http://hl7.org/fhir/>
PREFIX fhirvs: <http://hl7.org/fhir/ValueSet/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
IMPORT <code.shex>
IMPORT <date.shex>
IMPORT <Group.shex>
IMPORT <Money.shex>
IMPORT <string.shex>
IMPORT <Period.shex>
IMPORT <Device.shex>
IMPORT <Patient.shex>
IMPORT <Account.shex>
IMPORT <dateTime.shex>
IMPORT <markdown.shex>
IMPORT <Reference.shex>
IMPORT <Identifier.shex>
IMPORT <Annotation.shex>
IMPORT <ChargeItem.shex>
IMPORT <positiveInt.shex>
IMPORT <Organization.shex>
IMPORT <Practitioner.shex>
IMPORT <RelatedPerson.shex>
IMPORT <DomainResource.shex>
IMPORT <CodeableConcept.shex>
IMPORT <BackboneElement.shex>
IMPORT <PractitionerRole.shex>
IMPORT <MonetaryComponent.shex>
start=@<Invoice> AND {fhir:nodeRole [fhir:treeRoot]}
# Invoice containing ChargeItems from an Account
<Invoice> EXTENDS @<DomainResource> CLOSED {
a [fhir:Invoice]?;
fhir:nodeRole [fhir:treeRoot]?;
fhir:identifier @<OneOrMore_Identifier>?; # Business Identifier for item
fhir:status @<code> AND
{fhir:v @fhirvs:invoice-status}; # draft | issued | balanced |
# cancelled | entered-in-error
fhir:cancelledReason @<string>?; # Reason for cancellation of this
# Invoice
fhir:type @<CodeableConcept>?; # Type of Invoice
fhir:subject @<Reference> AND {fhir:link
@<Group> OR
@<Patient> ? }?; # Recipient(s) of goods and services
fhir:recipient @<Reference> AND {fhir:link
@<Organization> OR
@<Patient> OR
@<RelatedPerson> ? }?; # Recipient of this invoice
fhir:date @<dateTime>?; # DEPRICATED
fhir:creation @<dateTime>?; # When posted
fhir:period @<date> OR
@<Period> ?; # Billing date or period
fhir:participant @<OneOrMore_Invoice.participant>?; # Participant in creation of this
# Invoice
fhir:issuer @<Reference> AND {fhir:link
@<Organization> ? }?; # Issuing Organization of Invoice
fhir:account @<Reference> AND {fhir:link
@<Account> ? }?; # Account that is being balanced
fhir:lineItem @<OneOrMore_Invoice.lineItem>?; # Line items of this Invoice
fhir:totalPriceComponent @<OneOrMore_MonetaryComponent>?; # Components of Invoice total
fhir:totalNet @<Money>?; # Net total of this Invoice
fhir:totalGross @<Money>?; # Gross total of this Invoice
fhir:paymentTerms @<markdown>?; # Payment details
fhir:note @<OneOrMore_Annotation>?; # Comments made about the invoice
}
# Participant in creation of this Invoice
<Invoice.participant> EXTENDS @<BackboneElement> CLOSED {
fhir:role @<CodeableConcept>?; # Type of involvement in creation of
# this Invoice
fhir:actor @<Reference> AND {fhir:link
@<Device> OR
@<Organization> OR
@<Patient> OR
@<Practitioner> OR
@<PractitionerRole> OR
@<RelatedPerson> ? }; # Individual who was involved
}
# Line items of this Invoice
<Invoice.lineItem> EXTENDS @<BackboneElement> CLOSED {
fhir:sequence @<positiveInt>?; # Sequence number of line item
fhir:serviced @<date> OR
@<Period> ?; # Service data or period
fhir:chargeItem (@<Reference> AND {fhir:link @<ChargeItem> }) OR
@<CodeableConcept> ; # Reference to ChargeItem containing
# details of this line item or an
# inline billing code
fhir:priceComponent @<OneOrMore_MonetaryComponent>?; # Components of total line item price
}
#---------------------- Cardinality Types (OneOrMore) -------------------
<OneOrMore_Identifier> CLOSED {
rdf:first @<Identifier> ;
rdf:rest [rdf:nil] OR @<OneOrMore_Identifier>
}
<OneOrMore_Invoice.participant> CLOSED {
rdf:first @<Invoice.participant> ;
rdf:rest [rdf:nil] OR @<OneOrMore_Invoice.participant>
}
<OneOrMore_Invoice.lineItem> CLOSED {
rdf:first @<Invoice.lineItem> ;
rdf:rest [rdf:nil] OR @<OneOrMore_Invoice.lineItem>
}
<OneOrMore_MonetaryComponent> CLOSED {
rdf:first @<MonetaryComponent> ;
rdf:rest [rdf:nil] OR @<OneOrMore_MonetaryComponent>
}
<OneOrMore_Annotation> CLOSED {
rdf:first @<Annotation> ;
rdf:rest [rdf:nil] OR @<OneOrMore_Annotation>
}
#---------------------- Value Sets ------------------------
# Codes identifying the lifecycle stage of an Invoice.
fhirvs:invoice-status ["draft" "issued" "balanced" "cancelled" "entered-in-error"]
Usage note: every effort has been made to ensure that the
ShEx files are correct and useful, but they are not a normative part
of the specification.