|
|
|
|
@ -49,257 +49,252 @@ class ResultScreen extends StatelessWidget {
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
body: Padding(
|
|
|
|
|
padding: const EdgeInsets.all(15),
|
|
|
|
|
child: ListView(
|
|
|
|
|
shrinkWrap: true,
|
|
|
|
|
children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
|
|
|
|
if (_holisticAnalysis != null && _holisticAnalysis?.generalWellness != null)
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
lookupValues: vitalValues['generalWellness']!,
|
|
|
|
|
vitalSignName: TranslationBase.of(context).generalWellness,
|
|
|
|
|
condition: RangeConditionWithTitle.fromJson(vital['generalWellness']!, formatValueToTwoDp(healthResult?.holisticHealth?.generalWellness)),
|
|
|
|
|
vitalSignValue: formatValueToTwoDp(healthResult?.holisticHealth?.generalWellness),
|
|
|
|
|
vectorUrl: 'assets/images/svg/wellness.svg',
|
|
|
|
|
vitalName: "generalWellness",
|
|
|
|
|
), //wellness
|
|
|
|
|
if (_vitalSign?.stress != null)
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
vitalSignName: TranslationBase.of(context).stress,
|
|
|
|
|
condition: RangeConditionWithTitle.fromJson(vital['stressLevel']!, formatValueToTwoDp(healthResult?.vitalSigns.stress)),
|
|
|
|
|
lookupValues: vitalValues['stressLevel']!,
|
|
|
|
|
vitalSignValue: formatValueToTwoDp(healthResult?.vitalSigns.stress),
|
|
|
|
|
vectorUrl: 'assets/images/svg/stress.svg',
|
|
|
|
|
vitalName: "stressLevel",
|
|
|
|
|
),
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
vitalSignName: TranslationBase.of(context).pulseTitle,
|
|
|
|
|
condition: RangeConditionWithTitle.fromJson(vital['HR']!, formatValueToTwoDp(healthResult?.vitalSigns.heartRate)),
|
|
|
|
|
lookupValues: vitalValues['HR']!,
|
|
|
|
|
vitalSignValue: formatValueToTwoDp(healthResult?.vitalSigns.heartRate),
|
|
|
|
|
body: SingleChildScrollView(
|
|
|
|
|
child: Padding(
|
|
|
|
|
padding: const EdgeInsets.all(15),
|
|
|
|
|
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
|
|
|
|
if (_holisticAnalysis != null && _holisticAnalysis?.generalWellness != null)
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
lookupValues: vitalValues['generalWellness']!,
|
|
|
|
|
vitalSignName: TranslationBase.of(context).generalWellness,
|
|
|
|
|
condition: RangeConditionWithTitle.fromJson(vital['generalWellness']!, formatValueToTwoDp(healthResult?.holisticHealth?.generalWellness)),
|
|
|
|
|
vitalSignValue: formatValueToTwoDp(healthResult?.holisticHealth?.generalWellness),
|
|
|
|
|
vectorUrl: 'assets/images/svg/wellness.svg',
|
|
|
|
|
vitalName: "generalWellness",
|
|
|
|
|
), //wellness
|
|
|
|
|
if (_vitalSign?.stress != null)
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
vitalSignName: TranslationBase.of(context).stress,
|
|
|
|
|
condition: RangeConditionWithTitle.fromJson(vital['stressLevel']!, formatValueToTwoDp(healthResult?.vitalSigns.stress)),
|
|
|
|
|
lookupValues: vitalValues['stressLevel']!,
|
|
|
|
|
vitalSignValue: formatValueToTwoDp(healthResult?.vitalSigns.stress),
|
|
|
|
|
vectorUrl: 'assets/images/svg/stress.svg',
|
|
|
|
|
vitalName: "stressLevel",
|
|
|
|
|
),
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
vitalSignName: TranslationBase.of(context).pulseTitle,
|
|
|
|
|
condition: RangeConditionWithTitle.fromJson(vital['HR']!, formatValueToTwoDp(healthResult?.vitalSigns.heartRate)),
|
|
|
|
|
lookupValues: vitalValues['HR']!,
|
|
|
|
|
vitalSignValue: formatValueToTwoDp(healthResult?.vitalSigns.heartRate),
|
|
|
|
|
vectorUrl: 'assets/images/svg/heartrate.svg',
|
|
|
|
|
vitalName: "HR",
|
|
|
|
|
),
|
|
|
|
|
//heart rate
|
|
|
|
|
if (_vitalSign?.bloodPressure != null)
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
vitalSignName: "Blood Pressure",
|
|
|
|
|
condition: RangeConditionForBloodPressure.fromJson(vital['blood_pressure']!, healthResult?.vitalSigns.bloodPressure ?? ""),
|
|
|
|
|
bloodPressureValues: vitalValues['blood_pressure']!,
|
|
|
|
|
vitalSignValue: healthResult?.vitalSigns.bloodPressure ?? "",
|
|
|
|
|
vectorUrl: 'assets/images/svg/bloodpressure.svg',
|
|
|
|
|
vitalName: "blood_pressure",
|
|
|
|
|
),
|
|
|
|
|
if (_vitalSign?.hrvSdnn != null)
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
vectorUrl: 'assets/images/svg/heartrate.svg',
|
|
|
|
|
vitalName: "HR",
|
|
|
|
|
),
|
|
|
|
|
//heart rate
|
|
|
|
|
if (_vitalSign?.bloodPressure != null)
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
vitalSignName: "Blood Pressure",
|
|
|
|
|
condition: RangeConditionForBloodPressure.fromJson(vital['blood_pressure']!, healthResult?.vitalSigns.bloodPressure ?? ""),
|
|
|
|
|
bloodPressureValues: vitalValues['blood_pressure']!,
|
|
|
|
|
vitalSignValue: healthResult?.vitalSigns.bloodPressure ?? "",
|
|
|
|
|
vectorUrl: 'assets/images/svg/bloodpressure.svg',
|
|
|
|
|
vitalName: "blood_pressure",
|
|
|
|
|
),
|
|
|
|
|
if (_vitalSign?.hrvSdnn != null)
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
vectorUrl: 'assets/images/svg/heartrate.svg',
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
vitalSignName: "HRV SDNN",
|
|
|
|
|
lookupValues: vitalValues['hrvv']!,
|
|
|
|
|
condition: RangeConditionWithTitle.fromJson(vital['hrvv']!, formatValueToTwoDp(healthResult?.vitalSigns.hrvSdnn)),
|
|
|
|
|
vitalName: "hrvv",
|
|
|
|
|
vitalSignValue: formatValueToTwoDp(healthResult?.vitalSigns.hrvSdnn)),
|
|
|
|
|
|
|
|
|
|
//oxygen
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
lookupValues: vitalValues['Sp02']!,
|
|
|
|
|
vitalName: "Sp02",
|
|
|
|
|
vitalSignName: TranslationBase.of(context).oxygenSaturation,
|
|
|
|
|
condition: RangeConditionWithTitle.fromJson(vital['Sp02']!, formatValueToTwoDp(healthResult?.vitalSigns.spo2)),
|
|
|
|
|
vitalSignValue: formatValueToTwoDp(healthResult?.vitalSigns.spo2),
|
|
|
|
|
vectorUrl: 'assets/images/svg/oxygen.svg',
|
|
|
|
|
),
|
|
|
|
|
if (_vitalSign?.respiratoryRate != null)
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
lookupValues: vitalValues['respiratoryRate']!,
|
|
|
|
|
vitalName: "respiratoryRate",
|
|
|
|
|
vitalSignName: TranslationBase.of(context).respiratoryRate,
|
|
|
|
|
condition: RangeConditionWithTitle.fromJson(vital['respiratoryRate']!, formatValueToTwoDp(healthResult?.vitalSigns.respiratoryRate)),
|
|
|
|
|
vitalSignValue: formatValueToTwoDp(healthResult?.vitalSigns.respiratoryRate),
|
|
|
|
|
vectorUrl: 'assets/images/svg/breathing.svg',
|
|
|
|
|
),
|
|
|
|
|
if (_holisticAnalysis != null && _holisticAnalysis?.bmi != null)
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
lookupValues: vitalValues['bmi']!,
|
|
|
|
|
vitalName: "bmi",
|
|
|
|
|
vitalSignName: TranslationBase.of(context).BMI,
|
|
|
|
|
condition: RangeConditionWithTitle.fromJson(vital['bmi']!, formatValueToTwoDp(healthResult?.holisticHealth?.bmi)),
|
|
|
|
|
vitalSignValue: formatValueToTwoDp(healthResult?.holisticHealth?.bmi),
|
|
|
|
|
vectorUrl: 'assets/images/svg/bmi.svg',
|
|
|
|
|
),
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "IBI",
|
|
|
|
|
// condition: RangeConditionWithTitle.fromJson(vital['HR']!),
|
|
|
|
|
// vitalSignValue:
|
|
|
|
|
// formatValueToTwoDp(healthResult?.vitalSigns.ibi)),
|
|
|
|
|
vitalSignName: "HRV SDNN",
|
|
|
|
|
lookupValues: vitalValues['hrvv']!,
|
|
|
|
|
condition: RangeConditionWithTitle.fromJson(vital['hrvv']!, formatValueToTwoDp(healthResult?.vitalSigns.hrvSdnn)),
|
|
|
|
|
vitalName: "hrvv",
|
|
|
|
|
vitalSignValue: formatValueToTwoDp(healthResult?.vitalSigns.hrvSdnn)),
|
|
|
|
|
|
|
|
|
|
// if (_vitalSign?.hrvRmssd != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "HRV RMSSD",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(
|
|
|
|
|
// healthResult?.vitalSigns.hrvRmssd)),
|
|
|
|
|
//oxygen
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
lookupValues: vitalValues['Sp02']!,
|
|
|
|
|
vitalName: "Sp02",
|
|
|
|
|
vitalSignName: TranslationBase.of(context).oxygenSaturation,
|
|
|
|
|
condition: RangeConditionWithTitle.fromJson(vital['Sp02']!, formatValueToTwoDp(healthResult?.vitalSigns.spo2)),
|
|
|
|
|
vitalSignValue: formatValueToTwoDp(healthResult?.vitalSigns.spo2),
|
|
|
|
|
vectorUrl: 'assets/images/svg/oxygen.svg',
|
|
|
|
|
),
|
|
|
|
|
if (_vitalSign?.respiratoryRate != null)
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
lookupValues: vitalValues['respiratoryRate']!,
|
|
|
|
|
vitalName: "respiratoryRate",
|
|
|
|
|
vitalSignName: TranslationBase.of(context).respiratoryRate,
|
|
|
|
|
condition: RangeConditionWithTitle.fromJson(vital['respiratoryRate']!, formatValueToTwoDp(healthResult?.vitalSigns.respiratoryRate)),
|
|
|
|
|
vitalSignValue: formatValueToTwoDp(healthResult?.vitalSigns.respiratoryRate),
|
|
|
|
|
vectorUrl: 'assets/images/svg/breathing.svg',
|
|
|
|
|
),
|
|
|
|
|
if (_holisticAnalysis != null && _holisticAnalysis?.bmi != null)
|
|
|
|
|
VitalSignWidget(
|
|
|
|
|
textColor: textColor,
|
|
|
|
|
lookupValues: vitalValues['bmi']!,
|
|
|
|
|
vitalName: "bmi",
|
|
|
|
|
vitalSignName: TranslationBase.of(context).BMI,
|
|
|
|
|
condition: RangeConditionWithTitle.fromJson(vital['bmi']!, formatValueToTwoDp(healthResult?.holisticHealth?.bmi)),
|
|
|
|
|
vitalSignValue: formatValueToTwoDp(healthResult?.holisticHealth?.bmi),
|
|
|
|
|
vectorUrl: 'assets/images/svg/bmi.svg',
|
|
|
|
|
),
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "IBI",
|
|
|
|
|
// condition: RangeConditionWithTitle.fromJson(vital['HR']!),
|
|
|
|
|
// vitalSignValue:
|
|
|
|
|
// formatValueToTwoDp(healthResult?.vitalSigns.ibi)),
|
|
|
|
|
|
|
|
|
|
// if (_vitalSign?.temperature != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Temperature",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(
|
|
|
|
|
// healthResult?.vitalSigns.temperature)),
|
|
|
|
|
// if (_vitalSign?.hrvRmssd != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "HRV RMSSD",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(
|
|
|
|
|
// healthResult?.vitalSigns.hrvRmssd)),
|
|
|
|
|
|
|
|
|
|
// if (_vitalSign?.bloodPressureSystolic != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Blood Pressure Systolic",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.vitalSigns.bloodPressureSystolic)),
|
|
|
|
|
// if (_vitalSign?.bloodPressureDiastolic != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Blood Pressure Diastolic",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.vitalSigns.bloodPressureDiastolic)),
|
|
|
|
|
// if (_holisticAnalysis != null)
|
|
|
|
|
// Container(
|
|
|
|
|
// margin: const EdgeInsets.fromLTRB(0, 25, 0, 10),
|
|
|
|
|
// child: const Text(
|
|
|
|
|
// "Holistic Analysis",
|
|
|
|
|
// style: TextStyle(
|
|
|
|
|
// fontSize: 15,
|
|
|
|
|
// color: Colors.amber,
|
|
|
|
|
// fontWeight: FontWeight.bold,
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// if (_vitalSign?.temperature != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Temperature",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(
|
|
|
|
|
// healthResult?.vitalSigns.temperature)),
|
|
|
|
|
|
|
|
|
|
// if (_holisticAnalysis != null &&
|
|
|
|
|
// _holisticAnalysis?.absi != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "ABSI",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(
|
|
|
|
|
// healthResult?.holisticHealth?.absi)),
|
|
|
|
|
// if (_holisticAnalysis != null &&
|
|
|
|
|
// _holisticAnalysis?.cardiacWorkload != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Cardiac Workload",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(
|
|
|
|
|
// healthResult?.holisticHealth?.cardiacWorkload)),
|
|
|
|
|
// if (_holisticAnalysis != null &&
|
|
|
|
|
// _holisticAnalysis?.pulseRespiratoryQuotient != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Pulse Respiratory Quotient",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.holisticHealth?.pulseRespiratoryQuotient)),
|
|
|
|
|
// if (_holisticAnalysis != null &&
|
|
|
|
|
// _holisticAnalysis?.waistToHeightRatio != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Waist to Height Ratio",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.holisticHealth?.waistToHeightRatio)),
|
|
|
|
|
// if (_cardiovascularRisks != null)
|
|
|
|
|
// Container(
|
|
|
|
|
// margin: const EdgeInsets.fromLTRB(0, 25, 0, 10),
|
|
|
|
|
// child: const Text(
|
|
|
|
|
// "Cardiovascular Risks",
|
|
|
|
|
// style: TextStyle(
|
|
|
|
|
// fontSize: 15,
|
|
|
|
|
// color: Colors.amber,
|
|
|
|
|
// fontWeight: FontWeight.bold,
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// if (_cardiovascularRisks != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: TranslationBase.of(context).cvd,
|
|
|
|
|
// condition: RangeConditionWithTitle.fromJson(vital['cvd']!, formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.risks?.cardiovascularRisks?.generalRisk)),
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.risks?.cardiovascularRisks?.generalRisk),
|
|
|
|
|
// vectorUrl: 'assets/images/svg/heartrate.svg',),
|
|
|
|
|
// if (_cardiovascularRisks != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Congestive Heart Failure",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.risks
|
|
|
|
|
// ?.cardiovascularRisks
|
|
|
|
|
// ?.congestiveHeartFailure)),
|
|
|
|
|
// if (_cardiovascularRisks != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Coronary Heart Disease",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.risks
|
|
|
|
|
// ?.cardiovascularRisks
|
|
|
|
|
// ?.coronaryHeartDisease)),
|
|
|
|
|
// if (_cardiovascularRisks != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Intermittent Claudication",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.risks
|
|
|
|
|
// ?.cardiovascularRisks
|
|
|
|
|
// ?.intermittentClaudication)),
|
|
|
|
|
// if (_cardiovascularRisks != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Stroke",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.risks?.cardiovascularRisks?.stroke)),
|
|
|
|
|
// if (_covidRisk != null)
|
|
|
|
|
// Container(
|
|
|
|
|
// margin: const EdgeInsets.fromLTRB(0, 25, 0, 10),
|
|
|
|
|
// child: const Text(
|
|
|
|
|
// "Covid Risks",
|
|
|
|
|
// style: TextStyle(
|
|
|
|
|
// fontSize: 15,
|
|
|
|
|
// color: Colors.amber,
|
|
|
|
|
// fontWeight: FontWeight.bold,
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// if (_covidRisk != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Risk",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(
|
|
|
|
|
// healthResult?.risks?.covidRisk?.covidRisk)),
|
|
|
|
|
// if (_scanParameters != null)
|
|
|
|
|
// Container(
|
|
|
|
|
// margin: const EdgeInsets.fromLTRB(0, 25, 0, 10),
|
|
|
|
|
// child: const Text(
|
|
|
|
|
// "Scan Parameters",
|
|
|
|
|
// style: TextStyle(
|
|
|
|
|
// fontSize: 15,
|
|
|
|
|
// color: Colors.amber,
|
|
|
|
|
// fontWeight: FontWeight.bold,
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// if (_scanParameters != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Signal Quality",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(
|
|
|
|
|
// healthResult?.scanParameters?.signalQuality)),
|
|
|
|
|
]),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
// if (_vitalSign?.bloodPressureSystolic != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Blood Pressure Systolic",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.vitalSigns.bloodPressureSystolic)),
|
|
|
|
|
// if (_vitalSign?.bloodPressureDiastolic != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Blood Pressure Diastolic",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.vitalSigns.bloodPressureDiastolic)),
|
|
|
|
|
// if (_holisticAnalysis != null)
|
|
|
|
|
// Container(
|
|
|
|
|
// margin: const EdgeInsets.fromLTRB(0, 25, 0, 10),
|
|
|
|
|
// child: const Text(
|
|
|
|
|
// "Holistic Analysis",
|
|
|
|
|
// style: TextStyle(
|
|
|
|
|
// fontSize: 15,
|
|
|
|
|
// color: Colors.amber,
|
|
|
|
|
// fontWeight: FontWeight.bold,
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
|
|
|
|
|
// if (_holisticAnalysis != null &&
|
|
|
|
|
// _holisticAnalysis?.absi != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "ABSI",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(
|
|
|
|
|
// healthResult?.holisticHealth?.absi)),
|
|
|
|
|
// if (_holisticAnalysis != null &&
|
|
|
|
|
// _holisticAnalysis?.cardiacWorkload != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Cardiac Workload",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(
|
|
|
|
|
// healthResult?.holisticHealth?.cardiacWorkload)),
|
|
|
|
|
// if (_holisticAnalysis != null &&
|
|
|
|
|
// _holisticAnalysis?.pulseRespiratoryQuotient != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Pulse Respiratory Quotient",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.holisticHealth?.pulseRespiratoryQuotient)),
|
|
|
|
|
// if (_holisticAnalysis != null &&
|
|
|
|
|
// _holisticAnalysis?.waistToHeightRatio != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Waist to Height Ratio",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.holisticHealth?.waistToHeightRatio)),
|
|
|
|
|
// if (_cardiovascularRisks != null)
|
|
|
|
|
// Container(
|
|
|
|
|
// margin: const EdgeInsets.fromLTRB(0, 25, 0, 10),
|
|
|
|
|
// child: const Text(
|
|
|
|
|
// "Cardiovascular Risks",
|
|
|
|
|
// style: TextStyle(
|
|
|
|
|
// fontSize: 15,
|
|
|
|
|
// color: Colors.amber,
|
|
|
|
|
// fontWeight: FontWeight.bold,
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// if (_cardiovascularRisks != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: TranslationBase.of(context).cvd,
|
|
|
|
|
// condition: RangeConditionWithTitle.fromJson(vital['cvd']!, formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.risks?.cardiovascularRisks?.generalRisk)),
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.risks?.cardiovascularRisks?.generalRisk),
|
|
|
|
|
// vectorUrl: 'assets/images/svg/heartrate.svg',),
|
|
|
|
|
// if (_cardiovascularRisks != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Congestive Heart Failure",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.risks
|
|
|
|
|
// ?.cardiovascularRisks
|
|
|
|
|
// ?.congestiveHeartFailure)),
|
|
|
|
|
// if (_cardiovascularRisks != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Coronary Heart Disease",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.risks
|
|
|
|
|
// ?.cardiovascularRisks
|
|
|
|
|
// ?.coronaryHeartDisease)),
|
|
|
|
|
// if (_cardiovascularRisks != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Intermittent Claudication",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.risks
|
|
|
|
|
// ?.cardiovascularRisks
|
|
|
|
|
// ?.intermittentClaudication)),
|
|
|
|
|
// if (_cardiovascularRisks != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Stroke",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(healthResult
|
|
|
|
|
// ?.risks?.cardiovascularRisks?.stroke)),
|
|
|
|
|
// if (_covidRisk != null)
|
|
|
|
|
// Container(
|
|
|
|
|
// margin: const EdgeInsets.fromLTRB(0, 25, 0, 10),
|
|
|
|
|
// child: const Text(
|
|
|
|
|
// "Covid Risks",
|
|
|
|
|
// style: TextStyle(
|
|
|
|
|
// fontSize: 15,
|
|
|
|
|
// color: Colors.amber,
|
|
|
|
|
// fontWeight: FontWeight.bold,
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// if (_covidRisk != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Risk",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(
|
|
|
|
|
// healthResult?.risks?.covidRisk?.covidRisk)),
|
|
|
|
|
// if (_scanParameters != null)
|
|
|
|
|
// Container(
|
|
|
|
|
// margin: const EdgeInsets.fromLTRB(0, 25, 0, 10),
|
|
|
|
|
// child: const Text(
|
|
|
|
|
// "Scan Parameters",
|
|
|
|
|
// style: TextStyle(
|
|
|
|
|
// fontSize: 15,
|
|
|
|
|
// color: Colors.amber,
|
|
|
|
|
// fontWeight: FontWeight.bold,
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// if (_scanParameters != null)
|
|
|
|
|
// VitalSignWidget(
|
|
|
|
|
// textColor: textColor,
|
|
|
|
|
// vitalSignName: "Signal Quality",
|
|
|
|
|
// vitalSignValue: formatValueToTwoDp(
|
|
|
|
|
// healthResult?.scanParameters?.signalQuality)),
|
|
|
|
|
]),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
|