You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
139 lines
5.7 KiB
Dart
139 lines
5.7 KiB
Dart
import 'package:doctor_app_flutter/config/config.dart';
|
|
import 'package:doctor_app_flutter/core/model/labs/LabOrderResult.dart';
|
|
import 'package:doctor_app_flutter/core/model/labs/lab_result.dart';
|
|
import 'package:doctor_app_flutter/core/model/labs/patient_lab_orders.dart';
|
|
import 'package:doctor_app_flutter/core/model/labs/patient_lab_special_result.dart';
|
|
import 'package:doctor_app_flutter/core/model/labs/request_patient_lab_special_result.dart';
|
|
import 'package:doctor_app_flutter/core/model/labs/request_send_lab_report_email.dart';
|
|
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
|
|
|
|
import 'base/base_service.dart';
|
|
|
|
class LabsService extends BaseService {
|
|
List<PatientLabOrders> patientLabOrdersList = List();
|
|
|
|
Future getPatientLabOrdersList(PatiantInformtion patient) async {
|
|
hasError = false;
|
|
Map<String, dynamic> body = Map();
|
|
body['isDentalAllowedBackend'] = false;
|
|
await baseAppClient.postPatient(GET_Patient_LAB_ORDERS, patient: patient,
|
|
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: body);
|
|
}
|
|
|
|
RequestPatientLabSpecialResult _requestPatientLabSpecialResult =
|
|
RequestPatientLabSpecialResult();
|
|
|
|
List<PatientLabSpecialResult> patientLabSpecialResult = List();
|
|
List<LabResult> labResultList = List();
|
|
List<LabOrderResult> labOrdersResultsList = List();
|
|
|
|
Future getLaboratoryResult(
|
|
{String projectID,
|
|
int clinicID,
|
|
String invoiceNo,
|
|
String orderNo,
|
|
PatiantInformtion patient}) async {
|
|
hasError = false;
|
|
_requestPatientLabSpecialResult.projectID = projectID;
|
|
_requestPatientLabSpecialResult.clinicID = clinicID;
|
|
_requestPatientLabSpecialResult.invoiceNo = invoiceNo;
|
|
_requestPatientLabSpecialResult.orderNo = orderNo;
|
|
|
|
await baseAppClient.postPatient(GET_Patient_LAB_SPECIAL_RESULT,
|
|
patient: patient, 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());
|
|
}
|
|
|
|
Future getPatientLabResult(
|
|
{PatientLabOrders patientLabOrder, PatiantInformtion patient}) async {
|
|
hasError = false;
|
|
Map<String, dynamic> body = Map();
|
|
body['InvoiceNo'] = patientLabOrder.invoiceNo;
|
|
body['OrderNo'] = patientLabOrder.orderNo;
|
|
body['isDentalAllowedBackend'] = false;
|
|
body['SetupID'] = patientLabOrder.setupID;
|
|
body['ProjectID'] = patientLabOrder.projectID;
|
|
body['ClinicID'] = patientLabOrder.clinicID;
|
|
await baseAppClient.postPatient(GET_Patient_LAB_RESULT, patient: patient,
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
patientLabSpecialResult.clear();
|
|
labResultList.clear();
|
|
response['ListPLR'].forEach((lab) {
|
|
labResultList.add(LabResult.fromJson(lab));
|
|
});
|
|
}, onFailure: (String error, int statusCode) {
|
|
hasError = true;
|
|
super.error = error;
|
|
}, body: body);
|
|
}
|
|
|
|
Future getPatientLabOrdersResults(
|
|
{PatientLabOrders patientLabOrder,
|
|
String procedure,
|
|
PatiantInformtion patient}) async {
|
|
hasError = false;
|
|
Map<String, dynamic> body = Map();
|
|
if (patientLabOrder != null) {
|
|
body['InvoiceNo'] = patientLabOrder.invoiceNo;
|
|
body['OrderNo'] = patientLabOrder.orderNo;
|
|
body['SetupID'] = patientLabOrder.setupID;
|
|
body['ProjectID'] = patientLabOrder.projectID;
|
|
body['ClinicID'] = patientLabOrder.clinicID;
|
|
}
|
|
body['isDentalAllowedBackend'] = false;
|
|
body['Procedure'] = procedure;
|
|
await baseAppClient.postPatient(GET_Patient_LAB_ORDERS_RESULT,
|
|
patient: patient, onSuccess: (dynamic response, int statusCode) {
|
|
labOrdersResultsList.clear();
|
|
response['ListPLR'].forEach((lab) {
|
|
labOrdersResultsList.add(LabOrderResult.fromJson(lab));
|
|
});
|
|
}, onFailure: (String error, int statusCode) {
|
|
hasError = true;
|
|
super.error = error;
|
|
}, body: body);
|
|
}
|
|
|
|
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;
|
|
// _requestSendLabReportEmail.setupID = user.setupID;
|
|
//
|
|
// await baseAppClient.post(SEND_LAB_RESULT_EMAIL,
|
|
// onSuccess: (dynamic response, int statusCode) {
|
|
//
|
|
// }, onFailure: (String error, int statusCode) {
|
|
// hasError = true;
|
|
// super.error = error;
|
|
// }, body: _requestSendLabReportEmail.toJson());
|
|
}
|
|
}
|