Teladoc Health Solo External API

This API is used to sync patient data with Solo Platform

Patients

This section groups patient resources.

Patient

A Patient is the central object utilized by the Teladoc Health Solo API.

GET https://demo.visitnow.org/qapi/v1/patients/1
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
{
        "mrn": "MRN-123",
        "accountNumber": "A-123",
        "name": [
            {
                "use": "usual",
                "family": "Mike Shinoda",
                "firstName": "Mike",
                "middleName": "",
                "lastName": "Shinoda",
                "alias": ""
            }
        ],
        "birthDate": "1983-08-15",
        "gender": "male",
        "maritalStatus": "married",
        "telecom": [
            {
                "use": "home",
                "system": "phone",
                "value": "+1 (111) 111-1111"
            },
            {
                "use": "home",
                "system": "email",
                "value": "mike_zzzzzzz@company.com"
            }
        ],
        "contact": [
            {
                "telecom": [
                    {
                        "use": "home",
                        "system": "phone",
                        "value": "phone"
                    },
                    {
                        "use": "home",
                        "system": "email",
                        "value": "someemail@email.email"
                    }
                ],
                "name": []
            }
        ],
        "preferredLanguage": "English",
        "race": "White",
        "ethnicity": "not Hispanic or Latino",
        "address": [
            {
                "city": "New York",
                "use": "home",
                "apartment": "",
                "country": "USA",
                "state": "NY",
                "postalcode": "10019",
                "line": [
                    "123 Main St",
                    ""
                ]
            }
        ],
        "active": true,
        "deceased": true,
        "deceasedAt": "2020-03-31 10:12 AM",
        "familyMember": false, // deprecated
        "isLinkedByEmail": false,
        "sharedEmailGroup": { // [object|null] (only needed if isLinkedByEmail is true)
            "type": "family",
            "name": "Family Name"
        }
    }

Get Patient
GET/qapi/v1/patients/{patient_id}

Get Patient demographics.

URI Parameters
HideShow
patient_id
string (required) Example: 1

The id of the Patient.


GET https://demo.visitnow.org/qapi/v1/patients/id/type/SPID/value/1
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
{
        "mrn": "MRN-123",
        "accountNumber": "A-123",
        "name": [
            {
                "use": "usual",
                "family": "Mike Shinoda",
                "firstName": "Mike",
                "middleName": "",
                "lastName": "Shinoda",
                "alias": ""
            }
        ],
        "birthDate": "1983-08-15",
        "gender": "male",
        "maritalStatus": "married",
        "telecom": [
            {
                "use": "home",
                "system": "phone",
                "value": "+1 (111) 111-1111"
            },
            {
                "use": "home",
                "system": "email",
                "value": "mike_zzzzzzz@company.com"
            }
        ],
        "contact": [
            {
                "telecom": [
                    {
                        "use": "home",
                        "system": "phone",
                        "value": "phone"
                    },
                    {
                        "use": "home",
                        "system": "email",
                        "value": "someemail@email.email"
                    }
                ],
                "name": []
            }
        ],
        "preferredLanguage": "English",
        "race": "White",
        "ethnicity": "not Hispanic or Latino",
        "address": [
            {
                "city": "New York",
                "use": "home",
                "apartment": "",
                "country": "USA",
                "state": "NY",
                "postalcode": "10019",
                "line": [
                    "123 Main St",
                    ""
                ]
            }
        ],
        "active": true,
        "deceased": true,
        "deceasedAt": "2020-03-31 10:12 AM",
        "familyMember": false, // deprecated
        "isLinkedByEmail": false,
        "sharedEmailGroup": { // [object|null] (only needed if isLinkedByEmail is true)
            "type": "family",
            "name": "Family Name"
        }
    }

Get Patient with SPID
GET/qapi/v1/patients/id/type/SPID/value/{solo_patient_id}

Get Patient demographics.

URI Parameters
HideShow
solo_patient_id
int (required) Example: 1

The Solo Patient ID (SPID).


PUT https://demo.visitnow.org/qapi/v1/patients/1
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
    "mrn": "MRN-123",
    "accountNumber": "A-123", // [DEPRECATED]
    "name": [
        {
            "use": "usual",
            "family": "Mike Shinoda",
            "firstName": "Mike",
            "middleName": "",
            "lastName": "Shinoda",
            "alias": ""
        }
    ],
    "birthDate": "1983-08-15",
    "gender": "male",
    "maritalStatus": "married",
    "telecom": [
        {
            "use": "home",
            "system": "phone",
            "value": "+1 (111) 111-1111"
        },
        {
            "use": "home",
            "system": "email",
            "value": "mike_zzzzzzz@company.com"
        }
    ],
    "contact": [
        {
            "telecom": [
                {
                    "use": "home",
                    "system": "phone",
                    "value": "phone"
                },
                {
                    "use": "home",
                    "system": "email",
                    "value": "someemail@email.email"
                }
            ],
            "name": []
        }
    ],
    "preferredLanguage": "English",
    "race": "White",
    "ethnicity": "not Hispanic or Latino",
    "address": [
        {
            "city": "New York",
            "use": "home",
            "apartment": "",
            "country": "USA",
            "state": "NY",
            "postalcode": "10019",
            "line": [
                "123 Main St",
                ""
            ]
        }
    ],
    "active": true,
    "deceased": true,
    "deceasedAt": "2020-03-31 10:12 AM",
    "familyMember": false, // deprecated
    "isLinkedByEmail": false,
    "groupType": "family", // [string] (only needed if isLinkedByEmail is true)
    "groupName": "Family Name" // [string] (only needed if isLinkedByEmail is true)
}
Responses200
Headers
Content-Type: application/json
Body
[]

Update Patient
PUT/qapi/v1/patients/{patient_id}

Updates Patient demographics.

Field deceasedAt is required if deceased is true. All other fields are optional.

Note: When deceased is false or is not defined, and deceasedAt is specified, an error should be received.

When familyMember is specified, the patient will be added to a Family that may share an email address among several patients.

URI Parameters
HideShow
patient_id
string (required) Example: 1

The id of the Patient.


PUT https://demo.visitnow.org/qapi/v1/patients/id/type/SPID/value/1
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
    "mrn": "MRN-123",
    "accountNumber": "A-123", // [DEPRECATED]
    "name": [
        {
            "use": "usual",
            "family": "Mike Shinoda",
            "firstName": "Mike",
            "middleName": "",
            "lastName": "Shinoda",
            "alias": ""
        }
    ],
    "birthDate": "1983-08-15",
    "gender": "male",
    "maritalStatus": "married",
    "telecom": [
        {
            "use": "home",
            "system": "phone",
            "value": "+1 (111) 111-1111"
        },
        {
            "use": "home",
            "system": "email",
            "value": "mike_zzzzzzz@company.com"
        }
    ],
    "contact": [
        {
            "telecom": [
                {
                    "use": "home",
                    "system": "phone",
                    "value": "phone"
                },
                {
                    "use": "home",
                    "system": "email",
                    "value": "someemail@email.email"
                }
            ],
            "name": []
        }
    ],
    "preferredLanguage": "English",
    "race": "White",
    "ethnicity": "not Hispanic or Latino",
    "address": [
        {
            "city": "New York",
            "use": "home",
            "apartment": "",
            "country": "USA",
            "state": "NY",
            "postalcode": "10019",
            "line": [
                "123 Main St",
                ""
            ]
        }
    ],
    "active": true,
    "deceased": true,
    "deceasedAt": "2020-03-31 10:12 AM",
    "familyMember": false, // deprecated
    "isLinkedByEmail": false,
    "groupType": "family", // [string] (only needed if isLinkedByEmail is true)
    "groupName": "Family Name" // [string] (only needed if isLinkedByEmail is true)
}
Responses200
Headers
Content-Type: application/json
Body
[]

