MedWand Telemedicine API V2.x User Guide

MedWand Telemedicine API V2.x User Guide

 
Welcome

Welcome to the MedWand Telemedicine API Version 2.x

MedWand offers a set of pre-built API resources you can use to integrate the MedWand VirtualCare platform with your current system. By taking advantage of our pre-built API resources, you can hit the ground running at your own pace. If you find that our pre-built API resources do not fit your needs, we can work with you to create a custom set of endpoints.

Why does my "patientUrl" not work as expected?

The "patientUrl" is unique in that it works much differently than the "doctorUrl" and "guestUrl". While the "doctorUrl" and "guestUrl" are typical URL’s that can be navigated to via an anchor tag, JavaScript, pasted into the browser address bar, or executed from a compiled application. 
The "patientUrl" can only be navigated to via a user clicked anchor tag, JavaScript, or executed from a compiled application.
This must also be on the mobile device that is connected to the MedWand hardware device and has the MedWand VirtualCare Android Client application installed.

The "patientUrl", when navigated to via one of the methods described above, will be intercepted by the Android operating system, and will automatically open the MedWand VirtualCare Client application via an internal URI, to begin the exam. Due to limitations of the browsers on mobile devices, a browser doesn't launch an external app for a given Intent URI in the following cases.

  • When the target URI is redirected from a typed in URL.
  • When the target URI is initiated without user gesture.

Due to this reason, the "patientUrl" can only be used via one of the methods described above. If you attempt to use the "patientUrl" in any other way, you will be sent to a page in the browser stating, "This exam type must be run from the MedWand tablet".

Configuration

Configuration

This information is required before we can issue you and API Token. Once you have this information, you can request your API Token on the 'Getting Started' tab.
Callback URL

The callback URL for your api. This is the URI you want your exam results sent to after the exam is completed.


Callback Type

There are 4 options for receiving exam information.

  1. None:

    You will receive no notification upon exam completion. This option is good for systems where you only use the MedWand VirtualCare System and don't store the results.

  2. Full:

    You will receive a json object containing the full exam in Json format to the CallbackUrl you provide.

  3. Html:

    You will receive a json object containing the full exam in html format to the CallbackUrl you provide.


Callback Authentication Type

There are 4 options for authenticating our callback to your api.

  1. None:

    No authorization header or properties are needed.

  2. KeySecret:

    The Key and Secret provided are added to the header via the "key" & "secret" keyValue pairs.

  3. Bearer:

    The Token provided will be added to the header via the "Authorization" key with the value prefaced with "Bearer ".

  4. ApiToken:

    The Token provided will be added to the header via the "ApiToken" key.

  5. Custom:

    The Token provided will be added to the header via your custom key.


Callback Authorization Value

The callback URL authorization value to be used in conjunction with the Callback Authentication Type chosen.

Getting Started

Getting Started

The information from the 'Configuration' tab is required before we can issue your API Token. Once you have this information, you can request your API Token.
Step 1: Request Your Sandbox API Token

To get started, you must request a Sandbox account for your company. This is done through your sales person.

Once you have your Sandbox account:

  1. Request your API Token to begin testing by clicking the Link below to request your keys.
  2. We will then contact you to request any additional information needed from the "Configuration" section. Please do not provide this information in the api keys request form.
  3. Your account will be updated and your API Token will be sent directly to your technical contact.
Request an API Key - Please review the configuration section prior to requesting your API key. You will be required to provide your configuration settings within the support ticket request before the API key can be generated.
Step 2: API Testing Tools

MedWand recommends and uses, Postman or Insomnia for all API testing. Insomnia is more capable of handling large requests and responses which can be the case with some exam results. Although you may use any tool you wish, using Insomnia will allow us to better assist you if the need arises. You can download and install Insomnia from Here.

Step 3: First Test

Your first test will be to retrieve a heartbeat response from the api server. To do this follow these steps:

cUrl

curl --location 'https://api.medwand.cloud/heartbeat'

Postman

  1. Add a new request in Postman.
  2. Select "GET" as the method type.
  3. Enter "https://api.medwand.cloud/heartbeat" as the URL.
  4. In the "Authorization" tab, set the type to "No Auth".
  5. Click the "Send" button.

Response

{
"actionResult": true,
"actionResponse": "Success",
"actionMessages": "Version: 2.0.6.104 Build: 2026.3.12.246",
"actionDateUtc": "2026-03-18T21:31:39.8353597Z",
"environment": "Sandbox"
}
Flowchart

Flowchart

The flowchart below covers all 3 exam types (Patient, OnSite, and Remote) that you may use.

