drchrono Clinical API

Create and manage clinical resources

Operations 231

POST /api/claim_billing_notes #
GET /api/claim_billing_notes #
POST /api/custom_appointment_fields #
GET /api/custom_appointment_fields #
PUT /api/lab_orders/{id} #
PATCH /api/lab_orders/{id} #
GET /api/lab_orders/{id} #
DELETE /api/lab_orders/{id} #
POST /api/clinical_notes_list #
GET /api/clinical_notes_list #
GET /api/custom_vitals/{id} #
PUT /api/sublabs/{id} #
PATCH /api/sublabs/{id} #
GET /api/sublabs/{id} #
DELETE /api/sublabs/{id} #
GET /api/patients/{id}/qrda1 #
POST /api/problems #
GET /api/problems #
GET /api/staff #
PUT /api/patient_messages/{id} #
PATCH /api/patient_messages/{id} #
GET /api/patient_messages/{id} #
POST /api/medications #
GET /api/medications #
POST /api/custom_demographics #
GET /api/custom_demographics #
POST /api/appointments_list #
GET /api/appointments_list #
POST /api/appointment_profiles #
GET /api/appointment_profiles #
POST /api/patient_communications #
GET /api/patient_communications #
PUT /api/appointment_profiles/{id} #
PATCH /api/appointment_profiles/{id} #
GET /api/appointment_profiles/{id} #
DELETE /api/appointment_profiles/{id} #
PUT /api/clinical_note_field_values/{id} #
PATCH /api/clinical_note_field_values/{id} #
GET /api/clinical_note_field_values/{id} #
GET /api/fee_schedules_v2 #
GET /api/care_team_members #
PUT /api/reminder_profiles/{id} #
PATCH /api/reminder_profiles/{id} #
GET /api/reminder_profiles/{id} #
DELETE /api/reminder_profiles/{id} #
POST /api/patients_list #
GET /api/patients_list #
POST /api/patient_interventions #
GET /api/patient_interventions #
POST /api/patient_messages #
GET /api/patient_messages #
PUT /api/patient_physical_exams/{id} #
PATCH /api/patient_physical_exams/{id} #
GET /api/patient_physical_exams/{id} #
POST /api/clinical_note_field_values #
GET /api/clinical_note_field_values #
POST /api/patients #
GET /api/patients #
GET /api/implantable_devices/{id} #
PUT /api/patient_communications/{id} #
PATCH /api/patient_communications/{id} #
GET /api/patient_communications/{id} #
GET /api/prescription_messages/{id} #
GET /api/implantable_devices #
POST /api/patient_risk_assessments #
GET /api/patient_risk_assessments #
POST /api/patients_summary #
GET /api/patients_summary #
PUT /api/documents/{id} #
PATCH /api/documents/{id} #
GET /api/documents/{id} #
DELETE /api/documents/{id} #
POST /api/patients/{id}/onpatient_access #
GET /api/patients/{id}/onpatient_access #
DELETE /api/patients/{id}/onpatient_access #
PUT /api/lab_results/{id} #
PATCH /api/lab_results/{id} #
GET /api/lab_results/{id} #
DELETE /api/lab_results/{id} #
PUT /api/medications/{id} #
PATCH /api/medications/{id} #
GET /api/medications/{id} #
PATCH /api/medications/{id}/append_to_pharmacy_note #
PUT /api/patient_vaccine_records/{id} #
PATCH /api/patient_vaccine_records/{id} #
GET /api/patient_vaccine_records/{id} #
PUT /api/patient_flag_types/{id} #
PATCH /api/patient_flag_types/{id} #
GET /api/patient_flag_types/{id} #
PATCH /api/clinical_note_field_types/{id} #
GET /api/clinical_note_field_types/{id} #
GET /api/fee_schedules #
PUT /api/patient_risk_assessments/{id} #
PATCH /api/patient_risk_assessments/{id} #
GET /api/patient_risk_assessments/{id} #
PUT /api/lab_documents/{id} #
PATCH /api/lab_documents/{id} #
GET /api/lab_documents/{id} #
DELETE /api/lab_documents/{id} #
PUT /api/appointment_templates/{id} #
PATCH /api/appointment_templates/{id} #
GET /api/appointment_templates/{id} #
DELETE /api/appointment_templates/{id} #
PUT /api/patient_interventions/{id} #
PATCH /api/patient_interventions/{id} #
GET /api/patient_interventions/{id} #
PUT /api/allergies/{id} #
PATCH /api/allergies/{id} #
GET /api/allergies/{id} #
GET /api/patients/{id}/ccda #
GET /api/lab_orders_summary #
GET /api/clinical_note_field_values_list #
GET /api/care_plans/{id} #
GET /api/fee_schedules/{id} #
PUT /api/appointments/{id} #
PATCH /api/appointments/{id} #
GET /api/appointments/{id} #
DELETE /api/appointments/{id} #
POST /api/telehealth_appointments #
GET /api/telehealth_appointments #
GET /api/care_plans #
POST /api/patient_physical_exams #
GET /api/patient_physical_exams #
GET /api/clinical_note_templates/{id} #
POST /api/lab_results #
GET /api/lab_results #
PUT /api/problems/{id} #
PATCH /api/problems/{id} #
GET /api/problems/{id} #
POST /api/amendments #
GET /api/amendments #
POST /api/lab_orders #
GET /api/lab_orders #
POST /api/patient_flag_types #
GET /api/patient_flag_types #
GET /api/recurring_appointment_instances #
PUT /api/custom_appointment_fields/{id} #
PATCH /api/custom_appointment_fields/{id} #
GET /api/custom_appointment_fields/{id} #
POST /api/eobs #
GET /api/eobs #
GET /api/insurances #
POST /api/telehealth_appointment_history #
GET /api/telehealth_appointment_history #
PUT /api/patients_summary/{id} #
PATCH /api/patients_summary/{id} #
GET /api/patients_summary/{id} #
DELETE /api/patients_summary/{id} #
POST /api/lab_documents #
GET /api/lab_documents #
PUT /api/lab_tests/{id} #
PATCH /api/lab_tests/{id} #
GET /api/lab_tests/{id} #
DELETE /api/lab_tests/{id} #
POST /api/prescription_messages_list #
GET /api/prescription_messages_list #
PUT /api/patients/{id} #
PATCH /api/patients/{id} #
GET /api/patients/{id} #
DELETE /api/patients/{id} #
GET /api/patients/{id}/ccda_async #
GET /api/custom_vitals #
POST /api/schedule_blocks Create a schedule block #
GET /api/schedule_blocks Retrieve and search schedule blocks #
GET /api/care_team_members/{id} #
GET /api/claim_billing_notes/{id} #
PUT /api/patient_lab_results/{id} #
PATCH /api/patient_lab_results/{id} #
GET /api/patient_lab_results/{id} #
DELETE /api/patient_lab_results/{id} #
PUT /api/amendments/{id} #
PATCH /api/amendments/{id} #
GET /api/amendments/{id} #
DELETE /api/amendments/{id} #
POST /api/lab_tests #
GET /api/lab_tests #
PUT /api/appointments_list/{id} #
PATCH /api/appointments_list/{id} #
GET /api/appointments_list/{id} #
DELETE /api/appointments_list/{id} #
POST /api/patient_lab_results #
GET /api/patient_lab_results #
GET /api/fee_schedules_v2/{id} #
GET /api/insurances/{id} #
GET /api/clinical_notes #
POST /api/eligibility_checks_list #
GET /api/telehealth_appointment_history/{id} #
GET /api/clinical_notes/{id} #
GET /api/clinical_note_field_types #
POST /api/documents #
GET /api/documents #
GET /api/staff/{id} #
PUT /api/schedule_blocks/{id} Update a schedule block #
PATCH /api/schedule_blocks/{id} Partially update a schedule block #
GET /api/schedule_blocks/{id} Retrieve a schedule block #
DELETE /api/schedule_blocks/{id} Delete a schedule block #
GET /api/lab_orders_summary/{id} #
PUT /api/custom_demographics/{id} #
PATCH /api/custom_demographics/{id} #
GET /api/custom_demographics/{id} #
GET /api/eobs/{id} #
POST /api/allergies #
GET /api/allergies #
POST /api/appointments #
GET /api/appointments #
GET /api/clinical_note_templates #
POST /api/reminder_profiles #
GET /api/reminder_profiles #
POST /api/appointment_templates #
GET /api/appointment_templates #
POST /api/patient_vaccine_records #
GET /api/patient_vaccine_records #
PUT /api/telehealth_appointments/{id} #
PATCH /api/telehealth_appointments/{id} #
GET /api/telehealth_appointments/{id} #
GET /api/prescription_messages #
POST /api/sublabs #
GET /api/sublabs #
POST /api/yellow_notepad #
GET /api/yellow_notepad #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/drchrono-clinical-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