Update Patient with SPID
PUT/qapi/v1/patients/id/type/SPID/value/{solo_patient_id}

Update Patient demographics.

Field deceasedAt is required if deceased is true. All other fields are optional.

Note: When deceased is false or is not defined, and deceasedAt is specified, an error should be received.

When familyMember is specified, the patient will be added to a Family that may share an email address among several patients.

URI Parameters
HideShow
solo_patient_id
int (required) Example: 1

The Solo Patient ID (SPID).


Patients Collection

A Collection of patients.

POST https://demo.visitnow.org/qapi/v1/patients
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
    "id": "patientId",
    "mrn": "MRN-123",
    "accountNumber": "A-123", // [DEPRECATED]
    "name": [
        {
            "use": "usual",
            "family": "Mike Shinoda",
            "firstName": "Mike",
            "middleName": "",
            "lastName": "Shinoda",
            "alias": ""
        }
    ],
    "birthDate": "1983-08-15",
    "gender": "male",
    "maritalStatus": "married",
    "telecom": [
        {
            "use": "home",
            "system": "phone",
            "value": "+1 (111) 111-1111"
        },
        {
            "use": "home",
            "system": "email",
            "value": "mike_zzzzzzz@company.com"
        }
    ],
    "contact": [
        {
            "telecom": [
                {
                    "use": "home",
                    "system": "phone",
                    "value": "phone"
                },
                {
                    "use": "home",
                    "system": "email",
                    "value": "someemail@email.email"
                }
            ],
            "name": []
        }
    ],
    "preferredLanguage": "English",
    "race": "White",
    "ethnicity": "not Hispanic or Latino",
    "address": [
        {
            "city": "New York",
            "use": "home",
            "apartment": "",
            "country": "USA",
            "state": "NY",
            "postalcode": "10019",
            "line": [
                "123 Main St",
                ""
            ]
        }
    ],
    "active": true,
    "deceased": true,
    "deceasedAt": "2020-03-31 10:12 AM",
    "familyMember": false, // deprecated
    "isLinkedByEmail": false,
    "groupType": "family", // [string] (only needed if isLinkedByEmail is true)
    "groupName": "Family Name" // [string] (only needed if isLinkedByEmail is true)
}
Responses200
Headers
Content-Type: application/json
Body
12345 // [int] solo patient id

Create Patient
POST/qapi/v1/patients

Create a new Patient object.

Field id is required.

Field deceasedAt is required if deceased is true.

Note: When deceased is false or is not defined, and deceasedAt is specified, an error should be received.

When familyMember is specified, the patient will be added to a Family that may share an email address among several patients.


Appointments

This section groups appointment resources.

Appointments

A Collection of patient appointments.

POST https://demo.visitnow.org/qapi/v1/patients/1/appointments
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
    "date": 1499441179, // [timestamp] (optional) appointment date
    "reasons": ["headache"], // [list of strings] (optional) appointment reasons
    "duration": 900, // [int] (optional), should be in range [1, 86400], by default waiting room slot duration is used
    "waitingRoom": "my waiting room", // [string] (required) waiting room name
    "externalId": "2e96ed0e-0f80-4dc3-b2c1-42e65b789e56", // [string] (optional) appointment external id
    "episodeOfCareId": "4e96ed0e-0f80-4dc3-b2c1-42e65b789e56", // [string] (optional) Episode of Care id
    "accountNumber": "ABC123456789" // [string] (optional) Encounter id
}
Responses200
Headers
Content-Type: application/json
Body
{
    "id": 1, // [int] appointment id
    "visitUrl": "https://linktoonlinecheckin..." // [string]
}

Create Appointment
POST/qapi/v1/patients/{patient_id}/appointments

Create a new Appointment object.

Field waitingRoom is required.

URI Parameters
HideShow
patient_id
string (required) Example: 1

The id of the Patient.


POST https://demo.visitnow.org/qapi/v1/patients/HSID/12345/appointments
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
    "date": 1499441179, // [timestamp] (optional) appointment date
    "reasons": ["headache"], // [list of strings] (optional) appointment reasons
    "duration": 900, // [int] (optional), should be in range [1, 86400], by default waiting room slot duration is used
    "waitingRoom": "my waiting room", // [string] (required) waiting room name
    "externalId": "2e96ed0e-0f80-4dc3-b2c1-42e65b789e56", // [string] (optional) appointment external id
    "episodeOfCareId": "4e96ed0e-0f80-4dc3-b2c1-42e65b789e56", // [string] (optional) Episode of Care id
    "accountNumber": "ABC123456789" // [string] (optional) Encounter id
}
Responses200
Headers
Content-Type: application/json
Body
{
    "id": 1, // [int] appointment id
    "visitUrl": "https://linktoonlinecheckin..." // [string]
}

Create Appointment with HSID
POST/qapi/v1/patients/HSID/{hsid}/appointments

Create a new Appointment object.

Available on PROD from November 22, 2023

Field waitingRoom is required.

URI Parameters
HideShow
hsid
string (required) Example: 12345

Health System ID (HSID). This is the EHR patient ID shared with Solo via (mainly) HL7.


POST https://demo.visitnow.org/qapi/v1/patients/id/type/SPID/value/1/appointments
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
    "date": 1499441179, // [timestamp] (optional) appointment date
    "reasons": ["headache"], // [list of strings] (optional) appointment reasons
    "duration": 900, // [int] (optional), should be in range [1, 86400], by default waiting room slot duration is used
    "waitingRoom": "my waiting room", // [string] (required) waiting room name
    "externalId": "2e96ed0e-0f80-4dc3-b2c1-42e65b789e56", // [string] (optional) appointment external id
    "episodeOfCareId": "4e96ed0e-0f80-4dc3-b2c1-42e65b789e56", // [string] (optional) Episode of Care id
    "accountNumber": "ABC123456789" // [string] (optional) Encounter id
}
Responses200
Headers
Content-Type: application/json
Body
{
    "id": 1, // [int] appointment id
    "visitUrl": "https://linktoonlinecheckin..." // [string]
}

Create Appointment with SPID
POST/qapi/v1/patients/id/type/SPID/value/{solo_patient_id}/appointments

Create a new Appointment object.

Field waitingRoom is required.

URI Parameters
HideShow
solo_patient_id
int (required) Example: 1

The Solo Patient ID (SPID).


GET https://demo.visitnow.org/qapi/v1/appointments/1/provider-link
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
{
    "id": 1, // [int] appointment id
    "providerVisitUrl": "https://linkofappoiontmentforprovider..." // [string]
}

GET https://demo.visitnow.org/qapi/v1/appointments/1/msteams-provider-link
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Teams-Auth-Token: TeamsAuthToken
Responses200
Headers
Content-Type: application/json
Body
{
    "id": 1, // [int] appointment id
    "msTeamsProviderVisitUrl": "https://teams.microsoft.com/v2/?meetingjoin=true..." // [string]
}

GET https://demo.visitnow.org/qapi/v1/appointments/2e96ed0e-0f80-4dc3-b2c1-42e65b789e56/video-call-links
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
{
    "appointmentExternalId": "2e96ed0e-0f80-4dc3-b2c1-42e65b789e56", // [string] appointment external id
    "providerVisitUrl": "https://linktoappointmentforprovider..." // [string]
    "patientVisitUrl": "https://linktoappointmentforpatient..." // [string]
}

GET https://demo.visitnow.org/qapi/v1/appointments/id/type/SAID/value/1/video-call-links
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
{
    "appointmentExternalId": "2e96ed0e-0f80-4dc3-b2c1-42e65b789e56", // [string] appointment external id
    "providerVisitUrl": "https://linktoappointmentforprovider..." // [string]
    "patientVisitUrl": "https://linktoappointmentforpatient..." // [string]
}

