NAV

Introduction

Welcome to the SteadyMD Partner API! You can use our API to create and manage healthcare for your patients. Create patients in our EMR, create intake forms, attach diagnostics, and request care from our Clinicians for your patients.

Download the OpenAPI Schema file for the SteadyMD Partner API: steadymd-partner-api-schema.json

Authentication

Asynchronous Consults

Asynchronous consults are a category of digital care characterized by no direct communication between the patient and the provider. Most commonly, patients will complete an intake questionnaire requesting treatment for a particular condition. Clinicians then review the intake to determine if the requested treatment is appropriate for the patient.

Async consults require you to:

  1. Add the patient requesting treatment to the EMR
  2. Create an Episode of Care
  3. Create an Intake
  4. Attach Intake Files
  5. Create Consult

Create a Patient

Prior to requesting care, you must create the patient in the EMR with all required demographic information. Patients are deduplicated using their date of birth and contact information. You can expect to receive the same guid if multiple visits are requested for the same patient.

Create an Episode

An Episode of Care is the container in which all care for a particular visit will occur. This 'guid' links the patient, the intake information, and all subsequent consults within this care experience.

Create an Intake

The Intake contains all of the clinically necessary information regarding a patient for the care being requested. This includes the questionnaire and corresponding answers, as well as, intake files.

Attach Intake Files

Intake files allow a partner to include images and other supported files to the encounter for a clinician to consider when providing asynchronous care. These may include diagnostic images, labs, and identity verification items such as government identification, and a selfie of the patient.

Supported file types include: png, jpeg, gif, pdf.

Create a Consult

Creating a Consult tells us that the visit is ready for clinical review. When you create a Consult, you will need to specify the Program which the Consult is for, the US State where the Patient is current located, and the type of Consult you are requesting.

Receiving Updates

SteadyMD will notify you of status changes via the asynchronous notification channel you selected during integration. This is an SNS notification received via either HTTPS or SQS.

Example payload

{
    "clinicianGuid": "2af15902-c9b7-48e7-aec3-28fcfcde309c",
    "consultGuid": "c61c6a96-9c95-4151-a86b-35e24cf015db",
    "emrUri": "steadymd://episode/78d18d43-5d92-4b7a-aad2-c996b6f1df02",
    "episodeGuid": "30c7065d-5856-426f-a119-1a9267caef20",
    "eventId": "469b2224-a4b7-4025-84cd-f14376d60d7a",
    "eventType": "ConsultStatusChange",
    "generatedAt": "2022-02-02T20:18:29",
    "oldStatus": "in_progress",
    "newStatus": "complete",
    "programGuid": "238e0071-0977-4448-8021-7f3dd3fce312"
}

Messaging

Some US States require a Provider-Patient Relationship be established prior to providing care. In some circumstances, this can be done through one-way or bi-directional messaging (varying by state). Or if a more complex condition is being treated, messaging may be enabled to provided asyncronous, bi-directional communication between the provider and patient. The Message API allows you to send messages to the Clinician on behalf of your Patient and to receive messages from the Clinician for your Patient.

Creating a Message

Create a new message by posting the message to the Message API.

Receiving a Message

You will receive notifications from SteadyMD via the asynchronous messaging channel you selected during integration. Currently this is an SNS notification via HTTPS or SQS.

Example Payload

{
    "emrUri": "steadymd://episode/78d18d43-5d92-4b7a-aad2-c996b6f1df02",
    "episodeGuid": "30c7065d-5856-426f-a119-1a9267caef20",
    "eventId": "469b2224-a4b7-4025-84cd-f14376d60d7a",
    "eventType": "MessageCreated",
    "generatedAt": "2022-02-02T20:18:29",
    "messageGuid": "2af15902-c9b7-48e7-aec3-28fcfcde309c"
}

When you receive the payload, you can use the included messageGuid to retrieve the message from the Message API. We never include PHI in notification payloads.

Synchronous Consults

Synchronous (sync) visits are a category of digital care characterized by live clinician/patient interactions. Sync visits can occur over Instant Messaging, Phone, or Video. Depending on the type of care, intake questionnaires and files may still be required. SteadyMD offers on demand and scheduled options for sync visits.

Scheduled Consults

Scheduled Consults are supported via limited or complete integrations and allow partners and patients to schedule sync visits prior to when the appointment will occur. Partners who have a complete integration will have higher rates of availability due to the higher volume of eligible clinicians and reduced clinician onboarding requirements.

Prior to scheduling a sync consult, partners must retrieve the available appointment times. Availability will only display for clinicians who are on shift and eligible to cover the program. Clinician eligibility is determined by clinician type, state licensure, and are trained and staffed on the program.

A timeslot is not reserved until the consult is scheduled; if another patient selects a timeslot shown in your original pull of availability, you will receive an error to try again.

SteadyMD Scheduling Element

Example Request

curl -X POST /v1/consult/{guid}/schedule/patientUI \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

Request Body

{
  "returnUrl": "string",
  "element": "schedule"
}

Response Body

{
  "url": "string",
  "expiresAt": "2019-08-24T14:15:22Z"
}

SteadyMD offers scheduling UI elements. Partners can re-direct patient to these elements to book their virtual visits instead of building your own scheduling interface.

After creating a Consult for a Program which requires scheduled visits, use the Patient UI endpoint to create a unique URL. Your patient can use this URL to view available time slots up to one week in advance and then book their chosen time with a SteadyMD Clinician.

  1. Create Patient
  2. Create Episode
  3. Create Consult - the consult state will be "waiting to schedule"
  4. Retrieve Patient Scheduling Element URL

Partner Hosted Scheduling

  1. Create Patient
  2. Create Episode
  3. Create Consult - the consult state will be "waiting to schedule"
  4. Retrieve Availability
  5. Schedule Consult for the patient's desired time.

Platform Events

Platform events are AWS SNS notifications which are delivered to you via AWS SQS or HTTPS. Events will not contain PHI. Events provide the GUID of the object that generated the event and some some metadata about the event.

Consult Status Change

A status change is generated whenever the visit_status field changes on a given Consult.

When you receive a notification, you can use the referenced GUIDs to retrieve the objects from our API. Retrieve the Episode from the API to get the treatment plan, prescription, and pharmacy information after a Consult has been completed.

Example Payload

{
  "clinicianGuid": "6dbc7e3f-e08e-464e-9975-f4969219e7e4",
  "consultGuid": "f49cfcbf-1d44-4f2c-ba78-03587b01634a",
  "emrUri": "steadymd://episode/06f0c88b-9bd2-444b-ae76-bc71bfc25f68",
  "episodeGuid": "06f0c88b-9bd2-444b-ae76-bc71bfc25f68",
  "eventId": "1dabf8c1-f1f7-4adb-bbcf-b1f2d6cb2909",
  "eventType": "ConsultStatusChange",
  "generatedAt": "2022-03-08T03:41:36",
  "newStatus": "in_progress",
  "oldStatus": "unassigned",
  "programGuid": "225b25fa-2d6e-4734-967a-470d4630820f",
  "metadata": {}
}

Properties

Name Type Required Restrictions Description
clinicianGuid string(uuid) | null true none Will be null if no Clinician is assigned.
consultGuid string(uuid) true none none
emrUri string true none none
episodeGuid string(uuid) true none none
eventId string(uuid) true none none
eventType string true none none
generatedAt string(datetime) true none none
newStatus string true none See Consult visitStatus enums for possible values.
oldStatus string false none See Consult visitStatus enums for possible values.
programGuid string(uuid) true none none
metadata json false none none

Message Created

A MessageCreated event will be generated whenever a Clinician create a new message for the Patient.

When you receive this notification, use the messageGuid to retrieve the message from the API. The notification will never contain the message or any other PHI.

Example Payload

{
    "emrUri": "steadymd://episode/30c7065d-5856-426f-a119-1a9267caef20",
    "episodeGuid": "30c7065d-5856-426f-a119-1a9267caef20",
    "eventId": "469b2224-a4b7-4025-84cd-f14376d60d7a",
    "eventType": "MessageCreated",
    "generatedAt": "2022-02-02T20:18:29",
    "messageGuid": "2af15902-c9b7-48e7-aec3-28fcfcde309c"
}

Properties

Name Type Required Restrictions Description
emrUri string true none none
episodeGuid string(uuid) true none none
eventId string(uuid) true none none
eventType string true none none
generatedAt string(datetime) true none none
messageGuid string(uuid) true none none

Consult API v1

The Consult API allows you to find availability for Clinicians in your programs, create scheduled or on-demand Consults, and view the status of Consults in the SteadyMD Clinic.

Base URLs:

clinician

Retrieve Clinician

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/clinician/{guid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/clinician/{guid}

Mixin to log requests

Parameters

Name In Type Required Description
guid path string(uuid) true none

Example responses

{
  "guid": "6dbc7e3f-e08e-464e-9975-f4969219e7e4",
  "firstName": "Fname",
  "lastName": "Lname",
  "clinicianSuffixes": "MD",
  "email": "[email protected]",
  "headshot": "https://public-dev.steadymd-dev.com/headshots/Dan_Headshot_Small_XKYKGYo.jpg",
  "clinicianType": "Medical Doctor",
  "clinicianTypes": [
    {
      "clinicianType": "Medical Doctor",
      "suffix": "MD"
    }
  ],
  "clinicianSpecialties": [
    "Family Medicine"
  ],
  "supervisor": "Don Phan, MD, NP, PA, DO",
  "bio": "An excellent test doctor, will find plenty of issues.",
  "languagesSpoken": [
    {
      "language": "German",
      "hl7Code": "de"
    },
    {
      "language": "English",
      "hl7Code": "en"
    },
    {
      "language": "Spanish",
      "hl7Code": "es"
    },
    {
      "language": "French",
      "hl7Code": "fr"
    },
    {
      "language": "Korean",
      "hl7Code": "ko"
    },
    {
      "language": "Russian",
      "hl7Code": "ru"
    }
  ],
  "qualifications": [
    {
      "organization": "USC",
      "organizationType": "University",
      "qualificationType": {
        "qualificationDisplay": "Doctor of Medicine",
        "qualificationCode": "MD"
      }
    }
  ],
  "npiNumber": "1588975098",
  "npiData": {}
}

Responses

Status Meaning Description Schema
200 OK none Clinician

consult

List Consults

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/consult \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/consult

Mixin to log requests

Parameters

Name In Type Required Description
consultDefinitionGuid query string false none
consult_definition__guid query string false Deprecated. See consultDefinitionGuid.
consult_definition_program_guid query string false Deprecated. See programGuid.
emrUri query string false none
emr_uri query string false none
limit query integer false Number of results to return per page.
offset query integer false The initial index from which to return the results.
programGuid query string false none

Example responses

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "count": 1,
      "next": "",
      "previous": "",
      "results": [
        {
          "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
          "emrUri": "steadymd://episode/9f380946-09e7-47d0-b87e-180fed24095c",
          "usState": "FL",
          "clinician": "https://api.steadymd.com/v1/clinician/fb9aac3c-977e-489d-bbf5-0ae3af5da8ec",
          "clinicianGuid": "c98b25bb-5cc2-4ed4-87ee-1864210d22f2",
          "consultType": "chart_review",
          "consultDefinitionGuid": "1b16d270-6940-464f-a31f-823ffc00b47b",
          "consultDefinitionSla": 0,
          "episodeGuid": "9f380946-09e7-47d0-b87e-180fed24095c",
          "programName": "Migraine Treatment",
          "programGuid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
          "visitStatus": "unassigned",
          "createdAt": "2023-03-24T14:15:22Z",
          "timezone": "US/Eastern",
          "appointmentStartsAtLocalTime": "2023-03-29T10:15:22-06:00",
          "appointmentEndsAtLocalTime": "2023-03-29T10:30:22-06:00",
          "appointmentStartsAt": "2023-03-29T16:15:22Z",
          "appointmentEndsAt": "2023-03-29T16:30:22Z",
          "appointmentScheduledStartsAt": "2023-03-29T16:15:00Z",
          "appointmentScheduledEndsAt": "2023-03-29T16:30:00Z",
          "isExternal": false,
          "externalLinks": [],
          "isPediatric": false,
          "reason": null,
          "reasonSlug": null,
          "reasonForVisit": "initial"
        }
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK none PaginatedConsultList

Create Consult

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/consult \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/consult

Create a new Consult. Supply an emrUri which identifies the Episode that this Consult is for or in the case of a Lightweight Integration a valid URL in your EMR.

Retrieve list of valid consult types for the program using the Program API. Choose the appropriate consult type and provide it in the payload. Make sure to supply the Clinician guid when using List Available Appointments to determine if a Clinician can be scheduled.

If you attempt to create a consult in US state where the program is not supported, you will receive a 400 error.

Body parameter

{
  "consultType": "chart_review",
  "emrUri": "steadymd://episode/9f380946-09e7-47d0-b87e-180fed24095c",
  "programGuid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
  "usState": "FL",
  "externalLinks": [],
  "isPediatric": false,
  "reasonForVisit": "initial"
}
consultType: chart_review
emrUri: steadymd://episode/9f380946-09e7-47d0-b87e-180fed24095c
programGuid: 89d00036-4eec-4e4d-8f49-9b064e8aac86
usState: FL
externalLinks: []
isPediatric: false
reasonForVisit: initial

Parameters

Name In Type Required Description
body body ConsultCreate true none
» programGuid body string(uuid) true none
» consultType body string¦null false A friendly identifier for the consult's type. Is required if the given program has multiple consult types in the same US state.
» interactionMode body string¦null false * auto_triage - Async - Auto Triage
» emrUri body string true none
» usState body string true none
» externalLinks body [ExternalLink] false none
»» label body string false none
»» link body string(uri) false none
»» linkType body string false none
» metadata body MetadataObject false none
»» service_eligibility_ids body [string] false none
» preferredClinician body string(uuid)¦null false A clinician to be requested for the consult. Clinician may not always be available. This should only be used for special, pre-approved use cases.
» isPediatric body boolean false A patient identifier if they're under 18. Is optional for Limited Integration.
» reasonForVisit body string¦null false Optional. Select a reason for the visit from the list of available choices.

Detailed descriptions

» interactionMode: * auto_triage - Async - Auto Triage * chart_review - Async - Chart Review * message - Async - Message * phone_call - Sync - Phone Call * chat - Sync - Text Chat * video_chat - Sync - Video Chat

» reasonForVisit: Optional. Select a reason for the visit from the list of available choices.

Enumerated Values

Parameter Value
» interactionMode auto_triage
» interactionMode chart_review
» interactionMode message
» interactionMode phone_call
» interactionMode chat
» interactionMode video_chat
» interactionMode null
» usState Valid US Postal Code (e.g. CA, MO)
»» linkType video_chat
»» linkType other
» reasonForVisit additional_documentation
» reasonForVisit adhoc_follow_up
» reasonForVisit adhoc_side_effect
» reasonForVisit adhoc_pharmacy_change
» reasonForVisit adhoc_pharmacy_call
» reasonForVisit adhoc_medication_change
» reasonForVisit adhoc_additional_documentation
» reasonForVisit initial
» reasonForVisit follow_up
» reasonForVisit lab_result
» reasonForVisit medication_change
» reasonForVisit pharmacy_change
» reasonForVisit side_effect
» reasonForVisit null

Example responses

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "emrUri": "steadymd://episode/9f380946-09e7-47d0-b87e-180fed24095c",
  "usState": "FL",
  "clinician": "https://api.steadymd.com/v1/clinician/fb9aac3c-977e-489d-bbf5-0ae3af5da8ec",
  "clinicianGuid": "c98b25bb-5cc2-4ed4-87ee-1864210d22f2",
  "consultType": "chart_review",
  "consultDefinitionGuid": "1b16d270-6940-464f-a31f-823ffc00b47b",
  "consultDefinitionSla": 0,
  "episodeGuid": "9f380946-09e7-47d0-b87e-180fed24095c",
  "programName": "Migraine Treatment",
  "programGuid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
  "visitStatus": "unassigned",
  "createdAt": "2023-03-24T14:15:22Z",
  "timezone": "US/Eastern",
  "appointmentStartsAtLocalTime": "2023-03-29T10:15:22-06:00",
  "appointmentEndsAtLocalTime": "2023-03-29T10:30:22-06:00",
  "appointmentStartsAt": "2023-03-29T16:15:22Z",
  "appointmentEndsAt": "2023-03-29T16:30:22Z",
  "appointmentScheduledStartsAt": "2023-03-29T16:15:00Z",
  "appointmentScheduledEndsAt": "2023-03-29T16:30:00Z",
  "isExternal": false,
  "externalLinks": [],
  "isPediatric": false,
  "reason": null,
  "reasonSlug": null,
  "reasonForVisit": "initial"
}

Responses

Status Meaning Description Schema
201 Created none Consult

Retrieve Consult

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/consult/{guid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/consult/{guid}

Mixin to log requests

Parameters

Name In Type Required Description
guid path string(uuid) true none

Example responses

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "emrUri": "steadymd://episode/9f380946-09e7-47d0-b87e-180fed24095c",
  "usState": "FL",
  "clinician": "https://api.steadymd.com/v1/clinician/fb9aac3c-977e-489d-bbf5-0ae3af5da8ec",
  "clinicianGuid": "c98b25bb-5cc2-4ed4-87ee-1864210d22f2",
  "consultType": "chart_review",
  "consultDefinitionGuid": "1b16d270-6940-464f-a31f-823ffc00b47b",
  "consultDefinitionSla": 0,
  "episodeGuid": "9f380946-09e7-47d0-b87e-180fed24095c",
  "programName": "Migraine Treatment",
  "programGuid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
  "visitStatus": "unassigned",
  "createdAt": "2023-03-24T14:15:22Z",
  "timezone": "US/Eastern",
  "appointmentStartsAtLocalTime": "2023-03-29T10:15:22-06:00",
  "appointmentEndsAtLocalTime": "2023-03-29T10:30:22-06:00",
  "appointmentStartsAt": "2023-03-29T16:15:22Z",
  "appointmentEndsAt": "2023-03-29T16:30:22Z",
  "appointmentScheduledStartsAt": "2023-03-29T16:15:00Z",
  "appointmentScheduledEndsAt": "2023-03-29T16:30:00Z",
  "isExternal": false,
  "externalLinks": [],
  "isPediatric": false,
  "reason": null,
  "reasonSlug": null,
  "reasonForVisit": "initial"
}

Responses

Status Meaning Description Schema
200 OK none Consult

Create Consult Issue

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/consult/{guid}/issues \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/consult/{guid}/issues

Creates an issue requiring resolution. If the consult transitions to a resolved status while still having unresolved issues, it will instead transition to ISSUE STATUS until everything is resolved.

Body parameter

{
  "level": "error",
  "description": "string",
  "links": [
    {
      "href": "http://example.com",
      "title": "string",
      "description": "string"
    }
  ]
}
level: error
description: string
links:
  - href: http://example.com
    title: string
    description: string

Parameters

Name In Type Required Description
guid path string(uuid) true none
body body ConsultIssue true none
» guid body string true none
» consultGuid body string true none
» chartAddendumGuid body string true none
» level body string false * error - Error
» status body string true * unresolved - unresolved
» description body string true none
» links body [Link] false none
»» href body string(uri) true URL to link to
»» title body string true Title of the link
»» description body string¦null false none
» exception body string¦null true Exception associated with issue

Detailed descriptions

» level: * error - Error * warning - Warning

» status: * unresolved - unresolved * resolved - resolved * force_resolved - force_resolved

Enumerated Values

Parameter Value
» level error
» level warning
» status unresolved
» status resolved
» status force_resolved

Example responses

201 Response

{
  "guid": "string",
  "consultGuid": "string",
  "chartAddendumGuid": "string",
  "level": "error",
  "status": "unresolved",
  "description": "string",
  "links": [
    {
      "href": "http://example.com",
      "title": "string",
      "description": "string"
    }
  ],
  "exception": "string"
}

Responses

Status Meaning Description Schema
201 Created none ConsultIssue
404 Not Found none Http404

Create Message Consult

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/consult/{guid}/message \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/consult/{guid}/message

DEPRECATED - Create a message consult that is a follow up to an existing completed Consult. This endpoint receives an empty BODY.

Parameters

Name In Type Required Description
guid path string true none

Example responses

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "emrUri": "steadymd://episode/9f380946-09e7-47d0-b87e-180fed24095c",
  "usState": "FL",
  "clinician": "https://api.steadymd.com/v1/clinician/fb9aac3c-977e-489d-bbf5-0ae3af5da8ec",
  "clinicianGuid": "c98b25bb-5cc2-4ed4-87ee-1864210d22f2",
  "consultType": "chart_review",
  "consultDefinitionGuid": "1b16d270-6940-464f-a31f-823ffc00b47b",
  "consultDefinitionSla": 0,
  "episodeGuid": "9f380946-09e7-47d0-b87e-180fed24095c",
  "programName": "Migraine Treatment",
  "programGuid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
  "visitStatus": "unassigned",
  "createdAt": "2023-03-24T14:15:22Z",
  "timezone": "US/Eastern",
  "appointmentStartsAtLocalTime": "2023-03-29T10:15:22-06:00",
  "appointmentEndsAtLocalTime": "2023-03-29T10:30:22-06:00",
  "appointmentStartsAt": "2023-03-29T16:15:22Z",
  "appointmentEndsAt": "2023-03-29T16:30:22Z",
  "appointmentScheduledStartsAt": "2023-03-29T16:15:00Z",
  "appointmentScheduledEndsAt": "2023-03-29T16:30:00Z",
  "isExternal": false,
  "externalLinks": [],
  "isPediatric": false,
  "reason": null,
  "reasonSlug": null,
  "reasonForVisit": "initial"
}

404 Response

{
  "status": "string"
}

Responses

Status Meaning Description Schema
201 Created none Consult
404 Not Found none Http404

Create Patient UI URL

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/consult/{guid}/patientUI \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/consult/{guid}/patientUI

Mixin to log requests

Body parameter

{
  "returnUrl": "string",
  "element": "schedule"
}
returnUrl: string
element: schedule

Parameters

Name In Type Required Description
guid path string true none
body body PatientUIRequest true none
» returnUrl body string¦null false none
» element body string true * schedule - schedule

Detailed descriptions

» element: * schedule - schedule * video_visit - video_visit

Enumerated Values

Parameter Value
» element schedule
» element video_visit

Example responses

200 Response

{
  "url": "string",
  "expiresAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK none PatientUI

Schedule Consult Appointment

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/consult/{guid}/schedule/appointment \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/consult/{guid}/schedule/appointment

Schedule an appointment for this Consult.

Body parameter

{
  "startsAt": "2021-05-01T12:00:00Z",
  "timezone": "US/Eastern"
}
startsAt: 2021-05-01T12:00:00Z
timezone: US/Eastern

Parameters

Name In Type Required Description
guid path string true none
body body AppointmentRequest true none
» startsAt body string(date-time) true Start time in UTC for the appointment.
Must be in the future.
» timezone body string¦null false Local timezone for the appointment.
Defaults to the UTC.
e.g. US/Eastern, America/Chicago

Example responses

200 Response

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "emrUri": "string",
  "usState": "Valid US Postal Code (e.g. CA, MO)",
  "clinician": "http://example.com",
  "clinicianGuid": "string",
  "consultType": "string",
  "consultDefinitionGuid": "string",
  "episodeGuid": "string",
  "programName": "string",
  "programGuid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
  "visitStatus": "received",
  "visitStatusSetAt": "2019-08-24T14:15:22Z",
  "createdAt": "2019-08-24T14:15:22Z",
  "appointmentTimezone": "string",
  "appointmentStartsAtLocalTime": "2019-08-24T14:15:22Z",
  "appointmentStartsAt": "2019-08-24T14:15:22Z",
  "appointmentEndsAtLocalTime": "2019-08-24T14:15:22Z",
  "appointmentEndsAt": "2019-08-24T14:15:22Z",
  "appointmentScheduledStartsAt": "2019-08-24T14:15:22Z",
  "appointmentScheduledEndsAt": "2019-08-24T14:15:22Z",
  "isExternal": true,
  "isPediatric": true,
  "isHighPriority": true,
  "isScheduled": true,
  "externalLinks": [
    {
      "label": "string",
      "link": "http://example.com",
      "linkType": "video_chat"
    }
  ],
  "reason": "string",
  "reasonSlug": "string",
  "preferredClinician": "http://example.com",
  "preferredClinicianGuid": "string",
  "reasonForVisit": "additional_documentation"
}

Responses

Status Meaning Description Schema
200 OK none Consult
400 Bad Request none Http400
404 Not Found none Http404

Retrieve Available Appointments

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/consult/{guid}/schedule/availability \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/consult/{guid}/schedule/availability

Retrieve a list of available appointments for this Consult. Clinicians who have availability within 15 days.

Parameters

Name In Type Required Description
guid path string true none

Example responses

[
  {
    "durationMinutes": 30,
    "availability": [
      "2021-05-01T12:00:00Z",
      "2021-05-01T12:30:00Z",
      "2021-05-01T13:00:00Z"
    ]
  }
]

400 Response

{
  "status": "string"
}

Responses

Status Meaning Description Schema
200 OK none AvailableAppointment
400 Bad Request none Http400
404 Not Found none Http404

Update Consult Status

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/consult/{guid}/status \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/consult/{guid}/status

For limited integration, after a clinician has completed a consult, partner can use this endpoint to tell SteadyMD that a consult has been completed. Also, for all integrations and types this endpoint can be used to cancel a consult that is in unassigned, assigned, waiting_to_schedule, scheduled, clinician_change, or issue state.

Body parameter

{
  "status": "string",
  "reasonSlug": "patient-initiated-reschedule-via-portal"
}
status: string
reasonSlug: patient-initiated-reschedule-via-portal

