Skip to content

Health Profile

Ryo Mizuno edited this page Nov 2, 2016 · 3 revisions

目次

API 機能概要
Health HeartRate API デバイスの心拍数計測イベントを通知する。

機能概要

デバイスのHealth関連のイベントを通知するための機能。

参考API

インターフェース名称 Version 種別
Health HeartRate API 2.0.0 非同期I/F(イベントI/F)

概要

デバイスの心拍数計測イベントを通知する。

イベント情報

イベント名 Content-Type
/gotapi/health/heart application/json

メッセージ

<td><b>論理名</b></td>
<td colspan="3" text-align="center"><b>物理名</b></td>
<td><b>データ型</b></td>
<td><b>省略</b></td>
<td><b>設定値</b></td>
<td>心拍数計測結果</td>
<td colspan="3" text-align="center">heart</td>
<td>object</td>
<td>-</td>
<td>検出値、検出したデバイスの情報を取得する。</td>
<td >心拍数オブジェクト</td>
<td rowspan="50"></td>
<td colspan="2">rate</td>
<td>object</td>
<td>-</td>
<td>心拍数の情報を持つ。</td>
<td>心拍数</td>
<td rowspan="8"></td>
<td >value</td>
<td>number</td>
<td>-</td>
<td>心拍数</td>
<td>心拍数のMDER Float値</td>
<td >mderFloat</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスによって測定された心拍数を、16進数のMDER Float値で表している。取得できない場合は-1の16進数文字列を返す。</td>
<td>心拍数のタイプ</td>
<td >type</td>
<td>string</td>
<td>-</td>
<td>この値が「heart rate」であることを表す文字列を返す。取得できない場合は、空文字を返す。</td>
<td>心拍数のオブジェクトのタイプのコード</td>
<td >typeCode</td>
<td>string</td>
<td>-</td>
<td>「147842」という「heart rate」を意味するコードを返す。取得できない場合は、空文字を返す。</td>
<td>心拍数の単位</td>
<td >unit</td>
<td>string</td>
<td>-</td>
<td>「beat per min」のように人間がわかるように単位を返す。取得できない場合は、空文字を返す。</td>
<td>心拍数の単位コード</td>
<td >unitCode</td>
<td>string</td>
<td>-</td>
<td>「264864」という「beat per min」を意味するコードを返す。取得できない場合は、空文字を返す。</td>
<td>心拍数のタイムスタンプ</td>
<td >timeStamp</td>
<td>number</td>
<td>-</td>
<td>測定が行われた測定時間。ミリ秒のUnixタイムスタンプで返す。</td>
<td>心拍数のタイムスタンプ文字列</td>
<td >timeStampString</td>
<td>string</td>
<td>-</td>
<td>タイムスタンプと同じタイムスタンプを「YYYYMMDDHHMMSS.sss+/-HHMM」の形式で返す。</td>
<td >RR間隔オブジェクト</td>
<td colspan="2">rr</td>
<td>object</td>
<td>○</td>
<td>RR間隔値の情報を持つ。</td>
<td>RR間隔値</td>
<td rowspan="8"></td>
<td >value</td>
<td>number</td>
<td>○</td>
<td>ターゲットデバイスで測定したRR間隔を返す。</td>
<td>RR間隔のMDER Float値</td>
<td >mderFloat</td>
<td>string</td>
<td>○</td>
<td>RR間隔値のMDERFloat値を返す。</td>
<td>RR間隔のタイプ</td>
<td >type</td>
<td>string</td>
<td>○</td>
<td>RR間隔を表す「RR interval」を返す。取得できない場合は、空文字を返す。</td>
<td>RR間隔のオブジェクトのタイプのコード</td>
<td >typeCode</td>
<td>string</td>
<td>○</td>
<td>RR間隔を表す「147240」を返す。取得できない場合は、空文字を返す。</td>
<td>RR間隔の単位</td>
<td >unit</td>
<td>string</td>
<td>○</td>
<td>RR間隔の単位を表す「ms」を返す。取得できない場合は、空文字を返す。</td>
<td>RR間隔の単位コード</td>
<td >unitCode</td>
<td>string</td>
<td>○</td>
<td>RR間隔の単位であるmsを表す「264338」を返す。取得できない場合は、空文字を返す。</td>
<td>RR間隔のタイムスタンプ</td>
<td >timeStamp</td>
<td>number</td>
<td>○</td>
<td>測定が行われた測定時間。ミリ秒のUnixタイムスタンプで返す。</td>
<td>RR間隔のタイムスタンプ文字列</td>
<td >timeStampString</td>
<td>string</td>
<td>○</td>
<td>タイムスタンプと同じタイムスタンプを「YYYYMMDDHHMMSS.sss+/-HHMM」の形式で返す。</td>
<!-- EnergyExtended -->
<td >消費エネルギーオブジェクト</td>
<td colspan="2">energy</td>
<td>object</td>
<td>○</td>
<td>消費エネルギーの情報を持つ。</td>
<td>消費エネルギー</td>
<td rowspan="8"></td>
<td >value</td>
<td>number</td>
<td>○</td>
<td>ターゲットデバイスで測定した消費エネルギー値を返す。</td>
<td>消費エネルギーのMDER Float値</td>
<td >mderFloat</td>
<td>string</td>
<td>○</td>
<td>消費エネルギー値のMDERFloat値を返す。</td>
<td>消費エネルギーのタイプ</td>
<td >type</td>
<td>string</td>
<td>○</td>
<td>消費エネルギー値を表す「energy expended」を返す。取得できない場合は、空文字を返す。</td>
<td>消費エネルギーのタイプコード</td>
<td >typeCode</td>
<td>string</td>
<td>○</td>
<td>消費エネルギー値を表す「119」を返す。取得できない場合は、空文字を返す。</td>
<td>消費エネルギーの単位</td>
<td >unit</td>
<td>string</td>
<td>○</td>
<td>消費エネルギー値の単位を表す「Calories」を返す。取得できない場合は、空文字を返す。</td>
<td>消費エネルギーの単位コード</td>
<td >unitCode</td>
<td>string</td>
<td>○</td>
<td>消費エネルギー値の単位であるCaloriesを表す「6784」を返す。取得できない場合は、空文字を返す。</td>
<td>消費エネルギーのタイムスタンプ</td>
<td >timeStamp</td>
<td>number</td>
<td>○</td>
<td>測定が行われた測定時間。ミリ秒の UNIXタイムスタンプで返す。</td>
<td>消費エネルギーのタイムスタンプ文字列</td>
<td >timeStampString</td>
<td>string</td>
<td>○</td>
<td>タイムスタンプと同じタイムスタンプを「YYYYMMDDHHMMSS.sss+/-HHMM」の形式で返す。</td>
<!-- Device -->
<td >デバイスオブジェクト</td>
<td colspan="2">device</td>
<td>object</td>
<td>-</td>
<td>健康機器の情報を持つ。</td>
<td>プロダクト名</td>
<td rowspan="11"></td>
<td >productName</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスの製品名。取得できない時は任意のアルゴリズムでデバイス名を生成。</td>
<td>メーカ名</td>
<td >manufacturerName</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのメーカ名。取得できない場合は空文字を指定。</td>
<td>モデルの番号</td>
<td >modelNumber</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのモデル番号。取得できない場合は空文字を指定。</td>
<td>ファームウェアリビジョン</td>
<td >firmwareRevision</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのファームウェアリビジョン。取得できない場合は空文字を指定。</td>
<td>シリアルナンバー</td>
<td >serialNumber</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのシリアル番号。取得できない場合は空文字を指定。</td>
<td>ソフトウェアリビジョン</td>
<td >softwareRevision</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのソフトウェアリビジョン。取得できない場合は空文字を指定。</td>
<td>ハードウェアリビジョン</td>
<td >hardwareRevision</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのハードウェアリビジョン。取得できない場合は、空文字を指定。</td>
<td>パートナンバー</td>
<td >partNumber</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのパート番号。取得できない場合は、空文字を指定。</td>
<td>プロトコルリビジョン</td>
<td >protocolRevision</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのプロトコルリビジョン。取得できない場合は、空文字を指定。</td>
<td>システムID</td>
<td >systemId</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのシステムID。16進数。取得できない場合は「0x0」。</td>
<td>バッテリーレベル</td>
<td >batteryLevel</td>
<td>number</td>
<td>-</td>
<td>ターゲットデバイスのバッテリーレベル。取得できない場合は-1.0を返す。<br>0.0〜1.0</td>