Single Appointment

PUT https://demo.visitnow.org/qapi/v1/appointments/1
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
    "date": 1499441179, // [timestamp] (optional) appointment date
    "duration": 900, // [int] (optional) appointment duration
    "status": "cancelled" // [string] (optional) only cancelled is allowed
    "externalId": "2e96ed0e-0f80-4dc3-b2c1-42e65b789e56", // [string] (optional) appointment external id
    "reasons": ["vomit"], // [list of strings] (optional) appointment reasons
    "accountNumber": "ABC123456789" // [string] (optional) Encounter id
}
Responses200
Headers
Content-Type: application/json
Body
{
    "id": 1, // [int] appointment id
    "visitUrl": "https://linktoonlinecheckin..." // [string]
}

Update Appointment
PUT/qapi/v1/appointments/{appointment_id}

Update an existing Appointment.

URI Parameters
HideShow
appointment_id
string (required) Example: 1

The id of the Appointment.


GET https://demo.visitnow.org/qapi/v1/appointments/1
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
{
    "id": 1, // [int] appointment id
    "date": 1508584382, // [int] timestamp
    "duration": 900, // [int] duration in seconds
    "reasons": ["headache"], // [array<string>]
    "status": "in progress.intake.ready", // [string] one of ["scheduled", "arrived", "in progress.intake.ready", "in progress.intake.progress", "in progress.exam.ready", "in progress.exam.progress", "discharge.ready", "discharge.progress", "completed", "sign off", "cancelled", "not showed up"]
    "videoCall": { // [object|null]
      "id": "76dc0be9-65e9-4832-9acb-caa292fafcc7", // [string]
      "status": "waiting" // [string] one of ["LWBS", "incomplete", "complete", "finalizing", "on hold", "on call", "waiting"]
    }
     "externalId": "2e96ed0e-0f80-4dc3-b2c1-42e65b789e56", // [string|null] appointment external id
     "patient": {
        "id": "1",
        "demographics": {
            "mrn": "MRN-123",
            "accountNumber": "A-123",
            "name": [
                {
                    "use": "usual",
                    "family": "Mike Shinoda",
                    "firstName": "Mike",
                    "middleName": "",
                    "lastName": "Shinoda",
                    "alias": ""
                }
            ],
            "birthDate": "1983-08-15",
            "gender": "male",
            "maritalStatus": "married",
            "telecom": [
                {
                    "use": "home",
                    "system": "phone",
                    "value": "+1 (111) 111-1111"
                },
                {
                    "use": "home",
                    "system": "email",
                    "value": "mike_zzzzzzz@company.com"
                }
            ],
            "contact": [
                {
                    "telecom": [
                        {
                            "use": "home",
                            "system": "phone",
                            "value": "phone"
                        },
                        {
                            "use": "home",
                            "system": "email",
                            "value": "someemail@email.email"
                        }
                    ],
                    "name": []
                }
            ],
            "preferredLanguage": "English",
            "race": "White",
            "ethnicity": "not Hispanic or Latino",
            "address": [
                {
                    "city": "New York",
                    "use": "home",
                    "apartment": "",
                    "country": "USA",
                    "state": "NY",
                    "postalcode": "10019",
                    "line": [
                        "123 Main St",
                        ""
                    ]
                }
            ],
            "active": true,
            "deceased": true,
            "deceasedAt": "2020-03-31 10:12 AM",
            "familyMember": false, // deprecated
            "isLinkedByEmail": false,
            "sharedEmailGroup": { // [object|null] (only needed if isLinkedByEmail is true)
                "type": "family",
                "name": "Family Name"
            }
        }
     },
     "providers": [
          {
               "id": "1234",
               "email": "clara@whovians.com",
               "firstName": "Clara",
               "middleName": "Oswin",
               "lastName": "Oswald"
          }
      ]
}

Get Appointment
GET/qapi/v1/appointments/{appointment_id}

Get an Appointment.

URI Parameters
HideShow
appointment_id
string (required) Example: 1

The id of the Appointment.


Waiting Rooms

Practice waiting rooms.

Waiting Rooms

Practice waiting rooms.

GET https://demo.visitnow.org/qapi/v1/waiting-rooms
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "id": "7669483a-6b12-497d-acb9-ddbf558d2b2a",
    "name": "Default Waiting Room Name 1",
    "serviceLine": "Demo",
    "serviceType": "Demo"
  },
  {
    "id": "abf8130c-24a7-4df0-b978-ca18c538dc71",
    "name": "Default Waiting Room Name 2",
    "serviceLine": "Demo",
    "serviceType": "Other"
  }
]

Get Waiting Room List
GET/qapi/v1/waiting-rooms

Get list of the waiting rooms of a practice.


Appointment Note

Appointment note or visit note.

Appointment Note

Appointment note(visit note).

GET https://demo.visitnow.org/qapi/v1/appointments/1/visit-note
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
[
  {
      "id": "be9180f7-b0c0-42a5-9b14-c8b67a3b4c0f", // [string] id of visit note template
      "template": {
          "name": "template2", // name of template
          "flow": { // flow of template
              "sections": []
          }
      },
      "comments": [
          {
              "id": "358d336c-20c4-44ab-9292-596fb0f0199c", // [string]
              "templateId": "be9180f7-b0c0-42a5-9b14-c8b67a3b4c0f", // [string]
              "message": "comment message", // [string]
              "postedAt": 1508584382, // [int] timestamp
              "author": {
                  "id": 123, // [int]
                  "username": "user@user.com" // [string]
              }
          }
      ],
      "responses": [
          {
              "dateTime": {
                  "date": "2017-10-21 16:45:53.000000",
                  "timezone_type": 3,
                  "timezone": "America/New_York"
              },
              "question": ["some section", "some question"],
              "response": ["answer1", "answer2"]
          }
      ]
  }
]

Get Visit Note
GET/qapi/v1/appointments/{appointment_id}/visit-note

Get Visit Note.

URI Parameters
HideShow
appointment_id
string (required) Example: 1

The id of the Appointment.


PUT https://demo.visitnow.org/qapi/v1/appointments/1/visit-note
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
{
  "name": "Acute Neurology - Physician Services",
  "questions": [
    {
      "id": "923c5621-66a1-49a3-aa7b-a7753cbfd139",
      "value": [
        "Male"
      ]
    }
  ]
}

Update Visit Note
PUT/qapi/v1/appointments/{appointment_id}/visit-note

Update Visit Note Questions.

URI Parameters
HideShow
appointment_id
string (required) Example: 1

The id of the Appointment.


Appointment Slots

This section groups appointment slots resources.

Appointment Slots Collection

A Collection of appointment slots.

GET https://demo.visitnow.org/qapi/v1/appointment-slots?after=1505053200&before=1505057400&waitingRoom=GreatRoom&duration=900
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "date": 1505053800,
    "duration": 900
  },
  {
    "date": 1505054700,
    "duration": 900
  },
  {
    "date": 1505055600,
    "duration": 900
  },
  {
    "date": 1505056500,
    "duration": 900
  }
]

Get Slots
GET/qapi/v1/appointment-slots{?after,before,waitingRoom,duration}

Find Appointment Slots for a specific date range.

Slots duration is taken from waiting room settings.

All fields are required.

URI Parameters
HideShow
after
timestamp (required) Example: 1505053200

Left date range for the search.

before
timestamp (required) Example: 1505057400

Right date range for the search.

waitingRoom
string (required) Example: GreatRoom

Waiting room name.

duration
int (optional) Example: 900