Once you have a good understanding of the flow, you are ready to begin using our Default API to integrate the MedWand Virtual Care System with your existing PMS/EHR platform.


Appointments

Appointments

POST: Create your appointment.

cUrl Request You will need to insert your ApiToken in the header below or the request will fail as 'Unauthorized'.


curl --location 'https://api.medwand.cloud/default/v2/appointment/create' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56",
"doctorName": "Dr. Jane Clinician",
"patientName": "John Doe",
"examType": "OnSite",
"scheduledStartDateUtc": "2026-03-19T15:51:49.780Z",
"scheduledDuration": 30
}'

Response


{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56",
"patientUrl": "https://api.medwand.cloud?platform=api.medwand.cloud&token=GFXwMZiRTka6jVlq_zNhOQ",
"doctorUrl": "",
"guestUrl": "",
"actionResult": true,
"actionResponse": "Success",
"actionMessages": "",
"actionDateUtc": "2026-03-19T15:51:49.780Z",
"environment": "Sandbox"
}
POST: Update your appointment.

cUrl Request You will need to insert your ApiToken in the header below or the request will fail as 'Unauthorized'.


curl --location 'https://api.medwand.cloud/default/v2/appointment/update' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56",
"doctorName": "Dr. Jane Fox",
"patientName": "Robert Doe",
"examType": "Remote",
"scheduledStartDateUtc": "2026-03-19T15:51:49.780Z",
"scheduledDuration": 30
}'

Response


{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56",
"patientUrl": "https://client.medwand.cloud?platform=api.medwand.cloud&token=GFXwMZiRTka6jVlq_zNhOQ",
"doctorUrl": "https://examroom.medwand.cloud?platform=api.medwand.cloud&token=hkzBXDrXW0KH04ByCdxK-w",
"guestUrl": "https://examroom.medwand.cloud/Guest?platform=api.medwand.cloud&token=bz09_6hmXUWIyRy2sHK4bg",
"actionResult": true,
"actionResponse": "Success",
"actionMessages": "",
"actionDateUtc": "2026-03-19T15:51:49.780Z",
"environment": "Sandbox"
}
POST: Delete your appointment.

cUrl Request You will need to insert your ApiToken in the header below or the request will fail as 'Unauthorized'.


curl --location 'https://api.medwand.cloud/default/v2/appointment/delete' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56"
}'

Response


{
"actionResult": true,
"actionResponse": "Success",
"actionMessages": "",
"actionDateUtc": "2026-03-19T15:51:49.780Z",
"environment": "Sandbox"
}
Exam Results

Exam Results

Notify: You will receive a simple json object to the CallbackUrl you provide.

The JSON object below is what is sent to the Callback URL that you provide.

  • examId : Is the appointmentId you provided when you requested an appointment.
  • endDate : The UTC Date/Time that the exam was completed.
{
examId = "985397aa-558b-456c-8c57-00dfd5af9b56",
endDate = "2026-03-19T15:51:49.780Z"
}

You will need to then retrieve the exam results via 1 of the following endpoints.

POST: Retrieve full exam results.

cUrl Request You will need to insert your ApiToken in the header below or the request will fail as 'Unauthorized'. If you set the includeHtml property to true, the response will include an Html version of the exam results in the htmlDocument property.


curl --location 'https://api.medwand.cloud/default/v2/exam/results' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56",
"includeHtml": false
}'

Response

See the Full response below.

POST: Retrieve html exam results.

cUrl Request You will need to insert your ApiToken in the header below or the request will fail as 'Unauthorized'.


curl --location 'https://api.medwand.cloud/default/v2/exam/html' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56"
}'

Response

See the Html response below.

Full: You will receive a json object containing the full exam results.
  • appointmentId : Is the appointmentId you provided when you requested an appointment.
  • doctorName : The name of the doctor name you provided when you requested an appointment.
  • patientName : The name of the patient name you provided when you requested an appointment.
  • examType : There are 3 exam types (Patient, OnSite, Remote) and they are case-sensitive.
  • doctorEnterDateUtc : The UTC Date/Time that the doctor entered the exam.
  • patientEnterDateUtc : The UTC Date/Time that the patient entered the exam.
  • startDateUtc : The UTC Date/Time that the exam was started.
  • endDateUtc : The UTC Date/Time that the exam was completed.
  • durationInMinutes : Duration of the exam in minutes.
  • practitionerNotes : Notes entered by the doctor.
  • patientNotes : Notes entered by the Nurse/Patient.
  • htmlDocument : An Html (no javascript) representation of the exam results. See HTML Document Example
  • readings : Array of
    • sortOrder : The order that the reading was taken.
    • deviceName : The formal name of the device used to take the reading.
    • deviceModel : The model name of the device used to take the reading.
    • deviceSerial : The serial number of the device used to take the reading.
    • deviceFirmware : The firmware version of the device used to take the reading.
    • sensor : The formal name of the sensor.
    • sensorId : The id of the device used to take the reading.
    • sensorMode : The mode the sensor was in during the reading.
    • sensorSettings : The settings applied to the sensor data.
    • sensorData : The result from the sensor reading.

