V3 Menstrual Historical Data Delivery

Function: setHistoryMenstrual 【supportSetHistoricalMenstruationUseVersion2】

Flutter Example:

/// Menstrual historical data delivery event number
getHistoricalMenstruation(
  evtBase: _VBusEvtBase.base_app_set,
  evtType: _VBusEvtType.func_v3_get_historical_menstruation
);

/// Menstrual historical data delivery
libManager.send(
  evt: CmdEvtType.getHistoricalMenstruation,
  json: jsonEncode(json)
);

JSON fields sent by the app:

Field Name Field Type Field Description
version int Protocol library version number
Default: 0
avg_menstrual_day int Average menstrual period length
Unit: days
avg_cycle_day int Average cycle length
Unit: days
items_len int Number of items in menstrual period history data details, maximum: 5
items Collection Menstrual period history data details
Collection of year, mon, day, menstrual_day, and cycle_day
ovulation_interval_day, ovulation_before_day, and ovulation_after_day are valid when supportSetHistoricalMenstruationUseVersion2 is enabled in the function table
operate int Operation 0: Invalid; 1: Set, 2: Query, 3: Modify, 4: Add, 5: Delete
Only valid if supportHistoricalMenstruationExchange is enabled
last_change_time long UTC timestamp of the last modification time
Only valid if supportHistoricalMenstruationExchange is enabled
support_set_max_menstruation_num int Maximum number of menstrual period history data items that can be set
Only valid if supportHistoricalMenstruationExchange is enabled
Field Name Field Type Field Description
year int Year when menstruation begins
mon int Month when menstruation begins
day int Day when menstruation begins
menstrual_day int Menstrual period length (in days)
cycle_day int Cycle length (in days)
ovulation_interval_day int The interval from the start of the next menstrual period to the day of ovulation, typically 14 days. Valid only if supportSetHistoricalMenstruationUseVersion2 is enabled.
ovulation_before_day int Number of fertile days before ovulation, typically 5 days. Valid only if supportSetHistoricalMenstruationUseVersion2 is enabled.
ovulation_after_day int The number of days after ovulation that are considered fertile. This number is generally 5.
Valid only when supportSetHistoricalMenstruationUseVersion2 is enabled.
index int Index, starting at 0. Unique identifier.
Valid only when supportHistoricalMenstruationExchange is enabled.
last_change_time long Time of the last change (UTC timestamp).
Valid only when supportHistoricalMenstruationExchange is enabled.
is_menstrual_end int Whether the menstrual period has ended. 0: Invalid 1: Ended 2: Not ended.
Valid only when supportSetHistoricalMenstruationExchangeVersion21 or supportHistoricalMenstruationExchangeVersion31 is enabled.
change_type int Modified item. 0: Invalid 1: Added 2: Modified 3: Deleted.
Valid only when supportHistoricalMenstruationExchangeVersion31 is enabled.
grade_val Collection Dysmenorrhea and flow levels for each day of the menstrual period. Length equals the menstrual period length.
A combination of dys_grade and mf_grade.
Valid if supportHistoricalMenstruationExchange is enabled.
Field Name Field Type Field Description
dys_grade int Dysmenorrhea level.
Valid if supportHistoricalMenstruationExchange is enabled.
mf_grade int Flow level.
Valid if supportHistoricalMenstruationExchange is enabled.

Example:

{
  "version": 2,
  "operate":2,
  "support_set_max_menstruation_num" : 0,
  "last_change_time" : 0,
  "avg_menstrual_day": 7,
  "avg_cycle_day": 29,
  "items_len": 1,
  "items": [
    {
      "year": 2023,
      "mon": 8,
      "day": 1,
      "menstrual_day": 7,
      "cycle_day":30,
      "ovulation_interval_day":14,
      "ovulation_before_day":5,
      "ovulation_after_day":5,
      "grade_val" :
      [
        {
          "dys_grade" : 0,
          "mf_grade" : 0
        },
        {
          "dys_grade" : 0,
          "mf_grade" : 0
        }
      ],
      "index" : 0,
      "last_change_time" : 1731691056,
      "is_menstrual_end" : 0,
      "change_type" : 0
    },
    {
      "year": 2023,
      "mon": 8,
      "day": 31,
      "menstrual_day": 7,
      "cycle_day":28,
      "ovulation_interval_day":14,
      "ovulation_before_day":5,
      "ovulation_after_day":5,
      "grade_val" :
      [
        {
          "dys_grade" : 0,
          "mf_grade" : 0
        },
        {
          "dys_grade" : 0,
          "mf_grade" : 0
        }
      ],
      "index" : 0,
      "last_change_time" : 1731691056,
      "is_menstrual_end" : 0,
      "change_type" : 0
    }
  ]
}

