From fbb2570d8eb131d13603b64e3e1ec9a21537c019 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Tue, 31 Mar 2026 23:53:03 +0300 Subject: [PATCH] Vital sign updates --- lib/core/api_consts.dart | 2 +- .../models/ui_models/vital_sign_ui_model.dart | 36 +++++++++++++------ .../medical_file/medical_file_page.dart | 1 + .../vital_sign/vital_sign_page.dart | 20 +++++------ pubspec.yaml | 4 +-- 5 files changed, 40 insertions(+), 23 deletions(-) diff --git a/lib/core/api_consts.dart b/lib/core/api_consts.dart index 5fae22b1..898d5661 100644 --- a/lib/core/api_consts.dart +++ b/lib/core/api_consts.dart @@ -233,7 +233,7 @@ class ApiConsts { static String getAiOverViewLabOrder = "Services/Patients.svc/REST/HMGAI_Lab_Analyzer_API"; // ************ static values for Api **************** - static final double appVersionID = 20.5; + static final double appVersionID = 20.9; // static final double appVersionID = 50.7; static final int appChannelId = 3; diff --git a/lib/features/hmg_services/models/ui_models/vital_sign_ui_model.dart b/lib/features/hmg_services/models/ui_models/vital_sign_ui_model.dart index 328ffc93..66f5d77b 100644 --- a/lib/features/hmg_services/models/ui_models/vital_sign_ui_model.dart +++ b/lib/features/hmg_services/models/ui_models/vital_sign_ui_model.dart @@ -48,13 +48,14 @@ class VitalSignUiModel { ); } - if (s.contains('low')) { - final Color yellowBg = AppColors.warningColor.withValues(alpha: 0.12); + // Warning for both low and overweight/underweight BMI, since they can indicate potential health issues. + if (s.contains('low') || s.contains('underweight') || s.contains('overweight')) { + final Color yellowBg = AppColors.highAndLow.withValues(alpha: 0.12); return VitalSignUiModel( iconBg: yellowBg, - iconFg: AppColors.warningColor, + iconFg: AppColors.highAndLow, chipBg: yellowBg, - chipFg: AppColors.warningColor, + chipFg: AppColors.highAndLow, ); } @@ -91,12 +92,27 @@ class VitalSignUiModel { } static String bmiStatus(dynamic bmi) { - if (bmi == null) return 'N/A'; - final double bmiValue = double.tryParse(bmi.toString()) ?? 0; - if (bmiValue < 18.5) return 'Underweight'; - if (bmiValue < 25) return 'Normal'; - if (bmiValue < 30) return 'Overweight'; - return 'High'; + String bmiStatus = 'Normal'; + final double bmiResult = double.tryParse(bmi.toString()) ?? 0; + + if (bmiResult >= 30) { + bmiStatus = "High"; + } else if (bmiResult < 30 && bmiResult >= 25) { + bmiStatus = "Overweight"; + } else if (bmiResult < 25 && bmiResult >= 18.5) { + bmiStatus = "Normal"; + } else if (bmiResult < 18.5) { + bmiStatus = "Underweight"; + } + + // if (bmi == null) return 'N/A'; + // final double bmiValue = double.tryParse(bmi.toString()) ?? 0; + // if (bmiValue < 18.5) return 'Underweight'; + // if (bmiValue < 25) return 'Normal'; + // if (bmiValue < 30) return 'Overweight'; + // return 'High'; + + return bmiStatus; } } diff --git a/lib/presentation/medical_file/medical_file_page.dart b/lib/presentation/medical_file/medical_file_page.dart index cddc4757..e65499a1 100644 --- a/lib/presentation/medical_file/medical_file_page.dart +++ b/lib/presentation/medical_file/medical_file_page.dart @@ -1538,6 +1538,7 @@ class _MedicalFilePageState extends State { value: vitalSign.bodyMassIndex?.toString() ?? '--', unit: '', status: vitalSign.bodyMassIndex != null ? _getBMIStatus(vitalSign.bodyMassIndex) : null, + // status: "Overweight", onTap: onTap, ), ), diff --git a/lib/presentation/vital_sign/vital_sign_page.dart b/lib/presentation/vital_sign/vital_sign_page.dart index 200a223e..82c64686 100644 --- a/lib/presentation/vital_sign/vital_sign_page.dart +++ b/lib/presentation/vital_sign/vital_sign_page.dart @@ -69,16 +69,16 @@ class _VitalSignPageState extends State { : null; // Debug logging for blood pressure - if (latestVitalSign != null) { - print('=== Blood Pressure Debug ==='); - print('bloodPressureHigher: ${latestVitalSign.bloodPressureHigher}'); - print('bloodPressureLower: ${latestVitalSign.bloodPressureLower}'); - print('bloodPressureHigher type: ${latestVitalSign.bloodPressureHigher.runtimeType}'); - print('bloodPressureLower type: ${latestVitalSign.bloodPressureLower.runtimeType}'); - print('bloodPressureHigher == 0: ${latestVitalSign.bloodPressureHigher == 0}'); - print('bloodPressureLower == 0: ${latestVitalSign.bloodPressureLower == 0}'); - print('========================'); - } + // if (latestVitalSign != null) { + // print('=== Blood Pressure Debug ==='); + // print('bloodPressureHigher: ${latestVitalSign.bloodPressureHigher}'); + // print('bloodPressureLower: ${latestVitalSign.bloodPressureLower}'); + // print('bloodPressureHigher type: ${latestVitalSign.bloodPressureHigher.runtimeType}'); + // print('bloodPressureLower type: ${latestVitalSign.bloodPressureLower.runtimeType}'); + // print('bloodPressureHigher == 0: ${latestVitalSign.bloodPressureHigher == 0}'); + // print('bloodPressureLower == 0: ${latestVitalSign.bloodPressureLower == 0}'); + // print('========================'); + // } return SingleChildScrollView( child: Column( diff --git a/pubspec.yaml b/pubspec.yaml index b476f050..e0f8c0e6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,8 +2,8 @@ name: hmg_patient_app_new description: "New HMG Patient App" publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 0.0.15+12 -#version: 0.0.1+14 +#version: 0.0.15+12 +version: 0.0.1+16 environment: sdk: ">=3.6.0 <4.0.0"