PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.r2b.core@1.4.0
    http://hl7.org/fhir/StructureDefinition/Appointment
description: Base StructureDefinition for Appointment Resource
package_name: hl7.fhir.r2b.core
derivation: specialization
name: Appointment
type: null
elements:
  description:
    isModifier: false
    short: Shown on a subject line in a meeting request, or appointment list
    type: string
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Appointment.description}
    isSummary: false
    index: 8
  serviceCategory:
    isModifier: false
    short: A broad categorisation of the service that is to be performed during this appointment
    type: CodeableConcept
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Appointment.serviceCategory}
    isSummary: true
    index: 2
  slot:
    isModifier: false
    short: If provided, then no schedule and start/end values MUST match slot
    index: 12
    type: Reference
    mustSupport: false
    array: true
    maxLength: 0
    base: {max: '*', min: 0, path: Appointment.slot}
    isSummary: false
  specialty:
    isModifier: false
    short: The specialty of a practitioner that would be required to perform the service requested in this appointment
    index: 4
    type: CodeableConcept
    mustSupport: false
    array: true
    maxLength: 0
    base: {max: '*', min: 0, path: Appointment.specialty}
    isSummary: true
  start:
    isModifier: false
    short: When appointment is to take place
    type: instant
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Appointment.start}
    isSummary: true
    index: 9
  created:
    isModifier: false
    short: The date that this appointment was initially created
    index: 13
    comments: This property is required for many use cases where the age of an appointment is considered in processing workflows for scheduling and billing of appointments.
    type: dateTime
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Appointment.created}
    isSummary: false
  participant:
    constraint:
      app-1: {human: Either the type or actor on the participant MUST be specified, severity: error, expression: type.exists() or actor.exists()}
    min: 1
    isModifier: false
    short: Participants involved in appointment
    index: 15
    type: BackboneElement
    mustSupport: false
    array: true
    elements:
      type:
        isModifier: false
        short: Role of participant in the appointment
        index: 16
        comments: The role of the participant can be used to declare what the actor will be doing in the scope of this appointment.  If the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning.  This value MUST be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment.
        type: CodeableConcept
        mustSupport: false
        array: true
        maxLength: 0
        base: {max: '*', min: 0, path: Appointment.participant.type}
        isSummary: true
      actor:
        isModifier: false
        short: Person, Location/HealthcareService or Device
        type: Reference
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: Appointment.participant.actor}
        isSummary: true
        index: 17
      required:
        isModifier: false
        short: required | optional | information-only
        type: code
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: Appointment.participant.required}
        isSummary: true
        index: 18
      status:
        isModifier: false
        short: accepted | declined | tentative | needs-action
        index: 19
        type: code
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: Appointment.participant.status}
        isSummary: false
    maxLength: 0
    base: {max: '*', min: 0, path: Appointment.participant}
    required: [status]
    isSummary: false
  serviceType:
    isModifier: false
    short: The specific service that is to be performed during this appointment
    index: 3
    type: CodeableConcept
    mustSupport: false
    array: true
    maxLength: 0
    base: {max: '*', min: 0, path: Appointment.serviceType}
    isSummary: true
  reason:
    isModifier: false
    short: Reason this appointment is scheduled
    type: CodeableConcept
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Appointment.reason}
    isSummary: true
    index: 6
  priority:
    isModifier: false
    short: Used to make informed decisions if needing to re-prioritize
    index: 7
    comments: Seeking implementer feedback on this property and how interoperable it is.  Using an extension to record a codeableconcept for named values may be tested at a future connectathon.
    type: unsignedInt
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Appointment.priority}
    isSummary: false
  appointmentType:
    isModifier: false
    short: The style of appointment or patient that has been booked in the slot (not service type)
    type: CodeableConcept
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Appointment.appointmentType}
    isSummary: true
    index: 5
  status:
    isModifier: true
    short: proposed | pending | booked | arrived | fulfilled | cancelled | noshow
    index: 1
    comments: If the Appointment's status is "cancelled" then all participants are expected to have their calendars released for the appointment period, and as such any Slots that were marked as BUSY can be re-set to FREE.
    type: code
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Appointment.status}
    isSummary: true
  comment:
    isModifier: false
    short: Additional comments
    index: 14
    comments: Additional text to aid in facilitating the appointment. For instance, a comment might be, "patient should proceed immediately to infusion room upon arrival"  Where this is a planned appointment and the start/end dates are not set then this field can be used to provide additional guidance on the details of the appointment request, including any restrictions on when to book it.
    type: string
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Appointment.comment}
    isSummary: false
  minutesDuration:
    isModifier: false
    short: Can be less than start/end (e.g. estimate)
    type: positiveInt
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Appointment.minutesDuration}
    isSummary: false
    index: 11
  identifier:
    isModifier: false
    short: External Ids for this item
    index: 0
    type: Identifier
    mustSupport: false
    array: true
    maxLength: 0
    base: {max: '*', min: 0, path: Appointment.identifier}
    isSummary: true
  end:
    isModifier: false
    short: When appointment is to conclude
    type: instant
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Appointment.end}
    isSummary: true
    index: 10
package_version: 1.4.0
class: resource
kind: resource
url: http://hl7.org/fhir/StructureDefinition/Appointment
base: http://hl7.org/fhir/StructureDefinition/DomainResource
version: null
required: [participant, status]