Parameters

Name In Type Required Description
guid path string true none
body body UpdateConsultStatus true none
» status body string true none
» reasonSlug body string false Optional. Select a reason for the canceled visit from the list of available choices.

Detailed descriptions

» reasonSlug: Optional. Select a reason for the canceled visit from the list of available choices.

Enumerated Values

Parameter Value
» reasonSlug patient-initiated-reschedule-via-portal
» reasonSlug patient-canceled-via-portal

Example responses

200 Response

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "emrUri": "string",
  "usState": "Valid US Postal Code (e.g. CA, MO)",
  "clinician": "http://example.com",
  "clinicianGuid": "string",
  "consultType": "string",
  "consultDefinitionGuid": "string",
  "episodeGuid": "string",
  "programName": "string",
  "programGuid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
  "visitStatus": "received",
  "visitStatusSetAt": "2019-08-24T14:15:22Z",
  "createdAt": "2019-08-24T14:15:22Z",
  "appointmentTimezone": "string",
  "appointmentStartsAtLocalTime": "2019-08-24T14:15:22Z",
  "appointmentStartsAt": "2019-08-24T14:15:22Z",
  "appointmentEndsAtLocalTime": "2019-08-24T14:15:22Z",
  "appointmentEndsAt": "2019-08-24T14:15:22Z",
  "appointmentScheduledStartsAt": "2019-08-24T14:15:22Z",
  "appointmentScheduledEndsAt": "2019-08-24T14:15:22Z",
  "isExternal": true,
  "isPediatric": true,
  "isHighPriority": true,
  "isScheduled": true,
  "externalLinks": [
    {
      "label": "string",
      "link": "http://example.com",
      "linkType": "video_chat"
    }
  ],
  "reason": "string",
  "reasonSlug": "string",
  "preferredClinician": "http://example.com",
  "preferredClinicianGuid": "string",
  "reasonForVisit": "additional_documentation"
}

Responses

Status Meaning Description Schema
200 OK none Consult
400 Bad Request none Http400
404 Not Found none Http404

patientAccount

Create Patient Account

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/patientAccount \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/patientAccount

Create a new Patient Account for use with white label implementations. Provide the Patient GUID to link the Patient Account to a Patient. After creating a Patient Account you can use the Patient Login Link API to generate a login

Body parameter

{
  "patientGuid": "76480e0c-000e-4552-a062-5daffb129aab"
}
patientGuid: 76480e0c-000e-4552-a062-5daffb129aab

Parameters

Name In Type Required Description
body body PatientAccountCreate true none
» patientGuid body string(uuid) true none

Example responses

201 Response

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "patientGuid": "76480e0c-000e-4552-a062-5daffb129aab",
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
201 Created none PatientAccount
400 Bad Request none Http400

patientLoginLink

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/patientLoginLink \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/patientLoginLink

List Patient Login Links. Filter by the Patient guid or the Patient Account guid.

Name In Type Required Description
limit query integer false Number of results to return per page.
offset query integer false The initial index from which to return the results.
patient_account_guid query string(uuid) false none
patient_guid query string(uuid) false none

Example responses

200 Response

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "link": "string",
      "shortCode": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "expiresAt": "2019-08-24T14:15:22Z",
      "usedAt": "2019-08-24T14:15:22Z"
    }
  ]
}
Status Meaning Description Schema
200 OK none PaginatedPatientLoginLinkList

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/patientLoginLink \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/patientLoginLink

Create a new Patient Login Link which can be used by the Patient to login to a white label implementation. You must provide a Patient Account guid to link the Patient Login Link to a Patient Account

Body parameter

{
  "patientAccountGuid": "9d7330d6-c7b9-496b-af1c-dd2e41d2eb3f"
}
patientAccountGuid: 9d7330d6-c7b9-496b-af1c-dd2e41d2eb3f

Name In Type Required Description
body body PatientLoginLinkCreate true none
» patientAccountGuid body string(uuid) true none

Example responses

201 Response

{
  "link": "string",
  "shortCode": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "expiresAt": "2019-08-24T14:15:22Z",
  "usedAt": "2019-08-24T14:15:22Z"
}
Status Meaning Description Schema
201 Created none PatientLoginLink
400 Bad Request none Http400

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/patientLoginLink/{shortCode} \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/patientLoginLink/{shortCode}

Retrieve a Patient Login Link by short code. Use this to check if a Patient Login Link has been.

Name In Type Required Description
shortCode path string true none

Example responses

200 Response

{
  "link": "string",
  "shortCode": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "expiresAt": "2019-08-24T14:15:22Z",
  "usedAt": "2019-08-24T14:15:22Z"
}
Status Meaning Description Schema
200 OK none PatientLoginLink

program

List Programs

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/program \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/program

Retrieve a paginated list of all the programs available to your organization.

Parameters

Name In Type Required Description
clinicianGuid query string false none
clinician__guid query string false Deprecated. See clinicianGuid.
complaints__snomed query string false Deprecated. See snomed.
complaints_snomed query string false none
diagnoses__snomed query string false Deprecated. See snomed.
limit query integer false Number of results to return per page.
offset query integer false The initial index from which to return the results.
snomed query string false none

Example responses

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "count": 2,
      "next": "",
      "previous": "",
      "results": [
        {
          "guid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
          "name": "Migraine Treatment",
          "description": "Treatment for recurring migraine headaches.",
          "consultTypes": [
            "chart_review",
            "message"
          ]
        },
        {
          "guid": "917a715b-8f81-48cb-95f1-400b3d817a26",
          "name": "Athlete's Foot Treatment",
          "description": "Treatment for Athlete's Foot.",
          "consultTypes": [
            "chart_review",
            "message"
          ]
        }
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK none PaginatedProgramList

Retrieve Program

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/program/{guid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/program/{guid}

Mixin to log requests

Parameters

Name In Type Required Description
guid path string(uuid) true none

Example responses

{
  "guid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
  "name": "Migraine Treatment",
  "description": "Treatment for recurring migraine headaches.",
  "consultTypes": [
    "chart_review",
    "message"
  ]
}

Responses

Status Meaning Description Schema
200 OK none Program

List Available Appointments

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/program/{guid}/appointments?consultType=string&usState=string \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/program/{guid}/appointments

Retrieve a list of available appointments for this Program. Clinicians who have availability within 15 days.

Parameters

Name In Type Required Description
clinicianGuid query string false none
consultType query string true none
guid path string true none
usState query string true none

Example responses

[
  {
    "durationMinutes": 30,
    "availability": [
      "2021-05-01T12:00:00Z",
      "2021-05-01T12:30:00Z",
      "2021-05-01T13:00:00Z"
    ]
  }
]

404 Response

{
  "status": "string"
}

Responses

Status Meaning Description Schema
200 OK none AvailableAppointment
404 Not Found none Http404

List Clinicians

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/program/{guid}/clinicians \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/program/{guid}/clinicians

Retrieve a paginated list of all the clinicians available to your program.

Parameters

Name In Type Required Description
complaints__snomed query string false none
complaints_snomed query string false none
guid path string(uuid) true none
limit query integer false Number of results to return per page.
offset query integer false The initial index from which to return the results.
usState query string false none

Example responses

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "count": 2,
      "next": "",
      "previous": "",
      "results": [
        {
          "guid": "6dbc7e3f-e08e-464e-9975-f4969219e7e4",
          "firstName": "Fname",
          "lastName": "Lname",
          "clinicianSuffixes": "MD",
          "email": "[email protected]",
          "headshot": "https://public-dev.steadymd-dev.com/headshots/Dan_Headshot_Small_XKYKGYo.jpg",
          "clinicianType": "Medical Doctor",
          "clinicianTypes": [
            {
              "clinicianType": "Medical Doctor",
              "suffix": "MD"
            }
          ],
          "clinicianSpecialties": [
            "Family Medicine"
          ],
          "supervisor": "Don Phan, MD, NP, PA, DO",
          "bio": "An excellent test doctor, will find plenty of issues.",
          "languagesSpoken": [
            {
              "language": "German",
              "hl7Code": "de"
            },
            {
              "language": "English",
              "hl7Code": "en"
            },
            {
              "language": "Spanish",
              "hl7Code": "es"
            },
            {
              "language": "French",
              "hl7Code": "fr"
            },
            {
              "language": "Korean",
              "hl7Code": "ko"
            },
            {
              "language": "Russian",
              "hl7Code": "ru"
            }
          ],
          "qualifications": [
            {
              "organization": "USC",
              "organizationType": "University",
              "qualificationType": {
                "qualificationDisplay": "Doctor of Medicine",
                "qualificationCode": "MD"
              }
            }
          ],
          "npiNumber": "1588975098",
          "npiData": {}
        },
        {
          "guid": "39817593-233b-460b-8133-5e115835575c",
          "firstName": "Fname2",
          "lastName": "Lname2",
          "clinicianSuffixes": "MD",
          "email": "[email protected]",
          "headshot": "",
          "clinicianType": "Medical Doctor",
          "clinicianTypes": [
            {
              "clinicianType": "Medical Doctor",
              "suffix": "MD"
            }
          ],
          "clinicianSpecialties": [],
          "supervisor": "",
          "bio": "",
          "languagesSpoken": [],
          "qualifications": [],
          "npiNumber": "1588975098",
          "npiData": {
            "results": [],
            "resultCount": 0
          }
        }
      ]
    }
  ]
}

404 Response

{
  "status": "string"
}

Responses

Status Meaning Description Schema
200 OK none PaginatedClinicianList
404 Not Found none Http404

Get consult create options for a program

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/program/{guid}/consult/options?usState=string \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/program/{guid}/consult/options

Retrieve a list of consult options for this Program. Supply a US State and optionally a consult_type to see available options in that US state.

Parameters

Name In Type Required Description
consultType query string false none
guid path string true none
usState query string true none

Example responses

[
  [
    {
      "programGuid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
      "emrUri": "http://emr-url",
      "consultType": "followup-call",
      "usState": "CA",
      "interactionMode": "video_chat",
      "externalLinks": [],
      "isScheduled": true
    }
  ]
]
[
  [
    {
      "programGuid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
      "emrUri": "http://emr-url",
      "consultType": "initial-call",
      "usState": "CA",
      "interactionMode": "phone_call",
      "externalLinks": [],
      "isScheduled": true
    }
  ]
]
[
  [
    {
      "programGuid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
      "emrUri": "http://emr-url",
      "consultType": "on-demand-review",
      "usState": "CA",
      "interactionMode": "chart_review",
      "externalLinks": [],
      "isScheduled": false
    }
  ]
]

400 Response

{
  "status": "string"
}

Responses

Status Meaning Description Schema
200 OK none Inline
400 Bad Request none Http400
404 Not Found none Http404

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ConsultOption] false none none
» programGuid string(uuid) true none none
» consultType string¦null false none A friendly identifier for the consult's type. Is required if the given program has multiple consult types in the same US state.
» interactionMode string¦null false none * auto_triage - Async - Auto Triage
* chart_review - Async - Chart Review
* message - Async - Message
* phone_call - Sync - Phone Call
* chat - Sync - Text Chat
* video_chat - Sync - Video Chat
» emrUri string true none none
» usState string true none none
» externalLinks [string]¦null false none none
» metadata any false none none
» preferredClinician string(uuid)¦null false none A clinician to be requested for the consult. Clinician may not always be available. This should only be used for special, pre-approved use cases.
» isScheduled boolean true read-only Metadata that indicates if created consult is Scheduled or On Demand. Note that this field is not used by the Create Consult endpoint.

Enumerated Values

Property Value
interactionMode auto_triage
interactionMode chart_review
interactionMode message
interactionMode phone_call
interactionMode chat
interactionMode video_chat
interactionMode null
usState Valid US Postal Code (e.g. CA, MO)

List Available Lab Tests

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/program/{guid}/lab \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/program/{guid}/lab

Retrieve a list of available lab tests for this Program.

Parameters

Name In Type Required Description
complaints__snomed query string false none
complaints_snomed query string false none
guid path string true none
labOrderCode query string false Query by Order Code with an exact match
labOrderName query string false Query by Order Name with an exact match
laboratory query string false Query by Laboratory ID with an exact match

Example responses

200 Response

[
  {
    "guid": "string",
    "laboratory": "string",
    "labOrderCode": "string",
    "labOrderName": "string",
    "loinc": "string",
    "description": "string",
    "cptCodes": [
      "string"
    ],
    "submissionMethod": "string",
    "paymentResponsibilities": [
      "string"
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK none Inline
404 Not Found none Http404

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ProgramLabTestResponse] false none none
» guid string true none none
» laboratory string true none none
» labOrderCode string true none none
» labOrderName string true none none
» loinc string¦null true none none
» description string true none none
» cptCodes [string] true none none
» submissionMethod string true none none
» paymentResponsibilities [string] true none none

Consult Schemas

AppointmentRequest

{
  "startsAt": "2019-08-24T14:15:22Z",
  "timezone": "UTC"
}

Properties

Name Type Required Restrictions Description
startsAt string(date-time) true none Start time in UTC for the appointment.
Must be in the future.
timezone string¦null false none Local timezone for the appointment.
Defaults to the UTC.
e.g. US/Eastern, America/Chicago

AvailableAppointment

{
  "durationMinutes": 0,
  "availability": [
    null
  ]
}

Properties

Name Type Required Restrictions Description
durationMinutes integer true none none
availability [any] true none none

Clinician

{
  "guid": "6dbc7e3f-e08e-464e-9975-f4969219e7e4",
  "firstName": "Fname",
  "lastName": "Lname",
  "clinicianSuffixes": "MD",
  "email": "[email protected]",
  "headshot": "https://public-dev.steadymd-dev.com/headshots/Dan_Headshot_Small_XKYKGYo.jpg",
  "clinicianType": "Medical Doctor",
  "clinicianTypes": [
    {
      "clinicianType": "Medical Doctor",
      "suffix": "MD"
    }
  ],
  "clinicianSpecialties": [
    "Family Medicine"
  ],
  "supervisor": "Don Phan, MD, NP, PA, DO",
  "bio": "An excellent test doctor, will find plenty of issues.",
  "languagesSpoken": [
    {
      "language": "German",
      "hl7Code": "de"
    },
    {
      "language": "English",
      "hl7Code": "en"
    },
    {
      "language": "Spanish",
      "hl7Code": "es"
    },
    {
      "language": "French",
      "hl7Code": "fr"
    },
    {
      "language": "Korean",
      "hl7Code": "ko"
    },
    {
      "language": "Russian",
      "hl7Code": "ru"
    }
  ],
  "qualifications": [
    {
      "organization": "USC",
      "organizationType": "University",
      "qualificationType": {
        "qualificationDisplay": "Doctor of Medicine",
        "qualificationCode": "MD"
      }
    }
  ],
  "npiNumber": "1588975098",
  "npiData": {}
}

Properties

Name Type Required Restrictions Description
guid string(uuid) true read-only none
firstName string true none none
lastName string true none none
clinicianSuffixes string true read-only none
email string(email) true none none
headshot string(uri)¦null false none none
clinicianType string true read-only none
clinicianTypes [ClinicianType] true none none
clinicianSpecialties [string] true none none
supervisor string¦null true read-only none
bio string¦null false none none
languagesSpoken [Language] true none none
qualifications [ClinicianQualification] true read-only none
npiNumber string¦null false none none
npiData any false none none

ClinicianQualification

{
  "organization": "string",
  "organizationType": "string",
  "qualificationType": {
    "qualificationDisplay": "string",
    "qualificationCode": "string"
  }
}

Properties

Name Type Required Restrictions Description
organization string true none none
organizationType string true none none
qualificationType ClinicianQualificationType true none none

ClinicianQualificationType

{
  "qualificationDisplay": "string",
  "qualificationCode": "string"
}

Properties

Name Type Required Restrictions Description
qualificationDisplay string true none none
qualificationCode string true none none

ClinicianType

{
  "clinicianType": "string",
  "suffix": "string"
}

Properties

Name Type Required Restrictions Description
clinicianType string true none none
suffix string¦null false none none

Consult

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "emrUri": "string",
  "usState": "Valid US Postal Code (e.g. CA, MO)",
  "clinician": "http://example.com",
  "clinicianGuid": "string",
  "consultType": "string",
  "consultDefinitionGuid": "string",
  "episodeGuid": "string",
  "programName": "string",
  "programGuid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
  "visitStatus": "received",
  "visitStatusSetAt": "2019-08-24T14:15:22Z",
  "createdAt": "2019-08-24T14:15:22Z",
  "appointmentTimezone": "string",
  "appointmentStartsAtLocalTime": "2019-08-24T14:15:22Z",
  "appointmentStartsAt": "2019-08-24T14:15:22Z",
  "appointmentEndsAtLocalTime": "2019-08-24T14:15:22Z",
  "appointmentEndsAt": "2019-08-24T14:15:22Z",
  "appointmentScheduledStartsAt": "2019-08-24T14:15:22Z",
  "appointmentScheduledEndsAt": "2019-08-24T14:15:22Z",
  "isExternal": true,
  "isPediatric": true,
  "isHighPriority": true,
  "isScheduled": true,
  "externalLinks": [
    {
      "label": "string",
      "link": "http://example.com",
      "linkType": "video_chat"
    }
  ],
  "reason": "string",
  "reasonSlug": "string",
  "preferredClinician": "http://example.com",
  "preferredClinicianGuid": "string",
  "reasonForVisit": "additional_documentation"
}

Properties

Name Type Required Restrictions Description
guid string(uuid) false none none
emrUri string true none The link to the EMR. steadymd://episode/-guid- or steadymd://episode/-guid-/lab/requisition/-guid- or a valid URL for a 3rd Party EMR.
usState string true none none
clinician string(uri)¦null true read-only none
clinicianGuid string¦null true read-only none
consultType string true read-only none
consultDefinitionGuid string true read-only none
episodeGuid string¦null true read-only none
programName string true read-only none
programGuid string(uuid) true read-only none
visitStatus string true read-only * received - Received
* unassigned - Unassigned
* assigned - Assigned
* in_progress - In Progress
* ready_to_resume - Ready to Resume
* ready_to_book - Ready to Book
* waiting - Waiting
* external_in_progress - External In Progress
* in_call - In Call
* issue - Issue
* completed - Completed
* rejected - Rejected
* referred_out - Refer Out
* canceled - Partner Cancel
* scheduled - Scheduled
* in_review - In Review
* waiting_for_intake - Waiting for Intake
* waiting_to_schedule - Waiting to Schedule
* clinician_change - Clinician Change Required
* patient_abandoned - Patient Abandoned
* visit_removed - Visit Removed
* lab_requested - Lab Requested
* lab_completed - Lab Completed
* lab_rejected - Lab Rejected
* lab_submitted - Lab Submitted
* lab_accepted - Lab Accepted
* lab_approved - Lab Approved
* lab_denied - Lab Denied
* lab_issue - Lab Issue
* lab_kit_shipped - Lab Kit Shipped
* lab_sample_rejected - Lab Sample Rejected
* lab_processing_sample - Lab Processing Sample
* lab_sample_received - Lab Sample Received
* lab_results_ready - Lab Results Ready
* lab_results_negative - Lab Results Negative
* lab_results_positive - Lab Results Positive
* lab_results_pending - Lab Results Pending
* lab_results_received - Lab Results Received
* lab_result_outreach - Lab Result Outreach
* lab_results_negative_with_follow_up - Lab Results Negative With Follow Up
visitStatusSetAt string(date-time)¦null true read-only none
createdAt string(date-time) true read-only none
appointmentTimezone string¦null true read-only none
appointmentStartsAtLocalTime string(date-time)¦null true read-only none
appointmentStartsAt string(date-time)¦null true read-only none
appointmentEndsAtLocalTime string(date-time)¦null true read-only none
appointmentEndsAt string(date-time)¦null true read-only none
appointmentScheduledStartsAt string(date-time)¦null true read-only none
appointmentScheduledEndsAt string(date-time)¦null true read-only none
isExternal boolean true read-only none
isPediatric boolean false none none
isHighPriority boolean false none none
isScheduled boolean true read-only none
externalLinks [ExternalLink] false none none
reason string¦null true read-only none
reasonSlug string¦null true read-only none
preferredClinician string(uri)¦null true read-only none
preferredClinicianGuid string¦null true read-only none
reasonForVisit string¦null false none * additional_documentation - additional_documentation
* adhoc_follow_up - adhoc_follow_up
* adhoc_side_effect - adhoc_side_effect
* adhoc_pharmacy_change - adhoc_pharmacy_change
* adhoc_pharmacy_call - adhoc_pharmacy_call
* adhoc_medication_change - adhoc_medication_change
* adhoc_additional_documentation - adhoc_additional_documentation
* initial - initial
* follow_up - follow_up
* lab_result - lab_result
* medication_change - medication_change
* pharmacy_change - pharmacy_change
* side_effect - side_effect

Enumerated Values

Property Value
usState Valid US Postal Code (e.g. CA, MO)
visitStatus received
visitStatus unassigned
visitStatus assigned
visitStatus in_progress
visitStatus ready_to_resume
visitStatus ready_to_book
visitStatus waiting
visitStatus external_in_progress
visitStatus in_call
visitStatus issue
visitStatus completed
visitStatus rejected
visitStatus referred_out
visitStatus canceled
visitStatus scheduled
visitStatus in_review
visitStatus waiting_for_intake
visitStatus waiting_to_schedule
visitStatus clinician_change
visitStatus patient_abandoned
visitStatus visit_removed
visitStatus lab_requested
visitStatus lab_completed
visitStatus lab_rejected
visitStatus lab_submitted
visitStatus lab_accepted
visitStatus lab_approved
visitStatus lab_denied
visitStatus lab_issue
visitStatus lab_kit_shipped
visitStatus lab_sample_rejected
visitStatus lab_processing_sample
visitStatus lab_sample_received
visitStatus lab_results_ready
visitStatus lab_results_negative
visitStatus lab_results_positive
visitStatus lab_results_pending
visitStatus lab_results_received
visitStatus lab_result_outreach
visitStatus lab_results_negative_with_follow_up
reasonForVisit additional_documentation
reasonForVisit adhoc_follow_up
reasonForVisit adhoc_side_effect
reasonForVisit adhoc_pharmacy_change
reasonForVisit adhoc_pharmacy_call
reasonForVisit adhoc_medication_change
reasonForVisit adhoc_additional_documentation
reasonForVisit initial
reasonForVisit follow_up
reasonForVisit lab_result
reasonForVisit medication_change
reasonForVisit pharmacy_change
reasonForVisit side_effect
reasonForVisit null

ConsultCreate

{
  "consultType": "chart_review",
  "emrUri": "steadymd://episode/9f380946-09e7-47d0-b87e-180fed24095c",
  "programGuid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
  "usState": "FL",
  "externalLinks": [],
  "isPediatric": false,
  "reasonForVisit": "initial"
}

Properties

Name Type Required Restrictions Description
programGuid string(uuid) true none none
consultType string¦null false none A friendly identifier for the consult's type. Is required if the given program has multiple consult types in the same US state.
interactionMode string¦null false none * auto_triage - Async - Auto Triage
* chart_review - Async - Chart Review
* message - Async - Message
* phone_call - Sync - Phone Call
* chat - Sync - Text Chat
* video_chat - Sync - Video Chat
emrUri string true none none
usState string true none none
externalLinks [ExternalLink] false none none
metadata MetadataObject false none none
preferredClinician string(uuid)¦null false none A clinician to be requested for the consult. Clinician may not always be available. This should only be used for special, pre-approved use cases.
isPediatric boolean false none A patient identifier if they're under 18. Is optional for Limited Integration.
reasonForVisit string¦null false none Optional. Select a reason for the visit from the list of available choices.

* additional_documentation - Additional Documentation
* adhoc_follow_up - Adhoc Follow Up
* adhoc_side_effect - Adhoc Side Effect
* adhoc_pharmacy_change - Adhoc Pharmacy Change
* adhoc_pharmacy_call - Adhoc Pharmacy Call
* adhoc_medication_change - Adhoc Medication Change
* adhoc_additional_documentation - Adhoc Additional Documentation
* initial - Initial
* follow_up - Follow Up
* lab_result - Lab Result
* medication_change - Medication Change
* pharmacy_change - Pharmacy Change
* side_effect - Side Effect

Enumerated Values

Property Value
interactionMode auto_triage
interactionMode chart_review
interactionMode message
interactionMode phone_call
interactionMode chat
interactionMode video_chat
interactionMode null
usState Valid US Postal Code (e.g. CA, MO)
reasonForVisit additional_documentation
reasonForVisit adhoc_follow_up
reasonForVisit adhoc_side_effect
reasonForVisit adhoc_pharmacy_change
reasonForVisit adhoc_pharmacy_call
reasonForVisit adhoc_medication_change
reasonForVisit adhoc_additional_documentation
reasonForVisit initial
reasonForVisit follow_up
reasonForVisit lab_result
reasonForVisit medication_change
reasonForVisit pharmacy_change
reasonForVisit side_effect
reasonForVisit null

ConsultIssue

{
  "guid": "string",
  "consultGuid": "string",
  "chartAddendumGuid": "string",
  "level": "error",
  "status": "unresolved",
  "description": "string",
  "links": [
    {
      "href": "http://example.com",
      "title": "string",
      "description": "string"
    }
  ],
  "exception": "string"
}

Properties

Name Type Required Restrictions Description
guid string true read-only none
consultGuid string true read-only none
chartAddendumGuid string true read-only none
level string false none * error - Error
* warning - Warning
status string true read-only * unresolved - unresolved
* resolved - resolved
* force_resolved - force_resolved
description string true none none
links [Link] false none none
exception string¦null true read-only Exception associated with issue

Enumerated Values

Property Value
level error
level warning
status unresolved
status resolved
status force_resolved

ConsultOption

{
  "programGuid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
  "consultType": "string",
  "interactionMode": "auto_triage",
  "emrUri": "string",
  "usState": "Valid US Postal Code (e.g. CA, MO)",
  "externalLinks": [
    "string"
  ],
  "metadata": null,
  "preferredClinician": "f5151830-c37b-4613-b18d-632afde264cd",
  "isScheduled": true
}

Properties

Name Type Required Restrictions Description
programGuid string(uuid) true none none
consultType string¦null false none A friendly identifier for the consult's type. Is required if the given program has multiple consult types in the same US state.
interactionMode string¦null false none * auto_triage - Async - Auto Triage
* chart_review - Async - Chart Review
* message - Async - Message
* phone_call - Sync - Phone Call
* chat - Sync - Text Chat
* video_chat - Sync - Video Chat
emrUri string true none none
usState string true none none
externalLinks [string]¦null false none none
metadata any false none none
preferredClinician string(uuid)¦null false none A clinician to be requested for the consult. Clinician may not always be available. This should only be used for special, pre-approved use cases.
isScheduled boolean true read-only Metadata that indicates if created consult is Scheduled or On Demand. Note that this field is not used by the Create Consult endpoint.

Enumerated Values

Property Value
interactionMode auto_triage
interactionMode chart_review
interactionMode message
interactionMode phone_call
interactionMode chat
interactionMode video_chat
interactionMode null
usState Valid US Postal Code (e.g. CA, MO)

Http400

{
  "status": "string"
}

Properties

Name Type Required Restrictions Description
status string true none none

Http404

{
  "status": "string"
}

Properties

Name Type Required Restrictions Description
status string true none none

Language

{
  "language": "string",
  "hl7Code": "strin"
}

Properties

Name Type Required Restrictions Description
language string true none none
hl7Code string¦null false none none

{
  "href": "http://example.com",
  "title": "string",
  "description": "string"
}

Properties

Name Type Required Restrictions Description
href string(uri) true none URL to link to
title string true none Title of the link
description string¦null false none none

PaginatedClinicianList

{
  "count": 2,
  "next": "",
  "previous": "",
  "results": [
    {
      "guid": "6dbc7e3f-e08e-464e-9975-f4969219e7e4",
      "firstName": "Fname",
      "lastName": "Lname",
      "clinicianSuffixes": "MD",
      "email": "[email protected]",
      "headshot": "https://public-dev.steadymd-dev.com/headshots/Dan_Headshot_Small_XKYKGYo.jpg",
      "clinicianType": "Medical Doctor",
      "clinicianTypes": [
        {
          "clinicianType": "Medical Doctor",
          "suffix": "MD"
        }
      ],
      "clinicianSpecialties": [
        "Family Medicine"
      ],
      "supervisor": "Don Phan, MD, NP, PA, DO",
      "bio": "An excellent test doctor, will find plenty of issues.",
      "languagesSpoken": [
        {
          "language": "German",
          "hl7Code": "de"
        },
        {
          "language": "English",
          "hl7Code": "en"
        },
        {
          "language": "Spanish",
          "hl7Code": "es"
        },
        {
          "language": "French",
          "hl7Code": "fr"
        },
        {
          "language": "Korean",
          "hl7Code": "ko"
        },
        {
          "language": "Russian",
          "hl7Code": "ru"
        }
      ],
      "qualifications": [
        {
          "organization": "USC",
          "organizationType": "University",
          "qualificationType": {
            "qualificationDisplay": "Doctor of Medicine",
            "qualificationCode": "MD"
          }
        }
      ],
      "npiNumber": "1588975098",
      "npiData": {}
    },
    {
      "guid": "39817593-233b-460b-8133-5e115835575c",
      "firstName": "Fname2",
      "lastName": "Lname2",
      "clinicianSuffixes": "MD",
      "email": "[email protected]",
      "headshot": "",
      "clinicianType": "Medical Doctor",
      "clinicianTypes": [
        {
          "clinicianType": "Medical Doctor",
          "suffix": "MD"
        }
      ],
      "clinicianSpecialties": [],
      "supervisor": "",
      "bio": "",
      "languagesSpoken": [],
      "qualifications": [],
      "npiNumber": "1588975098",
      "npiData": {
        "results": [],
        "resultCount": 0
      }
    }
  ]
}

Properties

Name Type Required Restrictions Description
count integer true none none
next string(uri)¦null false none none
previous string(uri)¦null false none none
results [Clinician] true none none

PaginatedConsultList

{
  "count": 1,
  "next": "",
  "previous": "",
  "results": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "emrUri": "steadymd://episode/9f380946-09e7-47d0-b87e-180fed24095c",
      "usState": "FL",
      "clinician": "https://api.steadymd.com/v1/clinician/fb9aac3c-977e-489d-bbf5-0ae3af5da8ec",
      "clinicianGuid": "c98b25bb-5cc2-4ed4-87ee-1864210d22f2",
      "consultType": "chart_review",
      "consultDefinitionGuid": "1b16d270-6940-464f-a31f-823ffc00b47b",
      "consultDefinitionSla": 0,
      "episodeGuid": "9f380946-09e7-47d0-b87e-180fed24095c",
      "programName": "Migraine Treatment",
      "programGuid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
      "visitStatus": "unassigned",
      "createdAt": "2023-03-24T14:15:22Z",
      "timezone": "US/Eastern",
      "appointmentStartsAtLocalTime": "2023-03-29T10:15:22-06:00",
      "appointmentEndsAtLocalTime": "2023-03-29T10:30:22-06:00",
      "appointmentStartsAt": "2023-03-29T16:15:22Z",
      "appointmentEndsAt": "2023-03-29T16:30:22Z",
      "appointmentScheduledStartsAt": "2023-03-29T16:15:00Z",
      "appointmentScheduledEndsAt": "2023-03-29T16:30:00Z",
      "isExternal": false,
      "externalLinks": [],
      "isPediatric": false,
      "reason": null,
      "reasonSlug": null,
      "reasonForVisit": "initial"
    }
  ]
}

