Appointment

Overview

The Appointment resource provides information about scheduled appointments such as a procedure (mammogram) or office visit for a patient, practitioner or location. Date is required when searching by patient, practitioner or location.

When integrating your application with a client’s production environment you will work with the client to determine the Practitioner and Location ids (Millennium personnel and location codes, respectively) which they want to make available to third-party applications for enabling scheduling functionality.

We understand this is a bit cumbersome, but we are always evaluating community feedback and look to improve the API in the future.

The following fields are returned if valued:

Terminology Bindings

Appointment.type
  • Description
    • Additional details about where the content was created (e.g. clinical specialty).
  • Details: Practice Setting Code Value Set
    System: http://snomed.info/sct

Search for Appointments that meet supplied query parameters:

GET /Appointment?:parameters

Implementation Notes

Authorization Types

Parameters

Name Required? Type Description
_id Yes, or one of patient, practitioner, or location. token The logical resource id associated with the Appointment. Example: 3005759
date Yes when using patient, practitioner, or location. date The Appointment date/time. Example: 2016
patient Yes, or _id reference A single or comma separated list of Patient references. Example: 4704007
practitioner Yes, or _id reference A single or comma separated list of Practitioner references. Example: 2578010
location Yes, or _id reference A single or comma separated list of Location references. Example: 633867
status No token A single or comma separated list of appointment statuses. Example: arrived
_count No number The maximum number of results to return.

Notes:

Headers

Accept: application/json+fhir
Authorization: <OAuth2 Bearer Token>

Example

Request

GET https://fhir-open.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Appointment?date=2017&patient=4704007

Response

