Class Appointment

  • All Implemented Interfaces:
    Visitable

    @Generated("org.linuxforhealth.fhir.tools.CodeGenerator")
    public class Appointment
    extends DomainResource
    A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).

    Maturity level: FMM3 (Trial Use)

    • Method Detail

      • getIdentifier

        public java.util.List<Identifier> getIdentifier()
        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).
        Returns:
        An unmodifiable list containing immutable objects of type Identifier that may be empty.
      • getStatus

        public AppointmentStatus getStatus()
        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.
        Returns:
        An immutable object of type AppointmentStatus that is non-null.
      • getCancelationReason

        public CodeableConcept getCancelationReason()
        The coded reason for the appointment being cancelled. This is often used in reporting/billing/futher processing to determine if further actions are required, or specific fees apply.
        Returns:
        An immutable object of type CodeableConcept that may be null.
      • getServiceCategory

        public java.util.List<CodeableConcept> getServiceCategory()
        A broad categorization of the service that is to be performed during this appointment.
        Returns:
        An unmodifiable list containing immutable objects of type CodeableConcept that may be empty.
      • getServiceType

        public java.util.List<CodeableConcept> getServiceType()
        The specific service that is to be performed during this appointment.
        Returns:
        An unmodifiable list containing immutable objects of type CodeableConcept that may be empty.
      • getSpecialty

        public java.util.List<CodeableConcept> getSpecialty()
        The specialty of a practitioner that would be required to perform the service requested in this appointment.
        Returns:
        An unmodifiable list containing immutable objects of type CodeableConcept that may be empty.
      • getAppointmentType

        public CodeableConcept getAppointmentType()
        The style of appointment or patient that has been booked in the slot (not service type).
        Returns:
        An immutable object of type CodeableConcept that may be null.
      • getReasonCode

        public java.util.List<CodeableConcept> getReasonCode()
        The coded reason that this appointment is being scheduled. This is more clinical than administrative.
        Returns:
        An unmodifiable list containing immutable objects of type CodeableConcept that may be empty.
      • getReasonReference

        public java.util.List<Reference> getReasonReference()
        Reason the appointment has been scheduled to take place, as specified using information from another resource. When the patient arrives and the encounter begins it may be used as the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure.
        Returns:
        An unmodifiable list containing immutable objects of type Reference that may be empty.
      • getPriority

        public UnsignedInt getPriority()
        The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority).
        Returns:
        An immutable object of type UnsignedInt that may be null.
      • getDescription

        public String getDescription()
        The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field.
        Returns:
        An immutable object of type String that may be null.
      • getSupportingInformation

        public java.util.List<Reference> getSupportingInformation()
        Additional information to support the appointment provided when making the appointment.
        Returns:
        An unmodifiable list containing immutable objects of type Reference that may be empty.
      • getStart

        public Instant getStart()
        Date/Time that the appointment is to take place.
        Returns:
        An immutable object of type Instant that may be null.
      • getEnd

        public Instant getEnd()
        Date/Time that the appointment is to conclude.
        Returns:
        An immutable object of type Instant that may be null.
      • getMinutesDuration

        public PositiveInt getMinutesDuration()
        Number of minutes that the appointment is to take. This can be less than the duration between the start and end times. For example, where the actual time of appointment is only an estimate or if a 30 minute appointment is being requested, but any time would work. Also, if there is, for example, a planned 15 minute break in the middle of a long appointment, the duration may be 15 minutes less than the difference between the start and end.
        Returns:
        An immutable object of type PositiveInt that may be null.
      • getSlot

        public java.util.List<Reference> getSlot()
        The slots from the participants' schedules that will be filled by the appointment.
        Returns:
        An unmodifiable list containing immutable objects of type Reference that may be empty.
      • getCreated

        public DateTime getCreated()
        The date that this appointment was initially created. This could be different to the meta.lastModified value on the initial entry, as this could have been before the resource was created on the FHIR server, and should remain unchanged over the lifespan of the appointment.
        Returns:
        An immutable object of type DateTime that may be null.
      • getComment

        public String getComment()
        Additional comments about the appointment.
        Returns:
        An immutable object of type String that may be null.
      • getPatientInstruction

        public String getPatientInstruction()
        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).
        Returns:
        An immutable object of type String that may be null.
      • getBasedOn

        public java.util.List<Reference> getBasedOn()
        The service request this appointment is allocated to assess (e.g. incoming referral or procedure request).
        Returns:
        An unmodifiable list containing immutable objects of type Reference that may be empty.
      • getParticipant

        public java.util.List<Appointment.Participant> getParticipant()
        List of participants involved in the appointment.
        Returns:
        An unmodifiable list containing immutable objects of type Appointment.Participant that is non-empty.
      • getRequestedPeriod

        public java.util.List<Period> getRequestedPeriod()
        A set of date ranges (potentially including times) that the appointment is preferred to be scheduled within.

        The duration (usually in minutes) could also be provided to indicate the length of the appointment to fill and populate the start/end times for the actual allocated time. However, in other situations the duration may be calculated by the scheduling system.

        Returns:
        An unmodifiable list containing immutable objects of type Period that may be empty.
      • accept

        public void accept​(java.lang.String elementName,
                           int elementIndex,
                           Visitor visitor)
        Description copied from interface: Visitable
        Accept a Visitor and invoke the appropriate visit methods. A typical implementation would look like this:
         if (visitor.preVisit(this)) {
             visitor.visitStart(elementName, elementIndex, this);
             if (visitor.visit(elementName, elementIndex, this)) {
                 // visit children
             }
             visitor.visitEnd(elementName, elementIndex, this);
             visitor.postVisit(this);
         }
         
        Specified by:
        accept in interface Visitable
        Specified by:
        accept in class AbstractVisitable
        Parameters:
        elementName - the name of the element in the context of this visit
        elementIndex - the index of the element in a list or -1 if it is not contained within a List
        visitor - the visitor to use
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object