{
"appointmentId": "3e42582f-d2e5-45f6-a0cb-81a61e430f42",
"doctorName": "Dr. Charlotte Myers",
"patientName": "Elijah Reynolds",
"examType": "Remote",
"doctorEnterDateUtc": "2025-01-23T15:47:54.1365002",
"patientEnterDateUtc": "2025-01-23T15:48:54.2080408",
"startDateUtc": "2025-01-23T15:48:54.2080408",
"endDateUtc": "2025-01-23T15:57:56.346181",
"durationInMinutes": "9",
"practitionerNotes": "These are Practitioner Notes line 1\nThese are Practitioner Notes line 2\nThese are Practitioner Notes line 3",
"patientNotes": "These are Patient Notes line 1\nThese are Patient Notes line 2\nThese are Patient Notes line 3",
"htmlDocument": "",
"readings":
[
{
"sortOrder": 1,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Otoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Dermatoscope",
"sensorSettings": "",
"sensorData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BS..."
},
{
"sortOrder": 2,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Ecg",
"sensorId": "11)2103260000006A",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAN/oAAAI5CAYAAACJX..."
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "BloodPressure",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "120/80"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "LabNotes",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "this is lab note line 1\nthis is lab note line 2"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "GTTInitial",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "100"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "HeightScale",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "unit:Inches",
"sensorData": "65.0"
},
{
"sortOrder": 1,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "PulseRate",
"sensorId": "11)2103260000006A",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "101"
},
{
"sortOrder": 3,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Otoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Dermatoscope",
"sensorSettings": "",
"sensorData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BS..."
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "CholesterolHdl",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "400"
},
{
"sortOrder": 4,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Stethoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Lungs",
"sensorSettings": "",
"sensorData": "data:audio/mp3;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYwLjMuM..."
},
{
"sortOrder": 1,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Thermometer",
"sensorId": "11)2103260000006A",
"sensorMode": "Default",
"sensorSettings": "unit:Fahrenheit",
"sensorData": "97.2"
},
{
"sortOrder": 6,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Otoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Otoscope",
"sensorSettings": "",
"sensorData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BS..."
},
{
"sortOrder": 1,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Ecg",
"sensorId": "11)2103260000006A",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAN+4AAAI5CAYAAACnG..."
},
{
"sortOrder": 3,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Stethoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Lungs",
"sensorSettings": "location:UpperMidLeftThorax",
"sensorData": "data:audio/mp3;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYwLjMuM..."
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "Respiratory",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "25.0"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "PainLevel",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "unit:Numerical",
"sensorData": "2"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "GTT2Hour",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "300"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "SpirometerFev1",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "22.0"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "WaistSize",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "unit:Inches",
"sensorData": "45.0"
},
{
"sortOrder": 1,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Stethoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Heart",
"sensorSettings": "",
"sensorData": "data:audio/mp3;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYwLjMuM..."
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "Glucometer",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "150"
},
{
"sortOrder": 2,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Stethoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Heart",
"sensorSettings": "",
"sensorData": "data:audio/mp3;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYwLjMuM..."
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "WeightScale",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "unit:Pounds",
"sensorData": "200.0"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "CholesterolTotal",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "600"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "CholesterolLdl",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "500"
},
{
"sortOrder": 5,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Stethoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Abdominal",
"sensorSettings": "",
"sensorData": "data:audio/mp3;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYwLjMuM..."
},
{
"sortOrder": 2,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Otoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Dermatoscope",
"sensorSettings": "",
"sensorData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BS..."
},
{
"sortOrder": 4,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Otoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Otoscope",
"sensorSettings": "",
"sensorData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BS..."
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "GTT1Hour",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "200"
},
{
"sortOrder": 6,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Stethoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Abdominal",
"sensorSettings": "",
"sensorData": "data:audio/mp3;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYwLjMuM..."
},
{
"sortOrder": 7,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Stethoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Abdominal",
"sensorSettings": "skip:UpperMidLeftThorax:I could not take this recording because of a problem that I encountered while trying to take the recording. This is a long reason for not taking the recording.",
"sensorData": "-"
},
{
"sortOrder": 1,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "SpO2",
"sensorId": "11)2103260000006A",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "94"
},
{
"sortOrder": 5,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Otoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Otoscope",
"sensorSettings": "",
"sensorData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BS..."
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "SpirometerPef",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "11"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "SpirometerFvc",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "33.0"
}
],
"actionResult": true,
"actionResponse": "Success",
"actionMessages": "",
"actionDateUtc": "2025-01-23T17:58:39.0298659Z",
"environment": "Sandbox"
}
Html: You will receive a json object containing the full exam in Html format.
  • appointmentId : Is the appointmentId you provided when you requested an appointment.
  • htmlDocument : An Html (no javascript) representation of the exam results. See HTML Document Example

