drchrono · Arazzo Workflow

drChrono Appointment Scheduling

Version 1.0.0

Read a patient record, book an appointment, then read the appointment back to confirm it was created.

1 workflow 1 source API 1 provider
View Spec View on GitHub EHRElectronic Health RecordsHealthcareMedical RecordsPractice ManagementHIPAAAppointmentsBillingPrescriptionsLab IntegrationFHIRArazzoWorkflows

Provider

drchrono

Workflows

appointment-scheduling
Book an appointment for a patient and confirm it.
Reads the patient, creates the appointment, and reads it back to confirm.
3 steps inputs: appointment, patientId outputs: appointment, appointmentId
1
readPatient
patients_read
Read the patient record the appointment will be booked for.
2
bookAppointment
appointments_create
Create the appointment against the patient.
3
confirmAppointment
appointments_read
Read the booked appointment back to confirm it was created.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: drChrono Appointment Scheduling
  summary: Read a patient record, book an appointment, then read the appointment back to confirm it was created.
  description: >-
    An appointment scheduling flow against the drChrono EHR REST API. The patient
    is read to confirm the record exists, an appointment is created against that
    patient, and the booked appointment is read back to confirm. This mirrors the
    typical front-desk scheduling step that precedes a clinical encounter. Every
    step inlines its request so the flow is self-contained.
  version: 1.0.0
sourceDescriptions:
- name: drchronoApi
  url: ../openapi/drchrono-rest-api-openapi.yml
  type: openapi
workflows:
- workflowId: appointment-scheduling
  summary: Book an appointment for a patient and confirm it.
  description: >-
    Reads the patient, creates the appointment, and reads it back to confirm.
  inputs:
    type: object
    required:
    - patientId
    - appointment
    properties:
      patientId:
        type: string
        description: Identifier of the patient the appointment is booked for.
      appointment:
        type: object
        description: The drChrono appointment resource to book (doctor, office, scheduled time, and exam room).
  steps:
  - stepId: readPatient
    description: Read the patient record the appointment will be booked for.
    operationId: patients_read
    parameters:
    - name: id
      in: path
      value: $inputs.patientId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      patientId: $response.body#/id
  - stepId: bookAppointment
    description: Create the appointment against the patient.
    operationId: appointments_create
    requestBody:
      contentType: application/json
      payload: $inputs.appointment
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      appointmentId: $response.body#/id
  - stepId: confirmAppointment
    description: Read the booked appointment back to confirm it was created.
    operationId: appointments_read
    parameters:
    - name: id
      in: path
      value: $steps.bookAppointment.outputs.appointmentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      appointment: $response.body
  outputs:
    appointmentId: $steps.bookAppointment.outputs.appointmentId
    appointment: $steps.confirmAppointment.outputs.appointment