|
|
|
import 'package:diplomaticquarterapp/config/config.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/model/labs/patient_lab_orders.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/model/labs/patient_lab_special_result.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/model/labs/request_patient_lab_orders.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/model/labs/request_patient_lab_special_result.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/model/labs/request_send_lab_report_email.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/service/base_service.dart';
|
|
|
|
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
|
|
|
|
|
|
|
|
class LabsService extends BaseService {
|
|
|
|
RequestPatientLabOrders _requestPatientLabOrders = RequestPatientLabOrders();
|
|
|
|
List<PatientLabOrders> patientLabOrdersList = List();
|
|
|
|
|
|
|
|
Future getPatientLabOrdersList() async {
|
|
|
|
await baseAppClient.post(GET_Patient_LAB_ORDERS,
|
|
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
|
|
patientLabOrdersList.clear();
|
|
|
|
response['ListPLO'].forEach((hospital) {
|
|
|
|
patientLabOrdersList.add(PatientLabOrders.fromJson(hospital));
|
|
|
|
});
|
|
|
|
}, onFailure: (String error, int statusCode) {
|
|
|
|
hasError = true;
|
|
|
|
super.error = error;
|
|
|
|
}, body: _requestPatientLabOrders.toJson());
|
|
|
|
}
|
|
|
|
|
|
|
|
RequestPatientLabSpecialResult _requestPatientLabSpecialResult =
|
|
|
|
RequestPatientLabSpecialResult();
|
|
|
|
|
|
|
|
List<PatientLabSpecialResult> patientLabSpecialResult = List();
|
|
|
|
|
|
|
|
Future getLaboratoryResult(
|
|
|
|
{String projectID,
|
|
|
|
int clinicID,
|
|
|
|
String invoiceNo,
|
|
|
|
String orderNo}) async {
|
|
|
|
hasError = false;
|
|
|
|
_requestPatientLabSpecialResult.projectID = projectID;
|
|
|
|
_requestPatientLabSpecialResult.clinicID = clinicID;
|
|
|
|
_requestPatientLabSpecialResult.invoiceNo = invoiceNo; //'1800296522';//;
|
|
|
|
_requestPatientLabSpecialResult.orderNo = orderNo;
|
|
|
|
|
|
|
|
await baseAppClient.post(GET_Patient_LAB_SPECIAL_RESULT,
|
|
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
|
|
patientLabSpecialResult.clear();
|
|
|
|
response['ListPLSR'].forEach((hospital) {
|
|
|
|
patientLabSpecialResult.add(PatientLabSpecialResult.fromJson(hospital));
|
|
|
|
});
|
|
|
|
}, onFailure: (String error, int statusCode) {
|
|
|
|
hasError = true;
|
|
|
|
super.error = error;
|
|
|
|
}, body: _requestPatientLabSpecialResult.toJson());
|
|
|
|
}
|
|
|
|
|
|
|
|
RequestSendLabReportEmail _requestSendLabReportEmail =
|
|
|
|
RequestSendLabReportEmail();
|
|
|
|
|
|
|
|
Future sendLabReportEmail({PatientLabOrders patientLabOrder}) async {
|
|
|
|
_requestSendLabReportEmail.projectID = patientLabOrder.projectID;
|
|
|
|
_requestSendLabReportEmail.invoiceNo = patientLabOrder.invoiceNo;
|
|
|
|
_requestSendLabReportEmail.doctorName = patientLabOrder.doctorName;
|
|
|
|
_requestSendLabReportEmail.clinicName = patientLabOrder.clinicDescription;
|
|
|
|
_requestSendLabReportEmail.patientName = user.firstName + user.lastName;
|
|
|
|
_requestSendLabReportEmail.patientIditificationNum =
|
|
|
|
user.patientIdentificationNo;
|
|
|
|
_requestSendLabReportEmail.dateofBirth = user.dateofBirth;
|
|
|
|
_requestSendLabReportEmail.to = user.emailAddress;
|
|
|
|
_requestSendLabReportEmail.orderDate =
|
|
|
|
'${patientLabOrder.orderDate.year}-${patientLabOrder.orderDate.month}-${patientLabOrder.orderDate.day}';
|
|
|
|
_requestSendLabReportEmail.patientMobileNumber = user.mobileNumber;
|
|
|
|
_requestSendLabReportEmail.projectName = patientLabOrder.projectName;
|
|
|
|
|
|
|
|
await baseAppClient.post(GET_Patient_LAB_SPECIAL_RESULT,
|
|
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
|
|
AppToast.showSuccessToast(message: 'A copy has been sent to the email');
|
|
|
|
}, onFailure: (String error, int statusCode) {
|
|
|
|
hasError = true;
|
|
|
|
super.error = error;
|
|
|
|
}, body: _requestSendLabReportEmail.toJson());
|
|
|
|
}
|
|
|
|
}
|