JSON Fields Received by the App:

Field Name Field Type Field Description
err_code int Error code: 0 for success, non-zero for failure
version int Protocol library version number
Default: 0
avg_menstrual_day int Average menstrual period length
Unit: days
avg_cycle_day int Average cycle length
Unit: days
items_len int Number of items in menstrual period history data details, maximum: 5
items Collection Menstrual period history data details
Collection of year, mon, day, menstrual_day, and cycle_day
ovulation_interval_day, ovulation_before_day, and ovulation_after_day are valid when supportSetHistoricalMenstruationUseVersion2 is enabled
operate int Operation 0: Invalid; 1: Set, 2: Query, 3: Modify, 4: Add, 5: Delete
If supportHistoricalMenstruationExchange is enabled
last_change_time long Last modification time (UTC timestamp)
If supportHistoricalMenstruationExchange is enabled
support_set_max_menstruation_num int Maximum number of menstrual period history data items that can be set
If supportHistoricalMenstruationExchange is enabled
Field Name Field Type Field Description
year int Year when menstruation begins
mon int Month when menstruation begins
day int Day when menstruation begins
menstrual_day int Menstrual period length (in days)
cycle_day int Cycle length (in days)
ovulation_interval_day int The interval from the start of the next menstrual period to the day of ovulation, typically 14 days. Valid only if supportSetHistoricalMenstruationUseVersion2 is enabled.
ovulation_before_day int Number of fertile days before ovulation, typically 5 days. Valid only if supportSetHistoricalMenstruationUseVersion2 is enabled.
ovulation_after_day int The number of days in the fertile period after ovulation, generally 5.
When supportSetHistoricalMenstruationUseVersion2 is enabled
index int Index, starting at 0. Unique identifier
When supportHistoricalMenstruationExchange is enabled
last_change_time long Time of the last change (UTC timestamp)
When supportHistoricalMenstruationExchange is enabled
is_menstrual_end int Whether the menstrual period has ended. 0: Invalid 1: Ended 2: Not ended
When supportHistoricalMenstruationExchangeVersion31 is enabled
change_type int Modified item 0: Invalid 1: Added 2: Modified 3: Deleted
When supportHistoricalMenstruationExchangeVersion31 is enabled
grade_val Collection The level of menstrual pain and flow for each day of the menstrual period Length equal to the menstrual period length.
A combination of dys_grade and mf_grade.
Valid when supportHistoricalMenstruationExchange is enabled.
Field Name Field Type Field Description
dys_grade int Dysmenorrhea grade.
Valid when supportHistoricalMenstruationExchange is enabled.
mf_grade int Flow rate grade.
Valid when supportHistoricalMenstruationExchange is enabled.

Example:

{
  "err_code": 0,
  "version": 2,
  "operate":2,
  "support_set_max_menstruation_num" : 0,
  "last_change_time" : 0,
  "avg_menstrual_day": 7,
  "avg_cycle_day": 29,
  "items_len": 1,
  "items": [
    {
      "year": 2023,
      "mon": 8,
      "day": 1,
      "menstrual_day": 7,
      "cycle_day":30,
      "ovulation_interval_day":14,
      "ovulation_before_day":5,
      "ovulation_after_day":5,
      "grade_val" :
      [
        {
          "dys_grade" : 0,
          "mf_grade" : 0
        },
        {
          "dys_grade" : 0,
          "mf_grade" : 0
        }
      ],
      "index" : 0,
      "last_change_time" : 1731691056
    },
    {
      "year": 2023,
      "mon": 8,
      "day": 31,
      "menstrual_day": 7,
      "cycle_day":28,
      "ovulation_interval_day":14,
      "ovulation_before_day":5,
      "ovulation_after_day":5,
      "grade_val" :
      [
        {
          "dys_grade" : 0,
          "mf_grade" : 0
        },
        {
          "dys_grade" : 0,
          "mf_grade" : 0
        }
      ],
      "index" : 0,
      "last_change_time" : 1731691056
    }
  ]
}
Copyright © 2023-2024 IDO. All rights reserved. all right reserved,powered by GitbookModify Date: 2025-08-19 17:32:36

results matching ""

    No results matching ""