Properties

Name Type Required Restrictions Description
count integer true none none
next string(uri)¦null false none none
previous string(uri)¦null false none none
results [Consult] true none none

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "link": "string",
      "shortCode": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "expiresAt": "2019-08-24T14:15:22Z",
      "usedAt": "2019-08-24T14:15:22Z"
    }
  ]
}

Properties

Name Type Required Restrictions Description
count integer true none none
next string(uri)¦null false none none
previous string(uri)¦null false none none
results [PatientLoginLink] true none none

PaginatedProgramList

{
  "count": 2,
  "next": "",
  "previous": "",
  "results": [
    {
      "guid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
      "name": "Migraine Treatment",
      "description": "Treatment for recurring migraine headaches.",
      "consultTypes": [
        "chart_review",
        "message"
      ]
    },
    {
      "guid": "917a715b-8f81-48cb-95f1-400b3d817a26",
      "name": "Athlete's Foot Treatment",
      "description": "Treatment for Athlete's Foot.",
      "consultTypes": [
        "chart_review",
        "message"
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description
count integer true none none
next string(uri)¦null false none none
previous string(uri)¦null false none none
results [Program] true none none

PatientAccount

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "patientGuid": "76480e0c-000e-4552-a062-5daffb129aab",
  "createdAt": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
guid string(uuid) false none none
patientGuid string(uuid) true none none
createdAt string(date-time) true read-only none

PatientAccountCreate

{
  "patientGuid": "76480e0c-000e-4552-a062-5daffb129aab"
}

Properties

Name Type Required Restrictions Description
patientGuid string(uuid) true none none

{
  "link": "string",
  "shortCode": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "expiresAt": "2019-08-24T14:15:22Z",
  "usedAt": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
link string true read-only none
shortCode string false none none
createdAt string(date-time) true read-only none
expiresAt string(date-time) true none none
usedAt string(date-time)¦null false none none

PatientLoginLinkCreate

{
  "patientAccountGuid": "9d7330d6-c7b9-496b-af1c-dd2e41d2eb3f"
}

Properties

Name Type Required Restrictions Description
patientAccountGuid string(uuid) true none none

PatientUI

{
  "url": "string",
  "expiresAt": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
url string true none none
expiresAt string(date-time) true none none

PatientUIRequest

{
  "returnUrl": "string",
  "element": "schedule"
}

Properties

Name Type Required Restrictions Description
returnUrl string¦null false none none
element string true none * schedule - schedule
* video_visit - video_visit

Enumerated Values

Property Value
element schedule
element video_visit

Program

{
  "guid": "89d00036-4eec-4e4d-8f49-9b064e8aac86",
  "name": "Migraine Treatment",
  "description": "Treatment for recurring migraine headaches.",
  "consultTypes": [
    "chart_review",
    "message"
  ]
}

Properties

Name Type Required Restrictions Description
guid string(uuid) true read-only none
name string true none none
description string false none none
identityVerificationType string false none * selfie_and_id - Selfie and ID
* id - ID
* external - External
* sync_see_id - Sync: See ID
* sync_verbal - Sync: Verbal
consultTypes [string] true none none

Enumerated Values

Property Value
identityVerificationType selfie_and_id
identityVerificationType id
identityVerificationType external
identityVerificationType sync_see_id
identityVerificationType sync_verbal

ProgramLabTestResponse

{
  "guid": "string",
  "laboratory": "string",
  "labOrderCode": "string",
  "labOrderName": "string",
  "loinc": "string",
  "description": "string",
  "cptCodes": [
    "string"
  ],
  "submissionMethod": "string",
  "paymentResponsibilities": [
    "string"
  ]
}

Properties

Name Type Required Restrictions Description
guid string true none none
laboratory string true none none
labOrderCode string true none none
labOrderName string true none none
loinc string¦null true none none
description string true none none
cptCodes [string] true none none
submissionMethod string true none none
paymentResponsibilities [string] true none none

UpdateConsultStatus

{
  "status": "string",
  "reasonSlug": "patient-initiated-reschedule-via-portal"
}

Properties

Name Type Required Restrictions Description
status string true none none
reasonSlug string false none Optional. Select a reason for the canceled visit from the list of available choices.

* patient-initiated-reschedule-via-portal - patient-initiated-reschedule-via-portal
* patient-canceled-via-portal - patient-canceled-via-portal

Enumerated Values

Property Value
reasonSlug patient-initiated-reschedule-via-portal
reasonSlug patient-canceled-via-portal

{
  "label": "string",
  "link": "http://example.com",
  "linkType": "video_chat"
}

Properties

Name Type Required Restrictions Description
label string false none none
link string(uri) false none none
linkType string false none none

Enumerated Values

Property Value
linkType video_chat
linkType other

GenericObject

{}

Properties

None

MetadataObject

{
  "service_eligibility_ids": [
    "string"
  ]
}

Properties

Name Type Required Restrictions Description
service_eligibility_ids [string] false none none

NotificationBody

{
  "Message": "{\"eventId\": \"0ab9e945-b61b-432a-9bfc-25331d864c28\", \"eventType\": \"ConsultStatusChange\", \"clinicianGuid\": \"6dbc7e3f-e08e-464e-9975-f4969219e7e4\", \"consultGuid\": \"f49cfcbf-1d44-4f2c-ba78-03587b01634a\", \"emrUri\": \"steadymd://episode/06f0c88b-9bd2-444b-ae76-bc71bfc25f68\", \"episodeGuid\": \"06f0c88b-9bd2-444b-ae76-bc71bfc25f68\", \"generatedAt\": \"2022-03-08T03:44:54\", \"newStatus\": \"offered\", \"oldStatus\": \"in_progress\", \"programGuid\": \"225b25fa-2d6e-4734-967a-470d4630820f\"}",
  "MessageAttributes": {
    "eventType": {
      "Type": "String",
      "Value": "ConsultStatusChange"
    },
    "partnerSlug": {
      "Type": "String",
      "Value": "test-partner"
    }
  },
  "MessageId": "d283fe78-bad0-5ac5-afff-a4d869a6991e",
  "Signature": "oegdXojkzXe9M0RivOM4RLmc3ye1I72yy85I7tQxfN6sjsXZRub6h4WBE+zUQp6nS2w6Vs3lnw+0Ljpfvp7krNOMhTzVK2S0dIYoVpCa6mebLAicsTMlwTSULz5Tu3Pj0fTRpiYvE+Bm2OtE5MRU3YZ/fLRzFmCgXlio86AeierupymxtnS1xfDLx/9dDuTqg0QTSi3JYTzH89T9UZ2XLghKvBM1D0uzmy+FsnLCcfp/3LoWyZ1+Gl2+nipPcJDJ62DW31AVd8pkx8Sbjb3c6UwoUuVVomJmF0uiZKJhQ7ajOyUMJ3ckJ0ruxRDdxu9FV/05TPFGEPC71gU4H2hLBw==",
  "SignatureVersion": "1",
  "SigningCertURL": "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-7ff5318490ec183fbaddaa2a969abfda.pem",
  "Timestamp": "2022-03-08T03:44:54.591Z",
  "TopicArn": "arn:aws:sns:us-east-1:963549944152:Staging-PlatformEvents",
  "Type": "Notification",
  "UnsubscribeURL": "https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:963549944152:Staging-PlatformEvents:203701c8-b75d-43e5-886c-69db80c0142b"
}

Properties

Name Type Required Restrictions Description
Type string true none none
MessageId string(uuid) true none none
TopicArn string true none none
Subject string false none none
Message string true none none
Timestamp string(date-time) true none none
SignatureVersion string true none none
Signature string true none none
SigningCertURL string(uri) true none none
UnsubscribeURL string(uri) true none none

Enumerated Values

Property Value
Type Notification

ConsultStatusChange

{
  "eventId": "string",
  "eventType": "string",
  "clinicianGuid": "string",
  "consultGuid": "string",
  "emrUri": "string",
  "episodeGuid": "string",
  "generatedAt": "string",
  "newStatus": "string",
  "oldStatus": "string",
  "programGuid": "string"
}

Properties

Name Type Required Restrictions Description
eventId string false none none
eventType string false none none
clinicianGuid string false none none
consultGuid string false none none
emrUri string false none none
episodeGuid string false none none
generatedAt string false none none
newStatus string false none none
oldStatus string false none none
programGuid string false none none

Consult Status

visitStatus unassigned: A consult is waiting for an available clinician to pick it up

visitStatus assigned: A consult is waiting for a specific clinician to become available

visitStatus ready_to_resume: A consult is ready for a follow up with a clinician

visitStatus in_progress: A clinician is working on the consult

visitStatus in_call: A clinician is on video chat or phone call with patient

visitStatus external_in_progress: A clinician is on partner's platform to provide care

visitStatus waiting: A consult is waiting for a patient action

visitStatus completed: The clinician has completed the consult and provided a treatment plan.

visitStatus referred_out: The clinician cannot provide a treatment plan at this time. See patient Instructions for more details

visitStatus rejected: The clinician cannot provide care at this time due to an administrative or technical issue. Please see the Rejection Reasons for more details.

visitStatus scheduled: The consult is booked and the timeslot is reserved with an clinician.

visitStatus waiting_for_intake: A consult is waiting for the patient's intake information.

visitStatus waiting_to_schedule: The consult is waiting for the patient to schedule the timeslot for their visit.

visitStatus clinician_change: The consult was scheduled with a clinician but had to be reassigned due to a schedule change. A consult is waiting for an available clinician to pick it up

EMR API v1

The EMR API allows you to create patients, create intakes, upload identification and diagnostic files, and manage episodes of care. These endpoints are used as part of a Full Integration with SteadyMD.

Base URLs:

encounter

List Encounters

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/encounter \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/encounter

Encounter is a clinical interaction between a patient and a healthcare provider or system, which can include an admission, a visit, a consultation, or a phone call.

Parameters

Name In Type Required Description
consult_guid query string(uuid) false none
episode__guid query string(uuid) false none
limit query integer false Number of results to return per page.
offset query integer false The initial index from which to return the results.

Example responses

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    [
      {
        "episodeGuid": "4e0f56b8-81c4-493a-8b92-f8b90f1136a6",
        "prescriptions": [],
        "prescribedPharmacies": [],
        "guid": "03f77c7f-8a89-4f67-a63e-5b3b522c91e7",
        "consultGuid": "259965a7-1fa2-4df9-a88b-240cae86cf2e",
        "createdAt": "2023-08-01T00:00:36.716950Z",
        "completedAt": "2023-08-02T22:37:08.681988Z",
        "diagnosis": [
          {
            "name": "Abnormal Glucose",
            "icd10": "R730",
            "snomed": "274858002"
          }
        ],
        "treatmentPlan": "test instructions mod",
        "notes": "test assessment mod"
      },
      {
        "episodeGuid": "4e0f56b8-81c4-493a-8b92-f8b90f1136a6",
        "prescriptions": [],
        "prescribedPharmacies": [],
        "guid": "de404c13-08b6-4ee3-b6c0-9e21848c57b6",
        "consultGuid": "bccb5703-10c6-4d72-83f0-a339bd4c72d4",
        "createdAt": "2023-08-01T00:00:36.716950Z",
        "completedAt": "2023-08-02T22:37:08.681988Z",
        "diagnosis": [
          {
            "name": "Abnormal Glucose",
            "icd10": "R730",
            "snomed": "274858002"
          }
        ],
        "treatmentPlan": "test instructions",
        "notes": "test assessment"
      }
    ]
  ]
}

Responses

Status Meaning Description Schema
200 OK none PaginatedEncounterList

Get Encounter

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/encounter/{guid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/encounter/{guid}

Encounter is a clinical interaction between a patient and a healthcare provider or system, which can include an admission, a visit, a consultation, or a phone call.

Parameters

Name In Type Required Description
guid path string(uuid) true none

Example responses

{
  "episodeGuid": "4e0f56b8-81c4-493a-8b92-f8b90f1136a6",
  "prescriptions": [],
  "prescribedPharmacies": [],
  "guid": "03f77c7f-8a89-4f67-a63e-5b3b522c91e7",
  "consultGuid": "259965a7-1fa2-4df9-a88b-240cae86cf2e",
  "createdAt": "2023-08-01T00:00:36.716950Z",
  "completedAt": "2023-08-02T22:37:08.681988Z",
  "diagnosis": [
    {
      "name": "Abnormal Glucose",
      "icd10": "R730",
      "snomed": "274858002"
    }
  ],
  "treatmentPlan": "test instructions mod",
  "notes": "test assessment mod"
}

404 Response

{
  "status": "string"
}

Responses

Status Meaning Description Schema
200 OK none Encounter
404 Not Found none Http404

episode

Create Episode

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/episode \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/episode

Create a new Episode for a Patient.

Body parameter

{
  "parentsOrGuardians": [
    "a497e152-83de-44a4-9fa0-3caf75f8f858"
  ],
  "patientGuid": "5fc40a79-78d4-4511-ae8f-98238378fea1",
  "pharmacy": {
    "ncpdpId": "1234",
    "npiNumber": "133444",
    "phoneNumber": "+18058708006",
    "city": "Atlanta",
    "state": "GA",
    "zipCode": "31302",
    "address1": "Sample Address 1",
    "address2": "",
    "address3": "",
    "isDefault": true,
    "storeName": "Friendly Neighborhood Pharmacy",
    "primaryFax": "+19998889999",
    "isPreferred": true
  }
}
parentsOrGuardians:
  - a497e152-83de-44a4-9fa0-3caf75f8f858
patientGuid: 5fc40a79-78d4-4511-ae8f-98238378fea1
pharmacy:
  ncpdpId: "1234"
  npiNumber: "133444"
  phoneNumber: "+18058708006"
  city: Atlanta
  state: GA
  zipCode: "31302"
  address1: Sample Address 1
  address2: ""
  address3: ""
  isDefault: true
  storeName: Friendly Neighborhood Pharmacy
  primaryFax: "+19998889999"
  isPreferred: true

Parameters

Name In Type Required Description
body body EpisodeCreateRequest true none
» parentsOrGuardians body [string(uuid)] false none
» patientGuid body string(uuid) true none
» pharmacy body Pharmacy false none
»» ncpdpId body string false none
»» npiNumber body string,null false none
»» phoneNumber body string true none
»» city body string false none
»» state body string false none
»» zipCode body string false none
»» address1 body string,null false none
»» address2 body string,null false none
»» address3 body string,null false none
»» isDefault body boolean false none
»» storeName body string false none
»» primaryFax body string,null false none
»» isPreferred body boolean false none

Example responses

{
  "episodeGuid": "9270ea17-05e9-4757-b665-6bf438c882da",
  "episodeUri": "steadymd://episode/9270ea17-05e9-4757-b665-6bf438c882da",
  "diagnosis": [],
  "parentsOrGuardians": [
    "a497e152-83de-44a4-9fa0-3caf75f8f858"
  ],
  "patientGuid": "5fc40a79-78d4-4511-ae8f-98238378fea1",
  "prescriptions": [],
  "requestedPharmacy": {},
  "prescribedPharmacies": [],
  "notes": null,
  "treatmentPlan": null
}

Responses

Status Meaning Description Schema
201 Created none Episode

Retrieve Episode

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/episode/{guid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/episode/{guid}

Retrieve an Episode of care including any treatment plan, pharmacy, and prescription data that has been generated by SteadyMD while providing treatment for this episode.

Parameters

Name In Type Required Description
guid path string(uuid) true none

Example responses

{
  "episodeGuid": "9270ea17-05e9-4757-b665-6bf438c882da",
  "episodeUri": "steadymd://episode/9270ea17-05e9-4757-b665-6bf438c882da",
  "diagnosis": [],
  "parentsOrGuardians": [
    "a497e152-83de-44a4-9fa0-3caf75f8f858"
  ],
  "patientGuid": "5fc40a79-78d4-4511-ae8f-98238378fea1",
  "prescriptions": [],
  "requestedPharmacy": {},
  "prescribedPharmacies": [],
  "notes": null,
  "treatmentPlan": null
}

Responses

Status Meaning Description Schema
200 OK none Episode

Update Episode

Code samples

# You can also use wget
curl -X PATCH https://partner-api.steadymd.com/v1/episode/{guid} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

PATCH /v1/episode/{guid}

Update the Requested Pharmacy or the Parents or Guardians on an Episode. You may not modify any other fields. You may send some or all of the read-only fields. If they are unmodified they will be ignored. Attempting to modify a read-only field will return a 400 error.

Body parameter

{
  "requestedPharmacy": {
    "ncpdpId": "string",
    "npiNumber": "string",
    "phoneNumber": "string",
    "city": "string",
    "state": "string",
    "zipCode": "string",
    "address1": "string",
    "address2": "string",
    "address3": "string",
    "isDefault": true,
    "storeName": "string",
    "primaryFax": "string",
    "isPreferred": true
  },
  "parentsOrGuardians": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}
requestedPharmacy:
  ncpdpId: string
  npiNumber: string
  phoneNumber: string
  city: string
  state: string
  zipCode: string
  address1: string
  address2: string
  address3: string
  isDefault: true
  storeName: string
  primaryFax: string
  isPreferred: true
parentsOrGuardians:
  - 497f6eca-6276-4993-bfeb-53cbbbba6f08

Parameters

Name In Type Required Description
guid path string(uuid) true none
body body EpisodeUpdateRequest false none
» requestedPharmacy body object¦null false none
»» ncpdpId body string false none
»» npiNumber body string¦null false none
»» phoneNumber body string true none
»» city body string false none
»» state body string false none
»» zipCode body string false none
»» address1 body string¦null false none
»» address2 body string¦null false none
»» address3 body string¦null false none
»» isDefault body boolean false none
»» storeName body string false none
»» primaryFax body string¦null false none
»» isPreferred body boolean false none
» parentsOrGuardians body [string(uuid)] false none

Example responses

200 Response

{
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "episodeUri": "string",
  "diagnosis": [
    [
      {
        "name": "string",
        "icd10": "string",
        "snomed": "string"
      }
    ]
  ],
  "parentsOrGuardians": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "patientGuid": "76480e0c-000e-4552-a062-5daffb129aab",
  "prescriptions": [
    {
      "ndc": "string",
      "status": "string",
      "refills": "string",
      "quantity": "string",
      "daysSupply": "string",
      "directions": "string",
      "pharmacyId": "string",
      "displayName": "string",
      "writtenDate": "string",
      "effectiveDate": "string",
      "pharmacyNotes": "string",
      "dispenseUnitId": "string",
      "prescriptionId": "string",
      "noSubstitutions": true,
      "patientMedicationId": "string",
      "dispenseUnitDescription": "string"
    }
  ],
  "requestedPharmacy": {
    "ncpdpId": "string",
    "npiNumber": "string",
    "phoneNumber": "string",
    "city": "string",
    "state": "string",
    "zipCode": "string",
    "address1": "string",
    "address2": "string",
    "address3": "string",
    "isDefault": true,
    "storeName": "string",
    "primaryFax": "string",
    "isPreferred": true
  },
  "prescribedPharmacies": [
    {
      "ncpdpId": "string",
      "npiNumber": "string",
      "phoneNumber": "string",
      "city": "string",
      "state": "string",
      "zipCode": "string",
      "address1": "string",
      "address2": "string",
      "address3": "string",
      "isDefault": true,
      "storeName": "string",
      "primaryFax": "string",
      "isPreferred": true
    }
  ],
  "notes": "string",
  "treatmentPlan": "string",
  "labOrders": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc"
    }
  ],
  "observations": [
    {
      "name": "a_fib",
      "value": null,
      "unit": "boolean"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK none Episode

Create Lab Requisition

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/episode/{guid}/lab/requisition \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/episode/{guid}/lab/requisition

Create a lab requisition for this Episode. Deprecated. See POST /v1/labRequisition.

Body parameter

{
  "laboratory": "QUEST",
  "labOrderCode": "17056",
  "labOrderName": "ALLERGEN SPECIFIC IGE CREAM CHEESE",
  "paymentResponsibility": "self",
  "labAccountId": null
}
laboratory: QUEST
labOrderCode: "17056"
labOrderName: ALLERGEN SPECIFIC IGE CREAM CHEESE
paymentResponsibility: self
labAccountId: null

Parameters

Name In Type Required Description
guid path string true none
body body LabRequisitionCreateRequest true none
» laboratory body string true none
» labOrderCode body string true Example: 005009 is the LabCorp order code for the CBC panel
» labOrderName body string true Example: Complete Blood Count (CBC) With Differential
» paymentResponsibility body string false Defaults to self.
» labAccountId body string¦null false Deprecated - Use LabOrder.labAccountId. For partners that have multiple lab accounts, this field is used to specify which account to use.
» submissionMethod body string false none

Example responses

{
  "episodeGuid": "1a0ea5d9-93f5-4bcc-b899-d67756f632e4",
  "episodeUri": "steadymd://episode/1a0ea5d9-93f5-4bcc-b899-d67756f632e4/lab/requisition/529bfb03-c62e-4829-a09a-6477a3f6c3ba",
  "labRequisitionGuid": "529bfb03-c62e-4829-a09a-6477a3f6c3ba",
  "laboratory": "QUEST",
  "labOrderCode": "17056",
  "labOrderName": "ALLERGEN SPECIFIC IGE CREAM CHEESE",
  "paymentResponsibility": "self",
  "labAccountId": null
}

404 Response

{
  "status": "string"
}

Responses

Status Meaning Description Schema
201 Created none LabRequisition
404 Not Found none Http404

Get Lab Requisition

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/episode/{guid}/lab/requisition/{labRequisitionGuid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/episode/{guid}/lab/requisition/{labRequisitionGuid}

Get lab requisition for this Episode. Deprecated. See GET /v1/labRequisition.

Parameters

Name In Type Required Description
guid path string true none
labRequisitionGuid path string true none

Example responses

{
  "episodeGuid": "1a0ea5d9-93f5-4bcc-b899-d67756f632e4",
  "episodeUri": "steadymd://episode/1a0ea5d9-93f5-4bcc-b899-d67756f632e4/lab/requisition/529bfb03-c62e-4829-a09a-6477a3f6c3ba",
  "labRequisitionGuid": "529bfb03-c62e-4829-a09a-6477a3f6c3ba",
  "laboratory": "QUEST",
  "labOrderCode": "17056",
  "labOrderName": "ALLERGEN SPECIFIC IGE CREAM CHEESE",
  "paymentResponsibility": "self",
  "labAccountId": null
}

404 Response

{
  "status": "string"
}

Responses

Status Meaning Description Schema
200 OK none LabRequisitionCreate
404 Not Found none Http404

identity

List Identity Verification Claims

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/identity?episode__guid=497f6eca-6276-4993-bfeb-53cbbbba6f08 \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/identity

Mixin to log requests

Parameters

Name In Type Required Description
episode__guid query string(uuid) true none

Example responses

[
  [
    {
      "claimType": "external",
      "claimedByName": "External Identity Verifiers Inc",
      "episodeGuid": "9270ea17-05e9-4757-b665-6bf438c882da"
    }
  ]
]

Responses

Status Meaning Description Schema
200 OK none Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [VerificationClaimResponse] false none none
» claimType string true none * allergy_verification - Allergy Verification
* clinical_note_verification - Clinical Note Verification
* external - External
* internal - Internal
* lab_order_ratified - Lab Order Ratified
* lab_order_rejected - Lab Order Rejected
* parental_consent - Parental Consent
» claimedByName string¦null false none none
» episodeGuid string(uuid) true none none

Enumerated Values

Property Value
claimType allergy_verification
claimType clinical_note_verification
claimType external
claimType internal
claimType lab_order_ratified
claimType lab_order_rejected
claimType parental_consent

Claim Identity Verification

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/identity \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/identity

Mixin to log requests

Body parameter

{
  "episodeGuid": "9270ea17-05e9-4757-b665-6bf438c882da",
  "claimedByName": "External Identity Verifiers Inc"
}
episodeGuid: 9270ea17-05e9-4757-b665-6bf438c882da
claimedByName: External Identity Verifiers Inc

Parameters

Name In Type Required Description
body body VerificationClaimCreateRequest true none
» episodeGuid body string(uuid) true none
» claimType body string false * external - External
» claimedByName body string¦null false none
» consultGuid body string(uuid)¦null false none
» labOrder body integer¦null false none

Detailed descriptions

» claimType: * external - External * parental_consent - Parental Consent

Enumerated Values

Parameter Value
» claimType external
» claimType parental_consent

Example responses

{
  "claimType": "external",
  "claimedByName": "External Identity Verifiers Inc",
  "episodeGuid": "9270ea17-05e9-4757-b665-6bf438c882da"
}

Responses

Status Meaning Description Schema
201 Created none VerificationClaimResponse

intake

List Intakes

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/intake \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/intake

An intake is a set of questionnaire responses and files associated with a given Episode.

Parameters

Name In Type Required Description
episode__guid query string(uuid) false none
limit query integer false Number of results to return per page.
offset query integer false The initial index from which to return the results.

Example responses

200 Response

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
      "intakeGuid": "c9b770e3-069e-441d-aa60-9e643455c76b",
      "observations": [
        {
          "name": "a_fib",
          "value": null,
          "unit": "boolean"
        }
      ],
      "questionnaire": [
        {
          "id": "string",
          "question": "string",
          "answer": [
            "string"
          ],
          "type": "attachment",
          "answerType": "valueString",
          "answerOption": [
            {
              "valueString": "string"
            }
          ]
        }
      ],
      "files": [
        {
          "createdAt": "2019-08-24T14:15:22Z",
          "url": "http://example.com",
          "kind": "identification"
        }
      ],
      "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
      "isDraft": true
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK none PaginatedIntakeList

Create Intake

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/intake \
  -H 'Content-Type: 201' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/intake

Observations format:

Body parameter

Parameters

Name In Type Required Description
body body IntakeRequest true none
» episodeGuid body string(uuid) true none
» observations body [Observation] false [Serializer for Observation model. This serializer is used to create and retrieve observations. Valid combinations of observation names and values are:
  • name: a_fib
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: blood_glucose
  • value: float number.
  • units: mg/dL│mmol/L
  • name: blood_pressure
  • value: str 'number/number'.
  • units: mmHg
  • name: heart_rate
  • value: int number.
  • units: bpm
  • name: height
  • value: int number.
  • units: cm│in
  • name: kccq
  • value: Value must be between 0 and 100 pts
  • units: pts
  • name: pregnancy_status
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: oxygen_saturation
  • value: float number.
  • units: %
  • name: risk_category
  • value: Value must be one of ['Low', 'Intermediate', 'High']
  • units: risk
  • name: temperature
  • value: float number.
  • units: C│F
  • name: s3
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: s4
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: self_harm_risk
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: suicide_risk
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: waist_circumference
  • value: int number.
  • units: cm│in
  • name: weight
  • value: float number.
  • units: lb│kg
]
»» name body string true * a_fib - A Fib
»» value body any true The value can be cast to the appropriate type based on the observation unit. It can be a string, boolean, int or float.
»» unit body string true * boolean - Boolean
» questionnaire body [Questionnaire] false none
»» id body string false none
»» question body string true none
»» answer body [anyOf] true none
»»» anonymous body string false none
»»» anonymous body object false none
»» type body string true question types
»» answerType body string true none
»» answerOption body [object] false none
»»» valueString body string false none
labRequisitionGuid body string(uuid)¦null false none
isDraft body boolean false none

Detailed descriptions

»» name: * a_fib - A Fib * blood_glucose - Blood Glucose * blood_pressure - Blood Pressure * heart_rate - Heart Rate * height - Height * kccq - KCCQ * pregnancy_status - Pregnancy Status * oxygen_saturation - Oxygen Saturation * risk_category - Risk Category * temperature - Temperature * s3 - S3 * s4 - S4 * self_harm_risk - Self Harm Risk * suicide_risk - Suicide Risk * waist_circumference - Waist Circumference * weight - Weight

»» unit: * boolean - Boolean * bpm - BPM * C - Celsius * cm - Centimeters * F - Fahrenheit * in - Inches * kg - Kilograms * % - Percent * lb - Pounds * mg/dL - mg/dL * mmHg - mmHg * mmol/L - mmol/L * pts - Points * risk - Risk

Enumerated Values

Parameter Value
»» name a_fib
»» name blood_glucose
»» name blood_pressure
»» name heart_rate
»» name height
»» name kccq
»» name pregnancy_status
»» name oxygen_saturation
»» name risk_category
»» name temperature
»» name s3
»» name s4
»» name self_harm_risk
»» name suicide_risk
»» name waist_circumference
»» name weight
»» unit boolean
»» unit bpm
»» unit C
»» unit cm
»» unit F
»» unit in
»» unit kg
»» unit %
»» unit lb
»» unit mg/dL
»» unit mmHg
»» unit mmol/L
»» unit pts
»» unit risk
»» type attachment
»» type choice
»» type open-choice
»» type text
»» answerType valueString
»» answerType valueBoolean
»» answerType valueAttachment

Example responses

201 Response

{
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "intakeGuid": "c9b770e3-069e-441d-aa60-9e643455c76b",
  "observations": [
    {
      "name": "a_fib",
      "value": null,
      "unit": "boolean"
    }
  ],
  "questionnaire": [
    {
      "id": "string",
      "question": "string",
      "answer": [
        "string"
      ],
      "type": "attachment",
      "answerType": "valueString",
      "answerOption": [
        {
          "valueString": "string"
        }
      ]
    }
  ],
  "files": [
    {
      "createdAt": "2019-08-24T14:15:22Z",
      "url": "http://example.com",
      "kind": "identification"
    }
  ],
  "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
  "isDraft": true
}

Responses

Status Meaning Description Schema
201 Created none Intake

Retrieve Intake

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/intake/{guid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/intake/{guid}

An intake is a set of questionnaire responses and files associated with a given Episode.

Parameters

Name In Type Required Description
guid path string(uuid) true none

Example responses

{
  "episodeGuid": "9270ea17-05e9-4757-b665-6bf438c882da",
  "intakeGuid": "ac02c06c-3960-4599-9a95-c10c15465fc1",
  "observations": [
    {
      "name": "height",
      "value": 63,
      "unit": "in"
    },
    {
      "name": "weight",
      "value": 105,
      "unit": "lb"
    },
    {
      "name": "oxygen_saturation",
      "value": 97,
      "unit": "%"
    },
    {
      "name": "temperature",
      "value": 98.6,
      "unit": "F"
    },
    {
      "name": "heart_rate",
      "value": 60,
      "unit": "bpm"
    },
    {
      "name": "pregnancy_status",
      "value": false,
      "unit": "boolean"
    },
    {
      "name": "blood_pressure",
      "value": "120/80",
      "unit": "mmHg"
    },
    {
      "name": "self_harm_risk",
      "value": false,
      "unit": "boolean"
    }
  ],
  "questionnaire": [
    {
      "id": "42650108-35aa-409b-9546-2d6b0bf2021a",
      "type": "choice",
      "answer": [
        "Ohio"
      ],
      "question": "Where are you today?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "4424b798-015b-4eb9-b028-dbf844ea7f96",
      "type": "open-choice",
      "answer": [
        "You want longer eyelashes",
        "You've partially or totally lost your eyebrows",
        "You're under a lot of stress"
      ],
      "question": "Which of these statements apply to you? It's OK to choose more than one.",
      "answerType": "valueString",
      "answerOption": [
        {
          "valueString": "You want longer eyelashes"
        },
        {
          "valueString": "You pick at your eyelashes"
        },
        {
          "valueString": "You've completely lost your eyelashes"
        },
        {
          "valueString": "You've partially or totally lost your eyebrows"
        },
        {
          "valueString": "You have hair loss on other parts of your body"
        },
        {
          "valueString": "You're under a lot of stress"
        }
      ]
    },
    {
      "id": "fa2df818-9db9-4629-9037-b8eac8a43155",
      "type": "choice",
      "answer": [
        "Yes"
      ],
      "question": "Have you used Latisse (generic name, bimatoprost) before?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "34b6c99b-5940-410a-a6db-476ca9c12737",
      "type": "text",
      "answer": [
        "It worked well, as long as I kept up with it. No side effects "
      ],
      "question": "Tell us about your experience with Latisse.",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "d73d7926-10c7-4050-b59a-22012e7e31e1",
      "type": "open-choice",
      "answer": [
        "Corrective lenses (glasses or contacts)"
      ],
      "question": "Which (if any) of the following conditions or treatments have you experienced, now or in the past? It's OK to choose more than one.",
      "answerType": "valueString",
      "answerOption": [
        {
          "valueString": "Alopecia"
        },
        {
          "valueString": "Corrective lenses (glasses or contacts)"
        },
        {
          "valueString": "Currently going through chemotherapy or radiation treatments"
        },
        {
          "valueString": "Glaucoma, increased intraocular pressure, or eye hypertension"
        },
        {
          "valueString": "Eye surgery or surgeries"
        },
        {
          "valueString": "Skin infection on your eyelid"
        },
        {
          "valueString": "Unhealed eye injury"
        },
        {
          "valueString": "Uveitis or conjunctivitis"
        },
        {
          "valueString": "None of the above"
        }
      ]
    },
    {
      "id": "a6257efa-c5c2-42a3-8cf2-198aa96d0a27",
      "type": "choice",
      "answer": [
        "Yes"
      ],
      "question": "In the past year, have you had an eye examination that included an eye pressure test?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "fb0fda23-6cd3-4745-917c-dd1ef90f18eb",
      "type": "choice",
      "answer": [
        "Eye pressure was normal"
      ],
      "question": "What were the results of the eye pressure test?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "d52fa5b7-2586-4998-97b3-baefb0c951f5",
      "type": "choice",
      "answer": [
        "No"
      ],
      "question": "Are you pregnant, nursing, or trying to get pregnant?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "1dc01894-784a-40bc-a048-7cb5a79047a9",
      "type": "open-choice",
      "answer": [
        "Not answered"
      ],
      "question": "Since you answered 'yes' to the last question, it’s important for the provider to know a little more detail.",
      "answerType": "valueString",
      "answerOption": [
        {
          "valueString": "I’m pregnant"
        },
        {
          "valueString": "I’m trying to get pregnant"
        },
        {
          "valueString": "I’m nursing"
        },
        {
          "valueString": "None of these apply to me"
        }
      ]
    },
    {
      "id": "3cb666f9-ff5b-4341-b3f0-477292e36278",
      "type": "open-choice",
      "answer": [
        "I don't have any health conditions"
      ],
      "question": "Do you have any health conditions?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "86ad2e8a-98e2-4291-8b21-a30ba0a5c554",
      "type": "open-choice",
      "answer": [
        "Lo Loestrin Fe 28 Day Pack"
      ],
      "question": "What medications, vitamins, and supplements are you taking?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "8ca50586-f97b-44f9-800e-9b6d2a0b6adb",
      "type": "open-choice",
      "answer": [
        "I don't have any allergies"
      ],
      "question": "Do you have any allergies to food or medicine?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "8f3aa552-a43e-4181-9b7f-40b5f5e3cdcd",
      "type": "open-choice",
      "answer": [
        "I don't have any surgeries"
      ],
      "question": "Have you had any surgeries or procedures?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "238c3bb4-e428-415d-85c7-b11ce6c575bd",
      "type": "text",
      "answer": [
        "None"
      ],
      "question": "Is there anything else you'd like your healthcare provider to know?",
      "answerType": "valueString",
      "answerOption": []
    }
  ],
  "files": [],
  "labRequisitionGuid": null,
  "isDraft": false
}

Responses

Status Meaning Description Schema
200 OK none Intake

Update Intake

Code samples

# You can also use wget
curl -X PUT https://partner-api.steadymd.com/v1/intake/{guid} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

PUT /v1/intake/{guid}

Update the Episode, Observations, Questionnaire, Lab Requisition or the isDraft on an Intake. You may not modify any other fields. Note that intake files cannot be updated from this endpoint, but new files can be added by using then Create Intake File endpoint.

Body parameter

{
  "episodeGuid": "9270ea17-05e9-4757-b665-6bf438c882da",
  "observations": [
    {
      "name": "height",
      "value": 63,
      "unit": "in"
    },
    {
      "name": "weight",
      "value": 105,
      "unit": "lb"
    }
  ],
  "questionnaire": [
    {
      "id": "42650108-35aa-409b-9546-2d6b0bf2021a",
      "type": "choice",
      "answer": [
        "Ohio"
      ],
      "question": "Where are you today?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "4424b798-015b-4eb9-b028-dbf844ea7f96",
      "type": "open-choice",
      "answer": [
        "You want longer eyelashes",
        "You've partially or totally lost your eyebrows",
        "You're under a lot of stress"
      ],
      "question": "Which of these statements apply to you? It's OK to choose more than one.",
      "answerType": "valueString",
      "answerOption": [
        {
          "valueString": "You want longer eyelashes"
        },
        {
          "valueString": "You pick at your eyelashes"
        },
        {
          "valueString": "You've completely lost your eyelashes"
        },
        {
          "valueString": "You've partially or totally lost your eyebrows"
        },
        {
          "valueString": "You have hair loss on other parts of your body"
        },
        {
          "valueString": "You're under a lot of stress"
        }
      ]
    },
    {
      "id": "fa2df818-9db9-4629-9037-b8eac8a43155",
      "type": "choice",
      "answer": [
        "Yes"
      ],
      "question": "Have you used Latisse (generic name, bimatoprost) before?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "34b6c99b-5940-410a-a6db-476ca9c12737",
      "type": "text",
      "answer": [
        "It worked well, as long as I kept up with it. No side effects "
      ],
      "question": "Tell us about your experience with Latisse.",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "d73d7926-10c7-4050-b59a-22012e7e31e1",
      "type": "open-choice",
      "answer": [
        "Corrective lenses (glasses or contacts)"
      ],
      "question": "Which (if any) of the following conditions or treatments have you experienced, now or in the past? It's OK to choose more than one.",
      "answerType": "valueString",
      "answerOption": [
        {
          "valueString": "Alopecia"
        },
        {
          "valueString": "Corrective lenses (glasses or contacts)"
        },
        {
          "valueString": "Currently going through chemotherapy or radiation treatments"
        },
        {
          "valueString": "Glaucoma, increased intraocular pressure, or eye hypertension"
        },
        {
          "valueString": "Eye surgery or surgeries"
        },
        {
          "valueString": "Skin infection on your eyelid"
        },
        {
          "valueString": "Unhealed eye injury"
        },
        {
          "valueString": "Uveitis or conjunctivitis"
        },
        {
          "valueString": "None of the above"
        }
      ]
    },
    {
      "id": "a6257efa-c5c2-42a3-8cf2-198aa96d0a27",
      "type": "choice",
      "answer": [
        "Yes"
      ],
      "question": "In the past year, have you had an eye examination that included an eye pressure test?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "fb0fda23-6cd3-4745-917c-dd1ef90f18eb",
      "type": "choice",
      "answer": [
        "Eye pressure was normal"
      ],
      "question": "What were the results of the eye pressure test?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "d52fa5b7-2586-4998-97b3-baefb0c951f5",
      "type": "choice",
      "answer": [
        "No"
      ],
      "question": "Are you pregnant, nursing, or trying to get pregnant?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "1dc01894-784a-40bc-a048-7cb5a79047a9",
      "type": "open-choice",
      "answer": [
        "Not answered"
      ],
      "question": "Since you answered 'yes' to the last question, it’s important for the provider to know a little more detail.",
      "answerType": "valueString",
      "answerOption": [
        {
          "valueString": "I’m pregnant"
        },
        {
          "valueString": "I’m trying to get pregnant"
        },
        {
          "valueString": "I’m nursing"
        },
        {
          "valueString": "None of these apply to me"
        }
      ]
    },
    {
      "id": "3cb666f9-ff5b-4341-b3f0-477292e36278",
      "type": "open-choice",
      "answer": [
        "I don't have any health conditions"
      ],
      "question": "Do you have any health conditions?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "86ad2e8a-98e2-4291-8b21-a30ba0a5c554",
      "type": "open-choice",
      "answer": [
        "Lo Loestrin Fe 28 Day Pack"
      ],
      "question": "What medications, vitamins, and supplements are you taking?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "8ca50586-f97b-44f9-800e-9b6d2a0b6adb",
      "type": "open-choice",
      "answer": [
        "I don't have any allergies"
      ],
      "question": "Do you have any allergies to food or medicine?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "8f3aa552-a43e-4181-9b7f-40b5f5e3cdcd",
      "type": "open-choice",
      "answer": [
        "I don't have any surgeries"
      ],
      "question": "Have you had any surgeries or procedures?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "238c3bb4-e428-415d-85c7-b11ce6c575bd",
      "type": "text",
      "answer": [
        "None"
      ],
      "question": "Is there anything else you'd like your healthcare provider to know?",
      "answerType": "valueString",
      "answerOption": []
    }
  ],
  "labRequisitionGuid": "8865d718-24c4-42b2-877f-15c8438f64de",
  "isDraft": false
}
episodeGuid: 9270ea17-05e9-4757-b665-6bf438c882da
observations:
  - name: height
    value: 63
    unit: in
  - name: weight
    value: 105
    unit: lb
questionnaire:
  - id: 42650108-35aa-409b-9546-2d6b0bf2021a
    type: choice
    answer:
      - Ohio
    question: Where are you today?
    answerType: valueString
    answerOption: []
  - id: 4424b798-015b-4eb9-b028-dbf844ea7f96
    type: open-choice
    answer:
      - You want longer eyelashes
      - You've partially or totally lost your eyebrows
      - You're under a lot of stress
    question: Which of these statements apply to you? It's OK to choose more than one.
    answerType: valueString
    answerOption:
      - valueString: You want longer eyelashes
      - valueString: You pick at your eyelashes
      - valueString: You've completely lost your eyelashes
      - valueString: You've partially or totally lost your eyebrows
      - valueString: You have hair loss on other parts of your body
      - valueString: You're under a lot of stress
  - id: fa2df818-9db9-4629-9037-b8eac8a43155
    type: choice
    answer:
      - Yes
    question: Have you used Latisse (generic name, bimatoprost) before?
    answerType: valueString
    answerOption: []
  - id: 34b6c99b-5940-410a-a6db-476ca9c12737
    type: text
    answer:
      - "It worked well, as long as I kept up with it. No side effects "
    question: Tell us about your experience with Latisse.
    answerType: valueString
    answerOption: []
  - id: d73d7926-10c7-4050-b59a-22012e7e31e1
    type: open-choice
    answer:
      - Corrective lenses (glasses or contacts)
    question: Which (if any) of the following conditions or treatments have you
      experienced, now or in the past? It's OK to choose more than one.
    answerType: valueString
    answerOption:
      - valueString: Alopecia
      - valueString: Corrective lenses (glasses or contacts)
      - valueString: Currently going through chemotherapy or radiation treatments
      - valueString: Glaucoma, increased intraocular pressure, or eye hypertension
      - valueString: Eye surgery or surgeries
      - valueString: Skin infection on your eyelid
      - valueString: Unhealed eye injury
      - valueString: Uveitis or conjunctivitis
      - valueString: None of the above
  - id: a6257efa-c5c2-42a3-8cf2-198aa96d0a27
    type: choice
    answer:
      - Yes
    question: In the past year, have you had an eye examination that included an eye
      pressure test?
    answerType: valueString
    answerOption: []
  - id: fb0fda23-6cd3-4745-917c-dd1ef90f18eb
    type: choice
    answer:
      - Eye pressure was normal
    question: What were the results of the eye pressure test?
    answerType: valueString
    answerOption: []
  - id: d52fa5b7-2586-4998-97b3-baefb0c951f5
    type: choice
    answer:
      - No
    question: Are you pregnant, nursing, or trying to get pregnant?
    answerType: valueString
    answerOption: []
  - id: 1dc01894-784a-40bc-a048-7cb5a79047a9
    type: open-choice
    answer:
      - Not answered
    question: Since you answered 'yes' to the last question, it’s important for the
      provider to know a little more detail.
    answerType: valueString
    answerOption:
      - valueString: I’m pregnant
      - valueString: I’m trying to get pregnant
      - valueString: I’m nursing
      - valueString: None of these apply to me
  - id: 3cb666f9-ff5b-4341-b3f0-477292e36278
    type: open-choice
    answer:
      - I don't have any health conditions
    question: Do you have any health conditions?
    answerType: valueString
    answerOption: []
  - id: 86ad2e8a-98e2-4291-8b21-a30ba0a5c554
    type: open-choice
    answer:
      - Lo Loestrin Fe 28 Day Pack
    question: What medications, vitamins, and supplements are you taking?
    answerType: valueString
    answerOption: []
  - id: 8ca50586-f97b-44f9-800e-9b6d2a0b6adb
    type: open-choice
    answer:
      - I don't have any allergies
    question: Do you have any allergies to food or medicine?
    answerType: valueString
    answerOption: []
  - id: 8f3aa552-a43e-4181-9b7f-40b5f5e3cdcd
    type: open-choice
    answer:
      - I don't have any surgeries
    question: Have you had any surgeries or procedures?
    answerType: valueString
    answerOption: []
  - id: 238c3bb4-e428-415d-85c7-b11ce6c575bd
    type: text
    answer:
      - None
    question: Is there anything else you'd like your healthcare provider to know?
    answerType: valueString
    answerOption: []
labRequisitionGuid: 8865d718-24c4-42b2-877f-15c8438f64de
isDraft: false

Parameters

Name In Type Required Description
guid path string(uuid) true none
body body IntakeUpdateRequest true none
» episodeGuid body string(uuid) true none
» observations body [IntakeObservationRequest] true none
»» name body string true * a_fib - A Fib
»» value body any true The value can be cast to the appropriate type based on the observation unit. It can be a string, boolean, int or float.
»» unit body string true * boolean - Boolean
» questionnaire body [object]¦null true none
»» id body string false none
»» question body string true none
»» answer body [anyOf] true none
»»» anonymous body string false none
»»» anonymous body object false none
»» type body string true question types
»» answerType body string true none
»» answerOption body [object] false none
»»» valueString body string false none
» labRequisitionGuid body string(uuid)¦null true none
» isDraft body boolean true none

Detailed descriptions

»» name: * a_fib - A Fib * blood_glucose - Blood Glucose * blood_pressure - Blood Pressure * heart_rate - Heart Rate * height - Height * kccq - KCCQ * pregnancy_status - Pregnancy Status * oxygen_saturation - Oxygen Saturation * risk_category - Risk Category * temperature - Temperature * s3 - S3 * s4 - S4 * self_harm_risk - Self Harm Risk * suicide_risk - Suicide Risk * waist_circumference - Waist Circumference * weight - Weight

»» unit: * boolean - Boolean * bpm - BPM * C - Celsius * cm - Centimeters * F - Fahrenheit * in - Inches * kg - Kilograms * % - Percent * lb - Pounds * mg/dL - mg/dL * mmHg - mmHg * mmol/L - mmol/L * pts - Points * risk - Risk

Enumerated Values

Parameter Value
»» name a_fib
»» name blood_glucose
»» name blood_pressure
»» name heart_rate
»» name height
»» name kccq
»» name pregnancy_status
»» name oxygen_saturation
»» name risk_category
»» name temperature
»» name s3
»» name s4
»» name self_harm_risk
»» name suicide_risk
»» name waist_circumference
»» name weight
»» unit boolean
»» unit bpm
»» unit C
»» unit cm
»» unit F
»» unit in
»» unit kg
»» unit %
»» unit lb
»» unit mg/dL
»» unit mmHg
»» unit mmol/L
»» unit pts
»» unit risk
»» type attachment
»» type choice
»» type open-choice
»» type text
»» answerType valueString
»» answerType valueBoolean
»» answerType valueAttachment

Example responses

{
  "episodeGuid": "9270ea17-05e9-4757-b665-6bf438c882da",
  "intakeGuid": "551f931d-e5e5-43ba-93ca-64168e3c2faa",
  "observations": [
    {
      "name": "height",
      "value": 63,
      "unit": "in"
    },
    {
      "name": "weight",
      "value": 105,
      "unit": "lb"
    }
  ],
  "questionnaire": [
    {
      "id": "42650108-35aa-409b-9546-2d6b0bf2021a",
      "type": "choice",
      "answer": [
        "Ohio"
      ],
      "question": "Where are you today?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "4424b798-015b-4eb9-b028-dbf844ea7f96",
      "type": "open-choice",
      "answer": [
        "You want longer eyelashes",
        "You've partially or totally lost your eyebrows",
        "You're under a lot of stress"
      ],
      "question": "Which of these statements apply to you? It's OK to choose more than one.",
      "answerType": "valueString",
      "answerOption": [
        {
          "valueString": "You want longer eyelashes"
        },
        {
          "valueString": "You pick at your eyelashes"
        },
        {
          "valueString": "You've completely lost your eyelashes"
        },
        {
          "valueString": "You've partially or totally lost your eyebrows"
        },
        {
          "valueString": "You have hair loss on other parts of your body"
        },
        {
          "valueString": "You're under a lot of stress"
        }
      ]
    },
    {
      "id": "fa2df818-9db9-4629-9037-b8eac8a43155",
      "type": "choice",
      "answer": [
        "Yes"
      ],
      "question": "Have you used Latisse (generic name, bimatoprost) before?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "34b6c99b-5940-410a-a6db-476ca9c12737",
      "type": "text",
      "answer": [
        "It worked well, as long as I kept up with it. No side effects "
      ],
      "question": "Tell us about your experience with Latisse.",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "d73d7926-10c7-4050-b59a-22012e7e31e1",
      "type": "open-choice",
      "answer": [
        "Corrective lenses (glasses or contacts)"
      ],
      "question": "Which (if any) of the following conditions or treatments have you experienced, now or in the past? It's OK to choose more than one.",
      "answerType": "valueString",
      "answerOption": [
        {
          "valueString": "Alopecia"
        },
        {
          "valueString": "Corrective lenses (glasses or contacts)"
        },
        {
          "valueString": "Currently going through chemotherapy or radiation treatments"
        },
        {
          "valueString": "Glaucoma, increased intraocular pressure, or eye hypertension"
        },
        {
          "valueString": "Eye surgery or surgeries"
        },
        {
          "valueString": "Skin infection on your eyelid"
        },
        {
          "valueString": "Unhealed eye injury"
        },
        {
          "valueString": "Uveitis or conjunctivitis"
        },
        {
          "valueString": "None of the above"
        }
      ]
    },
    {
      "id": "a6257efa-c5c2-42a3-8cf2-198aa96d0a27",
      "type": "choice",
      "answer": [
        "Yes"
      ],
      "question": "In the past year, have you had an eye examination that included an eye pressure test?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "fb0fda23-6cd3-4745-917c-dd1ef90f18eb",
      "type": "choice",
      "answer": [
        "Eye pressure was normal"
      ],
      "question": "What were the results of the eye pressure test?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "d52fa5b7-2586-4998-97b3-baefb0c951f5",
      "type": "choice",
      "answer": [
        "No"
      ],
      "question": "Are you pregnant, nursing, or trying to get pregnant?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "1dc01894-784a-40bc-a048-7cb5a79047a9",
      "type": "open-choice",
      "answer": [
        "Not answered"
      ],
      "question": "Since you answered 'yes' to the last question, it’s important for the provider to know a little more detail.",
      "answerType": "valueString",
      "answerOption": [
        {
          "valueString": "I’m pregnant"
        },
        {
          "valueString": "I’m trying to get pregnant"
        },
        {
          "valueString": "I’m nursing"
        },
        {
          "valueString": "None of these apply to me"
        }
      ]
    },
    {
      "id": "3cb666f9-ff5b-4341-b3f0-477292e36278",
      "type": "open-choice",
      "answer": [
        "I don't have any health conditions"
      ],
      "question": "Do you have any health conditions?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "86ad2e8a-98e2-4291-8b21-a30ba0a5c554",
      "type": "open-choice",
      "answer": [
        "Lo Loestrin Fe 28 Day Pack"
      ],
      "question": "What medications, vitamins, and supplements are you taking?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "8ca50586-f97b-44f9-800e-9b6d2a0b6adb",
      "type": "open-choice",
      "answer": [
        "I don't have any allergies"
      ],
      "question": "Do you have any allergies to food or medicine?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "8f3aa552-a43e-4181-9b7f-40b5f5e3cdcd",
      "type": "open-choice",
      "answer": [
        "I don't have any surgeries"
      ],
      "question": "Have you had any surgeries or procedures?",
      "answerType": "valueString",
      "answerOption": []
    },
    {
      "id": "238c3bb4-e428-415d-85c7-b11ce6c575bd",
      "type": "text",
      "answer": [
        "None"
      ],
      "question": "Is there anything else you'd like your healthcare provider to know?",
      "answerType": "valueString",
      "answerOption": []
    }
  ],
  "labRequisitionGuid": "8865d718-24c4-42b2-877f-15c8438f64de",
  "isDraft": false
}

403 Response

{
  "status": "string"
}

Responses

Status Meaning Description Schema
200 OK none IntakeUpdate
403 Forbidden none Http403

Add Allergy or Intolerance

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/intake/{guid}/allergyIntolerance \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/intake/{guid}/allergyIntolerance

Associate allergies or intolerance to the intake

Body parameter

[
  [
    {
      "resourceType": "AllergyIntolerance",
      "code": {
        "coding": [
          {
            "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
            "code": "3042793",
            "display": "Apple"
          },
          {
            "system": "http://snomed.info/sct",
            "code": "418314004.0",
            "display": "Apple"
          }
        ]
      }
    },
    {
      "resourceType": "AllergyIntolerance",
      "code": {
        "coding": [
          {
            "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
            "code": "1358966",
            "display": "Orange juice"
          }
        ]
      }
    }
  ]
]
- - resourceType: AllergyIntolerance
    code:
      coding:
        - system: http://www.nlm.nih.gov/research/umls/rxnorm
          code: "3042793"
          display: Apple
        - system: http://snomed.info/sct
          code: "418314004.0"
          display: Apple
  - resourceType: AllergyIntolerance
    code:
      coding:
        - system: http://www.nlm.nih.gov/research/umls/rxnorm
          code: "1358966"
          display: Orange juice

Parameters

Name In Type Required Description
guid path string(uuid) true none
body body AllergyIntoleranceCreateRequest true none

Example responses

[
  {
    "resourceType": "AllergyIntolerance",
    "code": {
      "coding": [
        {
          "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
          "code": "3042793",
          "display": "Apple"
        },
        {
          "system": "http://snomed.info/sct",
          "code": "418314004.0",
          "display": "Apple"
        }
      ]
    }
  },
  {
    "resourceType": "AllergyIntolerance",
    "code": {
      "coding": [
        {
          "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
          "code": "1358966",
          "display": "Orange juice"
        }
      ]
    }
  }
]

400 Response

{
  "status": "string"
}

Responses

Status Meaning Description Schema
201 Created none Http200
400 Bad Request none Http400
404 Not Found none Http404

intakeFile

Create Intake File

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/intakeFile \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/intakeFile

Create an intake file

Body parameter

intakeGuid: c9b770e3-069e-441d-aa60-9e643455c76b
externalId: string
sourceInfo: null
file: string
kind: identification

Parameters

Name In Type Required Description
body body IntakeFileCreateRequest true none
» intakeGuid body string(uuid) true none
» externalId body string¦null false none
» sourceInfo body any false Additional data about the file source
» file body string(binary) true none
» kind body string true * identification - Identification

Detailed descriptions

» kind: * identification - Identification * selfie - Selfie * diagnostic - Diagnostic * lab_result - Lab Result * other - Other

Enumerated Values

Parameter Value
» kind identification
» kind selfie
» kind diagnostic
» kind lab_result
» kind other

Example responses

{
  "status": "created"
}

Responses

Status Meaning Description Schema
201 Created none CreateResult

labOrder

List LabOrders

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/labOrder \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/labOrder

Create and retrieve LabOrders

Parameters

Name In Type Required Description
limit query integer false Number of results to return per page.
offset query integer false The initial index from which to return the results.

Example responses

200 Response

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "emrUri": "string",
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
      "labOrderId": "string",
      "laboratory": "string",
      "paymentResponsibility": "self",
      "submissionMethod": "ABBOTT_BRIDGE",
      "labAccountId": "string",
      "labReferenceId": "string",
      "labRequisitions": [
        {
          "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
          "labOrderCode": "string",
          "labOrderName": "string"
        }
      ],
      "orderingClinician": "string",
      "diagnosticResultId": "string",
      "labResults": [
        {
          "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
          "externalId": "string",
          "version": "string",
          "releasedAt": "2019-08-24T14:15:22Z"
        }
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK none PaginatedLabOrderList

Create LabOrder

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/labOrder \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/labOrder

Creates a new LabOrder for a specific Episode

Body parameter

{
  "episodeGuid": "5104445a-2140-4ca6-ac56-e1222500751a",
  "labOrderId": "0000003",
  "laboratory": "ABBOTT_LAB",
  "paymentResponsibility": "self",
  "labRequisitions": [
    {
      "labOrderCode": "labOrderCode",
      "labOrderName": "labOrderName"
    }
  ]
}
episodeGuid: 5104445a-2140-4ca6-ac56-e1222500751a
labOrderId: "0000003"
laboratory: ABBOTT_LAB
paymentResponsibility: self
labRequisitions:
  - labOrderCode: labOrderCode
    labOrderName: labOrderName

Parameters

Name In Type Required Description
body body LabOrderCreateRequest true none
» episodeGuid body string(uuid) true none
» laboratory body string true Laboratory ID
» paymentResponsibility body string false * self - Client (Account Owner)
» submissionMethod body string false Use SELF_SUBMISSION if partner to bring their own lab
» labRequisitions body [LabRequisitionShortRequest] true none
»» labOrderCode body string true Example: 005009 is the LabCorp order code for the CBC panel
»» labOrderName body string true Example: Complete Blood Count (CBC) With Differential
» labOrderId body string¦null false External Laboratory ID for the order. This is the ID can be used to retrieve the order
» requestResultId body string¦null false Use this ID within 1 hour to fetch the order details. After 1 hour, retrying the order will generate a new request result ID and create a new lab order.
» labAccountId body string false none

Detailed descriptions

» paymentResponsibility: * self - Client (Account Owner) * guarantor - Guarantor * patient - Patient * thirdParty - Third Party

Enumerated Values

Parameter Value
» paymentResponsibility self
» paymentResponsibility guarantor
» paymentResponsibility patient
» paymentResponsibility thirdParty

Example responses

201 Response

{
  "emrUri": "string",
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "labOrderId": "string",
  "laboratory": "string",
  "paymentResponsibility": "self",
  "submissionMethod": "ABBOTT_BRIDGE",
  "labAccountId": "string",
  "labReferenceId": "string",
  "labRequisitions": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "labOrderCode": "string",
      "labOrderName": "string"
    }
  ],
  "orderingClinician": "string",
  "diagnosticResultId": "string",
  "labResults": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "externalId": "string",
      "version": "string",
      "releasedAt": "2019-08-24T14:15:22Z"
    }
  ]
}

Responses

Status Meaning Description Schema
201 Created none LabOrder

Retrieve LabOrder

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/labOrder/{guid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/labOrder/{guid}

Access a LabOrder by GUID, which includes both lab requisitions and results GUIDs. Please note that if the results have not yet been submitted, the results section will be empty

Parameters

Name In Type Required Description
guid path string(uuid) true none

Example responses

{
  "emrUri": "steadymd://episode/7a50581b-2729-4fb7-9b19-b99f970f2c1e/lab/order/7a7dec1f-47b6-46fc-8159-d13f999e011e",
  "guid": "7a7dec1f-47b6-46fc-8159-d13f999e011e",
  "episodeGuid": "7a50581b-2729-4fb7-9b19-b99f970f2c1e",
  "laboratory": "ABBOTT_LAB",
  "paymentResponsibility": "self",
  "labRequisitions": [
    {
      "guid": "8c6a7482-4d01-4b47-b30c-ff7d16848829",
      "labOrderCode": "1438",
      "labOrderName": "gh lab test"
    },
    {
      "guid": "cbf8f66c-3544-4326-b147-a46753ac894e",
      "labOrderCode": "1503",
      "labOrderName": "abbott lab test"
    },
    {
      "guid": "62cff27c-4d5f-4552-afeb-818892d29742",
      "labOrderCode": "4330",
      "labOrderName": "abbott lab test"
    }
  ],
  "labOrderId": "8bd25a64bbf165d7eb1029ba",
  "requestResultId": "db7b59640f3d96cdb83da7d7",
  "diagnosticResultId": "eed25a64d43480deaae22072",
  "labResults": [
    {
      "guid": "9721538f-694c-4efb-b60a-7728e2d5da26",
      "externalId": "eed25a64d43480deaae22072",
      "version": null
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK none LabOrder

Get Lab Order PDF

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/labOrder/{guid}/pdf \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/labOrder/{guid}/pdf

Create and retrieve LabOrders

Parameters

Name In Type Required Description
guid path string(uuid) true none

Example responses

200 Response

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "kind": "IDENTIFICATION",
  "description": "string",
  "file": "http://example.com",
  "checksum": "string",
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK none FileAttachment

List Lab Results

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/labOrder/{guid}/results \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/labOrder/{guid}/results

List all released LabResults for a given LabOrder

Parameters

Name In Type Required Description
diagnostic_result_id query string false none
guid path string(uuid) true none
lab_order_id query string false none
limit query integer false Number of results to return per page.
offset query integer false The initial index from which to return the results.
request_result_id query string false none

Example responses

200 Response

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "externalId": "string",
      "status": "registered",
      "accessionNumber": "string",
      "version": "string",
      "releasedAt": "2019-08-24T14:15:22Z",
      "abnormalFlag": "N",
      "priority": "P1",
      "observations": [
        {
          "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
          "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
          "status": "registered",
          "code": "string",
          "codeText": "string",
          "value": "string",
          "unit": "string",
          "abnormalFlag": "N",
          "labOrderCode": "string",
          "labOrderName": "string",
          "interpretations": [
            {
              "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
              "coding": "string",
              "text": "string"
            }
          ],
          "effectiveAt": "2019-08-24T14:15:22Z",
          "issuedAt": "2019-08-24T14:15:22Z",
          "collectedAt": "2019-08-24T14:15:22Z",
          "receivedAt": "2019-08-24T14:15:22Z",
          "placeOfServiceCode": "string",
          "reportComments": "string"
        }
      ],
      "intakeGuid": "c9b770e3-069e-441d-aa60-9e643455c76b",
      "placesOfService": [
        {
          "name": "string",
          "address1": "string",
          "address2": "string",
          "city": "string",
          "state": "string",
          "zip": "string",
          "phoneNumber": "string",
          "director": "string",
          "license": "string",
          "code": "string"
        }
      ],
      "conclusion": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK none PaginatedLabResultList

Create Lab Result

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/labOrder/{guid}/results \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/labOrder/{guid}/results

Create and retrieve LabOrders

Body parameter

{
  "lab_order_id": "8bd25a64bbf165d7eb1029ba",
  "external_id": "partner-result-id",
  "version": "1687358794",
  "patientLabId": "12345",
  "status": "final",
  "priority": "not_applicable",
  "abnormal_flag": "not_applicable",
  "observations": [
    {
      "code": "None",
      "code_text": " 1234-4 BRUICE BASIC FEMALE",
      "status": "final",
      "externalId": "v3-eed25a64d43480deaae22072-11438-1",
      "effective_at": "2023-05-09T18:09:00Z",
      "issued_at": "2023-05-09T16:09:00Z",
      "value": 20.6,
      "unit": "m/l",
      "system": "None",
      "interpretations": [
        {
          "coding": "HH",
          "text": "Above upper panic limit"
        }
      ],
      "referenceRanges": [
        {
          "low": 5,
          "high": 9,
          "text": "5.0-9.0"
        }
      ],
      "lab_order_code": "1438",
      "collected_at": "2023-05-11T16:09:00Z",
      "received_at": "2023-06-09T16:09:00Z",
      "report_comments": "THIS IS TESTING RESULT SENT AS NTE ONLY.\nNO NUMERIC RESULT VALUE SENT IN OBX.05\n          Reference Range\n           \n          > or = 20 Years  0.40-4.50\n           \n               Pregnancy Ranges\n          First trimester    0.26-2.66\n          Second trimester   0.55-2.73\n          Third trimester    0.43-2.91"
    },
    {
      "code": "None",
      "code_text": " 1234-4 GLUCOSE 2HR INSULIN PANEL",
      "status": "final",
      "externalId": "v3-eed25a64d43480deaae22072-21503-1",
      "effective_at": "2023-05-09T18:09:00Z",
      "issued_at": "2023-05-09T16:09:00Z",
      "value": "DNR",
      "unit": "m/l",
      "system": "None",
      "interpretations": [
        {
          "coding": "HH",
          "text": "Above upper panic limit"
        }
      ],
      "referenceRanges": [
        {
          "low": 5,
          "high": 9,
          "text": "5.0-9.0"
        }
      ],
      "lab_order_code": "1503"
    },
    {
      "code": "None",
      "code_text": " 1234-4 INSPIRE CARDIOVASCULAR RI",
      "status": "final",
      "externalId": "v3-eed25a64d43480deaae22072-34330-1",
      "effective_at": "2023-05-09T18:09:00Z",
      "issued_at": "2023-05-09T16:09:00Z",
      "value": 16.6,
      "unit": "m/l",
      "system": "None",
      "interpretations": [
        {
          "coding": "HH",
          "text": "Above upper panic limit"
        }
      ],
      "referenceRanges": [
        {
          "low": 5,
          "high": 9,
          "text": "5.0-9.0"
        }
      ],
      "lab_order_code": "4330"
    }
  ],
  "placesOfService": [
    {
      "name": "Quest Diagnostics-Lenexa",
      "address1": "10101 Renner Blvd",
      "city": "Lenexa",
      "state": "KS",
      "zip": "66219-9752",
      "director": "Willson Buckham D.O., MPH",
      "license": "12345"
    },
    {
      "name": "Focus Diagnostics-Focus Diagnostics",
      "address1": "33608 Ortega Highway",
      "address2": "Building B-west Wing",
      "city": "San Juan Capistrano",
      "state": "CA",
      "zip": "92675-2042",
      "director": "Holly Bellman MD",
      "phoneNumber": "5214536787"
    }
  ],
  "conclusion": "OBR Associated Report comment line one up to sixty character\nOBR associated Report comment line two up to sixty character\n\nFASTING: YES"
}
lab_order_id: 8bd25a64bbf165d7eb1029ba
external_id: partner-result-id
version: "1687358794"
patientLabId: "12345"
status: final
priority: not_applicable
abnormal_flag: not_applicable
observations:
  - code: None
    code_text: " 1234-4 BRUICE BASIC FEMALE"
    status: final
    externalId: v3-eed25a64d43480deaae22072-11438-1
    effective_at: 2023-05-09T18:09:00Z
    issued_at: 2023-05-09T16:09:00Z
    value: 20.6
    unit: m/l
    system: None
    interpretations:
      - coding: HH
        text: Above upper panic limit
    referenceRanges:
      - low: 5
        high: 9
        text: 5.0-9.0
    lab_order_code: "1438"
    collected_at: 2023-05-11T16:09:00Z
    received_at: 2023-06-09T16:09:00Z
    report_comments: |-
      THIS IS TESTING RESULT SENT AS NTE ONLY.
      NO NUMERIC RESULT VALUE SENT IN OBX.05
                Reference Range

                > or = 20 Years  0.40-4.50

                     Pregnancy Ranges
                First trimester    0.26-2.66
                Second trimester   0.55-2.73
                Third trimester    0.43-2.91
  - code: None
    code_text: " 1234-4 GLUCOSE 2HR INSULIN PANEL"
    status: final
    externalId: v3-eed25a64d43480deaae22072-21503-1
    effective_at: 2023-05-09T18:09:00Z
    issued_at: 2023-05-09T16:09:00Z
    value: DNR
    unit: m/l
    system: None
    interpretations:
      - coding: HH
        text: Above upper panic limit
    referenceRanges:
      - low: 5
        high: 9
        text: 5.0-9.0
    lab_order_code: "1503"
  - code: None
    code_text: " 1234-4 INSPIRE CARDIOVASCULAR RI"
    status: final
    externalId: v3-eed25a64d43480deaae22072-34330-1
    effective_at: 2023-05-09T18:09:00Z
    issued_at: 2023-05-09T16:09:00Z
    value: 16.6
    unit: m/l
    system: None
    interpretations:
      - coding: HH
        text: Above upper panic limit
    referenceRanges:
      - low: 5
        high: 9
        text: 5.0-9.0
    lab_order_code: "4330"
placesOfService:
  - name: Quest Diagnostics-Lenexa
    address1: 10101 Renner Blvd
    city: Lenexa
    state: KS
    zip: 66219-9752
    director: Willson Buckham D.O., MPH
    license: "12345"
  - name: Focus Diagnostics-Focus Diagnostics
    address1: 33608 Ortega Highway
    address2: Building B-west Wing
    city: San Juan Capistrano
    state: CA
    zip: 92675-2042
    director: Holly Bellman MD
    phoneNumber: "5214536787"
conclusion: |-
  OBR Associated Report comment line one up to sixty character
  OBR associated Report comment line two up to sixty character

  FASTING: YES

Parameters

Name In Type Required Description
guid path string(uuid) true none
body body LabResultRequest true none
» externalId body string¦null true External Identifier for the Lab result. Lab results cannot be updated. Use this field to identify the same Lab results across different versions.
» status body string false * registered - Registered
» accessionNumber body string¦null false none
» version body string¦null true Version number of the LabResult. Use this field to store multiple versions of the same LabResult
» releasedAt body string(date-time)¦null false Date and time when the results were released
» abnormalFlag body string false Values N: Normal, A: Abnormal, not_applicable: Not Applicable. The laboratory does not provide this information, or the observation status is Cancelled
» priority body string false P1: Life Threatening, P2: Critical, NORMAL: Normal, Not Applicable: The laboratory does not provide this information, or the observation status is Cancelled. Please note that the priority is not related to the abnormal flag. For example, a result can be abnormal but the priority can be Normal
» observations body [LabResultObservationRequest] true none
»» labRequisitionGuid body string(uuid) false none
»» status body string false * registered - Registered
»» code body string¦null false none
»» codeText body string¦null false none
»» value body string¦null false none
»» unit body string¦null false none
»» abnormalFlag body string false Values N: Normal, A: Abnormal, not_applicable: Not Applicable. The laboratory does not provide this information, or the observation status is Cancelled
»» labOrderCode body string¦null false Example: 005009 is the LabCorp order code for the CBC panel
»» labOrderName body string¦null false none
»» interpretations body [LabInterpretationRequest] false none
»»» coding body string¦null false HL7 code for the interpretation, HL7 LINK has the list of codes
»»» text body string true Display. Short description of the interpretation
»» effectiveAt body string(date-time)¦null false Clinically relevant time/time-period for observation
»» issuedAt body string(date-time)¦null false Date and Time this version was made available
»» collectedAt body string(date-time)¦null false Date and time the specimen was collected
»» receivedAt body string(date-time)¦null false The time when specimen is received by the testing laboratory
»» placeOfServiceCode body string¦null false none
»» reportComments body string¦null false none
» intakeGuid body string(uuid)¦null false none
» placesOfService body [PlaceOfServiceRequest] false none
»» name body string true none
»» address1 body string true none
»» address2 body string¦null false none
»» city body string true none
»» state body string true none
»» zip body string true none
»» phoneNumber body string¦null false none
»» director body string true none
»» license body string¦null false none
»» code body string¦null false none
» conclusion body string¦null false none

Detailed descriptions

» status: * registered - Registered * partial - Partial * preliminary - Preliminary * final - Final * corrected - Corrected * cancelled - Cancelled

» abnormalFlag: Values N: Normal, A: Abnormal, not_applicable: Not Applicable. The laboratory does not provide this information, or the observation status is Cancelled

» priority: P1: Life Threatening, P2: Critical, NORMAL: Normal, Not Applicable: The laboratory does not provide this information, or the observation status is Cancelled. Please note that the priority is not related to the abnormal flag. For example, a result can be abnormal but the priority can be Normal

»» status: * registered - Registered * preliminary - Preliminary * final - Final * amended - Amended * cancelled - Cancelled * corrected - Corrected * entered-in-error - Entered in Error * unknown - Unknown

»» abnormalFlag: Values N: Normal, A: Abnormal, not_applicable: Not Applicable. The laboratory does not provide this information, or the observation status is Cancelled

Enumerated Values

Parameter Value
» status registered
» status partial
» status preliminary
» status final
» status corrected
» status cancelled
» abnormalFlag N
» abnormalFlag A
» abnormalFlag not_applicable
» priority P1
» priority P2
» priority P3
» priority P4
» priority NORMAL
» priority not_applicable
»» status registered
»» status preliminary
»» status final
»» status amended
»» status cancelled
»» status corrected
»» status entered-in-error
»» status unknown
»» abnormalFlag N
»» abnormalFlag A
»» abnormalFlag not_applicable

Example responses

200 Response

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "externalId": "string",
  "status": "registered",
  "accessionNumber": "string",
  "version": "string",
  "releasedAt": "2019-08-24T14:15:22Z",
  "abnormalFlag": "N",
  "priority": "P1",
  "observations": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
      "status": "registered",
      "code": "string",
      "codeText": "string",
      "value": "string",
      "unit": "string",
      "abnormalFlag": "N",
      "labOrderCode": "string",
      "labOrderName": "string",
      "interpretations": [
        {
          "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
          "coding": "string",
          "text": "string"
        }
      ],
      "effectiveAt": "2019-08-24T14:15:22Z",
      "issuedAt": "2019-08-24T14:15:22Z",
      "collectedAt": "2019-08-24T14:15:22Z",
      "receivedAt": "2019-08-24T14:15:22Z",
      "placeOfServiceCode": "string",
      "reportComments": "string"
    }
  ],
  "intakeGuid": "c9b770e3-069e-441d-aa60-9e643455c76b",
  "placesOfService": [
    {
      "name": "string",
      "address1": "string",
      "address2": "string",
      "city": "string",
      "state": "string",
      "zip": "string",
      "phoneNumber": "string",
      "director": "string",
      "license": "string",
      "code": "string"
    }
  ],
  "conclusion": "string"
}

Responses

Status Meaning Description Schema
200 OK none LabResult

Get Lab Result PDF

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/labOrder/{guid}/results/{labResultGuidParam}/pdf \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/labOrder/{guid}/results/{labResultGuidParam}/pdf

Create and retrieve LabOrders

Parameters

Name In Type Required Description
guid path string(uuid) true none
labResultGuidParam path string true none

Example responses

200 Response

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "kind": "IDENTIFICATION",
  "description": "string",
  "file": "http://example.com",
  "checksum": "string",
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK none FileAttachment

Upload Lab Result PDF

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/labOrder/{guid}/results/{labResultGuidParam}/pdf \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/labOrder/{guid}/results/{labResultGuidParam}/pdf

Create and retrieve LabOrders

Body parameter

{
  "description": "string",
  "file": "string",
  "checksum": "string"
}
description: string
file: string
checksum: string

Parameters

Name In Type Required Description
guid path string(uuid) true none
labResultGuidParam path string true none
body body FileAttachmentUploadRequest true none
» description body string¦null false none
» file body string(binary) true none
» checksum body string¦null false none

Example responses

200 Response

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "kind": "IDENTIFICATION",
  "description": "string",
  "file": "http://example.com",
  "checksum": "string",
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK none FileAttachment

Get Multiple Lab Result PDF

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/labOrder/{guid}/results/{labResultGuidParam}/pdfs \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/labOrder/{guid}/results/{labResultGuidParam}/pdfs

Create and retrieve LabOrders

Parameters

Name In Type Required Description
diagnostic_result_id query string false none
guid path string(uuid) true none
lab_order_id query string false none
labResultGuidParam path string true none
limit query integer false Number of results to return per page.
offset query integer false The initial index from which to return the results.
request_result_id query string false none

Example responses

200 Response

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "kind": "IDENTIFICATION",
      "description": "string",
      "file": "http://example.com",
      "checksum": "string",
      "createdAt": "2019-08-24T14:15:22Z"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK none PaginatedFileAttachmentList

Upload Multiple Lab Result PDF

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/labOrder/{guid}/results/{labResultGuidParam}/pdfs \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/labOrder/{guid}/results/{labResultGuidParam}/pdfs

Create and retrieve LabOrders

Body parameter

{
  "description": "string",
  "files": [
    "string"
  ],
  "checksum": "string"
}
description: string
files:
  - string
checksum: string

Parameters

Name In Type Required Description
diagnostic_result_id query string false none
guid path string(uuid) true none
lab_order_id query string false none
labResultGuidParam path string true none
limit query integer false Number of results to return per page.
offset query integer false The initial index from which to return the results.
request_result_id query string false none
body body MultipleFileAttachmentUploadRequest false none
» description body string¦null false none
» files body [string] false none
» checksum body string¦null false none

Example responses

200 Response

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "kind": "IDENTIFICATION",
      "description": "string",
      "file": "http://example.com",
      "checksum": "string",
      "createdAt": "2019-08-24T14:15:22Z"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK none PaginatedFileAttachmentList

Retrieve Lab Result

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/labOrder/{guid}/results/{labResultGuid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/labOrder/{guid}/results/{labResultGuid}

Access a LabResult by GUID

Parameters

Name In Type Required Description
guid path string(uuid) true none
labResultGuid path string true none

Example responses

200 Response

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "externalId": "string",
  "status": "registered",
  "accessionNumber": "string",
  "version": "string",
  "releasedAt": "2019-08-24T14:15:22Z",
  "abnormalFlag": "N",
  "priority": "P1",
  "observations": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
      "status": "registered",
      "code": "string",
      "codeText": "string",
      "value": "string",
      "unit": "string",
      "abnormalFlag": "N",
      "labOrderCode": "string",
      "labOrderName": "string",
      "interpretations": [
        {
          "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
          "coding": "string",
          "text": "string"
        }
      ],
      "effectiveAt": "2019-08-24T14:15:22Z",
      "issuedAt": "2019-08-24T14:15:22Z",
      "collectedAt": "2019-08-24T14:15:22Z",
      "receivedAt": "2019-08-24T14:15:22Z",
      "placeOfServiceCode": "string",
      "reportComments": "string"
    }
  ],
  "intakeGuid": "c9b770e3-069e-441d-aa60-9e643455c76b",
  "placesOfService": [
    {
      "name": "string",
      "address1": "string",
      "address2": "string",
      "city": "string",
      "state": "string",
      "zip": "string",
      "phoneNumber": "string",
      "director": "string",
      "license": "string",
      "code": "string"
    }
  ],
  "conclusion": "string"
}

Responses

Status Meaning Description Schema
200 OK none LabResult

message

List Messages

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/message \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/message

Create and retrieve messages for an episode

Parameters

Name In Type Required Description
episode__guid query string(uuid) false none
limit query integer false Number of results to return per page.
offset query integer false The initial index from which to return the results.

Example responses

200 Response

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
      "isPleasantry": true,
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "recipient": "to_patient",
      "text": "string",
      "clinicianGuid": "0fffb9fa-c104-4930-9b25-3805e0642504",
      "sentAt": "2019-08-24T14:15:22Z",
      "createdBy": 0
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK none PaginatedMessageList

Create Message

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/message \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/message

Create and retrieve messages for an episode

Body parameter

{
  "episodeGuid": "9270ea17-05e9-4757-b665-6bf438c882da",
  "text": "This is a test message"
}
episodeGuid: 9270ea17-05e9-4757-b665-6bf438c882da
text: This is a test message

Parameters

Name In Type Required Description
body body MessageCreateRequest true none
» episodeGuid body string(uuid) true none
» text body string true none
» pleasantry body integer¦null false none

Example responses

{
  "episodeGuid": "9270ea17-05e9-4757-b665-6bf438c882da",
  "guid": "9af3703a-18e8-4436-9aec-8b1522547e21",
  "recipient": "to_clinician",
  "clinicianGuid": null,
  "sentAt": "2022-04-14T12:50:16.367614Z",
  "text": "This is a test message",
  "createdBy": 1
}

Responses

Status Meaning Description Schema
201 Created none Message

Retrieve Message

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/message/{guid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/message/{guid}

Create and retrieve messages for an episode

Parameters

Name In Type Required Description
guid path string(uuid) true none

Example responses

{
  "episodeGuid": "9270ea17-05e9-4757-b665-6bf438c882da",
  "guid": "9af3703a-18e8-4436-9aec-8b1522547e21",
  "recipient": "to_clinician",
  "clinicianGuid": null,
  "sentAt": "2022-04-14T12:50:16.367614Z",
  "text": "This is a test message",
  "createdBy": 1
}

Responses

Status Meaning Description Schema
200 OK none Message

messageAttachment

Create Message Attachment

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/messageAttachment \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/messageAttachment

Create a message attachment

Body parameter

{
  "messageGuid": "099fc2b4-dfae-4e6f-8907-1cb36104f258",
  "file": "..file bytes data.."
}
messageGuid: 099fc2b4-dfae-4e6f-8907-1cb36104f258
file: ..file bytes data..

Parameters

Name In Type Required Description
body body MessageAttachmentCreateRequest true none
» messageGuid body string(uuid) true none
» file body string(binary) true none
» contentType body string false * application/pdf - pdf

Detailed descriptions

» contentType: * application/pdf - pdf * image/png - png * image/jpeg - jpeg * image/gif - gif * image/svg+xml - svg * image/webp - webp

Enumerated Values

Parameter Value
» contentType application/pdf
» contentType image/png
» contentType image/jpeg
» contentType image/gif
» contentType image/svg+xml
» contentType image/webp

Example responses

{
  "status": "created"
}

Responses

Status Meaning Description Schema
201 Created none CreateResult

patient

Create Patient

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/patient \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

POST /v1/patient

Create and retrieve patient data.

Body parameter

{
  "firstName": "Dude",
  "lastName": "Sweet",
  "email": "[email protected]",
  "phone": "+14048675309",
  "address1": "70762 Melendez Loaf",
  "address2": "",
  "city": "West Marybury",
  "usState": "NV",
  "zipCode": "11742",
  "birthDate": "2000-01-01",
  "gender": "unknown"
}
firstName: Dude
lastName: Sweet
email: [email protected]
phone: "+14048675309"
address1: 70762 Melendez Loaf
address2: ""
city: West Marybury
usState: NV
zipCode: "11742"
birthDate: 2000-01-01
gender: unknown

Parameters

Name In Type Required Description
body body PatientRequest true none
» firstName body string true none
» lastName body string true none
» email body string(email)¦null false none
» phone body string true none
» address1 body string true none
» address2 body string¦null false none
» city body string true none
» usState body string true none
» zipCode body string true none
» birthDate body string(date) true none
» gender body string false * female - Female
» maritalStatus body string false * A - Annulled

Detailed descriptions

» gender: * female - Female * male - Male * other - Other * unknown - Unknown

» maritalStatus: * A - Annulled * D - Divorced * I - Interlocutory * L - Legally Separated * M - Married * C - Common Law * P - Polygamous * T - Domestic partner * U - unmarried * S - Never Married * W - Widowed * UNK - Unknown

Enumerated Values

Parameter Value
» usState Valid US Postal Code (e.g. CA, MO)
» gender female
» gender male
» gender other
» gender unknown
» maritalStatus A
» maritalStatus D
» maritalStatus I
» maritalStatus L
» maritalStatus M
» maritalStatus C
» maritalStatus P
» maritalStatus T
» maritalStatus U
» maritalStatus S
» maritalStatus W
» maritalStatus UNK

Example responses

{
  "guid": "93950d4e-cf18-4e89-b12e-f3d16fc16ded",
  "firstName": "Dude",
  "lastName": "Sweat",
  "email": "[email protected]",
  "phone": "+14048675309",
  "address1": "70762 Melendez Loaf",
  "address2": null,
  "city": "West Marybury",
  "usState": "NV",
  "zipCode": "11742",
  "birthDate": "2000-01-01",
  "gender": "male",
  "maritalStatus": "UNK"
}

Responses

Status Meaning Description Schema
201 Created none PatientCreated

Retrieve Patient

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/patient/{guid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/patient/{guid}

Create and retrieve patient data.

Parameters

Name In Type Required Description
guid path string(uuid) true none

Example responses

{
  "guid": "93950d4e-cf18-4e89-b12e-f3d16fc16ded",
  "firstName": "Dude",
  "lastName": "Sweat",
  "email": "[email protected]",
  "phone": "+14048675309",
  "address1": "70762 Melendez Loaf",
  "address2": null,
  "city": "West Marybury",
  "usState": "NV",
  "zipCode": "11742",
  "birthDate": "2000-01-01",
  "gender": "male",
  "maritalStatus": "UNK"
}

Responses

Status Meaning Description Schema
200 OK none Patient

pharmacy

Search Pharmacies

Code samples

# You can also use wget
curl -X GET https://partner-api.steadymd.com/v1/pharmacy \
  -H 'Accept: application/json' \
  -H 'Authorization: Token API_KEY'

GET /v1/pharmacy

Retrieve a list of available pharmacies with given parameters. Note: searching by zipcode only will return results from the given zip code, nearby zipcodes, as well as mail order pharmacies. Searching by zipcode and specialty will only return pharmacies in that zipcode. The results are non-paginated, and the max pharmacies returned is 100.

Parameters

Name In Type Required Description
address query string false none
city query string false none
name query string false none
phoneOrFax query string false none
specialty1 query string false none
specialty2 query string false none
state query string false none
zipCode query string false none

Enumerated Values

Parameter Value
specialty1 EPCS
specialty1 LongTermCarePharmacy
specialty1 MailOrder
specialty1 Retail
specialty1 SpecialtyPharmacy
specialty1 TwentyFourHourPharmacy
specialty2 EPCS
specialty2 LongTermCarePharmacy
specialty2 MailOrder
specialty2 Retail
specialty2 SpecialtyPharmacy
specialty2 TwentyFourHourPharmacy

Example responses

200 Response

[
  {
    "storeName": "string",
    "address1": "string",
    "address2": "string",
    "city": "string",
    "state": "string",
    "zipCode": "string",
    "primaryPhone": "string",
    "primaryFax": "string",
    "pharmacySpecialties": [
      "string"
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK none Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [PharmacyResponse] false none none
» storeName string true none none
» address1 string true none none
» address2 string true none none
» city string true none none
» state string true none none
» zipCode string true none none
» primaryPhone string true none none
» primaryFax string true none none
» pharmacySpecialties [string]¦null true none none

EMR Schemas

AllergyIntoleranceCodeCreateRequest

{
  "coding": [
    {
      "system": "https://med.steadymd.com/not-specified",
      "code": "not_specified",
      "display": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
coding [AllergyIntoleranceCodingCreateRequest] true none none

AllergyIntoleranceCodingCreateRequest

{
  "system": "https://med.steadymd.com/not-specified",
  "code": "not_specified",
  "display": "string"
}

Properties

Name Type Required Restrictions Description
system string false none * https://med.steadymd.com/not-specified - Not Specified
* http://snomed.info/sct - SNOMED CT
* http://www.nlm.nih.gov/research/umls/rxnorm - RxNorm
* https://www.wolterskluwer.com/en/solutions/medi-span - Medi-Span
* https://www.dosespot.com - Dosespot Unclassified
code string false none none
display string true none none

Enumerated Values

Property Value
system https://med.steadymd.com/not-specified
system http://snomed.info/sct
system http://www.nlm.nih.gov/research/umls/rxnorm
system https://www.wolterskluwer.com/en/solutions/medi-span
system https://www.dosespot.com

AllergyIntoleranceCreateRequest

{
  "code": {
    "coding": [
      {
        "system": "https://med.steadymd.com/not-specified",
        "code": "not_specified",
        "display": "string"
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
code AllergyIntoleranceCodeCreateRequest true none none

CreateResult

{
  "status": "created"
}

Properties

Name Type Required Restrictions Description
status string true none * created - Created
* failed - Failed

Enumerated Values

Property Value
status created
status failed

Encounter

{
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "prescriptions": [
    {
      "ndc": "string",
      "status": "string",
      "refills": "string",
      "quantity": "string",
      "daysSupply": "string",
      "directions": "string",
      "pharmacyId": "string",
      "displayName": "string",
      "writtenDate": "string",
      "effectiveDate": "string",
      "pharmacyNotes": "string",
      "dispenseUnitId": "string",
      "prescriptionId": "string",
      "prescriberDosespotId": "string",
      "noSubstitutions": true,
      "patientMedicationId": "string",
      "dispenseUnitDescription": "string"
    }
  ],
  "prescribedPharmacies": [
    {
      "ncpdpId": "string",
      "npiNumber": "string",
      "phoneNumber": "string",
      "city": "string",
      "state": "string",
      "zipCode": "string",
      "address1": "string",
      "address2": "string",
      "address3": "string",
      "isDefault": true,
      "storeName": "string",
      "primaryFax": "string",
      "isPreferred": true
    }
  ],
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "consultGuid": "c834ee3a-96d1-4711-a6ab-59db42bda0c1",
  "createdAt": "2019-08-24T14:15:22Z",
  "completedAt": "2019-08-24T14:15:22Z",
  "diagnosis": null,
  "treatmentPlan": "string",
  "notes": "string"
}

Properties

Name Type Required Restrictions Description
episodeGuid string(uuid) true none none
prescriptions [object] true none none
» ndc string false none none
» status string false none none
» refills string false none none
» quantity string false none none
» daysSupply string false none none
» directions string false none none
» pharmacyId string false none none
» displayName string false none none
» writtenDate string false none none
» effectiveDate string false none none
» pharmacyNotes string false none none
» dispenseUnitId string false none none
» prescriptionId string false none none
» prescriberDosespotId string false none none
» noSubstitutions boolean false none none
» patientMedicationId string false none none
» dispenseUnitDescription string false none none
prescribedPharmacies [object] true none none
» ncpdpId string false none none
» npiNumber string¦null false none none
» phoneNumber string true none none
» city string false none none
» state string false none none
» zipCode string false none none
» address1 string¦null false none none
» address2 string¦null false none none
» address3 string¦null false none none
» isDefault boolean false none none
» storeName string false none none
» primaryFax string¦null false none none
» isPreferred boolean false none none
guid string(uuid) true read-only none
consultGuid string(uuid)¦null false none none
createdAt string(date-time) true read-only none
completedAt string(date-time)¦null false none none
diagnosis any false none none
treatmentPlan string¦null false none none
notes string¦null false none none

Episode

{
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "episodeUri": "string",
  "diagnosis": [
    [
      {
        "name": "string",
        "icd10": "string",
        "snomed": "string"
      }
    ]
  ],
  "parentsOrGuardians": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "patientGuid": "76480e0c-000e-4552-a062-5daffb129aab",
  "prescriptions": [
    {
      "ndc": "string",
      "status": "string",
      "refills": "string",
      "quantity": "string",
      "daysSupply": "string",
      "directions": "string",
      "pharmacyId": "string",
      "displayName": "string",
      "writtenDate": "string",
      "effectiveDate": "string",
      "pharmacyNotes": "string",
      "dispenseUnitId": "string",
      "prescriptionId": "string",
      "noSubstitutions": true,
      "patientMedicationId": "string",
      "dispenseUnitDescription": "string"
    }
  ],
  "requestedPharmacy": {
    "ncpdpId": "string",
    "npiNumber": "string",
    "phoneNumber": "string",
    "city": "string",
    "state": "string",
    "zipCode": "string",
    "address1": "string",
    "address2": "string",
    "address3": "string",
    "isDefault": true,
    "storeName": "string",
    "primaryFax": "string",
    "isPreferred": true
  },
  "prescribedPharmacies": [
    {
      "ncpdpId": "string",
      "npiNumber": "string",
      "phoneNumber": "string",
      "city": "string",
      "state": "string",
      "zipCode": "string",
      "address1": "string",
      "address2": "string",
      "address3": "string",
      "isDefault": true,
      "storeName": "string",
      "primaryFax": "string",
      "isPreferred": true
    }
  ],
  "notes": "string",
  "treatmentPlan": "string",
  "labOrders": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc"
    }
  ],
  "observations": [
    {
      "name": "a_fib",
      "value": null,
      "unit": "boolean"
    }
  ]
}

Properties

Name Type Required Restrictions Description
episodeGuid string(uuid) true none none
episodeUri string true read-only none
diagnosis [Diagnosis] true none none
parentsOrGuardians [string(uuid)] true read-only none
patientGuid string(uuid) true read-only none
prescriptions [Prescription] true none none
requestedPharmacy Pharmacy true none none
prescribedPharmacies [Pharmacy] true none none
notes string true none none
treatmentPlan string true none none
labOrders [LabOrderShort] true read-only none
observations [Observation] true read-only [Serializer for Observation model. This serializer is used to create and retrieve observations. Valid combinations of observation names and values are:
  • name: a_fib
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: blood_glucose
  • value: float number.
  • units: mg/dL│mmol/L
  • name: blood_pressure
  • value: str 'number/number'.
  • units: mmHg
  • name: heart_rate
  • value: int number.
  • units: bpm
  • name: height
  • value: int number.
  • units: cm│in
  • name: kccq
  • value: Value must be between 0 and 100 pts
  • units: pts
  • name: pregnancy_status
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: oxygen_saturation
  • value: float number.
  • units: %
  • name: risk_category
  • value: Value must be one of ['Low', 'Intermediate', 'High']
  • units: risk
  • name: temperature
  • value: float number.
  • units: C│F
  • name: s3
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: s4
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: self_harm_risk
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: suicide_risk
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: waist_circumference
  • value: int number.
  • units: cm│in
  • name: weight
  • value: float number.
  • units: lb│kg
]

EpisodeCreateRequest

{
  "parentsOrGuardians": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "patientGuid": "76480e0c-000e-4552-a062-5daffb129aab",
  "pharmacy": {
    "ncpdpId": "string",
    "npiNumber": "string",
    "phoneNumber": "string",
    "city": "string",
    "state": "string",
    "zipCode": "string",
    "address1": "string",
    "address2": "string",
    "address3": "string",
    "isDefault": true,
    "storeName": "string",
    "primaryFax": "string",
    "isPreferred": true
  }
}

Properties

Name Type Required Restrictions Description
parentsOrGuardians [string(uuid)] false none none
patientGuid string(uuid) true none none
pharmacy Pharmacy false none none

EpisodeUpdateRequest

{
  "requestedPharmacy": {
    "ncpdpId": "string",
    "npiNumber": "string",
    "phoneNumber": "string",
    "city": "string",
    "state": "string",
    "zipCode": "string",
    "address1": "string",
    "address2": "string",
    "address3": "string",
    "isDefault": true,
    "storeName": "string",
    "primaryFax": "string",
    "isPreferred": true
  },
  "parentsOrGuardians": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

Properties

Name Type Required Restrictions Description
requestedPharmacy object¦null false none none
» ncpdpId string false none none
» npiNumber string¦null false none none
» phoneNumber string true none none
» city string false none none
» state string false none none
» zipCode string false none none
» address1 string¦null false none none
» address2 string¦null false none none
» address3 string¦null false none none
» isDefault boolean false none none
» storeName string false none none
» primaryFax string¦null false none none
» isPreferred boolean false none none
parentsOrGuardians [string(uuid)] false none none

FileAttachment

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "kind": "IDENTIFICATION",
  "description": "string",
  "file": "http://example.com",
  "checksum": "string",
  "createdAt": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
guid string(uuid) true read-only none
kind string true none * IDENTIFICATION - identification
* SELFIE - selfie
* DIAGNOSTIC - diagnostic
* LAB_RESULT - lab_result
* LAB_ORDER - lab_order
* OTHER - other
description string¦null false none none
file string(uri) true none none
checksum string¦null false none none
createdAt string(date-time) true read-only none

Enumerated Values

Property Value
kind IDENTIFICATION
kind SELFIE
kind DIAGNOSTIC
kind LAB_RESULT
kind LAB_ORDER
kind OTHER

FileAttachmentUploadRequest

{
  "description": "string",
  "file": "string",
  "checksum": "string"
}

Properties

Name Type Required Restrictions Description
description string¦null false none none
file string(binary) true none none
checksum string¦null false none none

Http200

{
  "status": "string"
}

Properties

Name Type Required Restrictions Description
status string true none none

Http400

{
  "status": "string"
}

Properties

Name Type Required Restrictions Description
status string true none none

Http400Request

{
  "status": "string"
}

Properties

Name Type Required Restrictions Description
status string true none none

Http403

{
  "status": "string"
}

Properties

Name Type Required Restrictions Description
status string true none none

Http404

{
  "status": "string"
}

Properties

Name Type Required Restrictions Description
status string true none none

Intake

{
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "intakeGuid": "c9b770e3-069e-441d-aa60-9e643455c76b",
  "observations": [
    {
      "name": "a_fib",
      "value": null,
      "unit": "boolean"
    }
  ],
  "questionnaire": [
    {
      "id": "string",
      "question": "string",
      "answer": [
        "string"
      ],
      "type": "attachment",
      "answerType": "valueString",
      "answerOption": [
        {
          "valueString": "string"
        }
      ]
    }
  ],
  "files": [
    {
      "createdAt": "2019-08-24T14:15:22Z",
      "url": "http://example.com",
      "kind": "identification"
    }
  ],
  "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
  "isDraft": true
}

Properties

Name Type Required Restrictions Description
episodeGuid string(uuid) true none none
intakeGuid string(uuid) true read-only none
observations [Observation] false none [Serializer for Observation model. This serializer is used to create and retrieve observations. Valid combinations of observation names and values are:
  • name: a_fib
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: blood_glucose
  • value: float number.
  • units: mg/dL│mmol/L
  • name: blood_pressure
  • value: str 'number/number'.
  • units: mmHg
  • name: heart_rate
  • value: int number.
  • units: bpm
  • name: height
  • value: int number.
  • units: cm│in
  • name: kccq
  • value: Value must be between 0 and 100 pts
  • units: pts
  • name: pregnancy_status
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: oxygen_saturation
  • value: float number.
  • units: %
  • name: risk_category
  • value: Value must be one of ['Low', 'Intermediate', 'High']
  • units: risk
  • name: temperature
  • value: float number.
  • units: C│F
  • name: s3
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: s4
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: self_harm_risk
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: suicide_risk
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: waist_circumference
  • value: int number.
  • units: cm│in
  • name: weight
  • value: float number.
  • units: lb│kg
]
questionnaire Questionnaire false none none
files [IntakeFile] true read-only none
labRequisitionGuid string(uuid)¦null false none none
isDraft boolean false none none

IntakeFile

{
  "createdAt": "2019-08-24T14:15:22Z",
  "url": "http://example.com",
  "kind": "identification"
}

Properties

Name Type Required Restrictions Description
createdAt string(date-time) true read-only none
url string(uri) true none none
kind string true none * identification - Identification
* selfie - Selfie
* diagnostic - Diagnostic
* lab_result - Lab Result
* other - Other

Enumerated Values

Property Value
kind identification
kind selfie
kind diagnostic
kind lab_result
kind other

IntakeFileCreateRequest

{
  "intakeGuid": "c9b770e3-069e-441d-aa60-9e643455c76b",
  "externalId": "string",
  "sourceInfo": null,
  "file": "string",
  "kind": "identification"
}

Properties

Name Type Required Restrictions Description
intakeGuid string(uuid) true none none
externalId string¦null false none none
sourceInfo any false none Additional data about the file source
file string(binary) true none none
kind string true none * identification - Identification
* selfie - Selfie
* diagnostic - Diagnostic
* lab_result - Lab Result
* other - Other

Enumerated Values

Property Value
kind identification
kind selfie
kind diagnostic
kind lab_result
kind other

IntakeFileRequest

{
  "url": "string",
  "kind": "identification"
}

Properties

Name Type Required Restrictions Description
url string(binary) true none none
kind string true none * identification - Identification
* selfie - Selfie
* diagnostic - Diagnostic
* lab_result - Lab Result
* other - Other

Enumerated Values

Property Value
kind identification
kind selfie
kind diagnostic
kind lab_result
kind other

IntakeObservation

{
  "name": "a_fib",
  "value": null,
  "unit": "boolean"
}

Properties

Name Type Required Restrictions Description
name string true none * a_fib - A Fib
* blood_glucose - Blood Glucose
* blood_pressure - Blood Pressure
* heart_rate - Heart Rate
* height - Height
* kccq - KCCQ
* pregnancy_status - Pregnancy Status
* oxygen_saturation - Oxygen Saturation
* risk_category - Risk Category
* temperature - Temperature
* s3 - S3
* s4 - S4
* self_harm_risk - Self Harm Risk
* suicide_risk - Suicide Risk
* waist_circumference - Waist Circumference
* weight - Weight
value any true none The value can be cast to the appropriate type based on the observation unit. It can be a string, boolean, int or float.
unit string true none * boolean - Boolean
* bpm - BPM
* C - Celsius
* cm - Centimeters
* F - Fahrenheit
* in - Inches
* kg - Kilograms
* % - Percent
* lb - Pounds
* mg/dL - mg/dL
* mmHg - mmHg
* mmol/L - mmol/L
* pts - Points
* risk - Risk

Enumerated Values

Property Value
name a_fib
name blood_glucose
name blood_pressure
name heart_rate
name height
name kccq
name pregnancy_status
name oxygen_saturation
name risk_category
name temperature
name s3
name s4
name self_harm_risk
name suicide_risk
name waist_circumference
name weight
unit boolean
unit bpm
unit C
unit cm
unit F
unit in
unit kg
unit %
unit lb
unit mg/dL
unit mmHg
unit mmol/L
unit pts
unit risk

IntakeObservationRequest

{
  "name": "a_fib",
  "value": null,
  "unit": "boolean"
}

Properties

Name Type Required Restrictions Description
name string true none * a_fib - A Fib
* blood_glucose - Blood Glucose
* blood_pressure - Blood Pressure
* heart_rate - Heart Rate
* height - Height
* kccq - KCCQ
* pregnancy_status - Pregnancy Status
* oxygen_saturation - Oxygen Saturation
* risk_category - Risk Category
* temperature - Temperature
* s3 - S3
* s4 - S4
* self_harm_risk - Self Harm Risk
* suicide_risk - Suicide Risk
* waist_circumference - Waist Circumference
* weight - Weight
value any true none The value can be cast to the appropriate type based on the observation unit. It can be a string, boolean, int or float.
unit string true none * boolean - Boolean
* bpm - BPM
* C - Celsius
* cm - Centimeters
* F - Fahrenheit
* in - Inches
* kg - Kilograms
* % - Percent
* lb - Pounds
* mg/dL - mg/dL
* mmHg - mmHg
* mmol/L - mmol/L
* pts - Points
* risk - Risk

Enumerated Values

Property Value
name a_fib
name blood_glucose
name blood_pressure
name heart_rate
name height
name kccq
name pregnancy_status
name oxygen_saturation
name risk_category
name temperature
name s3
name s4
name self_harm_risk
name suicide_risk
name waist_circumference
name weight
unit boolean
unit bpm
unit C
unit cm
unit F
unit in
unit kg
unit %
unit lb
unit mg/dL
unit mmHg
unit mmol/L
unit pts
unit risk

IntakeRequest

{
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "observations": [
    {
      "name": "a_fib",
      "value": null,
      "unit": "boolean"
    }
  ],
  "questionnaire": [
    [
      {
        "id": "string",
        "question": "string",
        "answer": [
          "string"
        ],
        "type": "attachment",
        "answerType": "valueString",
        "answerOption": [
          {
            "valueString": "string"
          }
        ]
      }
    ]
  ],
  "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
  "isDraft": true
}

Properties

Name Type Required Restrictions Description
episodeGuid string(uuid) true none none
observations [Observation] false none [Serializer for Observation model. This serializer is used to create and retrieve observations. Valid combinations of observation names and values are:
  • name: a_fib
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: blood_glucose
  • value: float number.
  • units: mg/dL│mmol/L
  • name: blood_pressure
  • value: str 'number/number'.
  • units: mmHg
  • name: heart_rate
  • value: int number.
  • units: bpm
  • name: height
  • value: int number.
  • units: cm│in
  • name: kccq
  • value: Value must be between 0 and 100 pts
  • units: pts
  • name: pregnancy_status
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: oxygen_saturation
  • value: float number.
  • units: %
  • name: risk_category
  • value: Value must be one of ['Low', 'Intermediate', 'High']
  • units: risk
  • name: temperature
  • value: float number.
  • units: C│F
  • name: s3
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: s4
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: self_harm_risk
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: suicide_risk
  • value: boolean/str true/false/yes/no.
  • units: boolean
  • name: waist_circumference
  • value: int number.
  • units: cm│in
  • name: weight
  • value: float number.
  • units: lb│kg
]
questionnaire [Questionnaire] false none none
labRequisitionGuid string(uuid)¦null false none none
isDraft boolean false none none

IntakeUpdate

{
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "intakeGuid": "c9b770e3-069e-441d-aa60-9e643455c76b",
  "observations": [
    {
      "name": "a_fib",
      "value": null,
      "unit": "boolean"
    }
  ],
  "questionnaire": [
    {
      "id": "string",
      "question": "string",
      "answer": [
        "string"
      ],
      "type": "attachment",
      "answerType": "valueString",
      "answerOption": [
        {
          "valueString": "string"
        }
      ]
    }
  ],
  "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
  "isDraft": true
}

Properties

Name Type Required Restrictions Description
episodeGuid string(uuid) true none none
intakeGuid string(uuid) true read-only none
observations [IntakeObservation] true none none
questionnaire [object]¦null true none none
» id string false none none
» question string true none none
» answer [anyOf] true none none

anyOf

Name Type Required Restrictions Description
»» anonymous string false none none

or

Name Type Required Restrictions Description
»» anonymous object false none none

continued

Name Type Required Restrictions Description
» type string true none question types
» answerType string true none none
» answerOption [object] false none none
»» valueString string false none none
labRequisitionGuid string(uuid)¦null true none none
isDraft boolean true none none

Enumerated Values

Property Value
type attachment
type choice
type open-choice
type text
answerType valueString
answerType valueBoolean
answerType valueAttachment

IntakeUpdateRequest

{
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "observations": [
    {
      "name": "a_fib",
      "value": null,
      "unit": "boolean"
    }
  ],
  "questionnaire": [
    {
      "id": "string",
      "question": "string",
      "answer": [
        "string"
      ],
      "type": "attachment",
      "answerType": "valueString",
      "answerOption": [
        {
          "valueString": "string"
        }
      ]
    }
  ],
  "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
  "isDraft": true
}

Properties

Name Type Required Restrictions Description
episodeGuid string(uuid) true none none
observations [IntakeObservationRequest] true none none
questionnaire [object]¦null true none none
» id string false none none
» question string true none none
» answer [anyOf] true none none

anyOf

Name Type Required Restrictions Description
»» anonymous string false none none

or

Name Type Required Restrictions Description
»» anonymous object false none none

continued

Name Type Required Restrictions Description
» type string true none question types
» answerType string true none none
» answerOption [object] false none none
»» valueString string false none none
labRequisitionGuid string(uuid)¦null true none none
isDraft boolean true none none

Enumerated Values

Property Value
type attachment
type choice
type open-choice
type text
answerType valueString
answerType valueBoolean
answerType valueAttachment

LabInterpretation

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "coding": "string",
  "text": "string"
}

Properties

Name Type Required Restrictions Description
guid string(uuid) true read-only none
coding string¦null false none HL7 code for the interpretation, HL7 LINK has the list of codes
text string true none Display. Short description of the interpretation

LabInterpretationRequest

{
  "coding": "string",
  "text": "string"
}

Properties

Name Type Required Restrictions Description
coding string¦null false none HL7 code for the interpretation, HL7 LINK has the list of codes
text string true none Display. Short description of the interpretation

LabOrder

{
  "emrUri": "string",
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "labOrderId": "string",
  "laboratory": "string",
  "paymentResponsibility": "self",
  "submissionMethod": "ABBOTT_BRIDGE",
  "labAccountId": "string",
  "labReferenceId": "string",
  "labRequisitions": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "labOrderCode": "string",
      "labOrderName": "string"
    }
  ],
  "orderingClinician": "string",
  "diagnosticResultId": "string",
  "labResults": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "externalId": "string",
      "version": "string",
      "releasedAt": "2019-08-24T14:15:22Z"
    }
  ]
}

Properties

Name Type Required Restrictions Description
emrUri string true read-only none
guid string(uuid) true read-only none
episodeGuid string(uuid) true none none
labOrderId string¦null false none External Laboratory ID for the order. This is the ID can be used to retrieve the order
laboratory string true none Laboratory ID
paymentResponsibility string false none * self - Client (Account Owner)
* guarantor - Guarantor
* patient - Patient
* thirdParty - Third Party
submissionMethod string false none * ABBOTT_BRIDGE - Abbott Bridge
* HEALTH_GORILLA - Health Gorilla
* SELF_SUBMISSION - Self Submission
labAccountId string¦null false none For partners that have multiple lab accounts, this field is used to specify which account to use.
labReferenceId string¦null false none The reference ID which the lab collection site uses to identify the order
labRequisitions [LabRequisitionShort] true none none
orderingClinician string¦null false none none
diagnosticResultId string¦null false none none
labResults [LabResultShort] true read-only none

Enumerated Values

Property Value
paymentResponsibility self
paymentResponsibility guarantor
paymentResponsibility patient
paymentResponsibility thirdParty
submissionMethod ABBOTT_BRIDGE
submissionMethod HEALTH_GORILLA
submissionMethod SELF_SUBMISSION

LabOrderCreateRequest

{
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "laboratory": "string",
  "paymentResponsibility": "self",
  "submissionMethod": "string",
  "labRequisitions": [
    {
      "labOrderCode": "string",
      "labOrderName": "string"
    }
  ],
  "labOrderId": "string",
  "requestResultId": "string",
  "labAccountId": "string"
}

Properties

Name Type Required Restrictions Description
episodeGuid string(uuid) true none none
laboratory string true none Laboratory ID
paymentResponsibility string false none * self - Client (Account Owner)
* guarantor - Guarantor
* patient - Patient
* thirdParty - Third Party
submissionMethod string false none Use SELF_SUBMISSION if partner to bring their own lab
labRequisitions [LabRequisitionShortRequest] true none none
labOrderId string¦null false none External Laboratory ID for the order. This is the ID can be used to retrieve the order
requestResultId string¦null false none Use this ID within 1 hour to fetch the order details. After 1 hour, retrying the order will generate a new request result ID and create a new lab order.
labAccountId string false none none

Enumerated Values

Property Value
paymentResponsibility self
paymentResponsibility guarantor
paymentResponsibility patient
paymentResponsibility thirdParty

LabOrderShort

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc"
}

Properties

Name Type Required Restrictions Description
guid string(uuid) true read-only none

LabRequisition

{
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "episodeUri": "string",
  "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
  "laboratory": "string",
  "labOrderCode": "string",
  "labOrderName": "string",
  "paymentResponsibility": "string",
  "submissionMethod": "ABBOTT_BRIDGE",
  "labAccountId": "string"
}

Properties

Name Type Required Restrictions Description
episodeGuid string(uuid) true read-only none
episodeUri string true read-only none
labRequisitionGuid string(uuid) true read-only none
laboratory string true none none
labOrderCode string true none Example: 005009 is the LabCorp order code for the CBC panel
labOrderName string true none Example: Complete Blood Count (CBC) With Differential
paymentResponsibility string false none Defaults to self.
submissionMethod string true none * ABBOTT_BRIDGE - Abbott Bridge
* HEALTH_GORILLA - Health Gorilla
* SELF_SUBMISSION - Self Submission
labAccountId string¦null false none Deprecated - Use LabOrder.labAccountId. For partners that have multiple lab accounts, this field is used to specify which account to use.

Enumerated Values

Property Value
submissionMethod ABBOTT_BRIDGE
submissionMethod HEALTH_GORILLA
submissionMethod SELF_SUBMISSION

LabRequisitionCreate

{
  "laboratory": "string",
  "labOrderCode": "string",
  "labOrderName": "string",
  "paymentResponsibility": "string",
  "labAccountId": "string",
  "submissionMethod": "string"
}

Properties

Name Type Required Restrictions Description
laboratory string true none none
labOrderCode string true none Example: 005009 is the LabCorp order code for the CBC panel
labOrderName string true none Example: Complete Blood Count (CBC) With Differential
paymentResponsibility string false none Defaults to self.
labAccountId string¦null false none Deprecated - Use LabOrder.labAccountId. For partners that have multiple lab accounts, this field is used to specify which account to use.
submissionMethod string false none none

LabRequisitionCreateRequest

{
  "laboratory": "string",
  "labOrderCode": "string",
  "labOrderName": "string",
  "paymentResponsibility": "string",
  "labAccountId": "string",
  "submissionMethod": "string"
}

Properties

Name Type Required Restrictions Description
laboratory string true none none
labOrderCode string true none Example: 005009 is the LabCorp order code for the CBC panel
labOrderName string true none Example: Complete Blood Count (CBC) With Differential
paymentResponsibility string false none Defaults to self.
labAccountId string¦null false none Deprecated - Use LabOrder.labAccountId. For partners that have multiple lab accounts, this field is used to specify which account to use.
submissionMethod string false none none

LabRequisitionShort

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "labOrderCode": "string",
  "labOrderName": "string"
}

Properties

Name Type Required Restrictions Description
guid string(uuid) true read-only none
labOrderCode string true none Example: 005009 is the LabCorp order code for the CBC panel
labOrderName string true none Example: Complete Blood Count (CBC) With Differential

LabRequisitionShortRequest

{
  "labOrderCode": "string",
  "labOrderName": "string"
}

Properties

Name Type Required Restrictions Description
labOrderCode string true none Example: 005009 is the LabCorp order code for the CBC panel
labOrderName string true none Example: Complete Blood Count (CBC) With Differential

LabResult

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "externalId": "string",
  "status": "registered",
  "accessionNumber": "string",
  "version": "string",
  "releasedAt": "2019-08-24T14:15:22Z",
  "abnormalFlag": "N",
  "priority": "P1",
  "observations": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
      "status": "registered",
      "code": "string",
      "codeText": "string",
      "value": "string",
      "unit": "string",
      "abnormalFlag": "N",
      "labOrderCode": "string",
      "labOrderName": "string",
      "interpretations": [
        {
          "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
          "coding": "string",
          "text": "string"
        }
      ],
      "effectiveAt": "2019-08-24T14:15:22Z",
      "issuedAt": "2019-08-24T14:15:22Z",
      "collectedAt": "2019-08-24T14:15:22Z",
      "receivedAt": "2019-08-24T14:15:22Z",
      "placeOfServiceCode": "string",
      "reportComments": "string"
    }
  ],
  "intakeGuid": "c9b770e3-069e-441d-aa60-9e643455c76b",
  "placesOfService": [
    {
      "name": "string",
      "address1": "string",
      "address2": "string",
      "city": "string",
      "state": "string",
      "zip": "string",
      "phoneNumber": "string",
      "director": "string",
      "license": "string",
      "code": "string"
    }
  ],
  "conclusion": "string"
}

Properties

Name Type Required Restrictions Description
guid string(uuid) true read-only none
externalId string¦null true none External Identifier for the Lab result. Lab results cannot be updated. Use this field to identify the same Lab results across different versions.
status string false none * registered - Registered
* partial - Partial
* preliminary - Preliminary
* final - Final
* corrected - Corrected
* cancelled - Cancelled
accessionNumber string¦null false none none
version string¦null true none Version number of the LabResult. Use this field to store multiple versions of the same LabResult
releasedAt string(date-time)¦null false none Date and time when the results were released
abnormalFlag string false none Values N: Normal, A: Abnormal, not_applicable: Not Applicable. The laboratory does not provide this information, or the observation status is Cancelled

* N - Normal
* A - Abnormal
* not_applicable - Not Applicable
priority string false none P1: Life Threatening, P2: Critical, NORMAL: Normal, Not Applicable: The laboratory does not provide this information, or the observation status is Cancelled. Please note that the priority is not related to the abnormal flag. For example, a result can be abnormal but the priority can be Normal

* P1 - Life Threatening
* P2 - Critical
* P3 - P3
* P4 - P4
* NORMAL - Normal
* not_applicable - Not Applicable
observations [LabResultObservation] true none none
intakeGuid string(uuid)¦null false none none
placesOfService [PlaceOfService] false none none
conclusion string¦null false none none

Enumerated Values

Property Value
status registered
status partial
status preliminary
status final
status corrected
status cancelled
abnormalFlag N
abnormalFlag A
abnormalFlag not_applicable
priority P1
priority P2
priority P3
priority P4
priority NORMAL
priority not_applicable

LabResultObservation

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
  "status": "registered",
  "code": "string",
  "codeText": "string",
  "value": "string",
  "unit": "string",
  "abnormalFlag": "N",
  "labOrderCode": "string",
  "labOrderName": "string",
  "interpretations": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "coding": "string",
      "text": "string"
    }
  ],
  "effectiveAt": "2019-08-24T14:15:22Z",
  "issuedAt": "2019-08-24T14:15:22Z",
  "collectedAt": "2019-08-24T14:15:22Z",
  "receivedAt": "2019-08-24T14:15:22Z",
  "placeOfServiceCode": "string",
  "reportComments": "string"
}

Properties

Name Type Required Restrictions Description
guid string(uuid) true read-only none
labRequisitionGuid string(uuid) false none none
status string false none * registered - Registered
* preliminary - Preliminary
* final - Final
* amended - Amended
* cancelled - Cancelled
* corrected - Corrected
* entered-in-error - Entered in Error
* unknown - Unknown
code string¦null false none none
codeText string¦null false none none
value string¦null false none none
unit string¦null false none none
abnormalFlag string false none Values N: Normal, A: Abnormal, not_applicable: Not Applicable. The laboratory does not provide this information, or the observation status is Cancelled

* N - Normal
* A - Abnormal
* not_applicable - Not Applicable
labOrderCode string¦null false none Example: 005009 is the LabCorp order code for the CBC panel
labOrderName string¦null false none none
interpretations [LabInterpretation] false none none
effectiveAt string(date-time)¦null false none Clinically relevant time/time-period for observation
issuedAt string(date-time)¦null false none Date and Time this version was made available
collectedAt string(date-time)¦null false none Date and time the specimen was collected
receivedAt string(date-time)¦null false none The time when specimen is received by the testing laboratory
placeOfServiceCode string¦null false none none
reportComments string¦null false none none

Enumerated Values

Property Value
status registered
status preliminary
status final
status amended
status cancelled
status corrected
status entered-in-error
status unknown
abnormalFlag N
abnormalFlag A
abnormalFlag not_applicable

LabResultObservationRequest

{
  "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
  "status": "registered",
  "code": "string",
  "codeText": "string",
  "value": "string",
  "unit": "string",
  "abnormalFlag": "N",
  "labOrderCode": "string",
  "labOrderName": "string",
  "interpretations": [
    {
      "coding": "string",
      "text": "string"
    }
  ],
  "effectiveAt": "2019-08-24T14:15:22Z",
  "issuedAt": "2019-08-24T14:15:22Z",
  "collectedAt": "2019-08-24T14:15:22Z",
  "receivedAt": "2019-08-24T14:15:22Z",
  "placeOfServiceCode": "string",
  "reportComments": "string"
}

Properties

Name Type Required Restrictions Description
labRequisitionGuid string(uuid) false none none
status string false none * registered - Registered
* preliminary - Preliminary
* final - Final
* amended - Amended
* cancelled - Cancelled
* corrected - Corrected
* entered-in-error - Entered in Error
* unknown - Unknown
code string¦null false none none
codeText string¦null false none none
value string¦null false none none
unit string¦null false none none
abnormalFlag string false none Values N: Normal, A: Abnormal, not_applicable: Not Applicable. The laboratory does not provide this information, or the observation status is Cancelled

* N - Normal
* A - Abnormal
* not_applicable - Not Applicable
labOrderCode string¦null false none Example: 005009 is the LabCorp order code for the CBC panel
labOrderName string¦null false none none
interpretations [LabInterpretationRequest] false none none
effectiveAt string(date-time)¦null false none Clinically relevant time/time-period for observation
issuedAt string(date-time)¦null false none Date and Time this version was made available
collectedAt string(date-time)¦null false none Date and time the specimen was collected
receivedAt string(date-time)¦null false none The time when specimen is received by the testing laboratory
placeOfServiceCode string¦null false none none
reportComments string¦null false none none

Enumerated Values

Property Value
status registered
status preliminary
status final
status amended
status cancelled
status corrected
status entered-in-error
status unknown
abnormalFlag N
abnormalFlag A
abnormalFlag not_applicable

LabResultRequest

{
  "externalId": "string",
  "status": "registered",
  "accessionNumber": "string",
  "version": "string",
  "releasedAt": "2019-08-24T14:15:22Z",
  "abnormalFlag": "N",
  "priority": "P1",
  "observations": [
    {
      "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
      "status": "registered",
      "code": "string",
      "codeText": "string",
      "value": "string",
      "unit": "string",
      "abnormalFlag": "N",
      "labOrderCode": "string",
      "labOrderName": "string",
      "interpretations": [
        {
          "coding": "string",
          "text": "string"
        }
      ],
      "effectiveAt": "2019-08-24T14:15:22Z",
      "issuedAt": "2019-08-24T14:15:22Z",
      "collectedAt": "2019-08-24T14:15:22Z",
      "receivedAt": "2019-08-24T14:15:22Z",
      "placeOfServiceCode": "string",
      "reportComments": "string"
    }
  ],
  "intakeGuid": "c9b770e3-069e-441d-aa60-9e643455c76b",
  "placesOfService": [
    {
      "name": "string",
      "address1": "string",
      "address2": "string",
      "city": "string",
      "state": "string",
      "zip": "string",
      "phoneNumber": "string",
      "director": "string",
      "license": "string",
      "code": "string"
    }
  ],
  "conclusion": "string"
}

Properties

Name Type Required Restrictions Description
externalId string¦null true none External Identifier for the Lab result. Lab results cannot be updated. Use this field to identify the same Lab results across different versions.
status string false none * registered - Registered
* partial - Partial
* preliminary - Preliminary
* final - Final
* corrected - Corrected
* cancelled - Cancelled
accessionNumber string¦null false none none
version string¦null true none Version number of the LabResult. Use this field to store multiple versions of the same LabResult
releasedAt string(date-time)¦null false none Date and time when the results were released
abnormalFlag string false none Values N: Normal, A: Abnormal, not_applicable: Not Applicable. The laboratory does not provide this information, or the observation status is Cancelled

* N - Normal
* A - Abnormal
* not_applicable - Not Applicable
priority string false none P1: Life Threatening, P2: Critical, NORMAL: Normal, Not Applicable: The laboratory does not provide this information, or the observation status is Cancelled. Please note that the priority is not related to the abnormal flag. For example, a result can be abnormal but the priority can be Normal

* P1 - Life Threatening
* P2 - Critical
* P3 - P3
* P4 - P4
* NORMAL - Normal
* not_applicable - Not Applicable
observations [LabResultObservationRequest] true none none
intakeGuid string(uuid)¦null false none none
placesOfService [PlaceOfServiceRequest] false none none
conclusion string¦null false none none

Enumerated Values

Property Value
status registered
status partial
status preliminary
status final
status corrected
status cancelled
abnormalFlag N
abnormalFlag A
abnormalFlag not_applicable
priority P1
priority P2
priority P3
priority P4
priority NORMAL
priority not_applicable

LabResultShort

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "externalId": "string",
  "version": "string",
  "releasedAt": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
guid string(uuid) true read-only none
externalId string¦null true none External Identifier for the Lab result. Lab results cannot be updated. Use this field to identify the same Lab results across different versions.
version string¦null true none Version number of the LabResult. Use this field to store multiple versions of the same LabResult
releasedAt string(date-time)¦null false none Date and time when the results were released

Message

{
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "isPleasantry": true,
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "recipient": "to_patient",
  "text": "string",
  "clinicianGuid": "0fffb9fa-c104-4930-9b25-3805e0642504",
  "sentAt": "2019-08-24T14:15:22Z",
  "createdBy": 0
}

Properties

Name Type Required Restrictions Description
episodeGuid string(uuid) true read-only none
isPleasantry boolean true read-only none
guid string(uuid) true read-only none
recipient string true none * to_patient - Patient
* to_clinician - Clinician
text string true none none
clinicianGuid string(uuid)¦null false none none
sentAt string(date-time) true read-only none
createdBy integer true none none

Enumerated Values

Property Value
recipient to_patient
recipient to_clinician

MessageAttachmentCreateRequest

{
  "messageGuid": "deaa0e32-cac4-44f6-84b3-0cd2565f434f",
  "file": "string",
  "contentType": "application/pdf"
}

Properties

Name Type Required Restrictions Description
messageGuid string(uuid) true none none
file string(binary) true none none
contentType string false none * application/pdf - pdf
* image/png - png
* image/jpeg - jpeg
* image/gif - gif
* image/svg+xml - svg
* image/webp - webp

Enumerated Values

Property Value
contentType application/pdf
contentType image/png
contentType image/jpeg
contentType image/gif
contentType image/svg+xml
contentType image/webp

MessageCreateRequest

{
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "text": "string",
  "pleasantry": 0
}

Properties

Name Type Required Restrictions Description
episodeGuid string(uuid) true none none
text string true none none
pleasantry integer¦null false none none

MultipleFileAttachmentUploadRequest

{
  "description": "string",
  "files": [
    "string"
  ],
  "checksum": "string"
}

Properties

Name Type Required Restrictions Description
description string¦null false none none
files [string] false write-only none
checksum string¦null false none none

Observation

{
  "name": "a_fib",
  "value": null,
  "unit": "boolean"
}

Serializer for Observation model. This serializer is used to create and retrieve observations. Valid combinations of observation names and values are:

Properties

Name Type Required Restrictions Description
name string true none * a_fib - A Fib
* blood_glucose - Blood Glucose
* blood_pressure - Blood Pressure
* heart_rate - Heart Rate
* height - Height
* kccq - KCCQ
* pregnancy_status - Pregnancy Status
* oxygen_saturation - Oxygen Saturation
* risk_category - Risk Category
* temperature - Temperature
* s3 - S3
* s4 - S4
* self_harm_risk - Self Harm Risk
* suicide_risk - Suicide Risk
* waist_circumference - Waist Circumference
* weight - Weight
value any true none The value can be cast to the appropriate type based on the observation unit. It can be a string, boolean, int or float.
unit string true none * boolean - Boolean
* bpm - BPM
* C - Celsius
* cm - Centimeters
* F - Fahrenheit
* in - Inches
* kg - Kilograms
* % - Percent
* lb - Pounds
* mg/dL - mg/dL
* mmHg - mmHg
* mmol/L - mmol/L
* pts - Points
* risk - Risk

Enumerated Values

Property Value
name a_fib
name blood_glucose
name blood_pressure
name heart_rate
name height
name kccq
name pregnancy_status
name oxygen_saturation
name risk_category
name temperature
name s3
name s4
name self_harm_risk
name suicide_risk
name waist_circumference
name weight
unit boolean
unit bpm
unit C
unit cm
unit F
unit in
unit kg
unit %
unit lb
unit mg/dL
unit mmHg
unit mmol/L
unit pts
unit risk

ObservationRequest

{
  "name": "a_fib",
  "value": null,
  "unit": "boolean"
}

Serializer for Observation model. This serializer is used to create and retrieve observations. Valid combinations of observation names and values are:

Properties

Name Type Required Restrictions Description
name string true none * a_fib - A Fib
* blood_glucose - Blood Glucose
* blood_pressure - Blood Pressure
* heart_rate - Heart Rate
* height - Height
* kccq - KCCQ
* pregnancy_status - Pregnancy Status
* oxygen_saturation - Oxygen Saturation
* risk_category - Risk Category
* temperature - Temperature
* s3 - S3
* s4 - S4
* self_harm_risk - Self Harm Risk
* suicide_risk - Suicide Risk
* waist_circumference - Waist Circumference
* weight - Weight
value any true none The value can be cast to the appropriate type based on the observation unit. It can be a string, boolean, int or float.
unit string true none * boolean - Boolean
* bpm - BPM
* C - Celsius
* cm - Centimeters
* F - Fahrenheit
* in - Inches
* kg - Kilograms
* % - Percent
* lb - Pounds
* mg/dL - mg/dL
* mmHg - mmHg
* mmol/L - mmol/L
* pts - Points
* risk - Risk

Enumerated Values

Property Value
name a_fib
name blood_glucose
name blood_pressure
name heart_rate
name height
name kccq
name pregnancy_status
name oxygen_saturation
name risk_category
name temperature
name s3
name s4
name self_harm_risk
name suicide_risk
name waist_circumference
name weight
unit boolean
unit bpm
unit C
unit cm
unit F
unit in
unit kg
unit %
unit lb
unit mg/dL
unit mmHg
unit mmol/L
unit pts
unit risk

PaginatedEncounterList

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
      "prescriptions": [
        {
          "ndc": "string",
          "status": "string",
          "refills": "string",
          "quantity": "string",
          "daysSupply": "string",
          "directions": "string",
          "pharmacyId": "string",
          "displayName": "string",
          "writtenDate": "string",
          "effectiveDate": "string",
          "pharmacyNotes": "string",
          "dispenseUnitId": "string",
          "prescriptionId": "string",
          "prescriberDosespotId": "string",
          "noSubstitutions": true,
          "patientMedicationId": "string",
          "dispenseUnitDescription": "string"
        }
      ],
      "prescribedPharmacies": [
        {
          "ncpdpId": "string",
          "npiNumber": "string",
          "phoneNumber": "string",
          "city": "string",
          "state": "string",
          "zipCode": "string",
          "address1": "string",
          "address2": "string",
          "address3": "string",
          "isDefault": true,
          "storeName": "string",
          "primaryFax": "string",
          "isPreferred": true
        }
      ],
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "consultGuid": "c834ee3a-96d1-4711-a6ab-59db42bda0c1",
      "createdAt": "2019-08-24T14:15:22Z",
      "completedAt": "2019-08-24T14:15:22Z",
      "diagnosis": null,
      "treatmentPlan": "string",
      "notes": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
count integer true none none
next string(uri)¦null false none none
previous string(uri)¦null false none none
results [Encounter] true none none

PaginatedFileAttachmentList

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "kind": "IDENTIFICATION",
      "description": "string",
      "file": "http://example.com",
      "checksum": "string",
      "createdAt": "2019-08-24T14:15:22Z"
    }
  ]
}