Status: 200 OK
{
  "resourceType": "Bundle",
  "id": "4344d30c-0b5b-4be9-851a-adabb0fda827",
  "type": "searchset",
  "total": 4,
  "link": [
    {
      "relation": "self",
      "url": "https://fhir-open.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Appointment?date=2017&patient=4704007&_count=50"
    }
  ],
  "entry": [
    {
      "fullUrl": "https://fhir-open.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Appointment/3005756",
      "resource": {
        "resourceType": "Appointment",
        "id": "3005756",
        "meta": {
          "versionId": "0",
          "lastUpdated": "2017-10-04T13:06:34.000-05:00"
        },
        "text": {
          "status": "generated",
          "div": "<div><p><b>Appointment</b></p><p><b>Description</b>: Same Day</p><p><b>Type</b>: Same Day</p><p><b>Start</b>: 2017-10-04T08:00:00.000-05:00</p><p><b>End</b>: 2017-10-04T09:00:00.000-05:00</p><p><b>Minutes Duration</b>: 60</p><p><b>Location</b>: Baseline East</p><p></p><p><b>Patient</b>: Smart, Barney R</p><p></p><p><b>Practitioner</b>: Song, River</p><p><b>Primary</b>: true</p></div>"
        },
        "type": {
          "coding": [
            {
              "system": "http://snomed.info/sct",
              "code": "394581000",
              "display": "Community medicine",
              "userSelected": false
            }
          ],
          "text": "Same Day"
        },
        "status": "booked",
        "description": "Same Day",
        "start": "2017-10-04T08:00:00.000-05:00",
        "end": "2017-10-04T09:00:00.000-05:00",
        "minutesDuration": 60,
        "participant": [
          {
            "type": [
              {
                "text": "Resource"
              },
              {
                "coding": [
                  {
                    "system": "http://hl7.org/fhir/v3/ParticipationType",
                    "code": "PPRF",
                    "display": "primary performer",
                    "userSelected": false
                  }
                ]
              }
            ],
            "actor": {
              "reference": "Practitioner/2578010",
              "display": "Song, River"
            },
            "required": "required",
            "status": "accepted"
          },
          {
            "type": [
              {
                "text": "Patient"
              }
            ],
            "actor": {
              "reference": "Patient/4704007",
              "display": "Smart, Barney R"
            },
            "required": "required",
            "status": "accepted"
          },
          {
            "actor": {
              "reference": "Location/4048128",
              "display": "Baseline East"
            },
            "required": "required",
            "status": "accepted"
          }
        ]
      }
    },
    {
      "fullUrl": "https://fhir-open.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Appointment/3005759",
      "resource": {
        "resourceType": "Appointment",
        "id": "3005759",
        "meta": {
          "versionId": "0",
          "lastUpdated": "2017-10-04T13:11:41.000-05:00"
        },
        "text": {
          "status": "generated",
          "div": "<div><p><b>Appointment</b></p><p><b>Description</b>: Same Day</p><p><b>Type</b>: Same Day</p><p><b>Start</b>: 2017-10-04T09:00:00.000-05:00</p><p><b>End</b>: 2017-10-04T10:00:00.000-05:00</p><p><b>Minutes Duration</b>: 60</p><p><b>Location</b>: Baseline West</p><p></p><p><b>Patient</b>: Smart, Barney R</p><p></p><p><b>Practitioner</b>: Song, River</p><p><b>Primary</b>: true</p></div>"
        },
        "type": {
          "coding": [
            {
              "system": "http://snomed.info/sct",
              "code": "394581000",
              "display": "Community medicine",
              "userSelected": false
            }
          ],
          "text": "Same Day"
        },
        "status": "booked",
        "description": "Same Day",
        "start": "2017-10-04T09:00:00.000-05:00",
        "end": "2017-10-04T10:00:00.000-05:00",
        "minutesDuration": 60,
        "participant": [
          {
            "type": [
              {
                "text": "Patient"
              }
            ],
            "actor": {
              "reference": "Patient/4704007",
              "display": "Smart, Barney R"
            },
            "required": "required",
            "status": "accepted"
          },
          {
            "type": [
              {
                "text": "Resource"
              },
              {
                "coding": [
                  {
                    "system": "http://hl7.org/fhir/v3/ParticipationType",
                    "code": "PPRF",
                    "display": "primary performer",
                    "userSelected": false
                  }
                ]
              }
            ],
            "actor": {
              "reference": "Practitioner/2578010",
              "display": "Song, River"
            },
            "required": "required",
            "status": "accepted"
          },
          {
            "actor": {
              "reference": "Location/633867",
              "display": "Baseline West"
            },
            "required": "required",
            "status": "accepted"
          }
        ]
      }
    },
    {
      "fullUrl": "https://fhir-open.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Appointment/3005753",
      "resource": {
        "resourceType": "Appointment",
        "id": "3005753",
        "meta": {
          "versionId": "0",
          "lastUpdated": "2017-10-04T13:01:43.000-05:00"
        },
        "text": {
          "status": "generated",
          "div": "<div><p><b>Appointment</b></p><p><b>Description</b>: Same Day</p><p><b>Type</b>: Same Day</p><p><b>Start</b>: 2017-10-04T22:54:00.000-05:00</p><p><b>End</b>: 2017-10-04T23:54:00.000-05:00</p><p><b>Minutes Duration</b>: 60</p><p><b>Location</b>: Baseline East</p><p></p><p><b>Patient</b>: Smart, Barney R</p><p></p><p><b>Practitioner</b>: Physician, PowerChartTouch</p><p><b>Primary</b>: true</p></div>"
        },
        "type": {
          "coding": [
            {
              "system": "http://snomed.info/sct",
              "code": "394581000",
              "display": "Community medicine",
              "userSelected": false
            }
          ],
          "text": "Same Day"
        },
        "status": "booked",
        "description": "Same Day",
        "start": "2017-10-04T22:54:00.000-05:00",
        "end": "2017-10-04T23:54:00.000-05:00",
        "minutesDuration": 60,
        "participant": [
          {
            "type": [
              {
                "text": "Resource"
              },
              {
                "coding": [
                  {
                    "system": "http://hl7.org/fhir/v3/ParticipationType",
                    "code": "PPRF",
                    "display": "primary performer",
                    "userSelected": false
                  }
                ]
              }
            ],
            "actor": {
              "reference": "Practitioner/1376007",
              "display": "Physician, PowerChartTouch"
            },
            "required": "required",
            "status": "accepted"
          },
          {
            "type": [
              {
                "text": "Patient"
              }
            ],
            "actor": {
              "reference": "Patient/4704007",
              "display": "Smart, Barney R"
            },
            "required": "required",
            "status": "accepted"
          },
          {
            "actor": {
              "reference": "Location/4048128",
              "display": "Baseline East"
            },
            "required": "required",
            "status": "accepted"
          }
        ]
      }
    },
    {
      "fullUrl": "https://fhir-open.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Appointment/3005760",
      "resource": {
        "resourceType": "Appointment",
        "id": "3005760",
        "meta": {
          "versionId": "0",
          "lastUpdated": "2017-10-04T13:33:07.000-05:00"
        },
        "text": {
          "status": "generated",
          "div": "<div><p><b>Appointment</b></p><p><b>Description</b>: Same Day</p><p><b>Type</b>: Same Day</p><p><b>Start</b>: 2017-10-05T08:00:00.000-05:00</p><p><b>End</b>: 2017-10-05T09:00:00.000-05:00</p><p><b>Minutes Duration</b>: 60</p><p><b>Location</b>: Baseline East</p><p></p><p><b>Patient</b>: Smart, Barney R</p><p></p><p><b>Practitioner</b>: Franks, StaceyPhys</p><p><b>Primary</b>: true</p></div>"
        },
        "type": {
          "coding": [
            {
              "system": "http://snomed.info/sct",
              "code": "394581000",
              "display": "Community medicine",
              "userSelected": false
            }
          ],
          "text": "Same Day"
        },
        "status": "booked",
        "description": "Same Day",
        "start": "2017-10-05T08:00:00.000-05:00",
        "end": "2017-10-05T09:00:00.000-05:00",
        "minutesDuration": 60,
        "participant": [
          {
            "type": [
              {
                "text": "Patient"
              }
            ],
            "actor": {
              "reference": "Patient/4704007",
              "display": "Smart, Barney R"
            },
            "required": "required",
            "status": "accepted"
          },
          {
            "type": [
              {
                "text": "Resource"
              },
              {
                "coding": [
                  {
                    "system": "http://hl7.org/fhir/v3/ParticipationType",
                    "code": "PPRF",
                    "display": "primary performer",
                    "userSelected": false
                  }
                ]
              }
            ],
            "actor": {
              "reference": "Practitioner/1314012",
              "display": "Franks, StaceyPhys"
            },
            "required": "required",
            "status": "accepted"
          },
          {
            "actor": {
              "reference": "Location/4048128",
              "display": "Baseline East"
            },
            "required": "required",
            "status": "accepted"
          }
        ]
      }
    }
  ]
}

