혈압 데이터 쓰기

앱은 com.google.blood_pressure 데이터 유형에 써서 혈압 데이터를 기록할 수 있습니다. 이 데이터 유형에서 각 데이터 포인트는 단일 순간 혈압 측정값을 나타냅니다. 데이터 포인트에는 수축기와 이완기의 압력, 측정 중의 신체 위치, 측정이 이루어진 신체 위치의 필드가 포함됩니다.

  • systolicdiastolic 필드는 필수이며 나머지 필드는 모두 선택사항입니다.
  • systolic (숫자) 및 diastolic (낮은 숫자) 압력은 mmHg로 측정됩니다.
  • 지정된 경우 본문 위치에는 다음 값 중 하나가 있어야 합니다.
    • 1 - 일어서기
    • 2 - 앉기
    • 3 - 눕기
    • 4 - 반사형
  • 지정된 경우 측정 위치에 다음 값 중 하나가 있어야 합니다.

    • 1 - 왼쪽 손목
    • 2 - 오른쪽 손목
    • 3 - 왼쪽 상완
    • 4 - 오른쪽 상완

Android

혈압 데이터 포인트를 작성하려면 다음 예와 같이 TYPE_BLOOD_PRESSURE의 새 DataSource를 만듭니다.

val bloodPressureSource = DataSource.Builder()
    .setDataType(TYPE_BLOOD_PRESSURE)
    // ...
    .build()

val bloodPressure = DataPoint.builder(bloodPressureSource)
    .setTimestamp(timestamp, TimeUnit.MILLISECONDS)
    .setField(FIELD_BLOOD_PRESSURE_SYSTOLIC, 120.0f)
    .setField(FIELD_BLOOD_PRESSURE_DIASTOLIC, 80.0f)
    .setField(FIELD_BODY_POSITION, BODY_POSITION_SITTING)
    .setField(
        FIELD_BLOOD_PRESSURE_MEASUREMENT_LOCATION,
        BLOOD_PRESSURE_MEASUREMENT_LOCATION_LEFT_UPPER_ARM)
    .build()

REST

데이터 소스 만들기

혈압 데이터 포인트를 작성하려면 새 데이터 데이터 소스를 만드세요.

HTTP 메소드

POST

요청 URL

https://www.googleapis.com/fitness/v1/users/me/dataSources

요청 본문

{
  "dataStreamName": "BloodPressure",
  "type": "raw",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "My Example App",
    "version": "1"
  },
  "dataType": {
    "name": "com.google.blood_pressure"
   }
}

응답

데이터 소스가 성공적으로 생성되면 200 OK HTTP 응답 상태 코드를 받게 됩니다. 응답 본문에는 datasource.dataStreamId 속성을 포함하여 데이터 소스의 JSON 표현이 포함됩니다. 이 ID를 dataSourceId로 사용하여 데이터를 추가합니다.

혈압 데이터 추가

com.google.blood_pressure 유형의 데이터 포인트를 만들어 데이터를 추가합니다.

HTTP 메소드

PATCH

요청 URL

https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023000000

요청 본문

명확성을 위해 아래에 표시된 JSON 본문은 주석으로 주석 처리되어 health 필드 상수의 사용을 보여줍니다.

  {
    "dataSourceId": "datasource.dataStreamId",
    "maxEndTimeNs": 1574159699023000000,
    "minStartTimeNs": 1574159699023000000,
    "point": [
      {
        "dataTypeName": "com.google.blood_pressure",
        "endTimeNanos": 1574159699023000000,
        "startTimeNanos": 1574159699023000000,
        "value": [
          {
            "fpVal": 120.0  // systolic
          },
          {
            "fpVal": 80.0  // diastolic
          },
          {
            "intVal": 2  // Body position enum value for sitting
          },
          {
            "intVal": 3  // Location enum value for left upper arm
          }
        ]
      }
    ]
  }