change design prescription and add new services

merge-requests/96/head
Mohammad ALjammal 4 years ago
parent c7ad16cbcd
commit 644cfac790

@ -0,0 +1,200 @@
class PrescriptionReportForInPatient {
int admissionNo;
int authorizedBy;
Null bedNo;
String comments;
int createdBy;
String createdByName;
Null createdByNameN;
String createdOn;
String direction;
int directionID;
Null directionN;
String dose;
int editedBy;
Null iVDiluentLine;
int iVDiluentType;
Null iVDiluentVolume;
Null iVRate;
Null iVStability;
String itemDescription;
int itemID;
int lineItemNo;
int locationId;
int noOfDoses;
int orderNo;
int patientID;
String pharmacyRemarks;
String prescriptionDatetime;
int prescriptionNo;
String processedBy;
int projectID;
int refillID;
String refillType;
Null refillTypeN;
int reviewedPharmacist;
Null roomId;
String route;
int routeId;
Null routeN;
Null setupID;
String startDatetime;
int status;
String statusDescription;
Null statusDescriptionN;
String stopDatetime;
int unitofMeasurement;
String unitofMeasurementDescription;
Null unitofMeasurementDescriptionN;
PrescriptionReportForInPatient(
{this.admissionNo,
this.authorizedBy,
this.bedNo,
this.comments,
this.createdBy,
this.createdByName,
this.createdByNameN,
this.createdOn,
this.direction,
this.directionID,
this.directionN,
this.dose,
this.editedBy,
this.iVDiluentLine,
this.iVDiluentType,
this.iVDiluentVolume,
this.iVRate,
this.iVStability,
this.itemDescription,
this.itemID,
this.lineItemNo,
this.locationId,
this.noOfDoses,
this.orderNo,
this.patientID,
this.pharmacyRemarks,
this.prescriptionDatetime,
this.prescriptionNo,
this.processedBy,
this.projectID,
this.refillID,
this.refillType,
this.refillTypeN,
this.reviewedPharmacist,
this.roomId,
this.route,
this.routeId,
this.routeN,
this.setupID,
this.startDatetime,
this.status,
this.statusDescription,
this.statusDescriptionN,
this.stopDatetime,
this.unitofMeasurement,
this.unitofMeasurementDescription,
this.unitofMeasurementDescriptionN});
PrescriptionReportForInPatient.fromJson(Map<String, dynamic> json) {
admissionNo = json['AdmissionNo'];
authorizedBy = json['AuthorizedBy'];
bedNo = json['BedNo'];
comments = json['Comments'];
createdBy = json['CreatedBy'];
createdByName = json['CreatedByName'];
createdByNameN = json['CreatedByNameN'];
createdOn = json['CreatedOn'];
direction = json['Direction'];
directionID = json['DirectionID'];
directionN = json['DirectionN'];
dose = json['Dose'];
editedBy = json['EditedBy'];
iVDiluentLine = json['IVDiluentLine'];
iVDiluentType = json['IVDiluentType'];
iVDiluentVolume = json['IVDiluentVolume'];
iVRate = json['IVRate'];
iVStability = json['IVStability'];
itemDescription = json['ItemDescription'];
itemID = json['ItemID'];
lineItemNo = json['LineItemNo'];
locationId = json['LocationId'];
noOfDoses = json['NoOfDoses'];
orderNo = json['OrderNo'];
patientID = json['PatientID'];
pharmacyRemarks = json['PharmacyRemarks'];
prescriptionDatetime = json['PrescriptionDatetime'];
prescriptionNo = json['PrescriptionNo'];
processedBy = json['ProcessedBy'];
projectID = json['ProjectID'];
refillID = json['RefillID'];
refillType = json['RefillType'];
refillTypeN = json['RefillTypeN'];
reviewedPharmacist = json['ReviewedPharmacist'];
roomId = json['RoomId'];
route = json['Route'];
routeId = json['RouteId'];
routeN = json['RouteN'];
setupID = json['SetupID'];
startDatetime = json['StartDatetime'];
status = json['Status'];
statusDescription = json['StatusDescription'];
statusDescriptionN = json['StatusDescriptionN'];
stopDatetime = json['StopDatetime'];
unitofMeasurement = json['UnitofMeasurement'];
unitofMeasurementDescription = json['UnitofMeasurementDescription'];
unitofMeasurementDescriptionN = json['UnitofMeasurementDescriptionN'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['AdmissionNo'] = this.admissionNo;
data['AuthorizedBy'] = this.authorizedBy;
data['BedNo'] = this.bedNo;
data['Comments'] = this.comments;
data['CreatedBy'] = this.createdBy;
data['CreatedByName'] = this.createdByName;
data['CreatedByNameN'] = this.createdByNameN;
data['CreatedOn'] = this.createdOn;
data['Direction'] = this.direction;
data['DirectionID'] = this.directionID;
data['DirectionN'] = this.directionN;
data['Dose'] = this.dose;
data['EditedBy'] = this.editedBy;
data['IVDiluentLine'] = this.iVDiluentLine;
data['IVDiluentType'] = this.iVDiluentType;
data['IVDiluentVolume'] = this.iVDiluentVolume;
data['IVRate'] = this.iVRate;
data['IVStability'] = this.iVStability;
data['ItemDescription'] = this.itemDescription;
data['ItemID'] = this.itemID;
data['LineItemNo'] = this.lineItemNo;
data['LocationId'] = this.locationId;
data['NoOfDoses'] = this.noOfDoses;
data['OrderNo'] = this.orderNo;
data['PatientID'] = this.patientID;
data['PharmacyRemarks'] = this.pharmacyRemarks;
data['PrescriptionDatetime'] = this.prescriptionDatetime;
data['PrescriptionNo'] = this.prescriptionNo;
data['ProcessedBy'] = this.processedBy;
data['ProjectID'] = this.projectID;
data['RefillID'] = this.refillID;
data['RefillType'] = this.refillType;
data['RefillTypeN'] = this.refillTypeN;
data['ReviewedPharmacist'] = this.reviewedPharmacist;
data['RoomId'] = this.roomId;
data['Route'] = this.route;
data['RouteId'] = this.routeId;
data['RouteN'] = this.routeN;
data['SetupID'] = this.setupID;
data['StartDatetime'] = this.startDatetime;
data['Status'] = this.status;
data['StatusDescription'] = this.statusDescription;
data['StatusDescriptionN'] = this.statusDescriptionN;
data['StopDatetime'] = this.stopDatetime;
data['UnitofMeasurement'] = this.unitofMeasurement;
data['UnitofMeasurementDescription'] = this.unitofMeasurementDescription;
data['UnitofMeasurementDescriptionN'] = this.unitofMeasurementDescriptionN;
return data;
}
}

@ -0,0 +1,64 @@
class RequestPrescriptionReportForInPatient {
int patientID;
int projectID;
int admissionNo;
int languageID;
String stamp;
String iPAdress;
double versionID;
int channel;
String tokenID;
String sessionID;
bool isLoginForDoctorApp;
bool patientOutSA;
int patientTypeID;
RequestPrescriptionReportForInPatient(
{this.patientID,
this.projectID,
this.admissionNo,
this.languageID,
this.stamp,
this.iPAdress,
this.versionID,
this.channel,
this.tokenID,
this.sessionID,
this.isLoginForDoctorApp,
this.patientOutSA,
this.patientTypeID});
RequestPrescriptionReportForInPatient.fromJson(Map<String, dynamic> json) {
patientID = json['PatientID'];
projectID = json['ProjectID'];
admissionNo = json['AdmissionNo'];
languageID = json['LanguageID'];
stamp = json['stamp'];
iPAdress = json['IPAdress'];
versionID = json['VersionID'];
channel = json['Channel'];
tokenID = json['TokenID'];
sessionID = json['SessionID'];
isLoginForDoctorApp = json['IsLoginForDoctorApp'];
patientOutSA = json['PatientOutSA'];
patientTypeID = json['PatientTypeID'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['PatientID'] = this.patientID;
data['ProjectID'] = this.projectID;
data['AdmissionNo'] = this.admissionNo;
data['LanguageID'] = this.languageID;
data['stamp'] = this.stamp;
data['IPAdress'] = this.iPAdress;
data['VersionID'] = this.versionID;
data['Channel'] = this.channel;
data['TokenID'] = this.tokenID;
data['SessionID'] = this.sessionID;
data['IsLoginForDoctorApp'] = this.isLoginForDoctorApp;
data['PatientOutSA'] = this.patientOutSA;
data['PatientTypeID'] = this.patientTypeID;
return data;
}
}

@ -6,6 +6,7 @@ import 'package:doctor_app_flutter/models/patient/lab_orders_res_model.dart';
import 'package:doctor_app_flutter/models/patient/lab_result.dart';
import 'package:doctor_app_flutter/models/patient/lab_result_req_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/models/patient/prescription_report_for_in_patient.dart';
import 'package:doctor_app_flutter/models/patient/prescription_res_model.dart';
import 'package:doctor_app_flutter/models/patient/radiology_res_model.dart';
import 'package:flutter/cupertino.dart';
@ -25,8 +26,7 @@ import '../util/helpers.dart';
Helpers helpers = Helpers();
class PatientsProvider with ChangeNotifier
{
class PatientsProvider with ChangeNotifier {
bool isLoading = false;
bool isError = false;
String error = '';
@ -35,10 +35,10 @@ class PatientsProvider with ChangeNotifier
List<LabOrdersResModel> patientLabResultOrdersList = [];
List<PrescriptionResModel> patientPrescriptionsList = [];
List<RadiologyResModel> patientRadiologyList = [];
List<PrescriptionReportForInPatient> prescriptionReportForInPatientList = [];
/*@author: ibrahe albitar
*@Date:2/6/2020
/*@author: ibrahe albitar
*@Date:2/6/2020
*@desc: getPatientPrescriptions
*/
@ -48,7 +48,7 @@ class PatientsProvider with ChangeNotifier
var insuranceApporvalsList = [];
Client client =
HttpClientWithInterceptor.build(interceptors: [HttpInterceptor()]);
HttpClientWithInterceptor.build(interceptors: [HttpInterceptor()]);
PatiantInformtion _selectedPatient;
@ -211,17 +211,15 @@ class PatientsProvider with ChangeNotifier
*@Date:3/5/2020
*@param: patient
*@return:
*@desc: getPatientPrescriptions
*@desc: geOutPatientPrescriptions
*/
getOutPatientPrescriptions(patient) async {
// isLoading = true;
// notifyListeners();
setBasicData();
try {
if (await Helpers.checkConnection()) {
final response =
await AppClient.post(GET_PRESCRIPTION, body: json.encode(patient));
await AppClient.post(GET_PRESCRIPTION, body: json.encode(patient));
final int statusCode = response.statusCode;
isLoading = false;
@ -253,6 +251,37 @@ class PatientsProvider with ChangeNotifier
}
}
/*@author: Mohammad Aljammal
*@Date:4/6/2020
*@param: patient
*@return:
*@desc: getInPatientPrescriptions
*/
getInPatientPrescriptions(patient) async {
setBasicData();
try {
prescriptionReportForInPatientList = [];
notifyListeners();
await BaseAppClient.post(
'DoctorApplication.svc/REST/GetPrescriptionReportForInPatient',
onSuccess: (dynamic response, int statusCode) {
response['List_PrescriptionReportForInPatient'].forEach((v) {
prescriptionReportForInPatientList
.add(PrescriptionReportForInPatient.fromJson(v));
});
isError = false;
isLoading = false;
}, onFailure: (String error, int statusCode) {
isError = true;
this.error = error;
}, body: patient);
notifyListeners();
} catch (err) {
handelCatchErrorCase(err);
}
}
/*@author: Elham Rababah
*@Date:12/5/2020
*@param: patient
@ -280,7 +309,7 @@ class PatientsProvider with ChangeNotifier
try {
if (await Helpers.checkConnection()) {
final response =
await AppClient.post(GET_RADIOLOGY, body: json.encode(patient));
await AppClient.post(GET_RADIOLOGY, body: json.encode(patient));
final int statusCode = response.statusCode;
isLoading = false;
@ -311,7 +340,6 @@ class PatientsProvider with ChangeNotifier
}
}
getLabResult(LabOrdersResModel labOrdersResModel) async {
labResultList.clear();
isLoading = true;
@ -321,15 +349,14 @@ class PatientsProvider with ChangeNotifier
requestLabResult.orderNo = labOrdersResModel.orderNo;
requestLabResult.invoiceNo = labOrdersResModel.invoiceNo;
requestLabResult.patientTypeID = labOrdersResModel.patientType;
await BaseAppClient.post(
'DoctorApplication.svc/REST/GetPatientLabResults',
await BaseAppClient.post('DoctorApplication.svc/REST/GetPatientLabResults',
onSuccess: (dynamic response, int statusCode) {
isError = false;
isLoading = false;
response['List_GetLabNormal'].forEach((v) {
labResultList.add(new LabResult.fromJson(v));
});
}, onFailure: (String error, int statusCode) {
isError = false;
isLoading = false;
response['List_GetLabNormal'].forEach((v) {
labResultList.add(new LabResult.fromJson(v));
});
}, onFailure: (String error, int statusCode) {
isError = true;
isLoading = false;
this.error = error;
@ -337,13 +364,12 @@ class PatientsProvider with ChangeNotifier
notifyListeners();
}
getPatientInsuranceApprovals(patient) async {
setBasicData();
try {
if (await Helpers.checkConnection()) {
final response = await AppClient.post(
PATIENT_INSURANCE_APPROVALS_URL, body: json.encode(patient));
final response = await AppClient.post(PATIENT_INSURANCE_APPROVALS_URL,
body: json.encode(patient));
final int statusCode = response.statusCode;
isLoading = false;
@ -372,44 +398,40 @@ class PatientsProvider with ChangeNotifier
}
}
/*@author: ibrahe albitar
*@Date:2/6/2020
/*@author: ibrahe albitar
*@Date:2/6/2020
*@desc: getPatientPrescriptions
*/
getPatientProgressNote(patient) async {
setBasicData();
try {
if (await Helpers.checkConnection()) {
final response = await AppClient.post(PATIENT_PROGRESS_NOTE_URL,
body: json.encode(patient));
final int statusCode = response.statusCode;
isLoading = false;
if (statusCode < 200 || statusCode >= 400 || json == null) {
isError = true;
error = 'Error While Fetching data';
setBasicData();
try {
if (await Helpers.checkConnection()) {
final response = await AppClient.post(PATIENT_PROGRESS_NOTE_URL,
body: json.encode(patient));
final int statusCode = response.statusCode;
isLoading = false;
if (statusCode < 200 || statusCode >= 400 || json == null) {
isError = true;
error = 'Error While Fetching data';
} else {
var res = json.decode(response.body);
print('$res');
if (res['MessageStatus'] == 1) {
patientProgressNoteList = res['List_GetPregressNoteForInPatient'];
} else {
var res = json.decode(response.body);
print('$res');
if (res['MessageStatus'] == 1) {
patientProgressNoteList = res['List_GetPregressNoteForInPatient'];
} else {
isError = true;
error = res['ErrorMessage'] ?? res['ErrorEndUserMessage'];
}
isError = true;
error = res['ErrorMessage'] ?? res['ErrorEndUserMessage'];
}
} else {
isLoading = false;
isError = true;
error = 'Please Check The Internet Connection';
}
notifyListeners();
} catch (err) {
handelCatchErrorCase(err);
} else {
isLoading = false;
isError = true;
error = 'Please Check The Internet Connection';
}
notifyListeners();
} catch (err) {
handelCatchErrorCase(err);
}
}
}

@ -1,3 +1,4 @@
import 'package:doctor_app_flutter/models/patient/reauest_prescription_report_for_in_patient.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/large_avatar.dart';
import 'package:doctor_app_flutter/widgets/shared/card_with_bgNew_widget.dart';
import 'package:flutter/cupertino.dart';
@ -47,14 +48,23 @@ class _PrescriptionScreenState extends State<PrescriptionScreen> {
String token = await sharedPref.getString(TOKEN);
String type = await sharedPref.getString(SLECTED_PATIENT_TYPE);
PrescriptionReqModel prescriptionReqModel = PrescriptionReqModel(
patientID: patient.patientId,
projectID: patient.projectId,
tokenID: token,
patientTypeID: patient.patientType,
languageID: 2,
setupID: 0);
patientsProv.getOutPatientPrescriptions(prescriptionReqModel.toJson());
if (type == '1') {
RequestPrescriptionReportForInPatient prescriptionReqModel =
RequestPrescriptionReportForInPatient(
patientID: patient.patientId,
patientTypeID: patient.patientType,
admissionNo: int.parse(patient.admissionNo));
patientsProv.getInPatientPrescriptions(prescriptionReqModel.toJson());
} else {
PrescriptionReqModel prescriptionReqModel = PrescriptionReqModel(
patientID: patient.patientId,
projectID: patient.projectId,
tokenID: token,
patientTypeID: patient.patientType,
languageID: 2,
setupID: 0);
patientsProv.getOutPatientPrescriptions(prescriptionReqModel.toJson());
}
}
@override
@ -98,25 +108,38 @@ class _PrescriptionScreenState extends State<PrescriptionScreen> {
Row(
children: <Widget>[
LargeAvatar(
url: patientsProv.patientPrescriptionsList[index].doctorImageURL,name:patientsProv.patientPrescriptionsList[index].doctorName ,radius: 10,width: 70,),
url: patientsProv
.patientPrescriptionsList[index]
.doctorImageURL,
name: patientsProv
.patientPrescriptionsList[index]
.doctorName,
radius: 10,
width: 70,
),
Expanded(
child: Container(
margin: EdgeInsets.only(left: 15,right: 15),
margin: EdgeInsets.only(
left: 15, right: 15),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'${patientsProv.patientPrescriptionsList[index].name}',
fontSize: 2.5 * SizeConfig.textMultiplier,
fontSize: 2.5 *
SizeConfig.textMultiplier,
),
SizedBox(
height: 8,
),
AppText(
'${patientsProv.patientPrescriptionsList[index].clinicDescription}',
fontSize: 2.5 * SizeConfig.textMultiplier,
color: Theme.of(context).primaryColor),
fontSize: 2.5 *
SizeConfig
.textMultiplier,
color: Theme.of(context)
.primaryColor),
SizedBox(
height: 8,
),

Loading…
Cancel
Save