|
@@ -16,6 +16,8 @@ import 'package:vitalapp/components/appbar.dart';
|
|
|
import 'package:vitalapp/components/button.dart';
|
|
|
import 'package:vitalapp/components/scroll_list.dart';
|
|
|
import 'package:vitalapp/components/table/table_column.dart';
|
|
|
+import 'package:vitalapp/managers/interfaces/diagnosis.dart';
|
|
|
+import 'package:vitalapp/managers/interfaces/models/diagnosis_aggregation_record_model.dart';
|
|
|
import 'package:vitalapp/managers/interfaces/patient.dart';
|
|
|
import 'package:vitalapp/managers/interfaces/prescription.dart';
|
|
|
import 'package:vitalapp/managers/interfaces/registration.dart';
|
|
@@ -714,7 +716,7 @@ class RegistrationListController {
|
|
|
Positioned(
|
|
|
left: 16,
|
|
|
bottom: 16,
|
|
|
- child: _buildMedicalButton(rowData.physicalExamNumber ?? ''),
|
|
|
+ child: _buildMedicalButton(rowData.idNumber),
|
|
|
)
|
|
|
],
|
|
|
),
|
|
@@ -742,36 +744,32 @@ class RegistrationListController {
|
|
|
);
|
|
|
}
|
|
|
|
|
|
- Widget _buildMedicalButton(String physicalExamNumber) {
|
|
|
+ Widget _buildMedicalButton(String patientCode) {
|
|
|
if (_hasHealthMonitor()) {
|
|
|
return Container(
|
|
|
width: 214,
|
|
|
margin: EdgeInsets.only(right: 10),
|
|
|
child: VButton(
|
|
|
onTap: () async {
|
|
|
- List<ExamDTO>? examList = await Get.find<IRegistrationManager>()
|
|
|
- .getExamListByPhysicalExamNumberAsync(
|
|
|
- physicalExamNumber: physicalExamNumber,
|
|
|
- );
|
|
|
- if (examList != null) {
|
|
|
- Map examData = {};
|
|
|
- var firstItem = examList
|
|
|
- .firstWhereOrNull((element) => element.key == "ZZYBZK");
|
|
|
- var firstExamData = firstItem?.examData;
|
|
|
- if (firstExamData != null) {
|
|
|
- Map firstExam = jsonDecode(firstExamData);
|
|
|
- if (firstExam.containsKey("BloodPressure")) {
|
|
|
- examData["BloodPressure"] = firstExam["BloodPressure"];
|
|
|
- }
|
|
|
- if (firstExam.containsKey("Temperature")) {
|
|
|
- examData["Temperature"] = firstExam["Temperature"];
|
|
|
+ var diagnosis = await Get.find<IDiagnosisManager>()
|
|
|
+ .getDiagnosisAggregationPageAsync(patientCode, 1, 10);
|
|
|
+ if (diagnosis?.pageData?.isNotEmpty ?? false) {
|
|
|
+ try {
|
|
|
+ Map<String, dynamic> diagnosisDataValue = {};
|
|
|
+ for (DiagnosisAggregationRecordModel data
|
|
|
+ in diagnosis!.pageData!) {
|
|
|
+ if (data.diagnosisAggregationData?.isNotEmpty ?? false) {
|
|
|
+ for (DiagnosisAggregationData diaData
|
|
|
+ in data.diagnosisAggregationData!) {
|
|
|
+ diagnosisDataValue[diaData.key ?? ''] =
|
|
|
+ jsonDecode(diaData.diagnosisData ?? '');
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- var secordItem =
|
|
|
- examList.firstWhereOrNull((element) => element.key == "FZJC");
|
|
|
+ var medicalController = Get.find<MedicalController>();
|
|
|
+ medicalController.diagnosisDataValue = diagnosisDataValue;
|
|
|
+ } catch (e) {}
|
|
|
}
|
|
|
Get.dialog<MedicalController>(
|
|
|
Scaffold(
|