SFTP

rev.1.3

Specification

ProtocolSFTP
Authorization methodPassword authentication
SFTP userOMRON Healthcare provides this.
Connection destination host nameOMRON Healthcare provides this.
Port no. for connectionOMRON Healthcare provides this.

Directory Structure

1st Tier2nd Tier3rd Tier4th Tier5th Tier6th TierDescription
dataDirectory for vital data
{partnertId}Directory where actual vital data is placed
ecgdatafixed name
{groupD}The ID of the group to which each user belongs.
{Creation date/time}The date & time when the file generation process started. The directory name follows the 'YYYYMMDDhhmmss' format.
{Sequence No}A 3-digit name starting with '001'. The number of files in the directory is 10,000 or less, if it exceeds 10,000, a new directory is created, and the next file is saved in the new directory.

Starting at the third tier, only ECG waveform data will be available.

SFTP server has a redundant configuration. In the case of a server failure, failover will automatically switch the server of the connection destination. It may take several minutes for switching to server. If you can not connect, please wait for a few minutes and try to connect again.


Preparation in advance

Install any OpenSSH client.
Install File decompression software (Software that can decompress ZIP files with passwords).


Get data

Specify the connection destination of the SFTP server that is presented by OMRON Healthcare then connect SFTP server with user and password.

C:\> sftp <user>@<connection destination name> 
[{
    "PartnerId" : "a791xpp1-cb4a-11e7-ad25-0a669524e191",
    "PartnerName" : "sample partner",
    "GroupId" : "p2xhki12x0zk",
    "GroupName" : "sample group1",
    "deviceCategory" : "0",
    "UserId" : "191e612349x8-9218-7e11-0c1a-Xax0a12c",
    "measureList" : [{
        "_created" : 1505879300391,
        "_dataType" : "application/json",
        "_id" : "HEM-6324T_00000094002d11020a916900ffff_1_1505855649000",
        "_modified" : 1505879300391,
        "_owner" : "191e612349x8-9218-7e11-0c1a-Xax0a12c",
        "_version" : "1",
        "deviceModel" : "HEM-6324T",
        "deviceSerialID" : "00000094002d11020a916900ffff",
        "userNumberInDevice" : 1,
        "measureDeviceDateFrom" : "20170920060935000",
        "measureDateFrom" : 1505855649000,
        "userUpdateDate" : 1505879300000,
        "informationList" : {
            "timeZone" : "Asia/Tokyo",
            "measureDateTo" : 1505916575000,
            "measureDeviceDateTo" : "20170920060935000",
            "transferDate" : 1505879131000},
        "bodyIndexList" : {
            "1" : ["130","20496","0","0"],
            "2" : ["87","20496","0","0"],
            "3" : ["71","61600","0","0"],
            "4" : ["3","0","0","0"],
            "6" : ["0","0","0","0"],
            "7" : ["0","0","0","0"],
            "8" : ["0","0","0","0"],
            "10" : ["0","0","0","0"]},
        "deleteFlag":0}]}]

File Specification

Non-ECG File Specifications

File Name{Group ID}_{File created date and time}.json.zip
File created date and time should be the format of UTC (yyyyMMddhhmmss)1
Data FormatJSON
Character Codeutf-8
File Creation UnitCreated by group, containing only the data that has changed since the last provided file.
Record UnitA JSON object created by user, device category
File Configurationdata file only
Compression Formatzip Password is required for decompression 2
File Creation CycleDaily
File Storage Period7th Generation

1:The file name of HeartAdvisor App is 'externaldata1_[Group ID]_[File created date and time].json.zip'.

2:Password is Partner ID provided by OMRON Healthcare.

ECG Data Specification

File name{User ID}_{Client Application Id}16{ObjectId}_Data.json
Data formatJSON
Character codeUTF-8
Record unit1 JSON object as per user unit
File configurationdata file only
File creation cycleEvery hour
File storage period7 days

ECG Data (Waveform) Specification

File name{User ID}_{Client Application Id}16{ObjectId}_Body.zip
Data formatBinary (.atc)
Record unit1 object per atc file (There are multiple files in one zip file.)
File configurationdata file only
Compression formatZip (No password)
File creation cycleEvery hour
File storage period7 days
Note:The ECG data (Waveform) is stored in files with the '.atc' extension. This format is based on AliveCor’s proprietary specifications. For detailed information regarding the specifications, please contact AliveCor directly.

