여성 건강 데이터 유형

Google Health API는 생식 건강, 증상, 기분을 추적하기 위한 데이터 유형을 제공합니다. 이러한 유형을 사용하면 월경 기간, 배란 테스트 결과, 관련 신체적 및 정서적 상태를 기록할 수 있습니다.

지원되는 데이터 유형

표: Google Health API 여성 건강 데이터 유형
데이터 유형 사용 가능한
작업
범위
월경 기간
dataType: menstrual-period
filter parameter: menstrual_period
레코드 유형: Interval
create, update, batchDelete .reproductive_health.writeonly
기분
dataType: moods
filter parameter: moods
레코드 유형: Sample
create, update, batchDelete .mindfulness.writeonly
배란 테스트
dataType: ovulation-test
filter parameter: ovulation_test
레코드 유형: Sample
create, update, batchDelete .reproductive_health.writeonly
증상
dataType: symptoms
filter parameter: symptoms
레코드 유형: Sample
create, update, batchDelete .logged_symptoms.writeonly

월경 기간

월경 기간은 사용자가 기록한 기간 간격을 나타냅니다. 필드 및 설명의 전체 목록은 MenstrualPeriod를 참고하세요.

기간 로깅 가이드라인

  • 종료일은 필수 항목입니다. 모든 기간 레코드에는 종료일 또는 시간이 포함되어야 합니다. 종료일은 null일 수 없습니다.
  • 진행 중인 기간 처리: 레코드가 생성될 때 종료일을 제공할 수 없는 경우 (예: 기간이 진행 중인 경우) 종료일을 시작일과 일치하도록 설정합니다. 기간이 종료되고 최종 종료일이 확인될 때까지 매일 레코드를 업데이트하고 종료일을 현재 날짜로 설정합니다.
  • 확인된 기간: 모든 기간 레코드는 확인된 기간으로 처리됩니다.

월경 기간 만들기

월경 기간 항목을 만들려면 POST 요청을 menstrual-period 데이터 포인트 엔드포인트로 보냅니다. 응답에는 name 필드 에 data-point-id이 포함되어 있으며, 이는 일괄 삭제 또는 업데이트 (패치) 요청에 사용할 수 있습니다.

요청

POST https://health.googleapis.com/v4/users/me/dataTypes/menstrual-period/dataPoints
Authorization: Bearer access-token
Content-Type: application/json

{
  "menstrualPeriod": {
    "interval": {
      "startTime": "2026-07-01T08:00:00Z",
      "endTime": "2026-07-05T20:00:00Z"
    },
    "notes": "Regular flow reported."
  }
}

응답

{
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
    "name": "users/user-id/dataTypes/menstrual-period/dataPoints/data-point-id",
    "menstrualPeriod": {
      "interval": {
        "startTime": "2026-07-01T08:00:00Z",
        "startUtcOffset": "0s",
        "endTime": "2026-07-05T20:00:00Z",
        "endUtcOffset": "0s",
        "civilStartTime": {
          "date": { "year": 2026, "month": 7, "day": 1 },
          "time": { "hours": 8 }
        },
        "civilEndTime": {
          "date": { "year": 2026, "month": 7, "day": 5 },
          "time": { "hours": 20 }
        }
      },
      "notes": "Regular flow reported."
    }
  }
}

배란 테스트

배란 테스트 관찰을 기록합니다. 필드 및 설명의 전체 목록은 OvulationTest를 참고하세요.

배란 테스트 만들기

배란 테스트 결과를 기록하려면 POST 요청을 ovulation-test 데이터 포인트 엔드포인트로 보냅니다. 응답에는 name 필드가 포함되어 있으며 data-point-id, 이는 일괄 삭제 또는 업데이트 (패치) 요청에 사용할 수 있습니다.

요청

POST https://health.googleapis.com/v4/users/me/dataTypes/ovulation-test/dataPoints
Authorization: Bearer access-token
Content-Type: application/json

{
  "ovulationTest": {
    "sampleTime": {
      "physicalTime": "2026-07-14T07:30:00Z"
    },
    "result": "LUTEINIZING_HORMONE_SURGE"
  }
}

응답