Errors

The common errors and OperationOutcomes may be returned.

Retrieve by id

List an individual Appointment by its id:

GET /Appointment/:id

Authorization Types

Headers

Accept: application/json+fhir
Authorization: <OAuth2 Bearer Token>

Example

Request

GET https://fhir-open.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Appointment/3005756

Response

Status: 200 OK
{
  "resourceType": "Appointment",
  "id": "3005756",
  "meta": {
    "versionId": "0",
    "lastUpdated": "2017-10-04T13:06:34.000-05:00"
  },
  "text": {
    "status": "generated",
    "div": "<div><p><b>Appointment</b></p><p><b>Description</b>: Same Day</p><p><b>Type</b>: Same Day</p><p><b>Start</b>: 2017-10-04T08:00:00.000-05:00</p><p><b>End</b>: 2017-10-04T09:00:00.000-05:00</p><p><b>Minutes Duration</b>: 60</p><p><b>Location</b>: Baseline East</p><p></p><p><b>Patient</b>: Smart, Barney R</p><p></p><p><b>Practitioner</b>: Howdeshell, Tami</p><p><b>Primary</b>: true</p></div>"
  },
  "type": {
    "coding": [
      {
        "system": "http://snomed.info/sct",
        "code": "394581000",
        "display": "Community medicine",
        "userSelected": false
      }
    ],
    "text": "Same Day"
  },
  "status": "booked",
  "description": "Same Day",
  "start": "2017-10-04T08:00:00.000-05:00",
  "end": "2017-10-04T09:00:00.000-05:00",
  "minutesDuration": 60,
  "participant": [
    {
      "type": [
        {
          "text": "Resource"
        },
        {
          "coding": [
            {
              "system": "http://hl7.org/fhir/v3/ParticipationType",
              "code": "PPRF",
              "display": "primary performer",
              "userSelected": false
            }
          ]
        }
      ],
      "actor": {
        "reference": "Practitioner/2578010",
        "display": "Howdeshell, Tami"
      },
      "required": "required",
      "status": "accepted"
    },
    {
      "type": [
        {
          "text": "Patient"
        }
      ],
      "actor": {
        "reference": "Patient/4704007",
        "display": "Smart, Barney R"
      },
      "required": "required",
      "status": "accepted"
    },
    {
      "actor": {
        "reference": "Location/4048128",
        "display": "Baseline East"
      },
      "required": "required",
      "status": "accepted"
    }
  ]
}