Properties

Name Type Required Restrictions Description
count integer true none none
next string(uri)¦null false none none
previous string(uri)¦null false none none
results [FileAttachment] true none none

PaginatedIntakeList

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
      "intakeGuid": "c9b770e3-069e-441d-aa60-9e643455c76b",
      "observations": [
        {
          "name": "a_fib",
          "value": null,
          "unit": "boolean"
        }
      ],
      "questionnaire": [
        {
          "id": "string",
          "question": "string",
          "answer": [
            "string"
          ],
          "type": "attachment",
          "answerType": "valueString",
          "answerOption": [
            {
              "valueString": "string"
            }
          ]
        }
      ],
      "files": [
        {
          "createdAt": "2019-08-24T14:15:22Z",
          "url": "http://example.com",
          "kind": "identification"
        }
      ],
      "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
      "isDraft": true
    }
  ]
}

Properties

Name Type Required Restrictions Description
count integer true none none
next string(uri)¦null false none none
previous string(uri)¦null false none none
results [Intake] true none none

PaginatedLabOrderList

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "emrUri": "string",
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
      "labOrderId": "string",
      "laboratory": "string",
      "paymentResponsibility": "self",
      "submissionMethod": "ABBOTT_BRIDGE",
      "labAccountId": "string",
      "labReferenceId": "string",
      "labRequisitions": [
        {
          "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
          "labOrderCode": "string",
          "labOrderName": "string"
        }
      ],
      "orderingClinician": "string",
      "diagnosticResultId": "string",
      "labResults": [
        {
          "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
          "externalId": "string",
          "version": "string",
          "releasedAt": "2019-08-24T14:15:22Z"
        }
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description
count integer true none none
next string(uri)¦null false none none
previous string(uri)¦null false none none
results [LabOrder] true none none

PaginatedLabResultList

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "externalId": "string",
      "status": "registered",
      "accessionNumber": "string",
      "version": "string",
      "releasedAt": "2019-08-24T14:15:22Z",
      "abnormalFlag": "N",
      "priority": "P1",
      "observations": [
        {
          "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
          "labRequisitionGuid": "e75e1308-c2ca-4ed5-a2ed-35d3278f4c3c",
          "status": "registered",
          "code": "string",
          "codeText": "string",
          "value": "string",
          "unit": "string",
          "abnormalFlag": "N",
          "labOrderCode": "string",
          "labOrderName": "string",
          "interpretations": [
            {
              "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
              "coding": "string",
              "text": "string"
            }
          ],
          "effectiveAt": "2019-08-24T14:15:22Z",
          "issuedAt": "2019-08-24T14:15:22Z",
          "collectedAt": "2019-08-24T14:15:22Z",
          "receivedAt": "2019-08-24T14:15:22Z",
          "placeOfServiceCode": "string",
          "reportComments": "string"
        }
      ],
      "intakeGuid": "c9b770e3-069e-441d-aa60-9e643455c76b",
      "placesOfService": [
        {
          "name": "string",
          "address1": "string",
          "address2": "string",
          "city": "string",
          "state": "string",
          "zip": "string",
          "phoneNumber": "string",
          "director": "string",
          "license": "string",
          "code": "string"
        }
      ],
      "conclusion": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
count integer true none none
next string(uri)¦null false none none
previous string(uri)¦null false none none
results [LabResult] true none none

PaginatedMessageList

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100",
  "results": [
    {
      "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
      "isPleasantry": true,
      "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
      "recipient": "to_patient",
      "text": "string",
      "clinicianGuid": "0fffb9fa-c104-4930-9b25-3805e0642504",
      "sentAt": "2019-08-24T14:15:22Z",
      "createdBy": 0
    }
  ]
}

