import { CodeStub } from './base/CodeStub.mjs'; import { HasEncryptionMetadata } from './base/HasEncryptionMetadata.mjs'; import { HasEndOfLife } from './base/HasEndOfLife.mjs'; import { HasMedicalLocation } from './base/HasMedicalLocation.mjs'; import { ICureDocument } from './base/ICureDocument.mjs'; import { Identifier } from './base/Identifier.mjs'; import { StoredDocument } from './base/StoredDocument.mjs'; import { Annotation, DecryptedAnnotation, EncryptedAnnotation } from './embed/Annotation.mjs'; import { CareTeamMember, DecryptedCareTeamMember, EncryptedCareTeamMember } from './embed/CareTeamMember.mjs'; import { Delegation } from './embed/Delegation.mjs'; import { Encryptable } from './embed/Encryptable.mjs'; import { DecryptedEpisode, EncryptedEpisode, Episode } from './embed/Episode.mjs'; import { HealthElementAsserter } from './embed/HealthElementAsserter.mjs'; import { HealthElementQualifiedLink } from './embed/HealthElementQualifiedLink.mjs'; import { Laterality } from './embed/Laterality.mjs'; import { DecryptedPlanOfAction, EncryptedPlanOfAction, PlanOfAction } from './embed/PlanOfAction.mjs'; import { SecurityMetadata } from './embed/SecurityMetadata.mjs'; import { Base64String } from './specializations/Base64String.mjs'; /** * * * Represents a healthcare element. A healthcare element is a patient-centric representation of a * healthcare problem * that evolves over time in its name/label and characteristics. It is a central element in the * organisation of the * electronic health record, used to filter and link medical data in a meaningful way. */ export interface HealthElement extends StoredDocument, ICureDocument, HasMedicalLocation, HasEncryptionMetadata, Encryptable, HasEndOfLife { /** * * The identifiers of the healthcare element. */ identifiers: Array; /** * * The logical id of the healthcare element, used to link together different versions of the same * healthcare element. */ healthElementId: string | undefined; /** * * The date (unix epoch in ms) when the healthcare element is noted to have started and also closes * on the same date. */ valueDate: number | undefined; /** * * The date (unix epoch in ms) of the start of the healthcare element. */ openingDate: number | undefined; /** * * The date (unix epoch in ms) marking the end of the healthcare element. */ closingDate: number | undefined; /** * * Description of the healthcare element. */ descr: string | undefined; /** * * A text note (can be confidential, encrypted by default). */ note: string | undefined; /** * * Localized text annotations for the healthcare element. */ notes: Array; /** * * Whether the healthcare element is relevant or not. */ relevant: boolean; /** * * Id of the opening contact when the healthcare element was created. */ idOpeningContact: string | undefined; /** * * Id of the closing contact for the healthcare element. */ idClosingContact: string | undefined; /** * * Id of the service when a service is used to create a healthcare element. */ idService: string | undefined; /** * * Left or right dominance/preference. */ laterality: Laterality | undefined; /** * * List of healthcare approaches. */ plansOfAction: Array; /** * * List of episodes of occurrences of the healthcare element. */ episodes: Array; /** * * List of care team members assigned for the healthcare element. */ careTeam: Array; /** * * Directed links towards related healthcare elements. Links should be created in a single * direction: the reverse link can be found through a view. This field is not encrypted. */ qualifiedLinks: Array; /** * * The parties asserting that the patient has this healthcare element, i.e. on whose word the * healthcare element is held to be true. This field is encrypted. */ asserters: Array; readonly isEncrypted: boolean; toJSON(): object; } /** * * * Represents a healthcare element. A healthcare element is a patient-centric representation of a * healthcare problem * that evolves over time in its name/label and characteristics. It is a central element in the * organisation of the * electronic health record, used to filter and link medical data in a meaningful way. */ export declare class DecryptedHealthElement { /** * * The Id of the healthcare element. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The identifiers of the healthcare element. */ identifiers: Array; /** * * The revision of the healthcare element 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 healthcare element. */ author: string | undefined; /** * * The id of the HealthcareParty that is responsible for this healthcare element. */ responsible: string | undefined; /** * * Tags that qualify the healthcare element as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular healthcare element. */ 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 logical id of the healthcare element, used to link together different versions of the same * healthcare element. */ healthElementId: string | undefined; /** * * The date (unix epoch in ms) when the healthcare element is noted to have started and also closes * on the same date. */ valueDate: number | undefined; /** * * The date (unix epoch in ms) of the start of the healthcare element. */ openingDate: number | undefined; /** * * The date (unix epoch in ms) marking the end of the healthcare element. */ closingDate: number | undefined; /** * * Description of the healthcare element. */ descr: string | undefined; /** * * A text note (can be confidential, encrypted by default). */ note: string | undefined; /** * * Localized text annotations for the healthcare element. */ notes: Array; /** * * Whether the healthcare element is relevant or not. */ relevant: boolean; /** * * Id of the opening contact when the healthcare element was created. */ idOpeningContact: string | undefined; /** * * Id of the closing contact for the healthcare element. */ idClosingContact: string | undefined; /** * * Id of the service when a service is used to create a healthcare element. */ idService: string | undefined; /** * * Left or right dominance/preference. */ laterality: Laterality | undefined; /** * * List of healthcare approaches. */ plansOfAction: Array; /** * * List of episodes of occurrences of the healthcare element. */ episodes: Array; /** * * List of care team members assigned for the healthcare element. */ careTeam: Array; /** * * Directed links towards related healthcare elements. Links should be created in a single * direction: the reverse link can be found through a view. This field is not encrypted. */ qualifiedLinks: Array; /** * * The parties asserting that the patient has this healthcare element, i.e. on whose word the * healthcare element is held to be true. This field is encrypted. */ asserters: 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 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): DecryptedHealthElement; } /** * * * Represents a healthcare element. A healthcare element is a patient-centric representation of a * healthcare problem * that evolves over time in its name/label and characteristics. It is a central element in the * organisation of the * electronic health record, used to filter and link medical data in a meaningful way. */ export declare class EncryptedHealthElement { /** * * The Id of the healthcare element. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The identifiers of the healthcare element. */ identifiers: Array; /** * * The revision of the healthcare element 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 healthcare element. */ author: string | undefined; /** * * The id of the HealthcareParty that is responsible for this healthcare element. */ responsible: string | undefined; /** * * Tags that qualify the healthcare element as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular healthcare element. */ 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 logical id of the healthcare element, used to link together different versions of the same * healthcare element. */ healthElementId: string | undefined; /** * * The date (unix epoch in ms) when the healthcare element is noted to have started and also closes * on the same date. */ valueDate: number | undefined; /** * * The date (unix epoch in ms) of the start of the healthcare element. */ openingDate: number | undefined; /** * * The date (unix epoch in ms) marking the end of the healthcare element. */ closingDate: number | undefined; /** * * Description of the healthcare element. */ descr: string | undefined; /** * * A text note (can be confidential, encrypted by default). */ note: string | undefined; /** * * Localized text annotations for the healthcare element. */ notes: Array; /** * * Whether the healthcare element is relevant or not. */ relevant: boolean; /** * * Id of the opening contact when the healthcare element was created. */ idOpeningContact: string | undefined; /** * * Id of the closing contact for the healthcare element. */ idClosingContact: string | undefined; /** * * Id of the service when a service is used to create a healthcare element. */ idService: string | undefined; /** * * Left or right dominance/preference. */ laterality: Laterality | undefined; /** * * List of healthcare approaches. */ plansOfAction: Array; /** * * List of episodes of occurrences of the healthcare element. */ episodes: Array; /** * * List of care team members assigned for the healthcare element. */ careTeam: Array; /** * * Directed links towards related healthcare elements. Links should be created in a single * direction: the reverse link can be found through a view. This field is not encrypted. */ qualifiedLinks: Array; /** * * The parties asserting that the patient has this healthcare element, i.e. on whose word the * healthcare element is held to be true. This field is encrypted. */ asserters: 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 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): EncryptedHealthElement; }