should be in range [1, 86400], by default waiting room slot duration is used.


Appointment Attachments

This section groups appointment attachments

Appointment Attachments Collection

A collection of appointment attachments

POST https://demo.visitnow.org/qapi/v1/appointments/1/attachments?fileName=myFileName.pdf
Requestsexample 1
Headers
Content-Type: application/pdf
Api-Key: YourApiKey
Body
(binary file)
Responses200400
Headers
Content-Type: application/json
Body
{
  "id": "583fea87-58f8-4fd6-968a-bf61b3c5a958",
  "appointmentId": "f9856715-f48a-4c31-97ad-fa47e586cbee",
  "title": "UploadedPDF.pdf",
  "mimeType": "application/pdf",
  "size": 9508,
  "uploadedAt": "2022-07-22T09:43:53-04:00",
  "deleted": false
}
Headers
Content-Type: application/json
Body
{
  "error": {
    "message": "Mime type \"text/plain\" not supported. Available file mime-types: \"application/pdf\", \"application/x-pdf\", \"image/pdf\", \"image/png\", \"image/jpeg\""
  }
}

Upload attachment to appointment
POST/qapi/v1/appointments/{appointmentId}/attachments{?fileName}

Upload a new Appointment attachment.

Max file size: 5Mb

Allow file mime-types: application/pdf, application/x-pdf, image/pdf, image/png, image/jpeg

URI Parameters
HideShow
appointmentId
string (required) Example: 1

The id (or aggregate id) of the Appointment.

fileName
string (optional) Example: myFileName.pdf

Uploaded file name. This filename will be displayed in UI.


GET https://demo.visitnow.org/qapi/v1/appointments/1/attachments
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
{
  "attachments": [
    {
      "id": "083ff406-6fa8-4ae5-afd2-ee57ff6a6632",
      "appointmentId": "f9856715-f48a-4c31-97ad-fa47e586cbee",
      "title": "Attachment.png",
      "mimeType": "image/png",
      "size": 85253,
      "uploadedAt": "2022-07-19T11:35:46+00:00",
      "deleted": false
    },
    {
      "id": "8411f863-0895-4300-af13-66b0dafce51d",
      "appointmentId": "f9856715-f48a-4c31-97ad-fa47e586cbee",
      "title": "MyFileNamTest1.pdf",
      "mimeType": "image/pdf",
      "size": 5744,
      "uploadedAt": "2022-07-19T16:39:07+00:00",
      "deleted": false
    }
  ]
}

Get Appointment Attachments
GET/qapi/v1/appointments/{appointmentId}/attachments

Get collection of appointment attachments

URI Parameters
HideShow
appointmentId
string (required) Example: 1

The id (or aggregate id) of the Appointment.


Delete appointment attachment

DELETE https://demo.visitnow.org/qapi/v1/appointments/1/attachments/8411f863-0895-4300-af13-66b0dafce51d
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json

Delete appointment attachment
DELETE/qapi/v1/appointments/{appointmentId}/attachments/{attachmentId}

URI Parameters
HideShow
appointmentId
string (required) Example: 1

The id (or aggregate id) of the Appointment.

attachmentId
string (required) Example: 8411f863-0895-4300-af13-66b0dafce51d

The id of attachment


Patient Documents

This section groups patient documents.

Patient Documents Collection

A Collection of patient documents.

POST https://demo.visitnow.org/qapi/v1/patients/1/documents
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
  "name": "document name", // [string]
  "dateTime": 1510367140, // [unix timestamp]
  "responses": [
      {
          "question": "question 1", // [string]
          "response": "response to question 1" // [string]
      }
  ]
}
Responses200
Headers
Content-Type: application/json
Body
[]

Add Patient Document
POST/qapi/v1/patients/{patient_id}/documents

Adds new patient document.

All fields are required.

URI Parameters
HideShow
patient_id
string (required) Example: 1

The id of the Patient.


Episodes Of Care

This section groups episodes resources.

Episodes

POST https://demo.visitnow.org/qapi/v1/patients/1/episodes
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
    "name": "covid care", // [string] (required) episode name
    "type": "covid", // [string] (required) predefined string, episode type
    "from": "YYYY-MM-DD", // [string] (required) start date for episode
    "to": "YYYY-MM-DD", // [string] (optional) end date for episode
    "status": "string" // [string] (required) [PLANNING, WAITLIST, ACTIVE, ONHOLD, FINISHED, CANCELED]
    "objective": "care covid patient" // [string] (optional)
    "reasonIncomplete": "unknown" // [string] (optional) reason if the episode status is incomplete
}
Responses200
Body
{
    "episodeId": "bd43a830-6c0b-4120-b5b8-78a117f8ee02", // [string] episode id
}

Create Episode
POST/qapi/v1/patients/{patient_id}/episodes

URI Parameters
HideShow
patient_id
string (required) Example: 1

The id of the Patient.


GET https://demo.visitnow.org/qapi/v1/patients/1/episodes
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
{
    "episodes" : [
        {
            "id": "bd43a830-6c0b-4120-b5b8-78a117f8ee02", // [string] episode id
            "patientId": "05ade251-689e-484c-82f9-b2f1f0cd7dbb", // [string] patient id
            "name": "test covid", // [string] episode name
            "from": "2023-03-29", // [string] YYYY-MM-DD date episode starts
            "to": "2023-03-29", // [string] YYYY-MM-DD date when episode ends
            "type": "neddie", // [string] predefined episode type
            "status": "planning", // [string] episode status
            "objective": "recover from covid", // [string] goal of the episode
            "reasonIncomplete": "unknown" // [string] reason if the status is incomplete
        },
        {
            "id": "bd43a830-6c0b-4120-b5b8-78a117f8ee03", // [string] episode id
            "patientId": "05ade251-689e-484c-82f9-b2f1f0cd7dbc", // [string] patient id
            "name": "test covid", // [string] episode name
            "from": "2023-03-29", // [string] YYYY-MM-DD date episode starts
            "to": "2023-03-29", // [string] YYYY-MM-DD date when episode ends
            "type": "neddie", // [string] predefined episode type
            "status": "planning", // [string] episode status
            "objective": "recover from covid", // [string] goal of the episode
            "reasonIncomplete": "unknown" // [string] reason if the status is incomplete
        }
    ]
}

Get list of Episodes for patient
GET/qapi/v1/patients/{patient_id}/episodes

URI Parameters
HideShow
patient_id
string (required) Example: 1

The id of the Patient.


Single Episode

GET https://demo.visitnow.org/qapi/v1/episodes/bd43a830-6c0b-4120-b5b8-78a117f8ee02
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
{
        "id": "bd43a830-6c0b-4120-b5b8-78a117f8ee02", // [string] episode id
        "name": "test covid", // [string] episode name
        "from": "2023-03-29", // [string] YYYY-MM-DD date episode starts
        "to": "2023-03-29", // [string] YYYY-MM-DD date when episode ends
        "type": "neddie", // [string] predefined episode type
        "status": "planning", // [string] episode status
        "objective": "recover from covid", // [string] goal of the episode
        "reasonIncomplete": "unknown", // [string] reason if the status is incomplete
        "soloPatientId": 854896, // [int] solo patient id
        "externalPatientId": "05ade251" // [string] patient id
}

Get Episode
GET/qapi/v1/episodes/{episode_id}

URI Parameters
HideShow
episode_id
string (required) Example: bd43a830-6c0b-4120-b5b8-78a117f8ee02

The id of the Episode.


