Add huawei schemas and release version (minor version bump) - #429
Merged
Conversation
yatharthranjan
commented
Jun 30, 2026
Member
- Adds most of huawei schemas and specifications
- minor version bump for release
Adds 87 Avro schemas covering the full Huawei Health Kit data surface (instantaneous samples, continuous statistics, health records, activity records, and women's health types) alongside the connector specification mapping each type to a Kafka topic under the connect_huawei_* prefix.
- HuaweiVo2max -> HuaweiVo2Max, HuaweiVo2maxStatistics -> HuaweiVo2MaxStatistics (record name pattern requires each word segment to start uppercase) - planID -> planId (consecutive uppercase fails lowerCamelCase field pattern)
Replace generic 'Value of Huawei field x' placeholders with meaningful descriptions drawn from Huawei Health SDK (v6.16.0) Dart source and HMS Core reference docs. 344 fields updated across 85 schemas, covering units, value ranges, and enum meanings for all measurement types.
…r schema - Rename huawei_vo2max.avsc -> huawei_vo2_max.avsc and huawei_vo2max_statistics.avsc -> huawei_vo2_max_statistics.avsc so snakeToCamelCase produces HuaweiVo2Max, matching the record name and preventing a Java filename/classname mismatch in code generation - Rewrite three ventilator field docs that started with '95th-percentile' (a digit) to start with a capital letter as required by the validator
…th Kit schemas
Replace generic placeholder docs ('Huawei Health Kit REST data for com.huawei.x.y.z.
See Huawei HMS Core Health Kit RESTful data type documentation.') with meaningful
descriptions covering what each data type measures and what fields it contains.
…n-time types Schema consolidations (88 → 69 schemas): - Remove active_hours_statistics: spec topic → HuaweiActiveHours - Remove cgm_blood_glucose_statistics: merge avg/max/min/last into HuaweiCgmBloodGlucose - Remove continuous_activity_fragment: spec topic → HuaweiContinuousActivityStatistics - Remove body_temperature_rest_statistics + instantaneous_body_temperature_rest: spec topics → HuaweiContinuousBodyTemperatureStatistics / HuaweiInstantaneousBodyTemperature - Remove continuous_calories_consumed: spec topic → HuaweiContinuousCaloriesBurnt - Remove continuous_exercise_intensity_statistics: merge span field into HuaweiContinuousExerciseIntensity - Remove health_record_ventilator schema and spec entry - Remove instantaneous_exercise_heart_rate: spec topic → HuaweiInstantaneousHeartRate - Unify instantaneous_activity_sample topic → HuaweiInstantaneousActivitySamples - Create HuaweiStatistics (avg/max/min/last double) replacing 10 identical simple-stats schemas: body_temperature, skin_temperature, exercise_heart_rate, speed, steps_rate, stroke_rate, power, body_fat_rate, calories_bmr, heart_rate statistics + resting_heart_rate_statistics endTime removed from 32 point-in-time schemas (all instantaneous.* non-stats types, plus heart_rate_variability, emotion, vo2_max, cgm_blood_glucose, sleep_on_off_bed_record)
… and lab schemas Remove 11 schemas outside the intended data collection scope: cervical_mucus, cervical_status, menstrual_flow, nutrition_facts, nutrition_facts_statistics, uric_acid, urine_routine_bilirubin, urine_routine_glucose, urine_routine_nitrite, urine_routine_urobilinogen, vaginal_speckle — and their corresponding spec entries. 69 → 58 schemas.
… spec units Schema consolidations (topics preserved, shared schemas): - Merge bradycardia + tachycardia → HuaweiHealthRecordHeartRateAlert - Merge instantaneous_resting_heart_rate → HuaweiInstantaneousHeartRate - Merge instantaneous_skin_temperature → HuaweiInstantaneousBodyTemperature - Merge instantaneous_activity_samples → HuaweiInstantaneousActivitySample - Merge vo2_max_statistics → HuaweiStatistics (int cast to double) - Merge instantaneous_stress_statistics → HuaweiStatistics (uses count field) - Fix instantaneous_activity_sample: add typeOfActivity field - Add count field to HuaweiStatistics (nullable, null for non-counting topics) Removals (out of scope or redundant): - dysmenorrhoea, instantaneous_hydrate, instantaneous_ovulation_detection, physical_symptoms Spec improvements: - Add measurement units to doc strings for all relevant topics (bpm, m/s, kcal, °C, %, mmol/L, mmHg, mL/(kg·min), ms, steps/min, etc.) 58 → 48 schemas.
…umentation - activity_record: expand activitySummary string → 5 typed sub-fields (avgPace, bestPace, paceMap, dataSummary, sectionSummary) - emotion: document emotionStatus codes (1=bad … 5=excellent) - exercise_intensity_v2_statistics: expand intensityMap string → 5 typed heart-rate zone duration fields (zone1Duration–zone5Duration, in seconds) - health_record_menstrual_cycle: document status (1–4 cycle phases) and substatus codes - sleep_respiratory_detail: document type codes (1=breathing rate, 2=SpO2, 3=snore index) and value unit - health_record_dynamic_bp: improve extendData doc with ABPM context
SNYK-JAVA-ORGAPACHELOGGINGLOG4J-15967769 and -15967804 (Improper Encoding or Escaping of Output, high severity)
SNYK-JAVA-COMFASTERXMLJACKSONCORE-15365924 and -15907551 require jackson-core 2.21.x but jackson-module-kotlin 2.21.x requires Kotlin v2, and this project is pinned to Kotlin 1.9.x. Ignoring until Kotlin is upgraded.
feat: add Huawei Health Kit connector schemas and specification
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.