Typy danych dotyczące zdrowia kobiet

Interfejs Google Health API udostępnia typy danych do śledzenia zdrowia reprodukcyjnego, objawów i nastrojów. Te typy umożliwiają rejestrowanie miesiączek, wyników testów owulacyjnych oraz powiązanych z nimi stanów fizycznych i emocjonalnych.

Obsługiwane typy danych

Tabela: typy danych dotyczących zdrowia kobiet w interfejsie Google Health API
Typ danych Dostępne
operacje
Zakres
Miesiączka
dataType: menstrual-period
filter parameter: menstrual_period
Typ rekordu: interwał
create, update, batchDelete .reproductive_health.writeonly
Nastroje
dataType: moods
filter parameter: moods
**Typ rekordu:** próbka
create, update, batchDelete .mindfulness.writeonly
Test owulacyjny
dataType: ovulation-test
filter parameter: ovulation_test
**Typ rekordu:** próbka
create, update, batchDelete .reproductive_health.writeonly
Objawy
dataType: symptoms
filter parameter: symptoms
**Typ rekordu:** próbka
create, update, batchDelete .logged_symptoms.writeonly

Miesiączka

Miesiączka to przedział czasu zarejestrowany przez użytkownika. Pełną listę pól i ich opisów znajdziesz w artykule MenstrualPeriod.

Wskazówki dotyczące rejestrowania miesiączek

  • Daty zakończenia są wymagane: wszystkie rekordy miesiączek muszą zawierać datę lub godzinę zakończenia. Daty zakończenia nie mogą być puste.
  • Obsługa trwających okresów: Jeśli nie możesz podać daty zakończenia podczas tworzenia rekordu (na przykład, jeśli okres trwa), ustaw datę zakończenia na datę rozpoczęcia. Codziennie aktualizuj rekord, ustawiając datę zakończenia na bieżącą datę, aż do zakończenia miesiączki i potwierdzenia ostatecznej daty zakończenia.
  • Potwierdzone miesiączki: wszystkie rekordy miesiączek są traktowane jako potwierdzone.

Tworzenie miesiączki

Aby utworzyć wpis dotyczący miesiączki, wyślij żądanie POST do punktu końcowego danych menstrual-period. Odpowiedź zawiera pole name z wartością data-point-id, którego można użyć w żądaniu zbiorczego usunięcia lub aktualizacji (patch).

Żądanie

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."
  }
}

Odpowiedź

{
  "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."
    }
  }
}

Test owulacyjny

Rejestruje obserwację testu owulacyjnego. Pełną listę pól i opisów znajdziesz w OvulationTest.

Tworzenie testu owulacyjnego

Aby zarejestrować wynik testu owulacyjnego, wyślij żądanie POST do punktu końcowego danych ovulation-test. Odpowiedź zawiera pole name z wartością data-point-id, którego można użyć w żądaniu zbiorczego usunięcia lub aktualizacji (patch).

Żądanie

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"
  }
}

Odpowiedź

{
  "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"
    }
  }
}

Objawy

Rejestruje objawy fizyczne występujące w danym momencie. Pełną listę pól i ich opisów znajdziesz w artykule Symptoms.

Tworzenie logu objawów

Aby zarejestrować objawy fizyczne, wyślij żądanie POST do punktu końcowego danych symptoms. Odpowiedź zawiera pole name z wartością data-point-id, którego można użyć w żądaniu zbiorczego usunięcia lub aktualizacji (patch).

Żądanie

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" ]
  }
}

Odpowiedź

{
  "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" ]
    }
  }
}

Nastroje

Rejestruje stany emocjonalne i ich wartości w danym momencie. Pełną listę pól i ich opisów znajdziesz w artykule Moods.

Tworzenie logu nastrojów

Aby zarejestrować stany emocjonalne, wyślij żądanie POST do punktu końcowego danych moods. Odpowiedź zawiera pole name z wartością data-point-id, którego można użyć w żądaniu zbiorczego usunięcia lub aktualizacji (patch).

Żądanie

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" ]
  }
}

Odpowiedź

{
  "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" ]
    }
  }
}

Usuwanie zbiorcze

Aby usunąć co najmniej 1 punkt danych, wyślij żądanie POST do punktu końcowego batchDelete z nazwami zasobów wpisów do usunięcia.

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"
  ]
}

Przykład: usuwanie wielu punktów danych

Aby usunąć wiele punktów danych w jednym żądaniu, dodaj ich nazwy zasobów do tablicy 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"
  ]
}