PUT https://demo.visitnow.org/qapi/v1/episodes/bd43a830-6c0b-4120-b5b8-78a117f8ee02
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
    "name": "covid care", // [string] (required) episode name
    "type": "covid", // [string] (required) predefined string, episode type
    "from": "YYYY-MM-DD", // [string] (required) start date for episode
    "to": "YYYY-MM-DD", // [string] (optional) end date for episode
    "status": "string" // [string] (required) [PLANNING, WAITLIST, ACTIVE, ONHOLD, FINISHED, CANCELED]
    "objective": "care covid patient" // [string] (optional)
    "reasonIncomplete": "unknown" // [string] (optional) reason if the episode status is incomplete
}
Responses200
This response has no content.

Update Episode
PUT/qapi/v1/episodes/{episode_id}

URI Parameters
HideShow
episode_id
string (required) Example: bd43a830-6c0b-4120-b5b8-78a117f8ee02

The id of the Episode.


Get list of Appointments for an Episode

GET https://demo.visitnow.org/qapi/v1/episodes/xd43a830-6c0b-4120-b5b8-78a117f8ee02/appointments"
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
{
    "episode":
    {
        "id": "bd43a830-6c0b-4120-b5b8-78a117f8ee02", // [string] episode id
        "name": "test covid", // [string] episode name
        "from": "2023-03-29", // [string] date episode starts
        "to": "2023-03-29", // [string] date when episode ends
        "type": "neddie", // [string] predefined episode type
        "status": "planning", // [string] episode status
        "objective": "recover from covid", // [string] goal of the episode
        "reasonIncomplete": "unknown", // [string ]reason if the status is incomplete
        "soloPatientId": 854896, // [int] solo patient id
        "externalPatientId": "05ade251" // [string] patient id
    },
    "appointments":
    [
        {
            "appointmentId": 3110360, // [int] appointment id
            "date": 1679667900, // [timestamp] appointment date
            "reasons": [], // [String Array] reasons
            "hasNotes": false, // [Boolean]
            "episodeOfCareId": "a2c6e3fc-c2f7-4a24-a0d6-eb2343a15469" // [string]
        }
    ]
}

Get list of Appointments for an Episode
GET/qapi/v1/episodes/{episode_id}/appointments"

URI Parameters
HideShow
episode_id
string (required) Example: xd43a830-6c0b-4120-b5b8-78a117f8ee02

The id of the Episode.


Reassign Episode to Appointment

PUT https://demo.visitnow.org/qapi/v1/appointments/1/episode/assign
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
    "episodeId": "a2c6e3fc-c2f7-4a24-a0d6-eb2343a15469" // [string] (optional)
}
Responses200
This response has no content.

Reassign Episode to Appointment
PUT/qapi/v1/appointments/{appointment_id}/episode/assign

URI Parameters
HideShow
appointment_id
string (required) Example: 1

The id of the Appointment.


Reports

This section groups reports

Data Download

GET https://demo.visitnow.org/qapi/v1/reports/csv-data-dump?from=2020-02-10&to=2020-02-11
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/octet-stream
Body
A binary file in CSV format, representing the report data.

Get CSV report
GET/qapi/v1/reports/csv-data-dump{?from,to}

Download CSV report for a specific date range.

All parameters are required.

URI Parameters
HideShow
from
date (required) Example: 2020-02-10

Left date range for the report.

to
date (required) Example: 2020-02-11

Right date range for the report.


Generate report for visits

POST https://demo.visitnow.org/qapi/v1/encounter-report/create
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
    "from": "2024-08-15T15:52:01+00:00", // [DateTime] (ATOM format - "Y-m-d\\TH:i:sP")
    "to": "2024-08-15T15:52:01+00:00", // [DateTime] (ATOM format - "Y-m-d\\TH:i:sP")
    "presetId": "a2c6e3fc-c2f7-4a24-a0d6-eb2343a15469", // [string]
    "password": "IK5adv2N5V-gr£9v6" // [string]
}
Responses200
Body
{
  "id": "bd43a830-6c0b-4120-b5b8-78a117f8ee02",
  "status": "pending"
}

Set encounter-report generation in create
POST/qapi/v1/encounter-report/create

Order zipped CSV encounter-report for a specific date range and preset(with a password).

presetId - we can get this presetId after configuring the report details in Solo Web Application

password - this will lock the generated csv file you need to use this password again to unlock csv file


Check status of report for visits

GET https://demo.visitnow.org/qapi/v1/encounter-report/status/bd43a830-6c0b-4120-b5b8-78a117f8ee02
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Body
{
  "id": "bd43a830-6c0b-4120-b5b8-78a117f8ee02",
  "status": "completed"
}

Check report status
GET/qapi/v1/encounter-report/status/{reportId}

Get status(pending, completed, failed) of report

All parameters are required.

URI Parameters
HideShow
reportId
string (required) Example: bd43a830-6c0b-4120-b5b8-78a117f8ee02

Encounter report Download

GET https://demo.visitnow.org/qapi/v1/encounter-report/download/bd43a830-6c0b-4120-b5b8-78a117f8ee02
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/octet-stream
Body
A binary zipped file in CSV format

Get CSV report
GET/qapi/v1/encounter-report/download/{reportId}

Download CSV report for a specific date range.

All parameters are required.

URI Parameters
HideShow
reportId
string (required) Example: bd43a830-6c0b-4120-b5b8-78a117f8ee02

Integrations

This section groups integration endpoints

Perfect answer API

POST https://demo.visitnow.org/qapi/v1/perfect-answer
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
    "firstName": "John",
    "lastName": "Doe",
    "dob": "2001-01-20", // (string) - Date of birth in ISO 8601 format
    "locationId": "123", // (string) - ID of geolocation in FMS
    "mrn": "AA-00000001",
    "physicianCallbackNumber": "+1-202-555-0150", // (optional)
    "requestingProvider": "Bob Dylan",
    "callCenterNotified": "2019-12-03T14:32:12Z", // (string, optional) - Date and time in ISO format. Will be used to prefil form question.
    "physicianNotified": "2019-12-03T14:32:12Z", // (string, optional) - Date and time in ISO format. Will be used to prefil form question.
    "patientLocation": "Patient location", // (optional)
    "consultType": "new", // (enum) [ new, update ]
    "reason": "EEG Stat", // (enum) [ Stroke, EEG Stat, EEG Routine ]
    "caller": "Caller name" // (optional)
}
Responses201400422
Headers
Content-Type: application/json
Body
{
  "patientId": "uuid",
  "encounterId": "uuid"
}

Bad Request

Headers
Content-Type: application/json
Body
{
  "error": {
    "message": "Bad parameters [locationId: This is not a valid UUID.]"
  }
}

Rejected request

Headers
Content-Type: application/json
Body
{
  "error": {
    "message": "A visit has already been created for the patient within 24 hours"
  }
}

Perfect answer API
POST/qapi/v1/perfect-answer

Flow:

  1. Create or update patient demographic
  2. Create appointment
  3. Add template PCM for created appointment
  4. Add answers from request to PCM-template

Preconditions:

  1. Waiting room configuration:
    • Add templates to waiting room Acute Neurology - Physician Services and EEG - Physician Services See in github
    • General Settings -> EHR Mapping -> Set location
  2. For Location must be set “Geolocation Id”
  3. PCM template: must be tagged answers for set request values

Context Aware Linking

Context linking is done via passing all needed data as encrypted JSON string, passed via query parameter.

JSON Schema

Data is passed as JSON string. Please check Json Schema as documentation for it’s format:

{
    "properties": {
        "user": {"type": "string"},
        "type": {"enum": ["patient","medicalAssistant","provider"]},
        "visit": {"type": "string"},
        "date": {
            "description": "Date and time of the visit as utc unix timestamp",
            "type": "number"
        },
        "patient": {
            "type": "object",
            "properties": {
                "id": {"type": "string"},
                "sex": {"enum": ["male", "female", "other", "unknown"]},
                "dob": {
                    "description": "Date of birth",
                    "type": "string",
                    "format": "date"
                },
                "firstName": {"type": "string"},
                "lastName": {"type": "string"},
            },
            "required": ["id", "sex", "dob", "firstName", "lastName"]
        }
    },
    "required": ["user", "type", "visit", "date", "patient"]
}

Encryption

To securely pass data, it must be encrypted using AES-256-CBC and sha256 hash from salted secret as a key. This encrypted JSON data will be passed as query parameter, so it also must be URL encoded:

URL Encode(Base64(Salt) + Base64(IV) + Base64(Encrypted JSON))

As an example, let’s generate key:

# Data:   {"visit":"12345","user":"1234"}
# Secret: some secret
%
% openssl enc -aes-256-cbc -k "some secret" -P -md sha256
salt=7ADD846A66F25916
key=3D98C78B0F2C8D27A6B0294A7F04B8484C2890D09B1AF98D4E6E7044DA1EF6DF
iv =BDE13F6361593CC1D7181B40E5E0602B

For initialization vector (IV) we will use some randomly generated sequence of 16 bytes, and 8 bytes for salt. It is recommended to use random salt and IV for each request.

Key should be derived as sha256 hash of concatenation from secret and salt. After we done with preparations, we could encrypt JSON string:

BizXKL9L4EQ=YuhTK5qXNtOCmbuaHMq5tA==DUPdvDCZPiSUf0Jumt/Mr/wVWv+mr6Vzj5LnKUQtTPc=
^           ^                       ^
Salt        IV                      encrypted JSON in base64 encoding

First 12 bytes is salt, next 24 bytes is IV and the rest is our encrypted data.

Connect

GET https://demo.visitnow.org/integrations/linking?arg=
Responses302
Headers
Location: https://demo.visitnow.org/videocalls/{id}

Connect
GET/integrations/linking{?arg}

Redirects to visit in our system

URI Parameters
HideShow
arg
string (required) 

Encrypted JSON string which contains required data


Webhooks

This section groups webhooks.

Release version: 2022Q4.5

Available on CAT from December 9, 2022

Available on PROD from December 13, 2022

Payload Schemas

For events related to patients.

{
    "event": {"type": "string"},
    "data": {
        "patientId": {"type": "int"}
    }
}

For events related to appointments.

{
    "event": {"type": "string"},
    "data": {
        "appointmentId": {"type": "int"}
    }
}

Endpoints

A collection of webhooks endpoints

POST https://demo.visitnow.org/qapi/v1/webhooks
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
    "endpoint": "https://webhook.site/...", // [string]
    "events": [
        "appointment:scheduled",
        "appointment:rescheduled",
        ...
    ]
}
Responses200
Headers
Content-Type: application/json
Body
{
    "id": "b20be9ce-eb93-48be-ad56-271ec4b2973c",
    "endpoint": "https://webhook.site/...",
    "events": [
        "appointment:scheduled",
        "appointment:rescheduled",
        ...
    ],
    "encryptionKey": "39VNjjSpgoUWMbUhVCjAoQ=="
}

Add Webhook
POST/qapi/v1/webhooks

Adds new webhook.

  • Attributes:
    • endpoint: https://webhook.site/... (string) Specify the URL or web address where the data will be sent once the webhook is triggered. The URL will receive an HTTP POST request when the selected event happens.
    • events: (enum) Select events to trigger webhook sending
      • patient:created
      • patient:updated
      • patient:deactivated
      • appointment:scheduled
      • appointment:rescheduled
      • appointment:cancelled
      • appointment:completed
      • appointment:incompleted
      • appointment:no-show
      • appointment:lwbs
      • episode:created
      • episode:updated

Response contains encryptionKey which needs to be stored on your side in order to decrypt the payload data from the requests that our API will send to the specified endpoint.

Payload data will be encrypted with sha256 algorythm which could be decrypted with encryptionKey as follow:

[
    $salt,
    $iv,
    $encryptedString
] = [
    base64_decode(substr($encryptedString, 0, 12)),
    base64_decode(substr($encryptedString, 12, 24)),
    base64_decode(substr($encryptedString, 36)),
];

$secret = hash('SHA256', $decryptionKey . $salt, true);

$decrypted = openssl_decrypt(
    $encryptedString,
    'AES-256-CBC',
    $secret,
    1,
    $iv
);

PUT https://demo.visitnow.org/qapi/v1/webhooks/b20be9ce-eb93-48be-ad56-271ec4b2973c
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
{
    "endpoint": "https://webhook.site/updated/...", // [string]
    "events": [
        "appointment:scheduled",
        ...
    ]
}
Responses200
Headers
Content-Type: application/json
Body
{
    "id": "b20be9ce-eb93-48be-ad56-271ec4b2973c",
    "endpoint": "https://webhook.site/updated/...",
    "events": [
        "appointment:scheduled",
        ...
    ]
}

Update Webhook
PUT/qapi/v1/webhooks/{webhookId}

Updates webhook that exists.

  • Attributes:
    • endpoint: https://webhook.site/... (string) Specify the URL or web address where the data will be sent once the webhook is triggered. The URL will receive an HTTP POST request when the selected event happens.
    • events: (enum) Select events to trigger webhook sending
      • patient:created
      • patient:updated
      • patient:deactivated
      • appointment:scheduled
      • appointment:rescheduled
      • appointment:cancelled
      • appointment:completed
      • appointment:incompleted
      • appointment:no-show
      • appointment:lwbs
      • episode:created
      • episode:updated
URI Parameters
HideShow
webhookId
string (required) Example: b20be9ce-eb93-48be-ad56-271ec4b2973c

The id of webhook


GET https://demo.visitnow.org/qapi/v1/webhooks
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
[
    {
        "id": "b20be9ce-eb93-48be-ad56-271ec4b2973c",
        "endpoint": "https://webhook.site/updated/...",
        "events": [
            "appointment:scheduled",
            ...
        ]
    },
    {
        "id": "a52da597-f7ea-40a2-812e-2f118bda2434",
        "endpoint": "https://webhook.site/...",
        "events": [
            "appointment:scheduled",
            "appointment:rescheduled",
            ...
        ]
    },
    ...
]

Webhooks Collection
GET/qapi/v1/webhooks

Returns list of created webhooks.


DELETE https://demo.visitnow.org/qapi/v1/webhooks/b20be9ce-eb93-48be-ad56-271ec4b2973c
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json

Delete Webhook
DELETE/qapi/v1/webhooks/{webhookId}

Deactivates webhook.

URI Parameters
HideShow
webhookId
string (required) Example: b20be9ce-eb93-48be-ad56-271ec4b2973c

The id of webhook


GET https://demo.visitnow.org/qapi/v1/webhooks/b20be9ce-eb93-48be-ad56-271ec4b2973c
Requestsexample 1
Headers
Content-Type: application/json
Api-Key: YourApiKey
Responses200
Headers
Content-Type: application/json
Body
{
    "id": "b20be9ce-eb93-48be-ad56-271ec4b2973c",
    "endpoint": "https://webhook.site/updated/...",
    "events": [
        "appointment:scheduled",
        ...
    ],
    "encryptionKey": "39VNjjSpgoUWMbUhVCjAoQ=="
}

Get Webhook
GET/qapi/v1/webhooks/{webhookId}

Get single webhook.

URI Parameters
HideShow
webhookId
string (required) Example: b20be9ce-eb93-48be-ad56-271ec4b2973c

The id of webhook


Virtual Nursing and Sitting

This section groups assistance requests.

Group Assistance Requests