Properties

Name Type Required Restrictions Description
count integer true none none
next string(uri)¦null false none none
previous string(uri)¦null false none none
results [Message] true none none

PatchedEpisodeRequest

{
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "diagnosis": [
    {
      "name": "string",
      "icd10": "string",
      "snomed": "string"
    }
  ],
  "prescriptions": [
    {
      "ndc": "string",
      "status": "string",
      "refills": "string",
      "quantity": "string",
      "daysSupply": "string",
      "directions": "string",
      "pharmacyId": "string",
      "displayName": "string",
      "writtenDate": "string",
      "effectiveDate": "string",
      "pharmacyNotes": "string",
      "dispenseUnitId": "string",
      "prescriptionId": "string",
      "prescriberDosespotId": "string",
      "noSubstitutions": true,
      "patientMedicationId": "string",
      "dispenseUnitDescription": "string"
    }
  ],
  "requestedPharmacy": {
    "ncpdpId": "string",
    "npiNumber": "string",
    "phoneNumber": "string",
    "city": "string",
    "state": "string",
    "zipCode": "string",
    "address1": "string",
    "address2": "string",
    "address3": "string",
    "isDefault": true,
    "storeName": "string",
    "primaryFax": "string",
    "isPreferred": true
  },
  "prescribedPharmacies": [
    {
      "ncpdpId": "string",
      "npiNumber": "string",
      "phoneNumber": "string",
      "city": "string",
      "state": "string",
      "zipCode": "string",
      "address1": "string",
      "address2": "string",
      "address3": "string",
      "isDefault": true,
      "storeName": "string",
      "primaryFax": "string",
      "isPreferred": true
    }
  ],
  "notes": "string",
  "treatmentPlan": "string"
}