drchrono-clinical-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Drchrono Clinical API
  version: v4 - Hunt Valley
  x-logo:
    url: https://www.drchrono.com/site_media/images/logos/drchrono-black-wpadding.png
    altText: DrChrono Logo
  description: 'Operations tagged Clinical across 2 of this provider''s published API definitions: drchrono-rest-api-openapi-schema.json, drchrono-rest-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://app.drchrono.com
tags:
- description: Create and manage clinical resources
  name: Clinical
paths:
  /api/claim_billing_notes:
    post:
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClaimBillingNotes'
          description: Created
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: integer
          description: ''
          title: appointment
        required: false
        description: ''
        name: appointment
        in: query
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      tags:
      - Clinical
      x-permissions:
      - billing
      - show-billing-tab
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - billing:read
        - billing:write
      operationId: claim_billing_notes_create
      description: Create a new billing note
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                title: ''
                type: object
                description: Paginated Result
                properties:
                  previous:
                    type: string
                    description: Previous paginated page
                    title: previous
                  data:
                    items:
                      $ref: '#/components/schemas/ClaimBillingNotes'
                    type: array
                    description: result data
                    title: data
                  next:
                    type: string
                    description: Next Paginated page
                    title: next
          description: OK
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: string
          description: The pagination cursor value.
          title: Cursor
        required: false
        name: cursor
        in: query
      - schema:
          type: integer
          description: Number of results to return per page.
          title: Page size
        required: false
        name: page_size
        in: query
      - schema:
          type: integer
          description: ''
          title: appointment
        required: false
        description: ''
        name: appointment
        in: query
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      tags:
      - Clinical
      x-permissions:
      - billing
      - show-billing-tab
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - billing:read
        - billing:write
      operationId: claim_billing_notes_list
      description: Retrieve or search billing notes
    servers:
    - url: https://app.drchrono.com
  /api/signed_consent_forms:
    post:
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignedConsentForm'
          description: Created
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: integer
          title: patient
        required: true
        description: ID of the patient to associate with the consent form
        name: patient
        in: query
      - schema:
          type: integer
          title: appointment
        required: true
        description: ID of the appointment to associate with the consent form
        name: appointment
        in: query
      - schema:
          type: integer
          title: consent_form
        required: true
        description: ID of the consent form that was signed
        name: consent_form
        in: query
      - schema:
          type: file
          title: signature_file
        required: false
        description: File containing the patient's signature
        name: signature_file
        in: query
      tags:
      - Clinical
      description: Create a signed consent form record for a patient and consent form
      x-permissions:
      - manage-patients
      summary: signed_consent_forms Create
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SignedConsentFormUpdate'
      x-practice-access: '"share_consent_forms" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - patients:read
        - patients:write
      operationId: signed_consent_forms_create
    patch:
      responses:
        '204':
          content: {}
          description: No Content
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: integer
          description: ID of the consent form signature to update
          title: id
        required: true
        name: id
        in: query
      - schema:
          type: integer
          title: patient
        required: false
        description: ID of the patient to filter by
        name: patient
        in: query
      tags:
      - Clinical
      description: Update an existing consent form signature
      x-permissions:
      - manage-patients
      summary: signed_consent_forms Update
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                archived:
                  type: boolean
                  description: Whether to archive the consent form signature
                appointment:
                  type: integer
                  description: ID of the appointment to assign the consent form signature to
                id:
                  type: integer
                  description: ID of the consent form signature to update
                signature_file:
                  type: string
                  description: Base64-encoded signature file to update
                  format: binary
              examples:
                ArchiveSignature:
                  value:
                    archived: true
                    id: 12345
                AssignToDifferentAppointment:
                  value:
                    appointment: 67890
                    id: 12345
                UpdateSignatureFile:
                  value:
                    id: 12345
                    signature_file: base64-encoded-signature-file
      x-practice-access: '"share_consent_forms" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - patients:read
        - patients:write
      operationId: signed_consent_forms_partial_update
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                title: ''
                type: object
                description: Paginated Result
                properties:
                  previous:
                    type: string
                    description: Previous paginated page
                    title: previous
                  results:
                    items:
                      $ref: '#/components/schemas/SignedConsentForm'
                    type: array
                    description: List of consent form signatures
                    title: results
                  next:
                    type: string
                    description: Next Paginated page
                    title: next
          description: OK
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: string
          description: The pagination cursor value.
          title: Cursor
        required: false
        name: cursor
        in: query
      - schema:
          type: integer
          description: Number of results to return per page.
          title: Page size
        required: false
        name: page_size
        in: query
      - schema:
          type: integer
          description: ID of the patient to filter by
          title: patient
        required: false
        description: ''
        name: patient
        in: query
      - schema:
          type: integer
          description: ID of the doctor to filter by
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      tags:
      - Clinical
      description: Retrieve or search signed consent forms
      x-permissions:
      - manage-patients
      summary: signed_consent_forms Get
      requestBody:
        content:
          application/json:
            examples:
              example1:
                description: Example of filtering by patient
                value:
                  patient: 12345
            schema:
              $ref: '#/components/schemas/SignedConsentForm'
      x-practice-access: '"share_consent_forms" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - patients:read
        - patients:write
      operationId: signed_consent_forms_list
    servers:
    - url: https://app.drchrono.com
  /api/custom_appointment_fields:
    post:
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomAppointmentFieldType'
          description: Created
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      tags:
      - Clinical
      x-permissions:
      - clinical-notes
      - settings
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - clinical:read
        - clinical:write
        - settings:read
        - settings:write
      operationId: custom_appointment_fields_create
      description: Create custom appointment fields
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                title: ''
                type: object
                description: Paginated Result
                properties:
                  previous:
                    type: string
                    description: Previous paginated page
                    title: previous
                  data:
                    items:
                      $ref: '#/components/schemas/CustomAppointmentFieldType'
                    type: array
                    description: result data
                    title: data
                  next:
                    type: string
                    description: Next Paginated page
                    title: next
          description: OK
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: string
          description: The pagination cursor value.
          title: Cursor
        required: false
        name: cursor
        in: query
      - schema:
          type: integer
          description: Number of results to return per page.
          title: Page size
        required: false
        name: page_size
        in: query
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      tags:
      - Clinical
      x-permissions:
      - clinical-notes
      - settings
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - clinical:read
        - clinical:write
        - settings:read
        - settings:write
      operationId: custom_appointment_fields_list
      description: Retrieve or search custom appointment fields
    servers:
    - url: https://app.drchrono.com
  /api/lab_orders/{id}:
    put:
      responses:
        '204':
          content: {}
          description: No Content
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: string
          description: ''
          title: ''
        required: true
        name: id
        in: path
      - schema:
          type: string
          description: ''
          title: since
        required: false
        description: ''
        name: since
        in: query
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      tags:
      - Clinical
      x-permissions: []
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - labs:read
        - labs:write
      operationId: lab_orders_update
      description: Update an existing lab order
    patch:
      responses:
        '204':
          content: {}
          description: No Content
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: string
          description: ''
          title: ''
        required: true
        name: id
        in: path
      - schema:
          type: string
          description: ''
          title: since
        required: false
        description: ''
        name: since
        in: query
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      tags:
      - Clinical
      x-permissions: []
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - labs:read
        - labs:write
      operationId: lab_orders_partial_update
      description: Update an existing lab order
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabOrder'
          description: OK
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: string
          description: ''
          title: ''
        required: true
        name: id
        in: path
      - schema:
          type: string
          description: ''
          title: since
        required: false
        description: ''
        name: since
        in: query
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      tags:
      - Clinical
      x-permissions: []
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - labs:read
        - labs:write
      operationId: lab_orders_read
      description: Retrieve an existing lab order
    delete:
      responses:
        '204':
          content: {}
          description: No Content
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: string
          description: ''
          title: ''
        required: true
        name: id
        in: path
      - schema:
          type: string
          description: ''
          title: since
        required: false
        description: ''
        name: since
        in: query
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      tags:
      - Clinical
      x-permissions: []
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - labs:read
        - labs:write
      operationId: lab_orders_delete
      description: Delete an existing lab order
    servers:
    - url: https://app.drchrono.com
  /api/clinical_notes_list:
    post:
      responses:
        '201':
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: string
                    description: Status of the request. Upon creation this will be "In progress"
                    title: status
                  uuid:
                    type: string
                    description: UUID of the batch of patients.
                    title: uuid
                  description:
                    type: string
                    description: Contains link to load the batch by UUID
          description: Created
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: string
          title: order_by
        required: false
        description: 'Order results by a specific field. Valid options include [id, updated_at]. Default: id.'
        name: order_by
        in: query
      - schema:
          type: integer
          description: Number of results to return per page. Value between 1 and 1000.
          title: Page size
        required: false
        name: page_size
        in: query
      - schema:
          type: integer
          description: Number of page to return. Value between 1 and max number of pages in result set.
          title: Page
        required: false
        name: page
        in: query
      - schema:
          type: integer
          description: Patient ID filter
          title: patient
        required: false
        description: Patient ID filter
        name: patient
        in: query
      - schema:
          type: integer
          description: Office ID filter
          title: office
        required: false
        description: Office ID filter
        name: office
        in: query
      - schema:
          type: integer
          description: Doctor ID filter
          title: doctor
        required: false
        description: Doctor ID filter
        name: doctor
        in: query
      - schema:
          type: string
          description: Inclusive lower bound on clinical note updated/created time.
          title: since
        required: false
        description: Inclusive lower bound on clinical note updated/created time.
        name: since
        in: query
      - schema:
          type: string
          description: Inclusive bounded date range on appointment scheduled date
          title: date_range
        required: false
        description: Inclusive bounded date range on appointment scheduled date
        name: date_range
        in: query
      - schema:
          type: string
          description: Filter on specific appointment scheduled date
          title: date
        required: false
        description: Filter on specific appointment scheduled date
        name: date
        in: query
      - schema:
          type: boolean
          description: When `true` includes yellow notes
          title: verbose
        required: false
        description: When `true` includes yellow notes
        name: verbose
        in: query
      tags:
      - Clinical
      x-permissions:
      - clinical-notes
      x-practice-access: '"share_clinical_templates" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - clinical:read
        - clinical:write
      operationId: clinical_notes_list_create
      description: 'Create clinical note list request.  Use the UUID returned in the response to retrieve the batch of records. Results returned in order of ID.

        '
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                title: ''
                type: object
                description: Paginated Result
                properties:
                  status:
                    type: string
                    description: 'Status of the request.  Possible values are "Complete" or "In progress".

                      '
                    title: status
                  pagination:
                    properties:
                      count:
                        type: int
                        description: the count of all records in the result set.
                        title: count
                      pages:
                        type: int
                        description: the total pages of all pages in the result set.
                        title: pages
                      page:
                        type: int
                        description: the current page (starting with 1) in the total pages.
                        title: page
                    type: object
                    description: information on the total pages, current page and total count.
                    title: pagination
                  results:
                    items:
                      $ref: '#/components/schemas/ClinicalNote'
                    type: array
                    description: result data. only presented when the status is "Complete"
                    title: data
                  uuid:
                    type: string
                    description: UUID of the batch of patients.
                    title: uuid
          description: OK
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncResourceError'
          description: Internal Server Error
      parameters:
      - schema:
          type: string
          description: ''
          title: uuid
        required: false
        description: 'The UUID token for the batch of clinical notes.  This is returned in the response of the `create` endpoint.

          '
        name: uuid
        in: query
      tags:
      - Clinical
      x-permissions:
      - clinical-notes
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - clinical:read
      operationId: clinical_notes_list_list
      description: Retrieve or search clinical notes in batches. Results returned in order of ID.
    servers:
    - url: https://app.drchrono.com
  /api/custom_vitals/{id}:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomVitalType'
          description: OK
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: string
          description: ''
          title: ''
        required: true
        name: id
        in: path
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      tags:
      - Clinical
      x-permissions:
      - clinical-notes
      - settings
      x-practice-access: '"share_clinical_templates" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - clinical:read
        - clinical:write
        - settings:read
        - settings:write
      operationId: custom_vitals_read
      description: Retrieve an existing custom vital type
    servers:
    - url: https://app.drchrono.com
  /api/sublabs/{id}:
    put:
      responses:
        '204':
          content: {}
          description: No Content
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: integer
          description: A unique integer value identifying this lab vendor location.
          title: ID
        required: true
        name: id
        in: path
      tags:
      - Clinical
      x-permissions: []
      x-practice-access: Data access among practice is available
      security:
      - drchrono_oauth2:
        - labs:read
        - labs:write
      operationId: sublabs_update
      description: Update an existing sub vendor
    patch:
      responses:
        '204':
          content: {}
          description: No Content
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: integer
          description: A unique integer value identifying this lab vendor location.
          title: ID
        required: true
        name: id
        in: path
      tags:
      - Clinical
      x-permissions: []
      x-practice-access: Data access among practice is available
      security:
      - drchrono_oauth2:
        - labs:read
        - labs:write
      operationId: sublabs_partial_update
      description: Update an existing sub vendor
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabVendorLocation'
          description: OK
        '405':
          content: {}
          description: Method Not Allowed
        '404':
          content: {}
          description: Not Found
        '403':
          content: {}
          description: Permission Denied
        '401':
          content: {}
          description: Unauthorized
        '400':
          content: {}
          description: Bad Request
        '500':
          content: {}
          description: Internal Server Error
      parameters:
      - schema:
          type: integer
          description: A unique integer value identifying this lab vendor location.
          title: ID
        required: true
        name: id
        in: path
      tags:
      - Clinical
      x-permissions: []
      x-practice-access: Data access among practice is available
      security:
      - drchrono_oauth2:
        - labs:read
        - labs:write
      operationId: sublabs_rea

# --- truncated at 32 KB (637 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/drchrono/refs/heads/main/openapi/drchrono-clinical-api-openapi.yml