POST Api/DeviceVitals/Put

This method allows a provider to add vitals readings to the TouchPointCare repository. To post a reading to TouchPointCare: (1) Authenticate and get a token as described in the "Getting Started" section of this guide. (2) Post the vitals reading data in the JSON or XML format described below. The provider_unique_id is required in order to find a matching participant in TouchPointCare. This ID must be assigned on the participant profile in TouchPointCare or you will receive an error message. See the list of error numbers below.

Request Information

URI Parameters

None.

Body Parameters

A result object that contains the following data:   provider_unique_id -   mobilehelp_device_id -   question_id -   question_type -   result_value -   result_date -

VitalsResult
NameDescriptionTypeAdditional information
account_name

The TouchPointCare Account Name where the vitals should be posted.

string

None.

device_id

The Device ID assigned to the participant.

string

None.

device_type

The Device Type: 2Net, Ambio, Anelto Medfolio, Medsignals, MobileHelp, Sentier, Telcare, Freeus

string

None.

question_type

The type of question when importing vitals using the following format:

  • weight - weight scale results
  • bgm - blood glucose measurement,
  • bgmq - blood glucose qualifier (beore breakfast, after dinner, etc)
  • bpm - heart rate (beats per minute)
  • diastolic - blood pressure diastolic
  • systolic - blood pressure systolic
  • motion - motion sensor trigger
  • oxysat - Pulse Oxygen saturation
  • pulseox - oxygen saturation, heart rate (bpm), and irregular heartbeat indicator in one single call. Format the result value as "SpO2=999,bpm=999,irreg=true|yes|1". Any of the 3 parts are optional so you could leave off the irregular heartbeat and/or bpm if desired.
  • bloodpressure - blood pressure systolic, diastolic, heart rate (bpm), and irregular heartbeat indicator in one single call. Format the result value as "systolic=999,diastolic=999,bpm=999,irreg=true|yes|1". Any of the 4 parts are optional so you could leave off the irregular heartbeat and/or bpm if desired.
  • temp - Temperature
  • rr - Respiratory Rate
  • Spirometry - Spirometry / FEV1
  • literflow - Liter Flow / PEF
  • a1c - A1C reading
  • irreg - Irregular Heartbeat indicator. The result_value for irregular heartbeat should be formatted as either "true", "yes", or "1" to indicate an irregular heartbeat was detected

string

None.

result_value

The numeric value/result of the data. Do not inlude the units (i.e. for a 150 lb weight reading, the result_value should only display 150).

string

Required

result_date

The date/time of the result. Value should be in coordinated Universal Time (UTC) in the following format: YYYY-MM-DD HH:MM:DD:SS

date

Required

reading_input_type

The type of reading gathered.

Possible Values:

  • Manual: DEFAULT - The reading was manually entered or communicated from the participant.
  • Device: Readings was imported directly from a device such as a bluetooth enabled blood pressure, weight scale, etc.
  • Clinician: Reading was taken directly from a reliable device and oversaw directly by a clinician.

string

None.

Request Formats

application/json, text/json

Sample:
{
  "account_name": "sample string 1",
  "device_id": "sample string 2",
  "device_type": "sample string 3",
  "question_type": "sample string 4",
  "result_value": "sample string 5",
  "result_date": "2025-06-14T22:04:21.998564-05:00",
  "reading_input_type": "sample string 7"
}

application/xml, text/xml

Sample:
<VitalsResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TPC.API.Models">
  <account_name>sample string 1</account_name>
  <device_id>sample string 2</device_id>
  <device_type>sample string 3</device_type>
  <question_type>sample string 4</question_type>
  <reading_input_type>sample string 7</reading_input_type>
  <result_date>2025-06-14T22:04:21.998564-05:00</result_date>
  <result_value>sample string 5</result_value>
</VitalsResult>

application/x-www-form-urlencoded

Sample:

Failed to generate the sample for media type 'application/x-www-form-urlencoded'. Cannot use formatter 'JQueryMvcFormUrlEncodedFormatter' to write type 'VitalsResult'.

Response Information

Resource Description

A TPCResponse object. Below is a list of possible error_codes returned: <para> </para> 904 - The question_type does not match a valid type. Check the documentation for valid question type codes. <para> </para> 905 - Your account is not properly setup to accept API vital signs of this type.Contact the TouchPointCare <para> </para> 906 - Question Type is required <para> </para> 910 - The value in result_value is not valid based upon the question response type. <para> </para> 917 - The device type is not valid. <para> </para> 918 - The device ID is required. <para> </para> 919 - The device Type is required. <para> </para> 920 - You are not authorized to use this procedure. <para> </para> 921 - The account name provided is invalid. <para> </para> 100 - (this code is used for unexpected or unknown errors)

TPCResponse
NameDescriptionTypeAdditional information
result

string

None.

error_code

integer

None.

message

string

None.

Response Formats

application/json, text/json

Sample:
{
  "result": "sample string 1",
  "error_code": 1,
  "message": "sample string 2"
}

application/xml, text/xml

Sample:
<TPCResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TPC.API.Models">
  <error_code>1</error_code>
  <message>sample string 2</message>
  <result>sample string 1</result>
</TPCResponse>