Properties

Name Type Required Restrictions Description
episodeGuid string(uuid) false none none
diagnosis [object] false none none
» name string true none none
» icd10 string true none none
» snomed string true none none
prescriptions [object] false none none
» ndc string false none none
» status string false none none
» refills string false none none
» quantity string false none none
» daysSupply string false none none
» directions string false none none
» pharmacyId string false none none
» displayName string false none none
» writtenDate string false none none
» effectiveDate string false none none
» pharmacyNotes string false none none
» dispenseUnitId string false none none
» prescriptionId string false none none
» prescriberDosespotId string false none none
» noSubstitutions boolean false none none
» patientMedicationId string false none none
» dispenseUnitDescription string false none none
requestedPharmacy object false none none
» ncpdpId string false none none
» npiNumber string¦null false none none
» phoneNumber string true none none
» city string false none none
» state string false none none
» zipCode string false none none
» address1 string¦null false none none
» address2 string¦null false none none
» address3 string¦null false none none
» isDefault boolean false none none
» storeName string false none none
» primaryFax string¦null false none none
» isPreferred boolean false none none
prescribedPharmacies [object] false none none
» ncpdpId string false none none
» npiNumber string¦null false none none
» phoneNumber string true none none
» city string false none none
» state string false none none
» zipCode string false none none
» address1 string¦null false none none
» address2 string¦null false none none
» address3 string¦null false none none
» isDefault boolean false none none
» storeName string false none none
» primaryFax string¦null false none none
» isPreferred boolean false none none
notes string false none none
treatmentPlan string false none none

