import { DecryptedPropertyStub, EncryptedPropertyStub, PropertyStub } from './PropertyStub.mjs'; import { CodeStub } from './base/CodeStub.mjs'; import { CryptoActor } from './base/CryptoActor.mjs'; import { HasEncryptionMetadata } from './base/HasEncryptionMetadata.mjs'; import { HasIdentifier } from './base/HasIdentifier.mjs'; import { HasMedicalLocation } from './base/HasMedicalLocation.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 { Annotation, DecryptedAnnotation, EncryptedAnnotation } from './embed/Annotation.mjs'; import { Delegation } from './embed/Delegation.mjs'; import { Encryptable } from './embed/Encryptable.mjs'; import { DecryptedFinancialInstitutionInformation, EncryptedFinancialInstitutionInformation, FinancialInstitutionInformation } from './embed/FinancialInstitutionInformation.mjs'; import { Gender } from './embed/Gender.mjs'; import { DecryptedInsurability, EncryptedInsurability, Insurability } from './embed/Insurability.mjs'; import { DecryptedMedicalHouseContract, EncryptedMedicalHouseContract, MedicalHouseContract } from './embed/MedicalHouseContract.mjs'; import { DecryptedPartnership, EncryptedPartnership, Partnership } from './embed/Partnership.mjs'; import { DecryptedPatientHealthCareParty, EncryptedPatientHealthCareParty, PatientHealthCareParty } from './embed/PatientHealthCareParty.mjs'; import { PersonName } from './embed/PersonName.mjs'; import { PersonalStatus } from './embed/PersonalStatus.mjs'; import { SecurityMetadata } from './embed/SecurityMetadata.mjs'; import { Base64String } from './specializations/Base64String.mjs'; import { HexString } from './specializations/HexString.mjs'; import { SpkiHexString } from './specializations/SpkiHexString.mjs'; /** * * Represents a patient in the iCure platform. A patient is a person who receives healthcare * services. * This entity stores personal, administrative, and medical information about the patient, and * supports * end-to-end encryption of sensitive data. * / */ export interface Patient extends StoredDocument, ICureDocument, HasMedicalLocation, Person, HasEncryptionMetadata, Encryptable, HasIdentifier, CryptoActor { /** * * The birth sex of the patient. */ birthSex: Gender | undefined; /** * * The id of the patient this patient has been merged with. */ mergeToPatientId: string | undefined; /** * * The ids of the patients that have been merged inside this patient. */ mergedIds: Array; /** * * An alias of the person, nickname, ... */ alias: string | undefined; /** * * Whether the patient is active. */ active: boolean; /** * * When not active, the reason for deactivation. */ deactivationReason: string; /** * * Deactivation date of the patient. */ deactivationDate: number | undefined; /** * * Social security inscription number. */ ssin: string | undefined; /** * * Lastname at birth (can be different from the current name). */ maidenName: string | undefined; /** * * Lastname of the spouse for a married woman. */ spouseName: string | undefined; /** * * Lastname of the partner. */ partnerName: string | undefined; /** * * The personal/marital status of the patient. */ personalStatus: PersonalStatus | undefined; /** * * The birthdate encoded as a fuzzy date on 8 positions (YYYYMMDD). */ dateOfBirth: number | undefined; /** * * The date of death encoded as a fuzzy date on 8 positions (YYYYMMDD). */ dateOfDeath: number | undefined; /** * * Timestamp of the latest validation of the eID of the person. */ timestampOfLatestEidReading: number | undefined; /** * * The place of birth. */ placeOfBirth: string | undefined; /** * * The place of death. */ placeOfDeath: string | undefined; /** * * Whether the patient is deceased. */ deceased: boolean | undefined; /** * * The level of education (college degree, undergraduate, phd). */ education: string | undefined; /** * * The current professional activity. */ profession: string | undefined; /** * * Localized text notes (can be confidential). */ notes: Array; /** * * A text note (can be confidential, encrypted by default). */ note: string | undefined; /** * * An administrative note, not confidential. */ administrativeNote: string | undefined; /** * * The nationality of the patient. */ nationality: string | undefined; /** * * The race of the patient. */ race: string | undefined; /** * * The ethnicity of the patient. */ ethnicity: string | undefined; /** * * List of insurance coverages. */ insurabilities: Array; /** * * List of partners, or persons of contact. */ partnerships: Array; /** * * Links between this patient and healthcare parties. */ patientHealthCareParties: Array; /** * * Financial information used to reimburse the patient. */ financialInstitutionInformation: Array; /** * * Contracts between the patient and the healthcare entity. */ medicalHouseContracts: Array; /** * * Codified list of professions exercised by this patient. */ patientProfessions: Array; /** * * Extra parameters. */ parameters: { [key: string]: Array; }; /** * * Extra properties. */ properties: Array; /** * * Properties related to crypto actor functionality. */ cryptoActorProperties: Array; /** * * Always null for patients. */ parentId: undefined; readonly isEncrypted: boolean; toJSON(): object; } /** * * Represents a patient in the iCure platform. A patient is a person who receives healthcare * services. * This entity stores personal, administrative, and medical information about the patient, and * supports * end-to-end encryption of sensitive data. * / */ export declare class DecryptedPatient { /** * * The Id of the patient. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The patient's identifiers, used by the client to uniquely identify the patient. */ identifier: Array; /** * * The revision of the patient in the database, used for conflict management / optimistic locking. */ rev: string | undefined; /** * * 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 patient. */ author: string | undefined; /** * * The id of the HealthcareParty that is responsible for this patient. */ responsible: string | undefined; /** * * Tags that qualify the patient as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular patient. */ codes: Array; /** * * Hard delete (unix epoch in ms) timestamp of the object. */ deletionDate: number | undefined; /** * * The firstname (name) of the patient. */ firstName: string | undefined; /** * * The lastname (surname) of the patient. */ lastName: string | undefined; /** * * The list of all names of the patient, ordered by preference of use. */ names: Array; /** * * The name of the company this patient is member of. */ companyName: string | undefined; /** * * The list of languages spoken by the patient ordered by fluency (alpha-2 code). */ languages: Array; /** * * The list of addresses (with address type). */ addresses: Array; /** * * Mr., Ms., Pr., Dr. ... */ civility: string | undefined; /** * * The gender of the patient. */ gender: Gender | undefined; /** * * The birth sex of the patient. */ birthSex: Gender | undefined; /** * * The id of the patient this patient has been merged with. */ mergeToPatientId: string | undefined; /** * * The ids of the patients that have been merged inside this patient. */ mergedIds: Array; /** * * An alias of the person, nickname, ... */ alias: string | undefined; /** * * Whether the patient is active. */ active: boolean; /** * * When not active, the reason for deactivation. */ deactivationReason: string; /** * * Deactivation date of the patient. */ deactivationDate: number | undefined; /** * * Social security inscription number. */ ssin: string | undefined; /** * * Lastname at birth (can be different from the current name). */ maidenName: string | undefined; /** * * Lastname of the spouse for a married woman. */ spouseName: string | undefined; /** * * Lastname of the partner. */ partnerName: string | undefined; /** * * The personal/marital status of the patient. */ personalStatus: PersonalStatus | undefined; /** * * The birthdate encoded as a fuzzy date on 8 positions (YYYYMMDD). */ dateOfBirth: number | undefined; /** * * The date of death encoded as a fuzzy date on 8 positions (YYYYMMDD). */ dateOfDeath: number | undefined; /** * * Timestamp of the latest validation of the eID of the person. */ timestampOfLatestEidReading: number | undefined; /** * * The place of birth. */ placeOfBirth: string | undefined; /** * * The place of death. */ placeOfDeath: string | undefined; /** * * Whether the patient is deceased. */ deceased: boolean | undefined; /** * * The level of education (college degree, undergraduate, phd). */ education: string | undefined; /** * * The current professional activity. */ profession: string | undefined; /** * * Localized text notes (can be confidential). */ notes: Array; /** * * A text note (can be confidential, encrypted by default). */ note: string | undefined; /** * * An administrative note, not confidential. */ administrativeNote: string | undefined; /** * * The nationality of the patient. */ nationality: string | undefined; /** * * The race of the patient. */ race: string | undefined; /** * * The ethnicity of the patient. */ ethnicity: string | undefined; /** * * List of insurance coverages. */ insurabilities: Array; /** * * List of partners, or persons of contact. */ partnerships: Array; /** * * Links between this patient and healthcare parties. */ patientHealthCareParties: Array; /** * * Financial information used to reimburse the patient. */ financialInstitutionInformation: Array; /** * * Contracts between the patient and the healthcare entity. */ medicalHouseContracts: Array; /** * * Codified list of professions exercised by this patient. */ patientProfessions: Array; /** * * Extra parameters. */ parameters: { [key: string]: Array; }; /** * * Extra properties. */ properties: Array; /** * * For each couple of HcParties, the AES exchange key. */ hcPartyKeys: { [key: string]: Array; }; /** * * Extra AES exchange keys, indexed by the owner of the pair and target data owner id. */ aesExchangeKeys: { [key: string]: { [key: string]: { [key: string]: HexString; }; }; }; /** * * Keys used to transfer ownership of encrypted data between key pairs. */ transferKeys: { [key: string]: { [key: string]: HexString; }; }; /** * * Shamir partitions of the private key. */ privateKeyShamirPartitions: { [key: string]: HexString; }; /** * * The public key of this patient, used to encrypt data for this patient. */ publicKey: SpkiHexString | undefined; /** * * Public keys for OAEP with SHA-256 encryption. */ publicKeysForOaepWithSha256: Array; /** * * The secret patient key, encrypted in the patient's own AES key. */ secretForeignKeys: Array; /** * * The patient id encrypted in the delegates' AES keys. */ cryptedForeignKeys: { [key: string]: Array; }; /** * * The delegations giving access to connected healthcare information. */ delegations: { [key: string]: Array; }; /** * * The keys used to encrypt this entity when 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; /** * * Properties related to crypto actor functionality. */ cryptoActorProperties: Array; /** * * Always null for patients. */ parentId: undefined; readonly isEncrypted: false; readonly $ktClass: 'com.icure.cardinal.sdk.model.DecryptedPatient'; constructor(partial: Partial); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): DecryptedPatient; } /** * * Represents a patient in the iCure platform. A patient is a person who receives healthcare * services. * This entity stores personal, administrative, and medical information about the patient, and * supports * end-to-end encryption of sensitive data. * / */ export declare class EncryptedPatient { /** * * The Id of the patient. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The patient's identifiers, used by the client to uniquely identify the patient. */ identifier: Array; /** * * The revision of the patient in the database, used for conflict management / optimistic locking. */ rev: string | undefined; /** * * 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 patient. */ author: string | undefined; /** * * The id of the HealthcareParty that is responsible for this patient. */ responsible: string | undefined; /** * * Tags that qualify the patient as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular patient. */ codes: Array; /** * * Hard delete (unix epoch in ms) timestamp of the object. */ deletionDate: number | undefined; /** * * The firstname (name) of the patient. */ firstName: string | undefined; /** * * The lastname (surname) of the patient. */ lastName: string | undefined; /** * * The list of all names of the patient, ordered by preference of use. */ names: Array; /** * * The name of the company this patient is member of. */ companyName: string | undefined; /** * * The list of languages spoken by the patient ordered by fluency (alpha-2 code). */ languages: Array; /** * * The list of addresses (with address type). */ addresses: Array; /** * * Mr., Ms., Pr., Dr. ... */ civility: string | undefined; /** * * The gender of the patient. */ gender: Gender | undefined; /** * * The birth sex of the patient. */ birthSex: Gender | undefined; /** * * The id of the patient this patient has been merged with. */ mergeToPatientId: string | undefined; /** * * The ids of the patients that have been merged inside this patient. */ mergedIds: Array; /** * * An alias of the person, nickname, ... */ alias: string | undefined; /** * * Whether the patient is active. */ active: boolean; /** * * When not active, the reason for deactivation. */ deactivationReason: string; /** * * Deactivation date of the patient. */ deactivationDate: number | undefined; /** * * Social security inscription number. */ ssin: string | undefined; /** * * Lastname at birth (can be different from the current name). */ maidenName: string | undefined; /** * * Lastname of the spouse for a married woman. */ spouseName: string | undefined; /** * * Lastname of the partner. */ partnerName: string | undefined; /** * * The personal/marital status of the patient. */ personalStatus: PersonalStatus | undefined; /** * * The birthdate encoded as a fuzzy date on 8 positions (YYYYMMDD). */ dateOfBirth: number | undefined; /** * * The date of death encoded as a fuzzy date on 8 positions (YYYYMMDD). */ dateOfDeath: number | undefined; /** * * Timestamp of the latest validation of the eID of the person. */ timestampOfLatestEidReading: number | undefined; /** * * The place of birth. */ placeOfBirth: string | undefined; /** * * The place of death. */ placeOfDeath: string | undefined; /** * * Whether the patient is deceased. */ deceased: boolean | undefined; /** * * The level of education (college degree, undergraduate, phd). */ education: string | undefined; /** * * The current professional activity. */ profession: string | undefined; /** * * Localized text notes (can be confidential). */ notes: Array; /** * * A text note (can be confidential, encrypted by default). */ note: string | undefined; /** * * An administrative note, not confidential. */ administrativeNote: string | undefined; /** * * The nationality of the patient. */ nationality: string | undefined; /** * * The race of the patient. */ race: string | undefined; /** * * The ethnicity of the patient. */ ethnicity: string | undefined; /** * * List of insurance coverages. */ insurabilities: Array; /** * * List of partners, or persons of contact. */ partnerships: Array; /** * * Links between this patient and healthcare parties. */ patientHealthCareParties: Array; /** * * Financial information used to reimburse the patient. */ financialInstitutionInformation: Array; /** * * Contracts between the patient and the healthcare entity. */ medicalHouseContracts: Array; /** * * Codified list of professions exercised by this patient. */ patientProfessions: Array; /** * * Extra parameters. */ parameters: { [key: string]: Array; }; /** * * Extra properties. */ properties: Array; /** * * For each couple of HcParties, the AES exchange key. */ hcPartyKeys: { [key: string]: Array; }; /** * * Extra AES exchange keys, indexed by the owner of the pair and target data owner id. */ aesExchangeKeys: { [key: string]: { [key: string]: { [key: string]: HexString; }; }; }; /** * * Keys used to transfer ownership of encrypted data between key pairs. */ transferKeys: { [key: string]: { [key: string]: HexString; }; }; /** * * Shamir partitions of the private key. */ privateKeyShamirPartitions: { [key: string]: HexString; }; /** * * The public key of this patient, used to encrypt data for this patient. */ publicKey: SpkiHexString | undefined; /** * * Public keys for OAEP with SHA-256 encryption. */ publicKeysForOaepWithSha256: Array; /** * * The secret patient key, encrypted in the patient's own AES key. */ secretForeignKeys: Array; /** * * The patient id encrypted in the delegates' AES keys. */ cryptedForeignKeys: { [key: string]: Array; }; /** * * The delegations giving access to connected healthcare information. */ delegations: { [key: string]: Array; }; /** * * The keys used to encrypt this entity when 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; /** * * Properties related to crypto actor functionality. */ cryptoActorProperties: Array; /** * * Always null for patients. */ parentId: undefined; readonly isEncrypted: true; readonly $ktClass: 'com.icure.cardinal.sdk.model.EncryptedPatient'; constructor(partial: Partial); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): EncryptedPatient; }