{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56",
"htmlDocument": "...",
"actionResult": true,
"actionResponse": "Success",
"actionMessages": "",
"actionDateUtc": "2026-03-19T15:51:49.780Z",
"environment": "Sandbox"
}
Failure Recovery

Failure Recovery Information

Notification

An email will be sent to the MedWand team and the Technical contacts on your account.

We will retain your exam results for 30 days so that you may retrieve them after a failure occurs. You can remove the exam results via an api call at any time.

We are focused on providing an automated retry system that will not impact our current API responsiveness.

Request a list of available Exam Results


curl --location 'https://api.medwand.cloud/default/v2/exam/list' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \

Request a specific Exam Result


curl --location 'https://api.medwand.cloud/default/v2/exam/results' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "[APPOINTMENTID]",
"includeHtml": false
}'

Resend a specific Exam Result to your CallbackUrl


curl --location 'https://api.medwand.cloud/default/v2/exam/callback/resend' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "[APPOINTMENTID]"
}'

Remove a specific Exam Result from our system


curl --location 'https://api.medwand.cloud/default/v2/exam/results/remove' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "[APPOINTMENTID]"
}'
Technical Information

Technical Information

Json Casing

For those systems where Json case matters.

  • All requests you make to our api may be in any casing you wish as we accept all formats.
    • Camel case - e.g firstName
    • Pascal case - e.g FirstName
    • Upper case - e.g FIRSTNAME
    • Lower case - e.g firstname
  • All responses from us to your requests will be in Camel case.
    • Camel case - e.g firstName
  • All outbound callbacks from our callback system to your api will be in Pascal case.
    • Pascal case - e.g FirstName
  • All offline mode json files will be in Camel case.All offline mode json files will be in Camel case.
    • Camel case - e.g firstName

Exam Types

These values are case sensitive

  • Patient : This is a self exam completed by the patient only.
  • OnSite : This is a local exam completed by a practitioner (nurse, doctor, etc.).
  • Remote : This is an exam completed by practitioner (nurse, doctor, etc.) from a remote location.

Sensor Types

These are the available sensor types along with their possible unit types.

  • Thermometer : The settings field indicates the unit type.
    • unit:Fahrenheit
    • unit:Celsius
  • SpO2 :
  • PulseRate :
  • BloodPressure :
  • WeightScale : The settings field indicates the unit type.
    • unit:Pounds
    • unit:Kilograms
  • HeightScale : The settings field indicates the unit type.
    • unit:Inches
    • unit:Centimeters
  • Glucometer :
  • Respiratory :
  • SpirometerPef :
  • SpirometerFev1 :
  • SpirometerFvc :
  • PainLevel : The settings field indicates the unit type.
    • unit:Numeric
    • unit:PAINAD
  • WaistSize : The settings field indicates the unit type.
    • unit:Inches
    • unit:Centimeters
  • GTTInitial : Initial Blood Glucose Reading After Fasting
  • GTT1Hour : Blood Glucose Reading After 1 Hour
  • GTT2Hour : Blood Glucose Reading After 2 Hours
  • GTT3Hour : Blood Glucose Reading After 3 Hours
  • CholesterolHdl :
  • CholesterolLdl :
  • CholesterolTotal :
  • LabNotes : This is plain text from a note field.

Media Types

These are the available Media Types along with their possible modes and settings.

  • Stethoscope : The sensorMode field indicates the mode the sensor was in during the reading. More detailed information can be found here.
    • Heart
      • location:UpperLeftThorax
      • location:UpperRightThorax
      • location:CenterThorax
      • location:LowerLeftThorax
    • Lungs
      • location:UpperMidLeftThorax
      • location:UpperMidRightThorax
      • location:LowerOuterLeftThorax
      • location:LowerOuterRightThorax
      • location:LowerSideLeftThorax
      • location:LowerSideRightThorax
    • Abdominal
      • location:UpperRightAbdomen
      • location:UpperLeftAbdomen
      • location:LowerLeftAbdomen
      • location:LowerRightAbdomen
  • Otoscope : The sensorMode field indicates the mode the sensor was in during the reading.
    • Dermatoscope
    • Otoscope
  • Ecg
  • QTMedical

