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 { StoredDocument } from './base/StoredDocument.mjs'; import { Delegation } from './embed/Delegation.mjs'; import { Encryptable } from './embed/Encryptable.mjs'; import { SecurityMetadata } from './embed/SecurityMetadata.mjs'; import { Base64String } from './specializations/Base64String.mjs'; /** * * Represents a classification used to organize and categorize medical data. Classifications can be * nested * through parent-child relationships and linked to classification templates. * / */ export interface Classification extends StoredDocument, ICureDocument, HasMedicalLocation, HasEncryptionMetadata, Encryptable, HasEndOfLife { /** * * The id of the parent classification, for nesting. */ parentId: string | undefined; /** * * A human-readable label for this classification. */ label: string; /** * * The id of the classification template this classification is based on. */ templateId: string | undefined; readonly isEncrypted: boolean; toJSON(): object; } /** * * Represents a classification used to organize and categorize medical data. Classifications can be * nested * through parent-child relationships and linked to classification templates. * / */ export declare class DecryptedClassification { /** * * The Id of the classification. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The revision of the classification in the database, used for conflict management / optimistic * locking. */ rev: string | undefined; /** * * The timestamp (unix epoch in ms) of creation of this entity. */ created: number | undefined; /** * * The timestamp (unix epoch in ms) of the latest modification of this entity. */ modified: number | undefined; /** * * The id of the User that created this classification. */ author: string | undefined; /** * * The id of the data owner that is responsible for this classification. */ responsible: string | undefined; /** * * Tags that qualify the classification as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular classification. */ 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 id of the parent classification, for nesting. */ parentId: string | undefined; /** * * A human-readable label for this classification. */ label: string; /** * * The id of the classification template this classification is based on. */ templateId: string | undefined; /** * * The secret foreign keys, used for secure linking to patients. */ secretForeignKeys: Array; /** * * The encrypted foreign keys. */ cryptedForeignKeys: { [key: string]: Array; }; /** * * The delegations giving access to connected healthcare information. */ delegations: { [key: string]: Array; }; /** * * The encryption keys used to encrypt secured properties, encrypted for separate Crypto Actors. */ encryptionKeys: { [key: string]: Array; }; /** * * The base64-encoded encrypted fields of this classification. */ encryptedSelf: Base64String | undefined; /** * * The security metadata of this entity, for access control. */ securityMetadata: SecurityMetadata | undefined; readonly isEncrypted: false; constructor(partial: Partial); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): DecryptedClassification; } /** * * Represents a classification used to organize and categorize medical data. Classifications can be * nested * through parent-child relationships and linked to classification templates. * / */ export declare class EncryptedClassification { /** * * The Id of the classification. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The revision of the classification in the database, used for conflict management / optimistic * locking. */ rev: string | undefined; /** * * The timestamp (unix epoch in ms) of creation of this entity. */ created: number | undefined; /** * * The timestamp (unix epoch in ms) of the latest modification of this entity. */ modified: number | undefined; /** * * The id of the User that created this classification. */ author: string | undefined; /** * * The id of the data owner that is responsible for this classification. */ responsible: string | undefined; /** * * Tags that qualify the classification as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular classification. */ 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 id of the parent classification, for nesting. */ parentId: string | undefined; /** * * A human-readable label for this classification. */ label: string; /** * * The id of the classification template this classification is based on. */ templateId: string | undefined; /** * * The secret foreign keys, used for secure linking to patients. */ secretForeignKeys: Array; /** * * The encrypted foreign keys. */ cryptedForeignKeys: { [key: string]: Array; }; /** * * The delegations giving access to connected healthcare information. */ delegations: { [key: string]: Array; }; /** * * The encryption keys used to encrypt secured properties, encrypted for separate Crypto Actors. */ encryptionKeys: { [key: string]: Array; }; /** * * The base64-encoded encrypted fields of this classification. */ encryptedSelf: Base64String | undefined; /** * * The security metadata of this entity, for access control. */ securityMetadata: SecurityMetadata | undefined; readonly isEncrypted: true; constructor(partial: Partial); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): EncryptedClassification; }