Extra AES exchange keys, usually the ones we lost access to at some point
The structure is { publicKey: { delegateId: aesExKey_for_this, aesExKey_for_delegate } }
Please note: This property should have been non-nullable! Since the specification file
does not include a default value (using the "default:" property), however, the generated
source code must fall back to having a nullable type.
Consider adding a "default:" property in the specification file to hide this note.
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
Please note: This property should have been non-nullable! Since the specification file
does not include a default value (using the "default:" property), however, the generated
source code must fall back to having a nullable type.
Consider adding a "default:" property in the specification file to hide this note.
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.
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
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
Please note: This property should have been non-nullable! Since the specification file
does not include a default value (using the "default:" property), however, the generated
source code must fall back to having a nullable type.
Consider adding a "default:" property in the specification file to hide this note.
For each couple of HcParties (delegator and delegate), this map contains the exchange AES key. The delegator is always this hcp, the key of the map is the id of the delegate. The AES exchange key is encrypted using RSA twice : once using this hcp public key (index 0 in the Array) and once using the other hcp public key (index 1 in the Array). For a pair of HcParties. Each HcParty always has one AES exchange key for himself.
Please note: This property should have been non-nullable! Since the specification file
does not include a default value (using the "default:" property), however, the generated
source code must fall back to having a nullable type.
Consider adding a "default:" property in the specification file to hide this note.
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.
the list of all names of the patient, also containing the official full name information. Ordered by preference of use. First element is therefore the official name used for the patient in the application
Please note: This property should have been non-nullable! Since the specification file
does not include a default value (using the "default:" property), however, the generated
source code must fall back to having a nullable type.
Consider adding a "default:" property in the specification file to hide this note.
The privateKeyShamirPartitions are used to share this hcp's private RSA key with a series of other hcParties using Shamir's algorithm. The key of the map is the hcp Id with whom this partition has been shared. The value is "threshold⎮partition in hex" encrypted using the the partition's holder's public RSA key
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.
Please note: This property should have been non-nullable! Since the specification file
does not include a default value (using the "default:" property), however, the generated
source code must fall back to having a nullable type.
Consider adding a "default:" property in the specification file to hide this note.
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.
Data owner private keys encrypted with its other public keys.
This mechanism will help the data owner to re-encrypt all information with its new key, if he found back the lost one.
The structure is { publicKey1: { publicKey2: privateKey2_encrypted_with_publicKey1, publicKey3: privateKey3_encrypted_with_publicKey1 } }
Please note: This property should have been non-nullable! Since the specification file
does not include a default value (using the "default:" property), however, the generated
source code must fall back to having a nullable type.
Consider adding a "default:" property in the specification file to hide this note.