POST https://demo.visitnow.org/qapi/v1/request-assistance
Requestsexample 1example 2example 3example 4
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
```js
{
    "building": "hospital", // [string] (required) building name
    "floor": "floor 2", // [string] (required) floor number
    "room": "431", // [string] (required) room number
    "bed": "bed 2" // [string] (optional) bed number
}
```
Responses200400400403
Body
```js
{
"id": "f87479f4-b7a1-4c3b-9dd3-69656bb7b925", // [string] ID of created request
"device": "123457", // [string] serial number of FMS device
"careLocation": {
    "availability": "offline",
    "id": "296f135e-88dd-4534-8e12-1f6f7b792fe5",
    "name": "ICC-CL-01-02",
    "status": "active",
    "video": {
    "type": "robot",
    "clientId": null,
    "serialNumber": "123457",
    "careLocationId": "1409",
    "skipActivation": true
    }
},
"practice": "91ce2309-4049-49a4-8bf5-793bbe1579ed", // [string] IWA practice ID
"patient": {
    "age": 0,
    "id": "99ac90da-58fd-4af8-a378-e37f10ef6be5", // [string] ID of patient in IWA
    "firstName": "Yura",
    "lastName": "Lukashik",
    "middleName": "A",
    "dob": "2024-03-28",
    "mrn": "1234"
},
"assignedTo": null,
"room": "Room 50",
"status": "incomplete", // [string] created request status
"createdAt": "2024-03-28T12:02:05+00:00",
"finishedAt": null,
"location": {
    "id": "ab25dda0-64e6-4666-8bfe-3277656a6405",
    "name": "ICC First Location"
},
"avSessions": [],
"createdFromExternalApi": true
}
```
Body
```js
{
"message": "Service Request Error: Missing Required Parameters. Please include either Device ID, Patient ID, or a combination of Building, Floor, Room, and Bed (opt.), or Department, Room, and Bed (opt.) to proceed" // [string] Error message
}
```
Body
```js
{
"message": "Device could not be found from the data submitted" // [string] Error message
}
```
This response has no content.
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
```js
{
    "department": "emergency department", // [string] (required) department name
    "room": "431", // [string] (required) room number
    "bed": "bed 2" // [string] (optional) bed number
}
```
Responses200400400403
Body
```js
{
"id": "f87479f4-b7a1-4c3b-9dd3-69656bb7b925", // [string] ID of created request
"device": "123457", // [string] serial number of FMS device
"careLocation": {
    "availability": "offline",
    "id": "296f135e-88dd-4534-8e12-1f6f7b792fe5",
    "name": "ICC-CL-01-02",
    "status": "active",
    "video": {
    "type": "robot",
    "clientId": null,
    "serialNumber": "123457",
    "careLocationId": "1409",
    "skipActivation": true
    }
},
"practice": "91ce2309-4049-49a4-8bf5-793bbe1579ed", // [string] IWA practice ID
"patient": {
    "age": 0,
    "id": "99ac90da-58fd-4af8-a378-e37f10ef6be5", // [string] ID of patient in IWA
    "firstName": "Yura",
    "lastName": "Lukashik",
    "middleName": "A",
    "dob": "2024-03-28",
    "mrn": "1234"
},
"assignedTo": null,
"room": "Room 50",
"status": "incomplete", // [string] created request status
"createdAt": "2024-03-28T12:02:05+00:00",
"finishedAt": null,
"location": {
    "id": "ab25dda0-64e6-4666-8bfe-3277656a6405",
    "name": "ICC First Location"
},
"avSessions": [],
"createdFromExternalApi": true
}
```
Body
```js
{
"message": "Service Request Error: Missing Required Parameters. Please include either Device ID, Patient ID, or a combination of Building, Floor, Room, and Bed (opt.), or Department, Room, and Bed (opt.) to proceed" // [string] Error message
}
```
Body
```js
{
"message": "Device could not be found from the data submitted" // [string] Error message
}
```
This response has no content.
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
```js
{
    "patientMrn": "1234" // [string] (required) patient MRN
}
```
Responses200400400403
Body
```js
{
"id": "f87479f4-b7a1-4c3b-9dd3-69656bb7b925", // [string] ID of created request
"device": "123457", // [string] serial number of FMS device
"careLocation": {
    "availability": "offline",
    "id": "296f135e-88dd-4534-8e12-1f6f7b792fe5",
    "name": "ICC-CL-01-02",
    "status": "active",
    "video": {
    "type": "robot",
    "clientId": null,
    "serialNumber": "123457",
    "careLocationId": "1409",
    "skipActivation": true
    }
},
"practice": "91ce2309-4049-49a4-8bf5-793bbe1579ed", // [string] IWA practice ID
"patient": {
    "age": 0,
    "id": "99ac90da-58fd-4af8-a378-e37f10ef6be5", // [string] ID of patient in IWA
    "firstName": "Yura",
    "lastName": "Lukashik",
    "middleName": "A",
    "dob": "2024-03-28",
    "mrn": "1234"
},
"assignedTo": null,
"room": "Room 50",
"status": "incomplete", // [string] created request status
"createdAt": "2024-03-28T12:02:05+00:00",
"finishedAt": null,
"location": {
    "id": "ab25dda0-64e6-4666-8bfe-3277656a6405",
    "name": "ICC First Location"
},
"avSessions": [],
"createdFromExternalApi": true
}
```
Body
```js
{
"message": "Service Request Error: Missing Required Parameters. Please include either Device ID, Patient ID, or a combination of Building, Floor, Room, and Bed (opt.), or Department, Room, and Bed (opt.) to proceed" // [string] Error message
}
```
Body
```js
{
"message": "Device could not be found from the data submitted" // [string] Error message
}
```
This response has no content.
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
```js
{
    "deviceSerialNumber": "123457" // [string] (required) serial number of FMS device
}
```
Responses200400400403
Body
```js
{
"id": "f87479f4-b7a1-4c3b-9dd3-69656bb7b925", // [string] ID of created request
"device": "123457", // [string] serial number of FMS device
"careLocation": {
    "availability": "offline",
    "id": "296f135e-88dd-4534-8e12-1f6f7b792fe5",
    "name": "ICC-CL-01-02",
    "status": "active",
    "video": {
    "type": "robot",
    "clientId": null,
    "serialNumber": "123457",
    "careLocationId": "1409",
    "skipActivation": true
    }
},
"practice": "91ce2309-4049-49a4-8bf5-793bbe1579ed", // [string] IWA practice ID
"patient": {
    "age": 0,
    "id": "99ac90da-58fd-4af8-a378-e37f10ef6be5", // [string] ID of patient in IWA
    "firstName": "Yura",
    "lastName": "Lukashik",
    "middleName": "A",
    "dob": "2024-03-28",
    "mrn": "1234"
},
"assignedTo": null,
"room": "Room 50",
"status": "incomplete", // [string] created request status
"createdAt": "2024-03-28T12:02:05+00:00",
"finishedAt": null,
"location": {
    "id": "ab25dda0-64e6-4666-8bfe-3277656a6405",
    "name": "ICC First Location"
},
"avSessions": [],
"createdFromExternalApi": true
}
```
Body
```js
{
"message": "Service Request Error: Missing Required Parameters. Please include either Device ID, Patient ID, or a combination of Building, Floor, Room, and Bed (opt.), or Department, Room, and Bed (opt.) to proceed" // [string] Error message
}
```
Body
```js
{
"message": "Device could not be found from the data submitted" // [string] Error message
}
```
This response has no content.

Create Assistance Request
POST/qapi/v1/request-assistance