{
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
    "name": "users/user-id/dataTypes/ovulation-test/dataPoints/data-point-id",
    "ovulationTest": {
      "sampleTime": {
        "physicalTime": "2026-07-14T07:30:00Z",
        "utcOffset": "0s",
        "civilTime": {
          "date": { "year": 2026, "month": 7, "day": 14 },
          "time": { "hours": 7, "minutes": 30 }
        }
      },
      "result": "LUTEINIZING_HORMONE_SURGE"
    }
  }
}

증상

특정 타임스탬프에 경험한 신체적 증상을 기록합니다. 필드 및 설명의 전체 목록은 Symptoms를 참고하세요.

증상 로그 만들기

신체적 증상을 기록하려면 POST 요청을 symptoms 데이터 포인트 엔드포인트로 보냅니다. 응답에는 name 필드가 포함되어 있으며, 이는 data-point-id 일괄 삭제 또는 업데이트 (패치) 요청에 사용할 수 있습니다.

요청

POST https://health.googleapis.com/v4/users/me/dataTypes/symptoms/dataPoints
Authorization: Bearer access-token
Content-Type: application/json

{
  "symptoms": {
    "sampleTime": {
      "physicalTime": "2026-07-02T19:00:00Z"
    },
    "symptoms": [ "CRAMPS", "BLOATED", "FATIGUE" ]
  }
}

응답

{
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
    "name": "users/user-id/dataTypes/symptoms/dataPoints/data-point-id",
    "symptoms": {
      "sampleTime": {
        "physicalTime": "2026-07-02T19:00:00Z",
        "utcOffset": "0s",
        "civilTime": {
          "date": { "year": 2026, "month": 7, "day": 2 },
          "time": { "hours": 19 }
        }
      },
      "symptoms": [ "CRAMPS", "BLOATED", "FATIGUE" ]
    }
  }
}

기분

특정 타임스탬프에 정서적 상태와 감정을 기록합니다. 필드 및 설명의 전체 목록은 Moods를 참고하세요.

기분 로그 만들기

정서적 상태를 기록하려면 POST 요청을 moods 데이터 포인트 엔드포인트로 보냅니다. 응답에는 name 필드가 포함되어 있으며, 이는 data-point-id 일괄 삭제 또는 업데이트 (패치) 요청에 사용할 수 있습니다.

요청

POST https://health.googleapis.com/v4/users/me/dataTypes/moods/dataPoints
Authorization: Bearer access-token
Content-Type: application/json

{
  "moods": {
    "sampleTime": {
      "physicalTime": "2026-07-02T21:00:00Z"
    },
    "moods": [ "CALM", "CONTENT" ],
    "valences": [ "PLEASANT" ]
  }
}

응답

{
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
    "name": "users/user-id/dataTypes/moods/dataPoints/data-point-id",
    "moods": {
      "sampleTime": {
        "physicalTime": "2026-07-02T21:00:00Z",
        "utcOffset": "0s",
        "civilTime": {
          "date": { "year": 2026, "month": 7, "day": 2 },
          "time": { "hours": 21 }
        }
      },
      "moods": [ "CALM", "CONTENT" ],
      "valences": [ "PLEASANT" ]
    }
  }
}

일괄 삭제

하나 이상의 데이터 포인트를 삭제하려면 삭제할 항목의 리소스 이름과 함께 POST 요청을 batchDelete 엔드포인트로 보냅니다.

POST https://health.googleapis.com/v4/users/me/dataTypes/data-type-name/dataPoints:batchDelete
Authorization: Bearer access-token
Content-Type: application/json

{
  "names": [
    "users/me/dataTypes/data-type/dataPoints/data-point-id"
  ]
}

예: 여러 데이터 포인트 삭제

단일 요청으로 여러 데이터 포인트를 삭제하려면 리소스 이름을 names 배열에 포함합니다.

POST https://health.googleapis.com/v4/users/me/dataTypes/symptoms/dataPoints:batchDelete
Authorization: Bearer access-token
Content-Type: application/json

{
  "names": [
    "users/user-id/dataTypes/symptoms/dataPoints/symptom-id-1",
    "users/user-id/dataTypes/symptoms/dataPoints/symptom-id-2"
  ]
}