# Message

This entity is a root level object. It represents a Message. 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 message. 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 message 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.                                                                                                                                                                                                                                                                     |
| `fromAddress`           | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)         | Address of the sender of the message                                                                                                                                                                                                                                                                                                                                                          |
| `fromHealthcarePartyId` | [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 healthcare party sending the message                                                                                                                                                                                                                                                                                                                                                |
| `formId`                | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)         |                                                                                                                                                                                                                                                                                                                                                                                               |
| `status`                | [Integer](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/Integer/README.md)       | Status of the message format: int32.                                                                                                                                                                                                                                                                                                                                                          |
| `recipientsType`        | [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 user who is the recipient of this message                                                                                                                                                                                                                                                                                                                                         |
| `recipients *`          | [List](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)           | List of IDs of healthcare parties to whom the message is addressed                                                                                                                                                                                                                                                                                                                            |
| `toAddresses *`         | [List](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)           | The address of the recipient of the message. Format is of an email address with extra domains defined for mycarenet and ehealth: (efact.mycarenet.be/eattest.mycarenet.be/chapter4.mycarenet.be/ehbox.ehealth.fgov.be)                                                                                                                                                                        |
| `received`              | [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) when the message was received format: int64.                                                                                                                                                                                                                                                                                                                 |
| `sent`                  | [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) when the message was sent format: int64.                                                                                                                                                                                                                                                                                                                     |
| `metas *`               | [Map](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)            |                                                                                                                                                                                                                                                                                                                                                                                               |
| `readStatus *`          | [Map](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/MessageReadStatus/README.md) | Status showing whether the message is read or not and the time of reading                                                                                                                                                                                                                                                                                                                     |
| `transportGuid`         | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)         |                                                                                                                                                                                                                                                                                                                                                                                               |
| `remark`                | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)         |                                                                                                                                                                                                                                                                                                                                                                                               |
| `conversationGuid`      | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)         |                                                                                                                                                                                                                                                                                                                                                                                               |
| `subject`               | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)         | Subject for the message                                                                                                                                                                                                                                                                                                                                                                       |
| `invoiceIds *`          | [List](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)           | Set of IDs for invoices in the message                                                                                                                                                                                                                                                                                                                                                        |
| `parentId`              | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)         | ID of a parent in a message conversation                                                                                                                                                                                                                                                                                                                                                      |
| `externalRef`           | [String](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)         |                                                                                                                                                                                                                                                                                                                                                                                               |
| `unassignedResults *`   | [List](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)           |                                                                                                                                                                                                                                                                                                                                                                                               |
| `assignedResults *`     | [Map](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)            |                                                                                                                                                                                                                                                                                                                                                                                               |
| `senderReferences *`    | [Map](https://github.com/icure-io/icure-tech-docs/blob/master/icure-data-stack/icure-data-model/other-models/String/README.md)            |                                                                                                                                                                                                                                                                                                                                                                                               |
| `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.                                                                                                                                                                                                                                                               |