GET https://demo.visitnow.org/qapi/v1/request-assistance
Requestsexample 1example 2example 3example 4
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
```js
{
    "building": "hospital", // [string] (required) building name
    "floor": "floor 2", // [string] (required) floor number
    "room": "431", // [string] (required) room number
    "bed": "bed 2" // [string] (optional) bed number
}
```
Responses200404
Body
```js
{
"id": "f87479f4-b7a1-4c3b-9dd3-69656bb7b925", // [string] ID of created request
"device": "123457", // [string] serial number of FMS device
"careLocation": {
    "availability": "offline",
    "id": "296f135e-88dd-4534-8e12-1f6f7b792fe5",
    "name": "ICC-CL-01-02",
    "status": "active",
    "video": {
    "type": "robot",
    "clientId": null,
    "serialNumber": "123457",
    "careLocationId": "1409",
    "skipActivation": true
    }
},
"practice": "91ce2309-4049-49a4-8bf5-793bbe1579ed", // [string] IWA practice ID
"patient": {
    "age": 0,
    "id": "99ac90da-58fd-4af8-a378-e37f10ef6be5", // [string] ID of patient in IWA
    "firstName": "Yura",
    "lastName": "Lukashik",
    "middleName": "A",
    "dob": "2024-03-28",
    "mrn": "1234"
},
"assignedTo": null,
"room": "Room 50",
"status": "incomplete", // [string] created request status
"createdAt": "2024-03-28T12:02:05+00:00",
"finishedAt": null,
"location": {
    "id": "ab25dda0-64e6-4666-8bfe-3277656a6405",
    "name": "ICC First Location"
},
"avSessions": [],
"createdFromExternalApi": true
}
```
Body
```js
{
"message": "Service Request Error: Request not found" // [string] Error message
}
```
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
```js
{
    "department": "emergency department", // [string] (required) department name
    "room": "431", // [string] (required) room number
    "bed": "bed 2" // [string] (optional) bed number
}
```
Responses200404
Body
```js
{
"id": "f87479f4-b7a1-4c3b-9dd3-69656bb7b925", // [string] ID of created request
"device": "123457", // [string] serial number of FMS device
"careLocation": {
    "availability": "offline",
    "id": "296f135e-88dd-4534-8e12-1f6f7b792fe5",
    "name": "ICC-CL-01-02",
    "status": "active",
    "video": {
    "type": "robot",
    "clientId": null,
    "serialNumber": "123457",
    "careLocationId": "1409",
    "skipActivation": true
    }
},
"practice": "91ce2309-4049-49a4-8bf5-793bbe1579ed", // [string] IWA practice ID
"patient": {
    "age": 0,
    "id": "99ac90da-58fd-4af8-a378-e37f10ef6be5", // [string] ID of patient in IWA
    "firstName": "Yura",
    "lastName": "Lukashik",
    "middleName": "A",
    "dob": "2024-03-28",
    "mrn": "1234"
},
"assignedTo": null,
"room": "Room 50",
"status": "incomplete", // [string] created request status
"createdAt": "2024-03-28T12:02:05+00:00",
"finishedAt": null,
"location": {
    "id": "ab25dda0-64e6-4666-8bfe-3277656a6405",
    "name": "ICC First Location"
},
"avSessions": [],
"createdFromExternalApi": true
}
```
Body
```js
{
"message": "Service Request Error: Request not found" // [string] Error message
}
```
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
```js
{
    "patientMrn": "1234" // [string] (required) patient MRN
}
```
Responses200404
Body
```js
{
"id": "f87479f4-b7a1-4c3b-9dd3-69656bb7b925", // [string] ID of created request
"device": "123457", // [string] serial number of FMS device
"careLocation": {
    "availability": "offline",
    "id": "296f135e-88dd-4534-8e12-1f6f7b792fe5",
    "name": "ICC-CL-01-02",
    "status": "active",
    "video": {
    "type": "robot",
    "clientId": null,
    "serialNumber": "123457",
    "careLocationId": "1409",
    "skipActivation": true
    }
},
"practice": "91ce2309-4049-49a4-8bf5-793bbe1579ed", // [string] IWA practice ID
"patient": {
    "age": 0,
    "id": "99ac90da-58fd-4af8-a378-e37f10ef6be5", // [string] ID of patient in IWA
    "firstName": "Yura",
    "lastName": "Lukashik",
    "middleName": "A",
    "dob": "2024-03-28",
    "mrn": "1234"
},
"assignedTo": null,
"room": "Room 50",
"status": "incomplete", // [string] created request status
"createdAt": "2024-03-28T12:02:05+00:00",
"finishedAt": null,
"location": {
    "id": "ab25dda0-64e6-4666-8bfe-3277656a6405",
    "name": "ICC First Location"
},
"avSessions": [],
"createdFromExternalApi": true
}
```
Body
```js
{
"message": "Service Request Error: Request not found" // [string] Error message
}
```
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
```js
{
    "deviceSerialNumber": "123457" // [string] (required) serial number of FMS device
}
```
Responses200404
Body
```js
{
"id": "f87479f4-b7a1-4c3b-9dd3-69656bb7b925", // [string] ID of created request
"device": "123457", // [string] serial number of FMS device
"careLocation": {
    "availability": "offline",
    "id": "296f135e-88dd-4534-8e12-1f6f7b792fe5",
    "name": "ICC-CL-01-02",
    "status": "active",
    "video": {
    "type": "robot",
    "clientId": null,
    "serialNumber": "123457",
    "careLocationId": "1409",
    "skipActivation": true
    }
},
"practice": "91ce2309-4049-49a4-8bf5-793bbe1579ed", // [string] IWA practice ID
"patient": {
    "age": 0,
    "id": "99ac90da-58fd-4af8-a378-e37f10ef6be5", // [string] ID of patient in IWA
    "firstName": "Yura",
    "lastName": "Lukashik",
    "middleName": "A",
    "dob": "2024-03-28",
    "mrn": "1234"
},
"assignedTo": null,
"room": "Room 50",
"status": "incomplete", // [string] created request status
"createdAt": "2024-03-28T12:02:05+00:00",
"finishedAt": null,
"location": {
    "id": "ab25dda0-64e6-4666-8bfe-3277656a6405",
    "name": "ICC First Location"
},
"avSessions": [],
"createdFromExternalApi": true
}
```
Body
```js
{
"message": "Service Request Error: Request not found" // [string] Error message
}
```

Get Current Assistance Request
GET/qapi/v1/request-assistance


DELETE https://demo.visitnow.org/qapi/v1/request-assistance
Requestsexample 1example 2example 3example 4
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
```js
{
    "building": "hospital", // [string] (required) building name
    "floor": "floor 2", // [string] (required) floor number
    "room": "431", // [string] (required) room number
    "bed": "bed 2" // [string] (optional) bed number
}
```
Responses200404
This response has no content.
Body
```js
{
    "message": "Service Request Error: Request not found", // [string] Error message
}
```
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
```js
{
    "department": "emergency department", // [string] (required) department name
    "room": "431", // [string] (required) room number
    "bed": "bed 2" // [string] (optional) bed number
}
```
Responses200404
This response has no content.
Body
```js
{
    "message": "Service Request Error: Request not found", // [string] Error message
}
```
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
```js
{
    "patientMrn": "1234" // [string] (required) patient MRN
}
```
Responses200404
This response has no content.
Body
```js
{
    "message": "Service Request Error: Request not found", // [string] Error message
}
```
Headers
Content-Type: application/json
Api-Key: YourApiKey
Body
```js
{
    "deviceSerialNumber": "123457" // [string] (required) serial number of FMS device
}
```
Responses200404
This response has no content.
Body
```js
{
    "message": "Service Request Error: Request not found", // [string] Error message
}
```

Cancel Current Assistance Request
DELETE/qapi/v1/request-assistance


Generated by aglio on 14 Nov 2024