Invoice

This entity is a root level object. It represents an Invoice. It is serialized in JSON and saved in the underlying iCure CouchDB database.

Properties

Property
Type
Description
id *
String
The Id of the Invoice. We encourage using either a v4 UUID or a HL7 Id.
rev
String
The revision of the invoice in the database, used for conflict management / optimistic locking.
created
Long
The timestamp (unix epoch in ms) of creation of this entity, will be filled automatically if missing. Not enforced by the application server. format: int64.
modified
Long
The date (unix epoch in ms) of the latest modification of this entity, will be filled automatically if missing. Not enforced by the application server. format: int64.
author
String
The id of the User that has created this entity, will be filled automatically if missing. Not enforced by the application server.
responsible
String
The id of the HealthcareParty that is responsible for this entity, will be filled automatically if missing. Not enforced by the application server.
medicalLocationId
String
The id of the medical location where this entity was created.
tags *
List
A tag is an item from a codification system that qualifies an entity as being member of a certain class, whatever the value it might have taken. If the tag qualifies the content of a field, it means that whatever the content of the field, the tag will always apply. For example, the label of a field is qualified using a tag. LOINC is a codification system typically used for tags.
codes *
List
A code is an item from a codification system that qualifies the content of this entity. SNOMED-CT, ICPC-2 or ICD-10 codifications systems can be used for codes
endOfLife
Long
Soft delete (unix epoch in ms) timestamp of the object. format: int64.
deletionDate
Long
hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called. format: int64.
invoiceDate
Long
The timestamp (unix epoch in ms) when the invoice was drafted, will be filled automatically if missing. Not enforced by the application server. format: int64.
sentDate
Long
The timestamp (unix epoch in ms) when the invoice was sent, will be filled automatically if missing. Not enforced by the application server. format: int64.
printedDate
Long
The timestamp (unix epoch in ms) when the invoice is printed, will be filled automatically if missing. Not enforced by the application server. format: int64.
invoicingCodes *
List
receipts *
Map
recipientType
String
The type of user that receives the invoice, a patient or a healthcare party
recipientId
String
Id of the recipient of the invoice. For healthcare party and insurance, patient link happens through secretForeignKeys
invoiceReference
String
thirdPartyReference
String
thirdPartyPaymentJustification
String
thirdPartyPaymentReason
String
reason
String
invoiceType
String
The format the invoice should follow based on the recipient which could be a patient, mutual fund or paying agency such as the CPAS Values: patient, mutualfund, payingagency, insurance, efact, other
sentMediumType
String
Medium of the invoice: CD ROM, Email, paper, etc. Values: cdrom, eattest, efact, email, mediprima, paper
interventionType
String
Values: total, userfees
groupId
String
paymentType
String
Type of payment, ex: cash, wired, insurance, debit card, etc. Values: cash, wired, insurance, creditcard, debitcard, paypal, bitcoin, other
paid
Double
format: double.
payments
List
gnotionNihii
String
gnotionSsin
String
gnotionLastName
String
gnotionFirstName
String
gnotionCdHcParty
String
invoicePeriod
Integer
format: int32.
careProviderType
String
internshipNihii
String
internshipSsin
String
internshipLastName
String
internshipFirstName
String
internshipCdHcParty
String
internshipCbe
String
supervisorNihii
String
supervisorSsin
String
supervisorLastName
String
supervisorFirstName
String
supervisorCdHcParty
String
supervisorCbe
String
error
String
encounterLocationName
String
encounterLocationNihii
String
encounterLocationNorm
Integer
format: int32.
longDelayJustification
Integer
format: int32.
correctiveInvoiceId
String
correctedInvoiceId
String
creditNote
Boolean
creditNoteRelatedInvoiceId
String
idDocument
cancelReason
String
cancelDate
Long
format: int64.
options *
Map
secretForeignKeys *
List
The secretForeignKeys are filled at the to many end of a one to many relationship (for example inside Contact for the Patient -> Contacts relationship). Used when we want to find all contacts for a specific patient. These keys are in clear. You can have several to partition the medical document space.
cryptedForeignKeys *
Map
The secretForeignKeys are filled at the to many end of a one to many relationship (for example inside Contact for the Patient -> Contacts relationship). Used when we want to find the patient for a specific contact. These keys are the encrypted id (using the hcParty key for the delegate) that can be found in clear inside the patient. ids encrypted using the hcParty keys.
delegations *
Map
When a document is created, the responsible generates a cryptographically random master key (never to be used for something else than referencing from other entities). He/she encrypts it using his own AES exchange key and stores it as a delegation. The responsible is thus always in the delegations as well
encryptionKeys *
Map
When a document needs to be encrypted, the responsible generates a cryptographically random master key (different from the delegation key, never to appear in clear anywhere in the db. He/she encrypts it using his own AES exchange key and stores it as a delegation
encryptedSelf
String
The base64 encoded data of this object, formatted as JSON and encrypted in AES using the random master key from encryptionKeys.