import { DecryptedPropertyStub, EncryptedPropertyStub, PropertyStub } from './PropertyStub.mjs'; import { CodeStub } from './base/CodeStub.mjs'; import { HasEncryptionMetadata } from './base/HasEncryptionMetadata.mjs'; import { HasEndOfLife } from './base/HasEndOfLife.mjs'; import { HasIdentifier } from './base/HasIdentifier.mjs'; import { ICureDocument } from './base/ICureDocument.mjs'; import { Identifier } from './base/Identifier.mjs'; import { Person } from './base/Person.mjs'; import { StoredDocument } from './base/StoredDocument.mjs'; import { DecryptedAddress, EncryptedAddress } from './embed/Address.mjs'; import { Delegation } from './embed/Delegation.mjs'; import { Encryptable } from './embed/Encryptable.mjs'; import { Gender } from './embed/Gender.mjs'; import { PersonName } from './embed/PersonName.mjs'; import { SecurityMetadata } from './embed/SecurityMetadata.mjs'; import { Base64String } from './specializations/Base64String.mjs'; /** * * * A person related to one or more patients, that is neither a patient nor a healthcare party: * typically a contact * person (parent of a child patient, caregiver, ...), referenced from a patient's partnership with * partnerType = relatedPerson. It is a standalone encryptable entity but NOT a crypto actor nor a * data owner. */ export interface RelatedPerson extends StoredDocument, ICureDocument, Person, HasEncryptionMetadata, Encryptable, HasIdentifier, HasEndOfLife { /** * * Extra properties of the related person. */ properties: Array; readonly isEncrypted: boolean; toJSON(): object; } /** * * * A person related to one or more patients, that is neither a patient nor a healthcare party: * typically a contact * person (parent of a child patient, caregiver, ...), referenced from a patient's partnership with * partnerType = relatedPerson. It is a standalone encryptable entity but NOT a crypto actor nor a * data owner. */ export declare class DecryptedRelatedPerson { /** * * The Id of the related person. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The revision of the related person in the database, used for conflict management / optimistic * locking. */ rev: string | undefined; /** * * The identifiers of the related person. */ identifier: Array; /** * * The timestamp (unix epoch in ms) of creation. */ created: number | undefined; /** * * The timestamp (unix epoch in ms) of the latest modification. */ modified: number | undefined; /** * * The id of the User that created this related person. */ author: string | undefined; /** * * The id of the data owner that is responsible for this related person. */ responsible: string | undefined; /** * * Tags that qualify the related person as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular related person. */ codes: Array; /** * * Soft delete (unix epoch in ms) timestamp of the object. */ endOfLife: number | undefined; /** * * Hard delete (unix epoch in ms) timestamp of the object. */ deletionDate: number | undefined; /** * * The firstname (name) of the related person. */ firstName: string | undefined; /** * * The lastname (surname) of the related person. */ lastName: string | undefined; /** * * The list of all names of the related person, also containing the official full name information. * */ names: Array; /** * * The name of the company this related person is member of. */ companyName: string | undefined; /** * * The list of languages spoken by the related person, in ISO 639-2 alpha-2 code. */ languages: Array; /** * * The addresses and telecoms of the related person. */ addresses: Array; /** * * Mr., Ms., Pr., Dr. ... */ civility: string | undefined; /** * * The gender of the related person. */ gender: Gender | undefined; /** * * Extra properties of the related person. */ properties: Array; /** * * The secret foreign keys of this entity. */ secretForeignKeys: Array; /** * * The foreign keys encrypted in the delegates' AES keys. */ cryptedForeignKeys: { [key: string]: Array; }; /** * * The delegations giving access to this related person. */ delegations: { [key: string]: Array; }; /** * * The keys used to encrypt this entity when the entity is stored encrypted. */ encryptionKeys: { [key: string]: Array; }; /** * * The base64-encoded encrypted fields of this entity. */ encryptedSelf: Base64String | undefined; /** * * The security metadata of the entity. */ securityMetadata: SecurityMetadata | undefined; readonly isEncrypted: false; constructor(partial: Partial); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): DecryptedRelatedPerson; } /** * * * A person related to one or more patients, that is neither a patient nor a healthcare party: * typically a contact * person (parent of a child patient, caregiver, ...), referenced from a patient's partnership with * partnerType = relatedPerson. It is a standalone encryptable entity but NOT a crypto actor nor a * data owner. */ export declare class EncryptedRelatedPerson { /** * * The Id of the related person. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The revision of the related person in the database, used for conflict management / optimistic * locking. */ rev: string | undefined; /** * * The identifiers of the related person. */ identifier: Array; /** * * The timestamp (unix epoch in ms) of creation. */ created: number | undefined; /** * * The timestamp (unix epoch in ms) of the latest modification. */ modified: number | undefined; /** * * The id of the User that created this related person. */ author: string | undefined; /** * * The id of the data owner that is responsible for this related person. */ responsible: string | undefined; /** * * Tags that qualify the related person as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular related person. */ codes: Array; /** * * Soft delete (unix epoch in ms) timestamp of the object. */ endOfLife: number | undefined; /** * * Hard delete (unix epoch in ms) timestamp of the object. */ deletionDate: number | undefined; /** * * The firstname (name) of the related person. */ firstName: string | undefined; /** * * The lastname (surname) of the related person. */ lastName: string | undefined; /** * * The list of all names of the related person, also containing the official full name information. * */ names: Array; /** * * The name of the company this related person is member of. */ companyName: string | undefined; /** * * The list of languages spoken by the related person, in ISO 639-2 alpha-2 code. */ languages: Array; /** * * The addresses and telecoms of the related person. */ addresses: Array; /** * * Mr., Ms., Pr., Dr. ... */ civility: string | undefined; /** * * The gender of the related person. */ gender: Gender | undefined; /** * * Extra properties of the related person. */ properties: Array; /** * * The secret foreign keys of this entity. */ secretForeignKeys: Array; /** * * The foreign keys encrypted in the delegates' AES keys. */ cryptedForeignKeys: { [key: string]: Array; }; /** * * The delegations giving access to this related person. */ delegations: { [key: string]: Array; }; /** * * The keys used to encrypt this entity when the entity is stored encrypted. */ encryptionKeys: { [key: string]: Array; }; /** * * The base64-encoded encrypted fields of this entity. */ encryptedSelf: Base64String | undefined; /** * * The security metadata of the entity. */ securityMetadata: SecurityMetadata | undefined; readonly isEncrypted: true; constructor(partial: Partial); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): EncryptedRelatedPerson; }