Errors

The common errors and OperationOutcomes may be returned.

Create

Create a new Appointment.

POST /Appointment

Implementation Notes

Authorization Types

Headers

Authorization: <OAuth2 Bearer Token>
Accept: application/json+fhir
Content-Type: application/json+fhir

Body Fields

Name Required Cardinality Type
resourceType Yes 1..1 string
  • Description
    • The type of the FHIR resource.
  • Example
    • {
        "resourceType: "Appointment"
      }
      
  • Notes
    • resourceType must be Appointment
slot Yes 0..1 Reference (Slot)
  • Description
    • The availability to which the appointment is booked.
  • Example
    • {
        "slot": {
          "reference": "Slot/21265426-633867-6828001-60"
        }
      }
      
status Yes 1..1 code
  • Description
    • A code representing 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.
  • Example
    • {
        "status": "proposed"
      }
      
  • Notes
    • When creating a new appointment, the status must be "proposed".
participant Yes 1..* BackboneElement
  • Description
    • Participants involved in appointment.
  • Example
    • {
        "participant": [
          {
            "actor": {
              "reference": "Patient/4704007",
              "display": "Smart, Barney R"
            },
            "status": "needs-action"
          }
        ]
      }
      
  • Notes
    • When creating a new appointment, at most one participant can be populated.
participant.actor Yes 0..1 Reference (Patient)
  • Description
    • A person, location, healthcare service or device that is participating in the appointment.
  • Example
    • {
        "actor": {
          "reference": "Patient/4704007",
          "display": "Smart, Barney R"
        }
      }
      
  • Notes
    • When creating a new appointment, this must be a Patient participant.
participant.status Yes 1..1 code
  • Description
    • Participation status of the Patient.
  • Example
    • {
        "status": "needs-action"
      }
      
  • Notes
    • When creating a new appointment, this value must be "needs-action".

Example

Request

POST https://fhir-ehr.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Appointment/

Body

{
  "resourceType": "Appointment",
  "slot": {
    "reference": "Slot/21265426-633867-6828001-60"
  },
  "participant": [
    {
      "actor": {
        "reference": "Patient/4704007",
        "display": "Smart, Barney R"
      },
      "status": "needs-action"
    }
  ],
  "status": "proposed"
}

Response

Status: 201 Created
    Connection → Keep-Alive
    Content-Encoding → gzip
    Content-Length → 20
    Content-Type → text/html; charset=UTF-8
    Date → Wed, 13 Jan 2016 21:45:47 GMT
    Keep-Alive → timeout=15, max=100
    Last-Modified → Tue, 15 Dec 2015 19:13:20 GMT
    Status → 201 Created
    access-control-allow-methods → DELETE, GET, POST, PUT, OPTIONS, HEAD
    access-control-allow-origin → *
    access-control-expose-headers → ETag, Content-Location, Location, X-Request-Id, WWW-Authenticate, Date
    access-control-max-age → 0
    cache-control → no-cache
    etag → W/"0"
    location → https://fhir-ehr.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Appointment/20465903
    server-response-time → 1260.984596
    strict-transport-security → max-age=631152000
    vary → Origin,User-Agent,Accept-Encoding
    x-content-type-options → nosniff
    x-frame-options → SAMEORIGIN
    x-request-id → 682c633c-b20f-4f6f-8fae-c58b3aeffe04
    x-runtime → 1.260940
    x-xss-protection → 1; mode=block

The ETag response header indicates the current If-Match version to use on subsequent updates.

Update

Update an Appointment.

PUT /Appointment/:id

Implementation Notes

Authorization Types

Headers

Authorization: <OAuth2 Bearer Token>
Accept: application/json+fhir
Content-Type: application/json+fhir
If-Match: W/"<Current version of the Appointment resource>"

Body fields

Name Required Cardinality Type
resourceType Yes 1..1 string
  • Description
    • The type of the FHIR resource.
  • Example
    • {
        "resourceType: "Appointment"
      }
      
  • Notes
    • resourceType must be Appointment
status Yes 1..1 code
  • Description
    • A code representing 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.
  • Example
    • {
        "status": "arrived"
      }
      
  • Notes
    • When updating an appointment, the status must be "arrived" or "cancelled".
