Create an appointment

post

/Appointment

Creates a new appointment.

Note:

  • Only the body fields mentioned below are supported. Unsupported fields are ignored, or can result in errors.
  • Appointment.status must be set to proposed or booked.
  • Appointment.reasonCode, if set, must be a list containing exactly one CodeableConcept.
  • When Appointment.status is set to proposed:
    • Appointment.serviceType must be a list containing exactly one CodeableConcept.
    • Appointment.participant must be a list containing exactly one patient participant and at least one location participant.
    • Appointment.participant.actor must be a reference to a patient or a location.
    • Appointment.participant.status must be set to needs-action.
    • Appointment.requestedPeriod must be a list containing a single period. Both Appointment.requestedPeriod.start and Appointment.requestedPeriod.end must be set.
  • When Appointment.status is set to booked:
    • Appointment.slot must be a list containing exactly one reference to the Slot in which this appointment is being booked. Appointment.slot[0].reference specifies an availability in the scheduling system, which indicates details such as practitioner, location, and time.
    • Appointment.participant must be a list containing exactly one patient participant.
    • Appointment.participant.actor must be a reference to a patient.
    • Appointment.participant.status must be set to accepted.
  • Appointment.participant.type must not be set.
  • The ETag response header indicates the current If-Match version to use on subsequent updates.

Authorization Types

This operation supports the following authorization types:

Request

Supported Media Types
Header Parameters
Body ()
The body of the create operation.
Root Schema : AppointmentCreate
Type: object
Show Source
Example:
{
    "resourceType":"Appointment",
    "status":"booked",
    "slot":[
        {
            "reference":"Slot/24477854-21304876-62852027-0"
        }
    ],
    "participant":[
        {
            "actor":{
                "reference":"Patient/12724066"
            },
            "status":"accepted"
        }
    ],
    "reasonCode":[
        {
            "text":"I have a cramp"
        }
    ]
}
Nested Schema : participant
Type: array
Minimum Number of Items: 1

Participants involved in appointment.

The Participant.type must not be set.

Show Source
Nested Schema : reasonCode
Type: array
Minimum Number of Items: 1
Maximum Number of Items: 1

Coded reason this appointment is scheduled.

Show Source
Nested Schema : requestedPeriod
Type: array
Minimum Number of Items: 1

Potential date and time intervals requested to allocate the appointment within.

Required when Appointment.status is set to proposed.

Show Source
Nested Schema : serviceCategory
Type: object

A CodeableConcept representing the service that is to be performed during this appointment.

Show Source
Nested Schema : serviceType
Type: array
Minimum Number of Items: 1
Maximum Number of Items: 1

The specific service that is to be performed during this appointment.

Required when Appointment.status is set to proposed.

Show Source
Nested Schema : slot
Type: array
Minimum Number of Items: 1
Maximum Number of Items: 1

The availability to which the appointment is booked.

Required when Appointment.status is set to booked.

Show Source
Nested Schema : items
Type: object
Show Source
  • actor

    A patient or location that is participating in the appointment.

  • Allowed Values: [ "accepted", "needs-action" ]

    Participation status of the patient or location.

    When creating a new appointment with a status of booked, this value must be accepted. When creating a new appointment with a status of proposed, this value must be needs-action.

Nested Schema : actor
Type: object

A patient or location that is participating in the appointment.

Show Source
Nested Schema : items
Type: object
Show Source
Nested Schema : coding
Type: array
Show Source
Nested Schema : items
Type: object
Show Source
Nested Schema : items
Type: object
Show Source
Nested Schema : coding
Type: array
Show Source
Nested Schema : items
Type: object
Show Source
Nested Schema : items
Type: object
Show Source
Nested Schema : coding
Type: array
Show Source
Nested Schema : items
Type: object
Show Source
Nested Schema : items
Type: object
Show Source
Back to Top

Response

Supported Media Types

Default Response

Example creation for a proposed appointment.

Example Request:
POST https://fhir-ehr-code.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d/Appointment
Example Request Body:
{
    'resourceType': 'Appointment',
    'status': 'proposed',
    'serviceType': [
      {
        'coding': [
          {
            'code': '408443003',
            'system': 'http://snomed.info/sct'
          }
        ]
      }
    ],
    'reasonCode': [
      {
        'text': 'I have a cramp'
      }
    ],
    'comment': 'Appointment request comment',
    'participant': [
      {
        'actor': {
          'reference': 'Patient/12724066'
        },
        'status': 'needs-action'
      },
      {
        'actor': {
          'reference': 'Location/21304876',
          'display': 'MX Clinic 1'
        },
        'status': 'needs-action'
      }
    ],
    'requestedPeriod': [
      {
        'start': '2020-02-07T13:28:17-05:00',
        'end': '2021-02-07T13:28:17-05:00'
      }
    ]
  }
Example Response:
  Cache-Control: no-cache
  Content-Length: 0
  Content-Type: application/fhir+json
  Date: Tue, 12 May 2020 20:25:01 GMT
  Etag: W/"0"
  Last-Modified: Tue, 12 May 2020 20:25:01 GMT
  Location: https://fhir-ehr-code.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d/Appointment/6427746
  Vary: Origin
  X-Request-Id: 11111111-1111-1111-1111-111111111111
  opc-request-id: /11111111111111111111111111111111/11111111111111111111111111111111
The ETag response header indicates the current If-Match version to use on a subsequent update.
Headers
  • For Update or Patch versioning controls. Related to If-Match. When a resource performs an operation that creates or updates a record, an Etag value is returned as a header. This same value should be included in request headers as an If-Match for any subsequent update to that record.
  • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, provide the X-Request-Id, if present.
  • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, provide the opc-Request-Id, if present.

x-create-booked Response

Example creation for a booked appointment.

Example Request:
POST https://fhir-ehr-code.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d/Appointment
Example Request Body:
{
    'resourceType': 'Appointment',
    'status': 'booked',
    'slot': [
      {
        'reference': 'Slot/24477854-21304876-62852027-0'
      }
    ],
    'participant': [
      {
        'actor': {
          'reference': 'Patient/12724066'
        },
        'status': 'accepted'
      }
    ],
    'reasonCode': [
      {
        'text': 'I have a cramp'
      }
    ]
  }
Example Response:
  Cache-Control: no-cache
  Content-Length: 0
  Content-Type: application/fhir+json
  Date: Thu, 30 May 2019 19:49:25 GMT
  Etag: W/"0"
  Last-Modified: Thu, 30 May 2019 19:49:23 GMT
  Location: https://fhir-ehr-code.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d/Appointment/20465903
  Vary: Origin
  X-Request-Id: 11111111-1111-1111-1111-111111111111
  opc-request-id: /11111111111111111111111111111111/11111111111111111111111111111111
The ETag response header indicates the current If-Match version to use on a subsequent update.
Headers
  • For Update or Patch versioning controls. Related to If-Match. When a resource performs an operation that creates or updates a record, an Etag value is returned as a header. This same value should be included in request headers as an If-Match for any subsequent update to that record.
  • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, provide the X-Request-Id, if present.
  • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, provide the opc-Request-Id, if present.
Back to Top