Tipi di dati relativi alla salute femminile

L'API Google Health fornisce tipi di dati per il monitoraggio della salute riproduttiva, dei sintomi e degli stati d'animo. Questi tipi ti consentono di registrare i periodi mestruali, i risultati dei test di ovulazione e gli stati fisici ed emotivi associati.

Tipi di dati supportati

Tabella: tipi di dati sulla salute delle donne dell'API Google Health
Tipo di dati Operazioni
disponibili
Ambito
Periodo mestruale
dataType: menstrual-period
filter parameter: menstrual_period
Tipo di record: Intervallo
create, update, batchDelete .reproductive_health.writeonly
Stati d'animo
dataType: moods
filter parameter: moods
Tipo di record: Esempio
create, update, batchDelete .mindfulness.writeonly
Test di ovulazione
dataType: ovulation-test
filter parameter: ovulation_test
Tipo di record: Esempio
create, update, batchDelete .reproductive_health.writeonly
Sintomi
dataType: symptoms
filter parameter: symptoms
Tipo di record: Esempio
create, update, batchDelete .logged_symptoms.writeonly

Periodo mestruale

Un periodo mestruale rappresenta un intervallo di tempo registrato da un utente. Per un elenco completo di campi e descrizioni, consulta MenstrualPeriod.

Linee guida per la registrazione dei periodi

  • Le date di fine sono obbligatorie: tutti i record dei periodi devono includere una data o un' ora di fine. Le date di fine non devono mai essere nulle.
  • Gestione dei periodi in corso: se non riesci a fornire una data di fine quando viene creato il record (ad esempio, se il periodo è in corso), imposta la data di fine in modo che corrisponda alla data di inizio. Aggiorna il record ogni giorno, impostando la data di fine sulla data corrente, finché il periodo non termina e la data di fine finale non viene confermata.
  • Periodi confermati: tutti i record dei periodi vengono trattati come periodi confermati.

Creare un periodo mestruale

Per creare una voce relativa al periodo mestruale, invia una richiesta POST all'endpoint dei punti dati menstrual-period. La risposta include il campo name contenente il data-point-id, che può essere utilizzato in una richiesta di eliminazione batch o aggiornamento (patch).

Richiesta

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

Risposta

{
  "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 di ovulazione

Registra un'osservazione del test di ovulazione. Per un elenco completo di campi e descrizioni, consulta OvulationTest.

Creare un test di ovulazione

Per registrare il risultato di un test di ovulazione, invia una richiesta POST all'endpoint dei punti dati ovulation-test. La risposta include il campo name contenente il data-point-id, che può essere utilizzato in una richiesta di eliminazione batch o aggiornamento (patch).

Richiesta

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

Risposta

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

Sintomi

Registra i sintomi fisici riscontrati in un determinato timestamp. Per un elenco completo di campi e descrizioni, consulta Symptoms.

Creare un log dei sintomi

Per registrare i sintomi fisici, invia una richiesta POST all'endpoint dei punti dati symptoms. La risposta include il campo name contenente il data-point-id, che può essere utilizzato in una richiesta di eliminazione batch o aggiornamento (patch).

Richiesta

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

Risposta

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

Stati d'animo

Registra gli stati emotivi e le valenze in un determinato timestamp. Per un elenco completo di campi e descrizioni, consulta Moods.

Creare un log degli stati d'animo

Per registrare gli stati emotivi, invia una richiesta POST all'endpoint dei punti dati moods. La risposta include il campo name contenente il data-point-id, che può essere utilizzato in una richiesta di eliminazione batch o aggiornamento (patch).

Richiesta

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

Risposta

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

Eliminazione batch

Per eliminare uno o più punti dati, invia una richiesta POST all'endpoint batchDelete con i nomi delle risorse delle voci da rimuovere.

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

Esempio: eliminazione di più punti dati

Per eliminare più punti dati in un'unica richiesta, includi i relativi nomi delle risorse nell'array 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"
  ]
}