participant Yes 1..* BackboneElement
  • Description
    • Participants involved in appointment.
  • Example
    • {
        "participant": [
          {
            "actor": {
              "reference": "Patient/4704007",
              "display": "Smart, Barney R"
            },
            "status": "accepted"
          }
        ]
      }
      
participant.actor Yes 0..1 Reference
  • Description
    • A person, location, healthcare service or device that is participating in the appointment.
  • Example
    • {
        "actor": {
          "reference": "Patient/4704007",
          "display": "Smart, Barney R"
        }
      }
      
participant.status Yes 1..1 code
  • Description
    • Participation status of the actor.
  • Example
    • {
        "status": "accepted"
      }
      
  • Notes
    • When updating an appointment, this value must be "accepted".

Example

Request

PUT https://fhir-ehr.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Appointment/1620549

Body

{
  "resourceType": "Appointment",
  "id": "3005756",
  "meta": {
    "versionId": "0",
    "lastUpdated": "2017-10-04T13:06:34.000-05:00"
  },
  "text": {
    "status": "generated",
    "div": "<div><p><b>Appointment</b></p><p><b>Description</b>: Same Day</p><p><b>Type</b>: Same Day</p><p><b>Start</b>: 2017-10-04T08:00:00.000-05:00</p><p><b>End</b>: 2017-10-04T09:00:00.000-05:00</p><p><b>Minutes Duration</b>: 60</p><p><b>Location</b>: Baseline East</p><p></p><p><b>Patient</b>: Smart, Barney R</p><p></p><p><b>Practitioner</b>: Howdeshell, Tami</p><p><b>Primary</b>: true</p></div>"
  },
  "type": {
    "coding": [
      {
        "system": "http://snomed.info/sct",
        "code": "394581000",
        "display": "Community medicine",
        "userSelected": false
      }
    ],
    "text": "Same Day"
  },
  "status": "arrived",
  "description": "Same Day",
  "start": "2017-10-04T08:00:00.000-05:00",
  "end": "2017-10-04T09:00:00.000-05:00",
  "minutesDuration": 60,
  "participant": [
    {
      "type": [
        {
          "text": "Resource"
        },
        {
          "coding": [
            {
              "system": "http://hl7.org/fhir/v3/ParticipationType",
              "code": "PPRF",
              "display": "primary performer",
              "userSelected": false
            }
          ]
        }
      ],
      "actor": {
        "reference": "Practitioner/2578010",
        "display": "Howdeshell, Tami"
      },
      "required": "required",
      "status": "accepted"
    },
    {
      "type": [
        {
          "text": "Patient"
        }
      ],
      "actor": {
        "reference": "Patient/4704007",
        "display": "Smart, Barney R"
      },
      "required": "required",
      "status": "accepted"
    },
    {
      "actor": {
        "reference": "Location/4048128",
        "display": "Baseline East"
      },
      "required": "required",
      "status": "accepted"
    }
  ]
}

In this example, only the Appointment.status field was updated.

Response

Status: 200 OK
    Connection → Keep-Alive
    Content-Encoding → gzip
    Content-Length → 20
    Content-Type → text/html; charset=UTF-8
    Date → Wed, 13 Jan 2016 21:50:53 GMT
    Keep-Alive → timeout=15, max=100
    Last-Modified → Tue, 15 Dec 2015 19:13:20 GMT
    Status → 200 OK
    access-control-allow-methods → DELETE, GET, POST, PUT, OPTIONS, HEAD
    access-control-allow-origin → *
    access-control-expose-headers → ETag, Content-Location, Location, X-Request-Id, WWW-Authenticate, Date
    access-control-max-age → 0
    cache-control → no-cache
    etag → W/"1"
    server-response-time → 653.7616069999999
    strict-transport-security → max-age=631152000
    vary → Origin,User-Agent,Accept-Encoding
    x-content-type-options → nosniff
    x-frame-options → SAMEORIGIN
    x-request-id → 9dba8326-899a-406f-a125-3fc3d6605dad
    x-runtime → 0.653722
    x-xss-protection → 1; mode=block

The ETag response header indicates the current If-Match version to use on subsequent updates.

Errors

The common errors and OperationOutcomes may be returned.

In addition, the following errors may be returned: