From 9e3035f02bbc4b41a117f4a0eb62f6f8c658c69d Mon Sep 17 00:00:00 2001 From: tahaalam Date: Thu, 9 Oct 2025 12:17:56 +0300 Subject: [PATCH] units added to lab result and it graph and unwanted values removed from graph --- lib/core/common_models/data_points.dart | 2 + lib/features/lab/lab_view_model.dart | 7 +++ .../lab_order_result_item.dart | 2 +- .../lab/lab_results/lab_result_details.dart | 48 ++++++++++++++----- lib/widgets/graph/custom_graph.dart | 3 +- 5 files changed, 48 insertions(+), 14 deletions(-) diff --git a/lib/core/common_models/data_points.dart b/lib/core/common_models/data_points.dart index c35d190..3f5065c 100644 --- a/lib/core/common_models/data_points.dart +++ b/lib/core/common_models/data_points.dart @@ -8,6 +8,7 @@ class DataPoint { String label; String referenceValue; String actualValue; + String? unitOfMeasurement ; DateTime time; String displayTime; @@ -18,6 +19,7 @@ class DataPoint { required this.actualValue, required this.time, required this.displayTime, + this.unitOfMeasurement }); @override diff --git a/lib/features/lab/lab_view_model.dart b/lib/features/lab/lab_view_model.dart index 9f713ac..63ba63d 100644 --- a/lib/features/lab/lab_view_model.dart +++ b/lib/features/lab/lab_view_model.dart @@ -238,6 +238,7 @@ class LabViewModel extends ChangeNotifier { value: transformedValue, actualValue:element.resultValue!, label: formatDateAsMMYY(dateTime), + unitOfMeasurement: element.uOM, displayTime: resultDate(dateTime), time: DateUtil.convertStringToDate(element.verifiedOnDateTime), referenceValue: element.calculatedResultFlag ?? "", @@ -367,6 +368,8 @@ class LabViewModel extends ChangeNotifier { value: transformedValue, actualValue: element.resultValue!, label: formatDateAsMMYY(time), + unitOfMeasurement: element.uOM, + displayTime: resultDate(time), time: DateUtil.convertStringToDate(element.verifiedOnDateTime), referenceValue: element.calculatedResultFlag ?? "", @@ -394,6 +397,8 @@ class LabViewModel extends ChangeNotifier { filteredGraphValues.add(DataPoint( value: transformedValue, actualValue: element.resultValue!, + unitOfMeasurement: element.uOM, + label: formatDateAsMMYY(dateTime), displayTime: resultDate(dateTime), time: @@ -407,6 +412,8 @@ class LabViewModel extends ChangeNotifier { value: transformedValue, actualValue: element.resultValue!, label: formatDateAsMMYY(dateTime), + unitOfMeasurement: element.uOM, + displayTime: resultDate(dateTime), time: DateUtil.convertStringToDate(element.verifiedOnDateTime), diff --git a/lib/presentation/lab/lab_result_via_clinic/lab_order_result_item.dart b/lib/presentation/lab/lab_result_via_clinic/lab_order_result_item.dart index edfc65b..3e236b9 100644 --- a/lib/presentation/lab/lab_result_via_clinic/lab_order_result_item.dart +++ b/lib/presentation/lab/lab_result_via_clinic/lab_order_result_item.dart @@ -53,7 +53,7 @@ class LabOrderResultItem extends StatelessWidget { children: [ Flexible( child: Text( - tests?.resultValue ?? "", + "${tests?.resultValue} ${tests?.uOM}", style: TextStyle( fontSize: 24.fSize, fontWeight: FontWeight.w600, diff --git a/lib/presentation/lab/lab_results/lab_result_details.dart b/lib/presentation/lab/lab_results/lab_result_details.dart index ad108cc..9254cba 100644 --- a/lib/presentation/lab/lab_results/lab_result_details.dart +++ b/lib/presentation/lab/lab_results/lab_result_details.dart @@ -91,7 +91,8 @@ class LabResultDetails extends StatelessWidget { children: [ Flexible( child: Text( - recentLabResult.resultValue ?? "", + "${recentLabResult.resultValue} ${recentLabResult.uOM}" ?? + "", style: TextStyle( fontSize: 24.fSize, fontWeight: FontWeight.w600, @@ -128,17 +129,42 @@ class LabResultDetails extends StatelessWidget { ], ), ), - SizedBox( - width: 21, - child: Utils.buildSvgWithAssets( - icon: AppAssets.lab_result_indicator, - width: 21, - height: 23, - iconColor: context.read().getColor( - recentLabResult.calculatedResultFlag ?? "", - ), + Visibility( + visible: + recentLabResult.checkIfGraphShouldBeDisplayed() == true, + child: Column( + spacing: 6.h, + children: [ + context + .read() + .getSeverityText( + recentLabResult.calculatedResultFlag ?? "", + ) + .tr() + .toText10( + weight: FontWeight.w500, + color: AppColors.greyTextColor), + Utils.buildSvgWithAssets( + icon: AppAssets.lab_result_indicator, + width: 21, + height: 23, + iconColor: context.read().getColor( + recentLabResult.calculatedResultFlag ?? "", + )), + ], ), ), + // SizedBox( + // width: 21, + // child: Utils.buildSvgWithAssets( + // icon: AppAssets.lab_result_indicator, + // width: 21, + // height: 23, + // iconColor: context.read().getColor( + // recentLabResult.calculatedResultFlag ?? "", + // ), + // ), + // ), ], ) @@ -257,7 +283,7 @@ class LabResultDetails extends StatelessWidget { maxY: (labmodel.maxY)+(getInterval(labmodel)??0)/2, maxX: labmodel.filteredGraphValues.length.toDouble()-.75, leftLabelFormatter: (value) { - return leftLabels(value.toStringAsFixed(2).tr()); + return leftLabels(value.toStringAsFixed(2)); // switch (value.toInt()) { // case 10: // return leftLabels("Critical Low".needTranslation); diff --git a/lib/widgets/graph/custom_graph.dart b/lib/widgets/graph/custom_graph.dart index 02ad987..f4ac3f3 100644 --- a/lib/widgets/graph/custom_graph.dart +++ b/lib/widgets/graph/custom_graph.dart @@ -142,8 +142,7 @@ class CustomGraph extends StatelessWidget { final dataPoint = dataPoints[spot.x.toInt()]; return LineTooltipItem( - // '${dataPoint.label} ${spot.y.toStringAsFixed(2)}', - '${dataPoint.value} - ${dataPoint.actualValue} - ${dataPoint.displayTime}', + '${dataPoint.actualValue} ${dataPoint.unitOfMeasurement??""} - ${dataPoint.displayTime}', TextStyle( color: Colors.black, fontSize: 12.fSize,