Patient

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
  "firstName": "string",
  "lastName": "string",
  "email": "[email protected]",
  "phone": "stringstrin",
  "address1": "string",
  "address2": "string",
  "city": "string",
  "usState": "Valid US Postal Code (e.g. CA, MO)",
  "zipCode": "string",
  "birthDate": "2019-08-24",
  "gender": "female",
  "maritalStatus": "A"
}

Properties

Name Type Required Restrictions Description
guid string(uuid) true read-only none
firstName string true none none
lastName string true none none
email string(email)¦null false none none
phone string true none none
address1 string true none none
address2 string¦null false none none
city string true none none
usState string true none none
zipCode string true none none
birthDate string(date) true none none
gender string false none * female - Female
* male - Male
* other - Other
* unknown - Unknown
maritalStatus string false none * A - Annulled
* D - Divorced
* I - Interlocutory
* L - Legally Separated
* M - Married
* C - Common Law
* P - Polygamous
* T - Domestic partner
* U - unmarried
* S - Never Married
* W - Widowed
* UNK - Unknown

Enumerated Values

Property Value
usState Valid US Postal Code (e.g. CA, MO)
gender female
gender male
gender other
gender unknown
maritalStatus A
maritalStatus D
maritalStatus I
maritalStatus L
maritalStatus M
maritalStatus C
maritalStatus P
maritalStatus T
maritalStatus U
maritalStatus S
maritalStatus W
maritalStatus UNK

