> For the complete documentation index, see [llms.txt](https://icure.gitbook.io/icure/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://icure.gitbook.io/icure/icure-data-stack/icure-data-model/other-models/document.md).

# Document

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

## Properties

| Property                | Type                                                                                                                                 | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `id *`                  | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | The Id of the document. We encourage using either a v4 UUID or a HL7 Id.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `rev`                   | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | The revision of the document in the database, used for conflict management / optimistic locking.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `created`               | [Long](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/Long/README.md)        | 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](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/Long/README.md)        | 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](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | The id of the User that has created this entity, will be filled automatically if missing. Not enforced by the application server.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `responsible`           | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | 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](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | The id of the medical location where this entity was created.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `tags *`                | [List](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/CodeStub/README.md)    | 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](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/CodeStub/README.md)    | 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](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/Long/README.md)        | Soft delete (unix epoch in ms) timestamp of the object. format: int64.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `deletionDate`          | [Long](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/Long/README.md)        | hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called. format: int64.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `objectStoreReference`  | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | Reference in object store                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `documentLocation`      | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | Location of the document Values: annex, body                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `documentType`          | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | The type of document, ex: admission, clinical path, document report,invoice, etc. Values: admission, alert, bvt\_sample, clinicalpath, clinicalsummary, contactreport, quote, invoice, death, discharge, dischargereport, ebirth\_baby\_medicalform, ebirth\_baby\_notification, ebirth\_mother\_medicalform, ebirth\_mother\_notification, ecare\_safe\_consultation, epidemiology, intervention, labrequest, labresult, medicaladvisoragreement, medicationschemeelement, note, notification, pharmaceuticalprescription, prescription, productdelivery, quickdischargereport, radiationexposuremonitoring, referral, report, request, result, sumehr, telemonitoring, template, template\_admin, treatmentsuspension, vaccination |
| `documentStatus`        | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | The status of the development of the document. Ex: Draft, finalized, reviewed, signed, etc. Values: draft, finalized, pending\_review, reviewed, pending\_signature, signed, canceled, sent, delivered                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `externalUri`           | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | When the document is stored in an external repository, this is the uri of the document in that repository                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `mainUti`               | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | The main Uniform Type Identifier of the document (<https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/understanding\\_utis/understand\\_utis\\_conc/understand\\_utis\\_conc.html#//apple\\_ref/doc/uid/TP40001319-CH202-CHDHIJDE>)                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `name`                  | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | Name of the document                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `version`               | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | The document version                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `otherUtis *`           | [List](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)      | Extra Uniform Type Identifiers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `storedICureDocumentId` | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | The ICureDocument (Form, Contact, ...) that has been used to generate the document                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `externalUuid`          | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | A unique external id (from another external source).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `size`                  | [Long](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/Long/README.md)        | Size of the document file format: int64.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `hash`                  | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | Hashed version of the document                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `openingContactId`      | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | Id of the contact during which the document was created                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `attachmentId`          | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | Id of attachment to this document                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `encryptedAttachment`   | [Byte\[\]](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/Byte\[]/README.md) | format: byte.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `decryptedAttachment`   | [Byte\[\]](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/Byte\[]/README.md) | format: byte.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `secretForeignKeys *`   | [List](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)      | 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](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/List/README.md)         | 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](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/List/README.md)         | 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](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/List/README.md)         | 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](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)    | The base64 encoded data of this object, formatted as JSON and encrypted in AES using the random master key from encryptionKeys.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
