import { CodeStub } from './base/CodeStub.mjs'; import { HasEncryptionMetadata } from './base/HasEncryptionMetadata.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 an access log entry that records access to medical data or resources within the * system. * / */ export interface AccessLog extends StoredDocument, ICureDocument, HasMedicalLocation, HasEncryptionMetadata, Encryptable { /** * * Id of the object that is being requested. */ objectId: string | undefined; /** * * The type of access. */ accessType: string | undefined; /** * * Id of the user making the requests. */ user: string | undefined; /** * * Further details about the access. */ detail: string | undefined; /** * * The date of logging, filled instantaneously. */ date: number | undefined; readonly isEncrypted: boolean; toJSON(): object; } /** * * Represents an access log entry that records access to medical data or resources within the * system. * / */ export declare class DecryptedAccessLog { /** * * The Id of the access log. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The revision of the access log 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 access log. */ author: string | undefined; /** * * The id of the data owner that is responsible for this access log. */ responsible: string | undefined; /** * * Tags that qualify the access log as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular access log. */ codes: Array; /** * * Hard delete (unix epoch in ms) timestamp of the object. */ deletionDate: number | undefined; /** * * Id of the object that is being requested. */ objectId: string | undefined; /** * * The type of access. */ accessType: string | undefined; /** * * Id of the user making the requests. */ user: string | undefined; /** * * Further details about the access. */ detail: string | undefined; /** * * The date of logging, filled instantaneously. */ date: number | undefined; /** * * The secret foreign keys of the access log, used for secure linking to patients. */ secretForeignKeys: Array; /** * * The encrypted foreign keys, mapping owner data owner id to encrypted patient ids. */ cryptedForeignKeys: { [key: string]: Array; }; /** * * The delegations giving access to all connected healthcare information. */ delegations: { [key: string]: Array; }; /** * * The encryption keys used to encrypt the secured properties, encrypted for separate Crypto * Actors. */ encryptionKeys: { [key: string]: Array; }; /** * * The base64-encoded encrypted fields of this access log. */ 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): DecryptedAccessLog; } /** * * Represents an access log entry that records access to medical data or resources within the * system. * / */ export declare class EncryptedAccessLog { /** * * The Id of the access log. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The revision of the access log 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 access log. */ author: string | undefined; /** * * The id of the data owner that is responsible for this access log. */ responsible: string | undefined; /** * * Tags that qualify the access log as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular access log. */ codes: Array; /** * * Hard delete (unix epoch in ms) timestamp of the object. */ deletionDate: number | undefined; /** * * Id of the object that is being requested. */ objectId: string | undefined; /** * * The type of access. */ accessType: string | undefined; /** * * Id of the user making the requests. */ user: string | undefined; /** * * Further details about the access. */ detail: string | undefined; /** * * The date of logging, filled instantaneously. */ date: number | undefined; /** * * The secret foreign keys of the access log, used for secure linking to patients. */ secretForeignKeys: Array; /** * * The encrypted foreign keys, mapping owner data owner id to encrypted patient ids. */ cryptedForeignKeys: { [key: string]: Array; }; /** * * The delegations giving access to all connected healthcare information. */ delegations: { [key: string]: Array; }; /** * * The encryption keys used to encrypt the secured properties, encrypted for separate Crypto * Actors. */ encryptionKeys: { [key: string]: Array; }; /** * * The base64-encoded encrypted fields of this access log. */ 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): EncryptedAccessLog; }