PatientCreated

{
  "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc"
}

Properties

Name Type Required Restrictions Description
guid string(uuid) true read-only none

PatientRequest

{
  "firstName": "string",
  "lastName": "string",
  "email": "[email protected]",
  "phone": "stringstrin",
  "address1": "string",
  "address2": "string",
  "city": "string",
  "usState": "Valid US Postal Code (e.g. CA, MO)",
  "zipCode": "string",
  "birthDate": "2019-08-24",
  "gender": "female",
  "maritalStatus": "A"
}

Properties

Name Type Required Restrictions Description
firstName string true none none
lastName string true none none
email string(email)¦null false none none
phone string true none none
address1 string true none none
address2 string¦null false none none
city string true none none
usState string true none none
zipCode string true none none
birthDate string(date) true none none
gender string false none * female - Female
* male - Male
* other - Other
* unknown - Unknown
maritalStatus string false none * A - Annulled
* D - Divorced
* I - Interlocutory
* L - Legally Separated
* M - Married
* C - Common Law
* P - Polygamous
* T - Domestic partner
* U - unmarried
* S - Never Married
* W - Widowed
* UNK - Unknown

Enumerated Values

Property Value
usState Valid US Postal Code (e.g. CA, MO)
gender female
gender male
gender other
gender unknown
maritalStatus A
maritalStatus D
maritalStatus I
maritalStatus L
maritalStatus M
maritalStatus C
maritalStatus P
maritalStatus T
maritalStatus U
maritalStatus S
maritalStatus W
maritalStatus UNK

PharmacyResponse

{
  "storeName": "string",
  "address1": "string",
  "address2": "string",
  "city": "string",
  "state": "string",
  "zipCode": "string",
  "primaryPhone": "string",
  "primaryFax": "string",
  "pharmacySpecialties": [
    "string"
  ]
}

Properties

Name Type Required Restrictions Description
storeName string true none none
address1 string true none none
address2 string true none none
city string true none none
state string true none none
zipCode string true none none
primaryPhone string true none none
primaryFax string true none none
pharmacySpecialties [string]¦null true none none

PlaceOfService

{
  "name": "string",
  "address1": "string",
  "address2": "string",
  "city": "string",
  "state": "string",
  "zip": "string",
  "phoneNumber": "string",
  "director": "string",
  "license": "string",
  "code": "string"
}

Properties

Name Type Required Restrictions Description
name string true none none
address1 string true none none
address2 string¦null false none none
city string true none none
state string true none none
zip string true none none
phoneNumber string¦null false none none
director string true none none
license string¦null false none none
code string¦null false none none

PlaceOfServiceRequest

{
  "name": "string",
  "address1": "string",
  "address2": "string",
  "city": "string",
  "state": "string",
  "zip": "string",
  "phoneNumber": "string",
  "director": "string",
  "license": "string",
  "code": "string"
}

Properties

Name Type Required Restrictions Description
name string true none none
address1 string true none none
address2 string¦null false none none
city string true none none
state string true none none
zip string true none none
phoneNumber string¦null false none none
director string true none none
license string¦null false none none
code string¦null false none none

VerificationClaimCreateRequest

{
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5",
  "claimType": "external",
  "claimedByName": "string",
  "consultGuid": "c834ee3a-96d1-4711-a6ab-59db42bda0c1",
  "labOrder": 0
}

Properties

Name Type Required Restrictions Description
episodeGuid string(uuid) true none none
claimType string false none * external - External
* parental_consent - Parental Consent
claimedByName string¦null false none none
consultGuid string(uuid)¦null false none none
labOrder integer¦null false none none

Enumerated Values

Property Value
claimType external
claimType parental_consent

VerificationClaimResponse

{
  "claimType": "allergy_verification",
  "claimedByName": "string",
  "episodeGuid": "bff7439a-8b5b-4f9c-a26b-2bc873256eb5"
}

Properties

Name Type Required Restrictions Description
claimType string true none * allergy_verification - Allergy Verification
* clinical_note_verification - Clinical Note Verification
* external - External
* internal - Internal
* lab_order_ratified - Lab Order Ratified
* lab_order_rejected - Lab Order Rejected
* parental_consent - Parental Consent
claimedByName string¦null false none none
episodeGuid string(uuid) true none none

Enumerated Values

Property Value
claimType allergy_verification
claimType clinical_note_verification
claimType external
claimType internal
claimType lab_order_ratified
claimType lab_order_rejected
claimType parental_consent

Diagnosis

[
  {
    "name": "string",
    "icd10": "string",
    "snomed": "string"
  }
]

Properties

Name Type Required Restrictions Description
name string true none none
icd10 string true none none
snomed string true none none

Prescription

{
  "ndc": "string",
  "status": "string",
  "refills": "string",
  "quantity": "string",
  "daysSupply": "string",
  "directions": "string",
  "pharmacyId": "string",
  "displayName": "string",
  "writtenDate": "string",
  "effectiveDate": "string",
  "pharmacyNotes": "string",
  "dispenseUnitId": "string",
  "prescriptionId": "string",
  "noSubstitutions": true,
  "patientMedicationId": "string",
  "dispenseUnitDescription": "string"
}

Properties

Name Type Required Restrictions Description
ndc string false none none
status string false none none
refills string false none none
quantity string false none none
daysSupply string false none none
directions string false none none
pharmacyId string false none none
displayName string false none none
writtenDate string false none none
effectiveDate string false none none
pharmacyNotes string false none none
dispenseUnitId string false none none
prescriptionId string false none none
noSubstitutions boolean false none none
patientMedicationId string false none none
dispenseUnitDescription string false none none

Pharmacy

{
  "ncpdpId": "string",
  "npiNumber": "string",
  "phoneNumber": "string",
  "city": "string",
  "state": "string",
  "zipCode": "string",
  "address1": "string",
  "address2": "string",
  "address3": "string",
  "isDefault": true,
  "storeName": "string",
  "primaryFax": "string",
  "isPreferred": true
}

Properties

Name Type Required Restrictions Description
ncpdpId string false none none
npiNumber string,null false none none
phoneNumber string true none none
city string false none none
state string false none none
zipCode string false none none
address1 string,null false none none
address2 string,null false none none
address3 string,null false none none
isDefault boolean false none none
storeName string false none none
primaryFax string,null false none none
isPreferred boolean false none none

Questionnaire

[
  {
    "id": "string",
    "question": "string",
    "answer": [
      "string"
    ],
    "type": "attachment",
    "answerType": "valueString",
    "answerOption": [
      {
        "valueString": "string"
      }
    ]
  }
]

Properties

Name Type Required Restrictions Description
id string false none none
question string true none none
answer [anyOf] true none none

anyOf

Name Type Required Restrictions Description
» anonymous string false none none

or

Name Type Required Restrictions Description
» anonymous object false none none

continued

Name Type Required Restrictions Description
type string true none question types
answerType string true none none
answerOption [object] false none none
» valueString string false none none

Enumerated Values

Property Value
type attachment
type choice
type open-choice
type text
answerType valueString
answerType valueBoolean
answerType valueAttachment

Sandbox API v1

The Consult API allows you to find availability for Clinicians in your programs, create scheduled or on-demand Consults, and view the status of Consults in the SteadyMD Clinic.

Base URLs:

consult

Complete

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/sandbox/consult/{guid}/complete \
  -H 'Authorization: API_KEY'

POST /v1/sandbox/consult/{guid}/complete

Complete a Consult with a canned treatment plan, notes, and Rx.

Parameters

Name In Type Required Description
guid path string(uuid) true none

Responses

Status Meaning Description Schema
200 OK No response body None

Message and Wait

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/sandbox/consult/{guid}/message_and_wait \
  -H 'Authorization: API_KEY'

POST /v1/sandbox/consult/{guid}/message_and_wait

Send a canned message from the Clinician and move the Consult visitStatus to waiting.

Parameters

Name In Type Required Description
guid path string(uuid) true none

Responses

Status Meaning Description Schema
200 OK No response body None

Refer Out

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/sandbox/consult/{guid}/refer_out \
  -H 'Authorization: API_KEY'

POST /v1/sandbox/consult/{guid}/refer_out

Refer out a Consult with a canned treatment plan, notes, and no Rx.

Parameters

Name In Type Required Description
guid path string(uuid) true none

Responses

Status Meaning Description Schema
200 OK No response body None

Start

Code samples

# You can also use wget
curl -X POST https://partner-api.steadymd.com/v1/sandbox/consult/{guid}/start \
  -H 'Authorization: API_KEY'

POST /v1/sandbox/consult/{guid}/start

Start a Consult by assigning a test Clinician and setting visitStatus to in_progress.

Parameters

Name In Type Required Description
guid path string(uuid) true none

Responses

Status Meaning Description Schema
200 OK No response body None