メッセージサンプル

{
    "product":"Device Connect Manager",
    "version":"x.x",
    "serviceId": “device1.localhost.deviceconnect.org",
    “api”: “gotapi”,
    "profile" : “health”,
    "attribute" : "heart",
    “heart” : {
      “rate”: {
             “value”:75,
             “mderFloat”:”0000004B”,
             “type”:”Heart rate”,
             “typeCode”:”147842”,
             “unit”:”beats per min”,
             “unitCode”:”264864”,
             “timeStamp”:1431856940275,
              “timeStampString”: "20150517100220.000-0000" 
        },
        “rr”:{
                “value”: 1365,
               “mderFloat”:”00000555”,
               “type”:"RR interval”,
               “typeCode”:”147240”,
               “unit”:”ms”,
               “unitCode”:”264338”,
               “timeStamp”:1431856940275,
               “timeStampString”:"20150517100220.000-0000"
        },
                 "energy": {
                      "value" :5,
                       “mderFloat”:”00000005”,
                           “type”:"energy expended”,
                           “typeCode”:”119”,
                           “unit”:”Calories”,
                           “unitCode”:6784,
                           “timeStamp”:1431856940275,
                           “timeStampString”:"20150517100220.000-0000"
         },
        “device”: {
              “productName” : “Heart Rate Monitor sample”,
              “manufacturerName”: “Sample, inc.”,
              “modelNumber”:”TP-001”,
              “firmwareRevision”:”rev.1.001.003”,
              “serialNumber”:”01234-5678-9ABCD-EF01”,
              “softwareRevision”:”rev.2.000.000”,
              “hardwareRevision”: “rev.1.0”,
              “partNumber”:”002”,
              “protocolRevision”:”rev.3.1”,
              “systemId”:”ABCDEF0123456789”,
              “batteryLevel”:”0.5
       },
	}
}

Clone this wiki locally