drchrono · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Drchrono Practice Management API
53 actions
53 updates
phrasing
extends
openapi/drchrono-practice-management-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for drchrono's API. It is a proposal applied on top of the contract, not a document drchrono publishes.
What the actions change
x-apievangelist-phrasing
Targets 53 · first 16 shown; the file carries all of them
$.info
$.paths['/api/doctor_work_schedule/{id}'].get
$.paths['/api/doctor_work_schedule/{id}'].put
$.paths['/api/doctor_work_schedule/{id}'].patch
$.paths['/api/messages'].get
$.paths['/api/messages'].post
$.paths['/api/task_categories'].get
$.paths['/api/task_categories'].post
$.paths['/api/offices/{id}/add_exam_room'].post
$.paths['/api/inventory_vaccines/{id}'].get
$.paths['/api/offices'].get
$.paths['/api/task_statuses/{id}'].get
$.paths['/api/task_statuses/{id}'].put
$.paths['/api/task_statuses/{id}'].patch
$.paths['/api/office_work_schedule'].get
$.paths['/api/task_templates'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Drchrono Practice Management API
version: 1.0.0
extends: openapi/drchrono-practice-management-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 52
- target: $.paths['/api/doctor_work_schedule/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a doctor work schedule
effect: read
questions:
- How do I look up a specific doctor work schedule by its ID?
- Which hours are set on doctor work schedule record I already have an ID for?
instructions:
- text: Get doctor work schedule {id}.
slots:
id: path.id
- text: Show the working hours stored in doctor schedule {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/doctor_work_schedule/{id}'].put
update:
x-apievangelist-phrasing:
intent: Replace a doctor's entire work schedule
effect: write
questions:
- Can I overwrite a doctor's whole work schedule in one request?
- What happens to existing hours when I replace a doctor work schedule completely?
instructions:
- text: Replace the entire doctor work schedule {id} with a new set of hours.
slots:
id: path.id
- text: Overwrite every day of doctor schedule {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/doctor_work_schedule/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Adjust part of a doctor's work schedule
effect: write
questions:
- Can I change just one day of a doctor's work schedule without resending the rest?
- Is it possible to tweak a few hours on a doctor's schedule?
instructions:
- text: Change only some of the hours on doctor work schedule {id}.
slots:
id: path.id
- text: Patch doctor schedule {id} to adjust a single day.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/messages'].get
update:
x-apievangelist-phrasing:
intent: Search messages in the message center
effect: read
questions:
- How do I list messages in a doctor's message center for one patient?
- Can I find messages received since a certain date?
- Which messages are assigned to a particular responsible user?
instructions:
- text: List message center messages for patient {patient}.
slots:
patient: query.patient
- text: Find messages received since {received_since}.
slots:
received_since: query.received_since
- text: Show messages assigned to responsible user {responsible_user}.
slots:
responsible_user: query.responsible_user
method: generated
generated: '2026-09-26'
- target: $.paths['/api/messages'].post
update:
x-apievangelist-phrasing:
intent: Add a message to the message center
effect: write
questions:
- Can I post a new message into a doctor's message center through the API?
- How do I create a message center entry for a patient?
instructions:
- text: Create a new message in the doctor's message center.
- text: Add a message for a patient to the message center inbox.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_categories'].get
update:
x-apievangelist-phrasing:
intent: List task categories
effect: read
questions:
- What task categories are set up in my practice?
- Can I see task categories changed since a certain date?
instructions:
- text: List all task categories.
- text: Show task categories updated since {since}.
slots:
since: query.since
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_categories'].post
update:
x-apievangelist-phrasing:
intent: Create a task category
effect: write
questions:
- Can I add a new category for organizing tasks?
- How do I set up a custom task category?
instructions:
- text: Create a new task category.
- text: Add a task category for billing follow-ups.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/offices/{id}/add_exam_room'].post
update:
x-apievangelist-phrasing:
intent: Add an exam room to an office
effect: write
questions:
- Can I add a new exam room to an existing office?
- How do I create another exam room at one of our locations?
instructions:
- text: Add an exam room to office {id}.
slots:
id: path.id
- text: Create a new exam room at office {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/inventory_vaccines/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a vaccine inventory item
effect: read
questions:
- How do I look up one vaccine inventory record?
- What lot and quantity details are on a specific vaccine inventory entry?
instructions:
- text: Get vaccine inventory {id}.
slots:
id: path.id
- text: Show lot details for vaccine inventory {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/offices'].get
update:
x-apievangelist-phrasing:
intent: List practice offices
effect: read
questions:
- Which offices does my practice have?
- Can I list the offices a specific doctor works at?
instructions:
- text: List all offices in the practice.
- text: Show offices for doctor {doctor}.
slots:
doctor: query.doctor
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_statuses/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a task status
effect: read
questions:
- How do I fetch a single task status by ID?
- What does one task status record contain?
instructions:
- text: Get task status {id}.
slots:
id: path.id
- text: Show the details of task status {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_statuses/{id}'].put
update:
x-apievangelist-phrasing:
intent: Replace a task status
effect: write
questions:
- Can I fully replace an existing task status definition?
- Does a full task status update overwrite all its fields?
instructions:
- text: Replace task status {id} with new values.
slots:
id: path.id
- text: Overwrite every field on task status {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_statuses/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Rename or tweak a task status
effect: write
questions:
- Can I rename a task status without changing anything else?
- Is a partial edit of a task status possible?
instructions:
- text: Rename task status {id}.
slots:
id: path.id
- text: Patch one field on task status {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/office_work_schedule'].get
update:
x-apievangelist-phrasing:
intent: Get my primary office's work schedule
effect: read
questions:
- What are the opening hours of my primary office in drchrono?
- Can I see the office-level work schedule for the practice I'm logged into?
instructions:
- text: Show when my main office location is open.
- text: List the operating hours of my main office.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_templates'].get
update:
x-apievangelist-phrasing:
intent: List task templates
effect: read
questions:
- What task templates exist for a given category?
- Can I find task templates assigned to a particular user group?
instructions:
- text: List task templates in category {category}.
slots:
category: query.category
- text: Show task templates assigned to user {assignee_user}.
slots:
assignee_user: query.assignee_user
- text: Find task templates for user group {assignee_group}.
slots:
assignee_group: query.assignee_group
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_templates'].post
update:
x-apievangelist-phrasing:
intent: Create a task template
effect: write
questions:
- Can I save a reusable template for tasks we create often?
- How do I set up a new task template?
instructions:
- text: Create a new task template.
- text: Add a reusable task template for refill requests.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/office_work_schedule/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve an office work schedule
effect: read
questions:
- How can I fetch one office work schedule by its ID?
- What hours does office schedule record look like for a given schedule ID?
instructions:
- text: Get office work schedule {id}.
slots:
id: path.id
- text: Show the opening hours stored in office schedule {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/office_work_schedule/{id}'].put
update:
x-apievangelist-phrasing:
intent: Replace an office's entire work schedule
effect: write
questions:
- Can I replace an office's full weekly schedule in a single call?
- Does replacing an office work schedule overwrite every day?
instructions:
- text: Replace the whole office work schedule {id}.
slots:
id: path.id
- text: Overwrite all opening hours on office schedule {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/office_work_schedule/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Adjust part of an office's work schedule
effect: write
questions:
- Can I change the office hours for just one day?
- Is there a way to update only some fields of an office work schedule?
instructions:
- text: Change only some of the opening hours on office schedule {id}.
slots:
id: path.id
- text: Patch office work schedule {id} to shorten one day.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/inventory_categories/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve an inventory category
effect: read
questions:
- How do I look up one inventory category by ID?
- What does a single inventory category record contain?
instructions:
- text: Get inventory category {id}.
slots:
id: path.id
- text: Show details of inventory category {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/tasks/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a task
effect: read
questions:
- How do I look up one task by its ID?
- What's the status and due date of a specific task?
instructions:
- text: Get task {id}.
slots:
id: path.id
- text: Show the status and due date of task {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/tasks/{id}'].put
update:
x-apievangelist-phrasing:
intent: Replace a task
effect: write
questions:
- Can I replace every field on an existing task?
- Is a full task overwrite supported?
instructions:
- text: Replace task {id} with updated details.
slots:
id: path.id
- text: Overwrite all fields on task {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/tasks/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a task's status or assignee
effect: write
questions:
- Can I mark a task complete without resending the whole task?
- Is it possible to reassign a task to someone else?
instructions:
- text: Mark task {id} as complete.
slots:
id: path.id
- text: Reassign task {id} to a different user.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/doctor_work_schedule'].get
update:
x-apievangelist-phrasing:
intent: Get my primary office's doctor work schedule
effect: read
questions:
- What does the doctor work schedule look like at my primary office?
- Can I see which hours the logged-in doctor is scheduled to work?
instructions:
- text: Show the doctor work schedule for my primary office.
- text: Pull my own weekly working hours from the doctor schedule.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/inventory_categories'].get
update:
x-apievangelist-phrasing:
intent: List inventory categories
effect: read
questions:
- What inventory categories are defined in my practice?
- Can I see inventory categories for one doctor?
instructions:
- text: List all inventory categories.
- text: Show inventory categories for doctor {doctor}.
slots:
doctor: query.doctor
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_statuses'].get
update:
x-apievangelist-phrasing:
intent: List task statuses
effect: read
questions:
- Which task statuses are available in the practice?
- Can I list task statuses modified since a date?
instructions:
- text: List all task statuses.
- text: Show task statuses changed since {since}.
slots:
since: query.since
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_statuses'].post
update:
x-apievangelist-phrasing:
intent: Create a task status
effect: write
questions:
- Can I define a custom status for tasks, like 'waiting on patient'?
- How do I add a new task status?
instructions:
- text: Create a new task status.
- text: Add a 'waiting on patient' task status.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_templates/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a task template
effect: read
questions:
- How do I view one task template by ID?
- What defaults does a specific task template carry?
instructions:
- text: Get task template {id}.
slots:
id: path.id
- text: Show the defaults on task template {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_templates/{id}'].put
update:
x-apievangelist-phrasing:
intent: Replace a task template
effect: write
questions:
- Can I replace a task template entirely?
- Is a full overwrite of a task template supported?
instructions:
- text: Replace task template {id} with new values.
slots:
id: path.id
- text: Overwrite every field on task template {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_templates/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Edit fields on a task template
effect: write
questions:
- Can I change only the default assignee on a task template?
- Is a partial update of a task template possible?
instructions:
- text: Change the default assignee on task template {id}.
slots:
id: path.id
- text: Patch a few fields on task template {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/message_threads/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve one message thread
effect: read
questions:
- How can I open a single conversation thread by its ID?
- What does one message thread return in the beta threads endpoint?
instructions:
- text: Get message thread {id}.
slots:
id: path.id
- text: Open conversation thread {id} from the message center.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/message_threads/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Archive, star or assign a message thread
effect: write
questions:
- Can I archive or star a conversation thread?
- How do I assign a message thread to specific staff or user groups?
instructions:
- text: Mark message thread {id} as archived {archived}.
slots:
id: path.id
archived: requestBody.archived
- text: 'Star message thread {id}: set starred to {starred}.'
slots:
id: path.id
starred: requestBody.starred
- text: Assign thread {id} to user groups {assigned_groups}.
slots:
id: path.id
assigned_groups: requestBody.assigned_groups
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_notes'].get
update:
x-apievangelist-phrasing:
intent: List notes on tasks
effect: read
questions:
- Which notes have been added to a particular task?
- Can I list task notes written since a certain date?
instructions:
- text: List notes on task {task}.
slots:
task: query.task
- text: Show task notes added since {since}.
slots:
since: query.since
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_notes'].post
update:
x-apievangelist-phrasing:
intent: Add a note to a task
effect: write
questions:
- Can I attach a comment to a task through the API?
- How do I add a note to a task?
instructions:
- text: Add a note to a task.
- text: Create a task note recording that the patient was called back.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/tasks'].get
update:
x-apievangelist-phrasing:
intent: Search tasks
effect: read
questions:
- What tasks are due on a specific date?
- Can I list open tasks assigned to one user?
- Which tasks have no due date set?
instructions:
- text: List tasks due on {due_at_date}.
slots:
due_at_date: query.due_at_date
- text: Show tasks assigned to user {assignee_user} with status {status}.
slots:
assignee_user: query.assignee_user
status: query.status
- text: Find tasks in category {category} due since {due_at_since}.
slots:
category: query.category
due_at_since: query.due_at_since
method: generated
generated: '2026-09-26'
- target: $.paths['/api/tasks'].post
update:
x-apievangelist-phrasing:
intent: Create a task
effect: write
questions:
- Can I create a to-do task for my staff through the API?
- How do I add a new task to the practice task list?
instructions:
- text: Create a new task for the front desk.
- text: Add a task to follow up on a lab result.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/inventory_vaccines'].get
update:
x-apievangelist-phrasing:
intent: Search vaccine inventory
effect: read
questions:
- Which vaccines do we have in stock?
- Can I find vaccine inventory by CVX code?
- What vaccine lots have a particular status?
instructions:
- text: List vaccine inventory with CVX code {cvx_code}.
slots:
cvx_code: query.cvx_code
- text: Show vaccine inventory with status {status}.
slots:
status: query.status
method: generated
generated: '2026-09-26'
- target: $.paths['/api/inventory_vaccines'].post
update:
x-apievangelist-phrasing:
intent: Add vaccine inventory
effect: write
questions:
- Can I record a new vaccine shipment in inventory?
- How do I add a vaccine to the practice inventory?
instructions:
- text: Add a new vaccine lot to inventory.
- text: Record a new vaccine inventory entry.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_categories/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a task category
effect: read
questions:
- How do I look up one task category by ID?
- What fields does a single task category have?
instructions:
- text: Get task category {id}.
slots:
id: path.id
- text: Show the details of task category {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_categories/{id}'].put
update:
x-apievangelist-phrasing:
intent: Replace a task category
effect: write
questions:
- Can I fully replace an existing task category's settings?
- Is a full overwrite of a task category supported?
instructions:
- text: Replace task category {id} with new values.
slots:
id: path.id
- text: Overwrite every field on task category {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_categories/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Rename or tweak a task category
effect: write
questions:
- Can I just rename a task category without resending everything?
- Is it possible to change one field on a task category?
instructions:
- text: Rename task category {id}.
slots:
id: path.id
- text: Patch a single field on task category {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_notes/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a task note
effect: read
questions:
- How do I read a single task note by its ID?
- What does one task note contain?
instructions:
- text: Get task note {id}.
slots:
id: path.id
- text: Show the text of task note {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_notes/{id}'].put
update:
x-apievangelist-phrasing:
intent: Replace a task note
effect: write
questions:
- Can I rewrite a task note completely?
- Is a full replacement of a task note supported?
instructions:
- text: Replace task note {id} with new text.
slots:
id: path.id
- text: Overwrite every field on task note {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/task_notes/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Edit part of a task note
effect: write
questions:
- Can I fix a typo in a task note without resending it all?
- Is a partial edit of a task note possible?
instructions:
- text: Correct the text of task note {id}.
slots:
id: path.id
- text: Patch one field on task note {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/messages/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a message center message
effect: read
questions:
- How can I open a single message from the message center by ID?
- What details come back for one message center message?
instructions:
- text: Get message {id} from the message center.
slots:
id: path.id
- text: Show the contents of message center message {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/messages/{id}'].put
update:
x-apievangelist-phrasing:
intent: Replace a message center message
effect: write
questions:
- Can I replace all the fields on an existing message center message?
- Is a full update of a message in the message center supported?
instructions:
- text: Replace message center message {id} with updated content.
slots:
id: path.id
- text: Overwrite every field on message {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/messages/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a message center message
effect: destructive
questions:
- Can I permanently remove a message from the doctor's message center?
- What happens when a message center message is deleted?
instructions:
- text: Delete message center message {id}.
slots:
id: path.id
- text: Remove message {id} from the message center.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/messages/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Edit fields on a message center message
effect: write
questions:
- Can I change just the responsible user on an existing message?
- Is it possible to update only a few fields of a message center message?
instructions:
- text: Change only some fields on message {id}.
slots:
id: path.id
- text: Patch message center message {id} to reassign it.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/offices/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve an office
effect: read
questions:
- How do I get the address and details of one office?
- What exam rooms does a given office have?
instructions:
- text: Get office {id}.
slots:
id: path.id
- text: Show the address and exam rooms of office {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/offices/{id}'].put
update:
x-apievangelist-phrasing:
intent: Replace an office's details
effect: write
questions:
- Can I replace all of an office's details at once?
- Is a full overwrite of an office record supported?
instructions:
- text: Replace office {id} with new details.
slots:
id: path.id
- text: Overwrite every field on office {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/offices/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Edit an office's details
effect: write
questions:
- Can I change just an office's phone number?
- Is a partial update of an office record possible?
instructions:
- text: Update the phone number of office {id}.
slots:
id: path.id
- text: Patch a few fields on office {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/message_threads'].get
update:
x-apievangelist-phrasing:
intent: List conversation threads in the message center
effect: read
questions:
- How do I show an inbox-style list of message threads grouped by patient and subject?
- Can I list only starred or unread message threads?
- Which message threads have been archived?
instructions:
- text: List message threads for patient {patient}.
slots:
patient: query.patient
- text: Show message threads with unread messages.
- text: Find threads archived status {archived} updated since {updated_since}.
slots:
archived: query.archived
updated_since: query.updated_since
method: generated
generated: '2026-09-26'