Типы данных о женском здоровье

API Google Health предоставляет типы данных для отслеживания репродуктивного здоровья, симптомов и настроения. Эти типы позволяют регистрировать менструальные циклы, результаты тестов на овуляцию, а также связанные с ними физические и эмоциональные состояния.

Поддерживаемые типы данных

Таблица: Типы данных Google Health API по женскому здоровью
Тип данных Доступный
операции
Объем
Менструация
Тип данных: menstrual-period
Параметр фильтра: menstrual_period
Тип записи: Интервал
создать, обновить, удалить пакетом .reproductive_health.writeonly
Настроения
Тип данных: moods
Параметр фильтра: moods
Тип записи: Образец
создать, обновить, удалить пакетом .mindfulness.writeonly
Тест на овуляцию
Тип данных: ovulation-test
Параметр фильтра: ovulation_test
Тип записи: Образец
создать, обновить, удалить пакетом .reproductive_health.writeonly
Симптомы
Тип данных: symptoms
Параметр фильтра: symptoms
Тип записи: Образец
создать, обновить, удалить пакетом .logged_symptoms.writeonly

Менструация

«Месячный период» — это интервал менструального цикла, зарегистрированный пользователем. Полный список полей и их описаний см. в MenstrualPeriod .

Рекомендации по периодам ведения учета

  • Обязательны даты окончания : все записи за период должны содержать дату или время окончания. Даты окончания никогда не должны быть пустыми.
  • Обработка непрерывных периодов : Если при создании записи невозможно указать дату окончания (например, если период продолжается), установите дату окончания равной дате начала. Обновляйте запись ежедневно, устанавливая дату окончания на текущую дату, пока период не закончится и окончательная дата окончания не будет подтверждена.
  • Подтвержденные периоды : Все записи за определенные периоды рассматриваются как подтвержденные периоды.

Сформируйте менструальный цикл

Для создания записи о менструальном цикле отправьте 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"
  ]
}