import { Document as Document_ } from './Document.mjs'; 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 { DataAttachment } from './embed/DataAttachment.mjs'; import { Delegation } from './embed/Delegation.mjs'; import { DeletedAttachment } from './embed/DeletedAttachment.mjs'; import { DocumentStatus } from './embed/DocumentStatus.mjs'; import { DocumentType } from './embed/DocumentType.mjs'; import { Encryptable } from './embed/Encryptable.mjs'; import { SecurityMetadata } from './embed/SecurityMetadata.mjs'; import { Base64String } from './specializations/Base64String.mjs'; /** * * Represents a document entity stored in CouchDB. Documents can have main and secondary data * attachments, * and support various storage backends (CouchDB attachments, object storage). * / */ export interface Document extends StoredDocument, ICureDocument, HasMedicalLocation, HasEncryptionMetadata, Encryptable { /** * * The type of document (e.g., admission, clinical path, document report, invoice). */ documentType: DocumentType | undefined; /** * * The status of the document development (e.g., Draft, finalized, reviewed, signed). */ documentStatus: DocumentStatus | undefined; /** * * When the document is stored externally, the URI of the document in that repository. */ externalUri: string | undefined; /** * * The name of the document. */ name: string | undefined; /** * * The document version. */ version: string | undefined; /** * * The size of the document file. */ size: number | undefined; /** * * The hashed version of the document. */ hash: string | undefined; /** * * The id of the contact during which the document was created. */ openingContactId: string | undefined; /** * * The id of the main attachment stored as a CouchDB attachment. */ attachmentId: string | undefined; /** * * The id of the main attachment in the object storage service. */ objectStoreReference: string | undefined; /** * * The main Uniform Type Identifier of the main attachment. */ mainUti: string | undefined; /** * * Extra Uniform Type Identifiers for the main attachment. */ otherUtis: Array; /** * * Extra Uniform Type Identifiers for the main attachment. */ mainAttachmentStoredDataSize: number | undefined; extraMainAttachmentInfo: Document.ExtraMainAttachmentInfo | undefined; /** * * Secondary attachments for this document. */ secondaryAttachments: { [key: string]: DataAttachment; }; /** * * Information on past attachments for this document. */ deletedAttachments: Array; readonly isEncrypted: boolean; toJSON(): object; } /** * * Represents a document entity stored in CouchDB. Documents can have main and secondary data * attachments, * and support various storage backends (CouchDB attachments, object storage). * / */ export declare class DecryptedDocument { /** * * The Id of the document. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The revision of the document 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 document. */ author: string | undefined; /** * * The id of the data owner that is responsible for this document. */ responsible: string | undefined; /** * * Tags that qualify the document as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular document. */ codes: Array; /** * * Hard delete (unix epoch in ms) timestamp of the object. */ deletionDate: number | undefined; /** * * The type of document (e.g., admission, clinical path, document report, invoice). */ documentType: DocumentType | undefined; /** * * The status of the document development (e.g., Draft, finalized, reviewed, signed). */ documentStatus: DocumentStatus | undefined; /** * * When the document is stored externally, the URI of the document in that repository. */ externalUri: string | undefined; /** * * The name of the document. */ name: string | undefined; /** * * The document version. */ version: string | undefined; /** * * The size of the document file. */ size: number | undefined; /** * * The hashed version of the document. */ hash: string | undefined; /** * * The id of the contact during which the document was created. */ openingContactId: string | undefined; /** * * The id of the main attachment stored as a CouchDB attachment. */ attachmentId: string | undefined; /** * * The id of the main attachment in the object storage service. */ objectStoreReference: string | undefined; /** * * The main Uniform Type Identifier of the main attachment. */ mainUti: string | undefined; /** * * Extra Uniform Type Identifiers for the main attachment. */ otherUtis: Array; /** * * Extra Uniform Type Identifiers for the main attachment. */ mainAttachmentStoredDataSize: number | undefined; extraMainAttachmentInfo: Document_.ExtraMainAttachmentInfo | undefined; /** * * Secondary attachments for this document. */ secondaryAttachments: { [key: string]: DataAttachment; }; /** * * Information on past attachments for this document. */ deletedAttachments: Array; /** * * 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 document. */ 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): DecryptedDocument; } /** * * Represents a document entity stored in CouchDB. Documents can have main and secondary data * attachments, * and support various storage backends (CouchDB attachments, object storage). * / */ export declare class EncryptedDocument { /** * * The Id of the document. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The revision of the document 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 document. */ author: string | undefined; /** * * The id of the data owner that is responsible for this document. */ responsible: string | undefined; /** * * Tags that qualify the document as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular document. */ codes: Array; /** * * Hard delete (unix epoch in ms) timestamp of the object. */ deletionDate: number | undefined; /** * * The type of document (e.g., admission, clinical path, document report, invoice). */ documentType: DocumentType | undefined; /** * * The status of the document development (e.g., Draft, finalized, reviewed, signed). */ documentStatus: DocumentStatus | undefined; /** * * When the document is stored externally, the URI of the document in that repository. */ externalUri: string | undefined; /** * * The name of the document. */ name: string | undefined; /** * * The document version. */ version: string | undefined; /** * * The size of the document file. */ size: number | undefined; /** * * The hashed version of the document. */ hash: string | undefined; /** * * The id of the contact during which the document was created. */ openingContactId: string | undefined; /** * * The id of the main attachment stored as a CouchDB attachment. */ attachmentId: string | undefined; /** * * The id of the main attachment in the object storage service. */ objectStoreReference: string | undefined; /** * * The main Uniform Type Identifier of the main attachment. */ mainUti: string | undefined; /** * * Extra Uniform Type Identifiers for the main attachment. */ otherUtis: Array; /** * * Extra Uniform Type Identifiers for the main attachment. */ mainAttachmentStoredDataSize: number | undefined; extraMainAttachmentInfo: Document_.ExtraMainAttachmentInfo | undefined; /** * * Secondary attachments for this document. */ secondaryAttachments: { [key: string]: DataAttachment; }; /** * * Information on past attachments for this document. */ deletedAttachments: Array; /** * * 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 document. */ 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): EncryptedDocument; } export declare namespace Document { class ExtraMainAttachmentInfo { compressionAlgorithm: string | undefined; triedCompressionAlgorithmsVersion: string | undefined; realDataSize: number | undefined; constructor(partial: Partial); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): ExtraMainAttachmentInfo; } }