import { CalendarItem as CalendarItem_ } from './CalendarItem.mjs'; import { DecryptedPropertyStub, EncryptedPropertyStub, PropertyStub } from './PropertyStub.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 { Address, DecryptedAddress, EncryptedAddress } from './embed/Address.mjs'; import { CalendarItemTag, DecryptedCalendarItemTag, EncryptedCalendarItemTag } from './embed/CalendarItemTag.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 appointment or event in a calendar. Calendar items are linked to an agenda and can * block * availabilities for scheduling purposes. */ export interface CalendarItem extends StoredDocument, ICureDocument, HasMedicalLocation, HasEncryptionMetadata, Encryptable { /** * * The title of the calendar item. */ title: string | undefined; /** * * The id of the calendar item type associated with this item. */ calendarItemTypeId: string | undefined; /** * * The id of the master calendar item if this is a recurring instance. */ masterCalendarItemId: string | undefined; /** * * Whether this calendar item is marked as important. */ important: boolean | undefined; /** * * Whether this calendar item represents a home visit. */ homeVisit: boolean | undefined; /** * * A phone number associated with this calendar item. */ phoneNumber: string | undefined; /** * * The id of the place where the appointment takes place. */ placeId: string | undefined; /** * * The address where the appointment takes place. */ address: Address | undefined; /** * * The textual representation of the address. */ addressText: string | undefined; /** * * The start time of the calendar item in YYYYMMDDHHMMSS format. */ startTime: number | undefined; /** * * The end time of the calendar item in YYYYMMDDHHMMSS format. */ endTime: number | undefined; /** * * The time of confirmation in YYYYMMDDHHMMSS format. */ confirmationTime: number | undefined; /** * * The timestamp of cancellation. */ cancellationTimestamp: number | undefined; /** * * An id associated with the confirmation. */ confirmationId: string | undefined; /** * * The duration of the appointment. */ duration: number | undefined; /** * * Whether this calendar item spans the entire day. */ allDay: boolean | undefined; /** * * Additional details about the calendar item. */ details: string | undefined; /** * * Whether this calendar item was migrated from another system. */ wasMigrated: boolean | undefined; /** * * The id of the agenda linked to this calendar item. */ agendaId: string | undefined; /** * * The resource group of the agenda that will handle this calendar item. */ resourceGroup: CodeStub | undefined; /** * * How this calendar item is considered by the availabilities algorithm. */ availabilitiesAssignmentStrategy: CalendarItem.AvailabilitiesAssignmentStrategy | undefined; /** * * The healthcare party id associated with this calendar item. Deprecated: This field is scheduled * for deletion */ hcpId: string | undefined; /** * * An id for linking recurring calendar items. */ recurrenceId: string | undefined; /** * * Tags for the meeting associated with this calendar item. */ meetingTags: Array; /** * * Custom properties of this calendar item. */ properties: Array; readonly isEncrypted: boolean; toJSON(): object; } /** * * * Represents an appointment or event in a calendar. Calendar items are linked to an agenda and can * block * availabilities for scheduling purposes. */ export declare class DecryptedCalendarItem { /** * * The Id of the calendar item. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The revision of the calendar item 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 calendar item. */ author: string | undefined; /** * * The id of the data owner that is responsible for this calendar item. */ responsible: string | undefined; /** * * Tags that qualify the calendar item as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular calendar item. */ codes: Array; /** * * Hard delete (unix epoch in ms) timestamp of the object. */ deletionDate: number | undefined; /** * * The title of the calendar item. */ title: string | undefined; /** * * The id of the calendar item type associated with this item. */ calendarItemTypeId: string | undefined; /** * * The id of the master calendar item if this is a recurring instance. */ masterCalendarItemId: string | undefined; /** * * Whether this calendar item is marked as important. */ important: boolean | undefined; /** * * Whether this calendar item represents a home visit. */ homeVisit: boolean | undefined; /** * * A phone number associated with this calendar item. */ phoneNumber: string | undefined; /** * * The id of the place where the appointment takes place. */ placeId: string | undefined; /** * * The address where the appointment takes place. */ address: DecryptedAddress | undefined; /** * * The textual representation of the address. */ addressText: string | undefined; /** * * The start time of the calendar item in YYYYMMDDHHMMSS format. */ startTime: number | undefined; /** * * The end time of the calendar item in YYYYMMDDHHMMSS format. */ endTime: number | undefined; /** * * The time of confirmation in YYYYMMDDHHMMSS format. */ confirmationTime: number | undefined; /** * * The timestamp of cancellation. */ cancellationTimestamp: number | undefined; /** * * An id associated with the confirmation. */ confirmationId: string | undefined; /** * * The duration of the appointment. */ duration: number | undefined; /** * * Whether this calendar item spans the entire day. */ allDay: boolean | undefined; /** * * Additional details about the calendar item. */ details: string | undefined; /** * * Whether this calendar item was migrated from another system. */ wasMigrated: boolean | undefined; /** * * The id of the agenda linked to this calendar item. */ agendaId: string | undefined; /** * * The resource group of the agenda that will handle this calendar item. */ resourceGroup: CodeStub | undefined; /** * * How this calendar item is considered by the availabilities algorithm. */ availabilitiesAssignmentStrategy: CalendarItem_.AvailabilitiesAssignmentStrategy | undefined; /** * * The healthcare party id associated with this calendar item. Deprecated: This field is scheduled * for deletion */ hcpId: string | undefined; /** * * An id for linking recurring calendar items. */ recurrenceId: string | undefined; /** * * Tags for the meeting associated with this calendar item. */ meetingTags: Array; /** * * Custom properties of this calendar item. */ properties: 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 calendar item. */ 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): DecryptedCalendarItem; } /** * * * Represents an appointment or event in a calendar. Calendar items are linked to an agenda and can * block * availabilities for scheduling purposes. */ export declare class EncryptedCalendarItem { /** * * The Id of the calendar item. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The revision of the calendar item 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 calendar item. */ author: string | undefined; /** * * The id of the data owner that is responsible for this calendar item. */ responsible: string | undefined; /** * * Tags that qualify the calendar item as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular calendar item. */ codes: Array; /** * * Hard delete (unix epoch in ms) timestamp of the object. */ deletionDate: number | undefined; /** * * The title of the calendar item. */ title: string | undefined; /** * * The id of the calendar item type associated with this item. */ calendarItemTypeId: string | undefined; /** * * The id of the master calendar item if this is a recurring instance. */ masterCalendarItemId: string | undefined; /** * * Whether this calendar item is marked as important. */ important: boolean | undefined; /** * * Whether this calendar item represents a home visit. */ homeVisit: boolean | undefined; /** * * A phone number associated with this calendar item. */ phoneNumber: string | undefined; /** * * The id of the place where the appointment takes place. */ placeId: string | undefined; /** * * The address where the appointment takes place. */ address: EncryptedAddress | undefined; /** * * The textual representation of the address. */ addressText: string | undefined; /** * * The start time of the calendar item in YYYYMMDDHHMMSS format. */ startTime: number | undefined; /** * * The end time of the calendar item in YYYYMMDDHHMMSS format. */ endTime: number | undefined; /** * * The time of confirmation in YYYYMMDDHHMMSS format. */ confirmationTime: number | undefined; /** * * The timestamp of cancellation. */ cancellationTimestamp: number | undefined; /** * * An id associated with the confirmation. */ confirmationId: string | undefined; /** * * The duration of the appointment. */ duration: number | undefined; /** * * Whether this calendar item spans the entire day. */ allDay: boolean | undefined; /** * * Additional details about the calendar item. */ details: string | undefined; /** * * Whether this calendar item was migrated from another system. */ wasMigrated: boolean | undefined; /** * * The id of the agenda linked to this calendar item. */ agendaId: string | undefined; /** * * The resource group of the agenda that will handle this calendar item. */ resourceGroup: CodeStub | undefined; /** * * How this calendar item is considered by the availabilities algorithm. */ availabilitiesAssignmentStrategy: CalendarItem_.AvailabilitiesAssignmentStrategy | undefined; /** * * The healthcare party id associated with this calendar item. Deprecated: This field is scheduled * for deletion */ hcpId: string | undefined; /** * * An id for linking recurring calendar items. */ recurrenceId: string | undefined; /** * * Tags for the meeting associated with this calendar item. */ meetingTags: Array; /** * * Custom properties of this calendar item. */ properties: 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 calendar item. */ 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): EncryptedCalendarItem; } export declare namespace CalendarItem { enum AvailabilitiesAssignmentStrategy { Strict = "Strict", Loose = "Loose" } }