|
|
|
|
@ -19,8 +19,7 @@ class LabsViewModel extends BaseViewModel {
|
|
|
|
|
List<PatientLabOrdersList> _patientLabOrdersListClinic = List();
|
|
|
|
|
List<PatientLabOrdersList> _patientLabOrdersListHospital = List();
|
|
|
|
|
|
|
|
|
|
List<PatientLabOrdersList> get patientLabOrdersList =>
|
|
|
|
|
filterType == FilterType.Clinic ? _patientLabOrdersListClinic : _patientLabOrdersListHospital;
|
|
|
|
|
List<PatientLabOrdersList> get patientLabOrdersList => filterType == FilterType.Clinic ? _patientLabOrdersListClinic : _patientLabOrdersListHospital;
|
|
|
|
|
|
|
|
|
|
void getLabs() async {
|
|
|
|
|
if (authenticatedUserObject.isLogin) {
|
|
|
|
|
@ -31,17 +30,12 @@ class LabsViewModel extends BaseViewModel {
|
|
|
|
|
setState(ViewState.Error);
|
|
|
|
|
} else {
|
|
|
|
|
_labsService.patientLabOrdersList.forEach((element) {
|
|
|
|
|
List<PatientLabOrdersList> patientLabOrdersClinic = _patientLabOrdersListClinic
|
|
|
|
|
.where((elementClinic) => elementClinic.filterName == element.clinicDescription)
|
|
|
|
|
.toList();
|
|
|
|
|
List<PatientLabOrdersList> patientLabOrdersClinic = _patientLabOrdersListClinic.where((elementClinic) => elementClinic.filterName == element.clinicDescription).toList();
|
|
|
|
|
|
|
|
|
|
if (patientLabOrdersClinic.length != 0) {
|
|
|
|
|
_patientLabOrdersListClinic[_patientLabOrdersListClinic.indexOf(patientLabOrdersClinic[0])]
|
|
|
|
|
.patientLabOrdersList
|
|
|
|
|
.add(element);
|
|
|
|
|
_patientLabOrdersListClinic[_patientLabOrdersListClinic.indexOf(patientLabOrdersClinic[0])].patientLabOrdersList.add(element);
|
|
|
|
|
} else {
|
|
|
|
|
_patientLabOrdersListClinic
|
|
|
|
|
.add(PatientLabOrdersList(filterName: element.clinicDescription, patientDoctorAppointment: element));
|
|
|
|
|
_patientLabOrdersListClinic.add(PatientLabOrdersList(filterName: element.clinicDescription ?? element.projectName, patientDoctorAppointment: element));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// doctor list sort via project
|
|
|
|
|
@ -52,12 +46,9 @@ class LabsViewModel extends BaseViewModel {
|
|
|
|
|
.toList();
|
|
|
|
|
|
|
|
|
|
if (patientLabOrdersHospital.length != 0) {
|
|
|
|
|
_patientLabOrdersListHospital[_patientLabOrdersListHospital.indexOf(patientLabOrdersHospital[0])]
|
|
|
|
|
.patientLabOrdersList
|
|
|
|
|
.add(element);
|
|
|
|
|
_patientLabOrdersListHospital[_patientLabOrdersListHospital.indexOf(patientLabOrdersHospital[0])].patientLabOrdersList.add(element);
|
|
|
|
|
} else {
|
|
|
|
|
_patientLabOrdersListHospital
|
|
|
|
|
.add(PatientLabOrdersList(filterName: element.projectName, patientDoctorAppointment: element));
|
|
|
|
|
_patientLabOrdersListHospital.add(PatientLabOrdersList(filterName: element.projectName ?? element.clinicDescription, patientDoctorAppointment: element));
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
@ -66,7 +57,7 @@ class LabsViewModel extends BaseViewModel {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setFilterType(FilterType filterType) {
|
|
|
|
|
setFilterType(FilterType filterType) {
|
|
|
|
|
this.filterType = filterType;
|
|
|
|
|
notifyListeners();
|
|
|
|
|
}
|
|
|
|
|
@ -79,8 +70,7 @@ class LabsViewModel extends BaseViewModel {
|
|
|
|
|
|
|
|
|
|
getLaboratoryResult({String projectID, int clinicID, String invoiceNo, String orderNo}) async {
|
|
|
|
|
setState(ViewState.Busy);
|
|
|
|
|
await _labsService.getLaboratoryResult(
|
|
|
|
|
invoiceNo: invoiceNo, orderNo: orderNo, projectID: projectID, clinicID: clinicID);
|
|
|
|
|
await _labsService.getLaboratoryResult(invoiceNo: invoiceNo, orderNo: orderNo, projectID: projectID, clinicID: clinicID);
|
|
|
|
|
if (_labsService.hasError) {
|
|
|
|
|
error = _labsService.error;
|
|
|
|
|
setState(ViewState.Error);
|
|
|
|
|
@ -97,16 +87,14 @@ class LabsViewModel extends BaseViewModel {
|
|
|
|
|
setState(ViewState.Error);
|
|
|
|
|
} else {
|
|
|
|
|
_labsService.labResultList.forEach((element) {
|
|
|
|
|
List<LabResultList> patientLabOrdersClinic =
|
|
|
|
|
labResultLists.where((elementClinic) => elementClinic.filterName == element.testCode).toList();
|
|
|
|
|
List<LabResultList> patientLabOrdersClinic = labResultLists.where((elementClinic) => elementClinic.filterName == element.testCode).toList();
|
|
|
|
|
|
|
|
|
|
if (patientLabOrdersClinic.length != 0) {
|
|
|
|
|
var value = labResultLists[labResultLists.indexOf(patientLabOrdersClinic[0])]
|
|
|
|
|
.patientLabResultList
|
|
|
|
|
.where((e) => e.sampleCollectedOn == element.sampleCollectedOn && e.resultValue == element.resultValue)
|
|
|
|
|
.toList();
|
|
|
|
|
if (value.isEmpty)
|
|
|
|
|
labResultLists[labResultLists.indexOf(patientLabOrdersClinic[0])].patientLabResultList.add(element);
|
|
|
|
|
if (value.isEmpty) labResultLists[labResultLists.indexOf(patientLabOrdersClinic[0])].patientLabResultList.add(element);
|
|
|
|
|
} else {
|
|
|
|
|
labResultLists.add(LabResultList(filterName: element.testCode, lab: element));
|
|
|
|
|
}
|
|
|
|
|
|