UNPKG

fhirtypes

Version:
133 lines (132 loc) 5.12 kB
import { IAppointmentParticipant } from '../backbones'; import { IDomainResource, IElement } from '../base'; import { ICodeableConcept, IIdentifier, IPeriod, IReference } from '../datatypes'; import { AppointmentStatusType } from '../types'; export interface IAppointment extends IDomainResource { /** * @description This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ identifier?: IIdentifier[]; /** * @description The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status. * @description proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist * @see <a href="https://hl7.org/fhir/R4/valueset-appointmentstatus.html">AppointmentStatus</a> */ status: AppointmentStatusType; /** * @description The coded reason for the appointment being cancelled. */ cancelationReason?: ICodeableConcept; /** * @description A broad categorization of the service that is to be performed during this appointment. */ serviceCategory?: ICodeableConcept[]; /** * @description The specific service that is to be performed during this appointment. */ serviceType?: ICodeableConcept[]; /** * @description The specialty of a practitioner that would be required to perform the service requested in this appointment. */ specialty?: ICodeableConcept[]; /** * @description The style of appointment or patient that has been booked in the slot (not service type). */ appointmentType?: ICodeableConcept; /** * @description The coded reason that this appointment is being scheduled. This is more clinical than administrative. */ reasonCode?: ICodeableConcept[]; /** * @description Reason the appointment has been scheduled to take place, as specified using information from another resource. */ reasonReference?: IReference[]; /** * @description The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. */ priority?: number; /** * @description The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. */ description?: string; /** * @description Additional information to support the appointment provided when making the appointment. */ supportingInformation?: IReference[]; /** * @description Date/Time that the appointment is to take place. */ start?: string; /** * @description Date/Time that the appointment is to conclude. */ end?: string; /** * @description Number of minutes that the appointment is to take. This can be less than the duration between the start and end times. */ minutesDuration?: number; /** * @description The slots from the participants' schedules that will be filled by the appointment. */ slot?: IReference[]; /** * @description The date that this appointment was initially created. */ created?: string; /** * @description Additional comments about the appointment. */ comment?: string; /** * @description While Appointment.comment contains information for internal use, Appointment.patientInstructions is used to capture patient facing information about the Appointment (e.g. please bring your referral or fast from 8pm night before). */ patientInstruction?: string; /** * @description The service request this appointment is allocated to assess (e.g. incoming referral or procedure request). */ basedOn?: IReference[]; /** * @description List of participants involved in the appointment. */ participant: IAppointmentParticipant[]; /** * @description A set of date ranges (potentially including times) that the appointment is preferred to be scheduled within. */ requestedPeriod?: IPeriod[]; /** * @description Extensions for status */ _status?: IElement; /** * @description Extensions for priority */ _priority?: IElement; /** * @description Extensions for description */ _description?: IElement; /** * @description Extensions for start */ _start?: IElement; /** * @description Extensions for end */ _end?: IElement; /** * @description Extensions for minutesDuration */ _minutesDuration?: IElement; /** * @description Extensions for created */ _created?: IElement; /** * @description Extensions for comment */ _comment?: IElement; /** * @description Extensions for patientInstruction */ _patientInstruction?: IElement; }