Data Structure

Non-ECG File Specifications

PartnerIdstring
Partner ID
PartnerNamestring
Partner name
GroupIdstring
Group ID
GroupNamestring
Group name
UserIdstring
OMRON connect ID
deviceCategorystring
Device category
MesureListobject array
Measured data as per device model
deviceModelstring
Device model
deviceSerialIDstring
Device serial ID
In case of manually input data, it will be "0000000000000000".
userNumberInDeviceint
User’s device using number
measureDateFromlong
Measurement start date and time (UnixTime millisecond format) 3
measureDeviceDateFromstring
Measurement start date and time in device (YYYYMMDDHHMMSSsss) 3
userUpdateDatelong
Update date and time of measured data (UnixTime milli second format) 3
informationListobject
Supplementary information
transferDatelong
Transferred date and time in between device and smart phone app (UnixTime Millisecond format) 3
measureDateTolong
Measurement end date and time (UnixTime Millisecond format) 3
measureDeviceDateTostring
Measurement end date and time in device (YYYYMMDDHHMMSSsss) 3
timeZonestring
Time zone of update /measured date and time
deleteFlagint
Flag that indicates the deleted data (0:Undeleted, 1:deleted)
bodyIndexListobject
Data that is measured by device 4
decisionFlagint
Decision flag. Flag that indicates the status of measured data
correctedDateTimeFlagint
Measurement date and time correction flag (2: corrected)

<span style={"color":"blue","fontSize":"12px"}>3:About items containing milliseconds

The valid range of values for these items is up to seconds. Do not use the last 3 digits of the milliseconds value.

This is because the last 3 digits of the millisecond value may include device control information, etc., and has nothing to do with the user's measurement behavior.

<span style={"color":"blue","fontSize":"12px"}>4:Index is stored in object form inside the body index list (bodyIndexList).

Measured data, unit and index are type of string. Index name: [measured data, unit, index, Sequence no., time division data]

・Arbitrary data may be included in the elements thereafter the time division data.

・Index that does not have time-division data, does not include time division data.

・Regarding the details of time division data, refer to FAQ

・For index name and setting value, refer to each page for devices.

ECG Data Specifications

clientApplicationIdint
Application ID
measureListobject
Measurement information
useObjectBodyFlagboolean
The flag indicating whether data of ObjectBody part(symptom data) is included (true:with waveform data/false:no waveform data) If there is no data, this key may not exist.
bodyIndexListint
Data that is measured by device. Index is stored in object form inside the bodyIndexList.
userNumberInDeviceint
User’s device using number
uuidint
OMRON connect ID
informationListint
Supplementary information
userUpdateDateint
Update date and time of measured data (UnixTime milli second format)
measureDeviceDateFromint
Measurement start date and time in device (YYYYMMDDHHMMSSsss)
deviceModelint
Device model
deviceSerialIDint
Device serial ID
measureDateFromint
Measurement start date and time (UnixTime millisecond format)
{
  "clientApplicationId":1,
  "measureList": {
    "useObjectBodyFlag": true,
    "_owner": "191e695246a0-8aab-ae11-d77e-ebbf91cd",
    "bodyIndexList": {
      "4096": ["133", "61600", "0", "0"],
      "4228": ["0", "0", "0", "\\u0031\\u0032\\u0033"]
    },
    "userNumberInDevice": 1,
    "_dataType": "application/json",
    "_bodyETag": "zop36saq169out7ormwgzjkh2",
    "uuid": "191e695246a0-8aab-ae11-d77e-ebbf91cd",
    "informationList": {
      "measureDateTo": 1602131327000,
      "timeZone": "Asia/Tokyo",
      "transferDate": 1602131327000,
      "measureDeviceDateTo": "20201008000000000"
    },
    "userUpdateDate": 1602131327000,
    "measureDeviceDateFrom": "20201008000000000",
    "_created": 1602493425633,
    "deviceModel": "HEM-7280T-AR",
    "deviceSerialID": "000000000000000q",
    "_bodyType": "application/x-zip-compressed",
    "_id": "HEM-7280T-AR_000000000000000q_3_1602131327000",
    "_version": "11",
    "_modified": 1602494255730,
    "measureDateFrom": 1602131327000
  }
}


Did this page help you?