If you would like an example of how you might display the exam results, click this HTML Exam Results Sample link.

FAQ
Frequently Asked Questions

What is MedWand Telemedicine Cloud?

MedWand's Telemedicine Cloud consists of the servers and databases needed to exchange data between MedWand and your EHR system. It also supports the remote telemedicine exam.

How long does an implementation with the MedWand Default API typically take?

It varies from customer to customer based on your developer resources. Many of our customers have completed an API implementation in as little as a few days or weeks.

What are some of the suggested server settings for my callback endpoint?

It varies from customer to customer based on the server, operating systems, and the types/sizes of exams you are performing. Here are some examples of suggested server settings.

Does MedWand support Custom or FHIR based API implementations rather than JSON?

Yes! We can support customer specific FHIR APIs, but many customers have found a simpler JSON API approach was more appropriate. Your MedWand sales team will set up a meeting with our engineers to scope your specific FHIR requirements.

Are there additional costs for Custom or FHIR API implementations?

Possibly! Your MedWand sales team will provide specific guidance and/or pricing discussions.

Can MedWand implementation be done if we have our own app on the mobile device?

Yes! MedWand performed many implementations with customers using their own mobile application. our MedWand sales team will provide specific guidance and/or discussions with the MedWand Engineering team.

What PHI data is stored by MedWand Telemedicine Cloud?

MedWand only store a few pieces of PHI data for an upcoming appointment:

  1. The doctor/patient names are optional but allows for a better user experience.
  2. Optionally, if AI integration is needed, the patient's age, sex, and weight allows for more accurate AI functionality.

After the exam data is in your EHR system, MedWand will remove the exam data and all PHI from our systems.

Can we open the DoctorUrl/GuestUrl inside of an iFrame?

We can not allow our DoctorUrl/GuestUrl to be embedded in an iFrame. This would place us in violation of our SOC 2 compliance.

You can open either of these as in the current tab or in a new tab/window.

Appointments

What appointment types are supported?

We support 3 appointment types:

  • Remote : Enables a remote doctor/patient telemedicine exam.
  • OnSite : Enables an on-site visit which does not require a remote doctor.
  • Patient : Enables a self-exam by the patient as requested or prescribed by a doctor.

Why do you need the doctor and patient name?

The doctor/patient names are optional but allows for a more custom and friendly user experience.

Why do you need the patient's age, sex, and weight?

The patient's age, sex, and weight allows for more accurate AI functionality. This information is optional. AI integrations are custom and can be explained by your MedWand sales team.

How are we notified when an appointment has been completed?

MedWand will make an api call to your specified api endpoint based on the Configuration options selected.

Exam Data

How do we retrieve the exam data for a completed appointment?

You may retrieve or will receive your exam data after the exam has been completed based on the Configuration options selected.

What formats are supported for stethoscope recordings?

We currently support base64/mp3 data. If additional stethoscope information is required for AI integration types, please contact your MedWand sales team.

What formats are supported for otoscope captures?

We currently support base64/jpeg data. If additional otoscope information is required for AI integration types, please contact your MedWand sales team.

What formats are supported for ecg captures?

We currently support base64/jpeg data. If additional ECG information is required for AI integration types, please contact your MedWand sales team.



    • Related Articles

    • API V2.x Reference

      View MedWand VirtualCare Default API Version 2 (Swagger Documentation)
    • MedWand VirtualCare API Executive Overview

      MedWand VirtualCare Examination Platform The MedWand VirtualCare Examination Platform is designed to act as a plug-in module to your existing PMS/HIS/EHR software, a.k.a. the Enterprise Software. It is the Enterprise Software's responsibility to ...
    • Post-Training Reference Guide

      Below is a reference guide for post-training for quick access to relevant help material: Accessing Exams Patients and facilitators should not open the MedWand app directly to begin an exam (except when using Training Mode). Instead, all exams are ...
    • API Stethoscope Label References

      API documentation can be found HERE under 'Technical Information' > 'Media Types' Heart 1) location:UpperRightThorax 2) location:UpperLeftThorax 3) location:CenterThorax 4) location:LowerLeftThorax Lungs 1) location:UpperMidRightThorax 2) ...
    • MedWand Device Technical Specifications

      MedWand Device Technical Specifications General: Intended for use on and by adults (18yrs or older) Non-cytotoxic for all patients and user contact per ISO 10993-5. Non-irritating and non-sensitizing for all patient and user contact per ISO 10993-10. ...