InPatient Medical Report continued

Dev_3.3_MedicalReportCR
haroon amjad 2 years ago
parent 9b3c07d3b1
commit a17b941c63

@ -1891,4 +1891,6 @@ const Map localizedValues = {
"updateInsuranceManuallyDialog": {"en": "Would you like to update your insurance manually?", "ar": "هل ترغب في تحديث التأمين الخاص بك يدويًا؟"},
"viewReport": {"en": "View Report", "ar": "عرض التقرير"},
"sickLeaveAdmittedPatient": {"en": "You cannot activate this sick leave since you're an admitted patient.", "ar": "لا يمكنك تفعيل هذه الإجازة المرضية لأنك مريض مقبل."},
"dischargeDate": {"en": "Discharge Date", "ar": "تاريخ التفريغ"},
"selectAdmissionText": {"en": "Please select one of the admissions from below to view medical reports:", "ar": "يرجى تحديد أحد حالات القبول من الأسفل لعرض التقارير الطبية:"},
};

@ -0,0 +1,228 @@
class AdmissionMedicalReport {
int rowID;
String setupID;
int projectID;
int admissionNo;
String admissionDate;
int admissionRequestNo;
int admissionType;
int patientType;
int patientID;
int clinicID;
int doctorID;
int admittingClinicID;
int admittingDoctorID;
int categoryID;
String roomID;
String bedID;
String dischargeDate;
int approvalNo;
dynamic relativeID;
String registrationDate;
String firstName;
String middleName;
String lastName;
String firstNameN;
String middleNameN;
String lastNameN;
int patientCategory;
int gender;
String dateofBirth;
String dateofBirthN;
String nationalityID;
String firstVisit;
String lastVisit;
int noOfVisit;
String mobileNumber;
String patientIdentificationNo;
int sTATUS;
int admissionStatus;
int buildingID;
String buildingDescription;
String buildingDescriptionN;
int floorID;
int bedGender;
int tariffType;
dynamic cRSVerificationStatus;
String nursingStationID;
String description;
String clinicName;
String doctorNameObj;
int patientDataVerified;
String projectName;
dynamic projectNameN;
String statusDescription;
String statusDescriptionN;
AdmissionMedicalReport(
{this.rowID,
this.setupID,
this.projectID,
this.admissionNo,
this.admissionDate,
this.admissionRequestNo,
this.admissionType,
this.patientType,
this.patientID,
this.clinicID,
this.doctorID,
this.admittingClinicID,
this.admittingDoctorID,
this.categoryID,
this.roomID,
this.bedID,
this.dischargeDate,
this.approvalNo,
this.relativeID,
this.registrationDate,
this.firstName,
this.middleName,
this.lastName,
this.firstNameN,
this.middleNameN,
this.lastNameN,
this.patientCategory,
this.gender,
this.dateofBirth,
this.dateofBirthN,
this.nationalityID,
this.firstVisit,
this.lastVisit,
this.noOfVisit,
this.mobileNumber,
this.patientIdentificationNo,
this.sTATUS,
this.admissionStatus,
this.buildingID,
this.buildingDescription,
this.buildingDescriptionN,
this.floorID,
this.bedGender,
this.tariffType,
this.cRSVerificationStatus,
this.nursingStationID,
this.description,
this.clinicName,
this.doctorNameObj,
this.patientDataVerified,
this.projectName,
this.projectNameN,
this.statusDescription,
this.statusDescriptionN});
AdmissionMedicalReport.fromJson(Map<String, dynamic> json) {
rowID = json['RowID'];
setupID = json['SetupID'];
projectID = json['ProjectID'];
admissionNo = json['AdmissionNo'];
admissionDate = json['AdmissionDate'];
admissionRequestNo = json['AdmissionRequestNo'];
admissionType = json['AdmissionType'];
patientType = json['PatientType'];
patientID = json['PatientID'];
clinicID = json['ClinicID'];
doctorID = json['DoctorID'];
admittingClinicID = json['AdmittingClinicID'];
admittingDoctorID = json['AdmittingDoctorID'];
categoryID = json['CategoryID'];
roomID = json['RoomID'];
bedID = json['BedID'];
dischargeDate = json['DischargeDate'];
approvalNo = json['ApprovalNo'];
relativeID = json['RelativeID'];
registrationDate = json['RegistrationDate'];
firstName = json['FirstName'];
middleName = json['MiddleName'];
lastName = json['LastName'];
firstNameN = json['FirstNameN'];
middleNameN = json['MiddleNameN'];
lastNameN = json['LastNameN'];
patientCategory = json['PatientCategory'];
gender = json['Gender'];
dateofBirth = json['DateofBirth'];
dateofBirthN = json['DateofBirthN'];
nationalityID = json['NationalityID'];
firstVisit = json['FirstVisit'];
lastVisit = json['LastVisit'];
noOfVisit = json['NoOfVisit'];
mobileNumber = json['MobileNumber'];
patientIdentificationNo = json['PatientIdentificationNo'];
sTATUS = json['STATUS'];
admissionStatus = json['AdmissionStatus'];
buildingID = json['BuildingID'];
buildingDescription = json['BuildingDescription'];
buildingDescriptionN = json['BuildingDescriptionN'];
floorID = json['FloorID'];
bedGender = json['BedGender'];
tariffType = json['TariffType'];
cRSVerificationStatus = json['CRSVerificationStatus'];
nursingStationID = json['NursingStationID'];
description = json['Description'];
clinicName = json['ClinicName'];
doctorNameObj = json['DoctorNameObj'];
patientDataVerified = json['PatientDataVerified'];
projectName = json['ProjectName'];
projectNameN = json['ProjectNameN'];
statusDescription = json['StatusDescription'];
statusDescriptionN = json['StatusDescriptionN'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['RowID'] = this.rowID;
data['SetupID'] = this.setupID;
data['ProjectID'] = this.projectID;
data['AdmissionNo'] = this.admissionNo;
data['AdmissionDate'] = this.admissionDate;
data['AdmissionRequestNo'] = this.admissionRequestNo;
data['AdmissionType'] = this.admissionType;
data['PatientType'] = this.patientType;
data['PatientID'] = this.patientID;
data['ClinicID'] = this.clinicID;
data['DoctorID'] = this.doctorID;
data['AdmittingClinicID'] = this.admittingClinicID;
data['AdmittingDoctorID'] = this.admittingDoctorID;
data['CategoryID'] = this.categoryID;
data['RoomID'] = this.roomID;
data['BedID'] = this.bedID;
data['DischargeDate'] = this.dischargeDate;
data['ApprovalNo'] = this.approvalNo;
data['RelativeID'] = this.relativeID;
data['RegistrationDate'] = this.registrationDate;
data['FirstName'] = this.firstName;
data['MiddleName'] = this.middleName;
data['LastName'] = this.lastName;
data['FirstNameN'] = this.firstNameN;
data['MiddleNameN'] = this.middleNameN;
data['LastNameN'] = this.lastNameN;
data['PatientCategory'] = this.patientCategory;
data['Gender'] = this.gender;
data['DateofBirth'] = this.dateofBirth;
data['DateofBirthN'] = this.dateofBirthN;
data['NationalityID'] = this.nationalityID;
data['FirstVisit'] = this.firstVisit;
data['LastVisit'] = this.lastVisit;
data['NoOfVisit'] = this.noOfVisit;
data['MobileNumber'] = this.mobileNumber;
data['PatientIdentificationNo'] = this.patientIdentificationNo;
data['STATUS'] = this.sTATUS;
data['AdmissionStatus'] = this.admissionStatus;
data['BuildingID'] = this.buildingID;
data['BuildingDescription'] = this.buildingDescription;
data['BuildingDescriptionN'] = this.buildingDescriptionN;
data['FloorID'] = this.floorID;
data['BedGender'] = this.bedGender;
data['TariffType'] = this.tariffType;
data['CRSVerificationStatus'] = this.cRSVerificationStatus;
data['NursingStationID'] = this.nursingStationID;
data['Description'] = this.description;
data['ClinicName'] = this.clinicName;
data['DoctorNameObj'] = this.doctorNameObj;
data['PatientDataVerified'] = this.patientDataVerified;
data['ProjectName'] = this.projectName;
data['ProjectNameN'] = this.projectNameN;
data['StatusDescription'] = this.statusDescription;
data['StatusDescriptionN'] = this.statusDescriptionN;
return data;
}
}

@ -1,12 +1,17 @@
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/reports/Reports.dart';
import 'package:diplomaticquarterapp/core/model/reports/admission_for_medical_report.dart';
import 'package:diplomaticquarterapp/core/model/reports/request_reports.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
import 'package:diplomaticquarterapp/pages/feedback/appointment_history.dart';
class ReportsService extends BaseService {
List<Reports> reportsList = List();
List<Reports> inpatientReportsList = List();
List<AppointmentHistory> appointHistoryList = List();
List<AdmissionMedicalReport> admissionsMedicalReport = List();
String userAgreementContent = "";
RequestReports _requestReports = RequestReports(isReport: true, encounterType: 1, requestType: 1, patientOutSA: 0, projectID: 0);
@ -23,13 +28,27 @@ class ReportsService extends BaseService {
}, body: _requestReports.toJson());
}
Future getInPatientReports() async {
RequestReports _requestReportsInpatient = RequestReports(isReport: true, encounterType: 1, requestType: 2, patientOutSA: 0, projectID: 0);
hasError = false;
await baseAppClient.post(REPORTS, onSuccess: (dynamic response, int statusCode) {
inpatientReportsList.clear();
response['GetPatientMedicalStatus'].forEach((reports) {
inpatientReportsList.add(Reports.fromJson(reports));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: _requestReportsInpatient.toJson());
}
Future getInpatientAdmissionsList() async {
hasError = false;
await baseAppClient.post(GET_INPATIENT_ADMISSIONS, onSuccess: (dynamic response, int statusCode) {
reportsList.clear();
admissionsMedicalReport.clear();
print(response['AdmissionsForMedicalReport']);
response['AdmissionsForMedicalReport'].forEach((reports) {
// reportsList.add(Reports.fromJson(reports));
admissionsMedicalReport.add(AdmissionMedicalReport.fromJson(reports));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
@ -105,6 +124,28 @@ class ReportsService extends BaseService {
}, body: body);
}
Future insertRequestForInPatientMedicalReport(int clinicID, int doctorID, String setupID, int admissionNo, int projectID) async {
Map<String, dynamic> body = new Map<String, dynamic>();
body['ClinicID'] = clinicID;
body['DoctorID'] = doctorID;
body['SetupID'] = setupID;
body['EncounterNo'] = admissionNo;
body['EncounterType'] = 2; // appointmentHistory.appointmentType;
body['IsActive'] = true;
body['ProjectID'] = projectID;
body['Remarks'] = "";
body['ProcedureId'] = "";
body['RequestType'] = 2;
body['Source'] = 2;
body['Status'] = 1;
body['CreatedBy'] = 102;
hasError = false;
await baseAppClient.post(INSERT_REQUEST_FOR_MEDICAL_REPORT, onSuccess: (dynamic response, int statusCode) {}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
Future sendEmailForMedicalReport(String projectName, String clinicName, String doctorName, String requestDate, String invoiceNo, int projectID, String stamp, String setupID) async {
Map<String, dynamic> body = new Map<String, dynamic>();
body['SetupID'] = setupID;

@ -1,3 +1,4 @@
import 'package:diplomaticquarterapp/core/model/reports/admission_for_medical_report.dart';
import 'package:diplomaticquarterapp/pages/feedback/appointment_history.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
@ -15,17 +16,20 @@ class ReportsViewModel extends BaseViewModel {
List<Reports> reportsOrderRequestList = List();
List<Reports> reportsOrderReadyList = List();
List<Reports> reportsOrderCompletedList = List();
List<Reports> reportsOrderCanceledList = List();
List<AppointmentHistory> get appointHistoryList =>
_reportsService.appointHistoryList;
List<Reports> reportsInPatientOrderRequestList = List();
List<Reports> reportsInPatientOrderReadyList = List();
List<Reports> reportsInPatientOrderCanceledList = List();
List<AppointmentHistory> get appointHistoryList => _reportsService.appointHistoryList;
List<AdmissionMedicalReport> get admissionsMedicalReportList => _reportsService.admissionsMedicalReport;
getReports() async {
setState(ViewState.Busy);
reportsOrderRequestList.clear();
reportsOrderReadyList.clear();
reportsOrderCompletedList.clear();
reportsOrderCanceledList.clear();
await _reportsService.getReports();
if (_reportsService.hasError) {
@ -38,6 +42,21 @@ class ReportsViewModel extends BaseViewModel {
}
}
getInPatientReports() async {
setState(ViewState.Busy);
reportsInPatientOrderRequestList.clear();
reportsInPatientOrderReadyList.clear();
reportsInPatientOrderCanceledList.clear();
await _reportsService.getInPatientReports();
if (_reportsService.hasError) {
error = _reportsService.error;
setState(ViewState.Error);
} else {
_filterInPatientList();
setState(ViewState.Idle);
}
}
getPatentAppointmentHistory() async {
setState(ViewState.Busy);
await _reportsService.getPatentAppointmentHistory();
@ -49,6 +68,23 @@ class ReportsViewModel extends BaseViewModel {
}
}
void _filterInPatientList() {
_reportsService.inpatientReportsList.forEach((report) {
switch (report.status) {
case 1:
reportsInPatientOrderRequestList.add(report);
break;
case 2:
reportsInPatientOrderReadyList.add(report);
break;
case 4:
reportsInPatientOrderCanceledList.add(report);
break;
default:
}
});
}
void _filterList() {
_reportsService.reportsList.forEach((report) {
switch (report.status) {
@ -58,9 +94,6 @@ class ReportsViewModel extends BaseViewModel {
case 2:
reportsOrderReadyList.add(report);
break;
case 3:
reportsOrderCompletedList.add(report);
break;
case 4:
reportsOrderCanceledList.add(report);
break;
@ -69,17 +102,31 @@ class ReportsViewModel extends BaseViewModel {
});
}
insertRequestForMedicalReport(AppointmentHistory appointmentHistory, String mes) async {
setState(ViewState.Busy);
await _reportsService.insertRequestForMedicalReport(appointmentHistory);
if (_reportsService.hasError) {
error = _reportsService.error;
AppToast.showErrorToast(message: error);
setState(ViewState.ErrorLocal);
} else {
AppToast.showSuccessToast(message: mes);
getInPatientReports();
setState(ViewState.Idle);
}
}
insertRequestForMedicalReport(AppointmentHistory appointmentHistory,String mes)async{
setState(ViewState.Busy);
await _reportsService.insertRequestForMedicalReport(appointmentHistory);
if (_reportsService.hasError) {
error = _reportsService.error;
AppToast.showErrorToast(message: error);
setState(ViewState.ErrorLocal);
} else {
AppToast.showSuccessToast(message: mes);
setState(ViewState.Idle);
}
insertRequestForInPatientMedicalReport(int clinicID, int doctorID, String setupID, int admissionNo, int projectID, String mes) async {
setState(ViewState.Busy);
await _reportsService.insertRequestForInPatientMedicalReport(clinicID, doctorID, setupID, admissionNo, projectID);
if (_reportsService.hasError) {
error = _reportsService.error;
AppToast.showErrorToast(message: error);
setState(ViewState.ErrorLocal);
} else {
AppToast.showSuccessToast(message: mes);
setState(ViewState.Idle);
}
}
}

@ -0,0 +1,132 @@
import 'package:diplomaticquarterapp/core/model/reports/admission_for_medical_report.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/reports_view_model.dart';
import 'package:diplomaticquarterapp/extensions/string_extensions.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/reports/report_list_widget.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/ConfirmWithMessageDialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart';
class InPatientMedicalReports extends StatefulWidget {
final AdmissionMedicalReport admissionMedicalReport;
InPatientMedicalReports({@required this.admissionMedicalReport});
@override
State<InPatientMedicalReports> createState() => _InPatientMedicalReportsState();
}
class _InPatientMedicalReportsState extends State<InPatientMedicalReports> {
int _currentPage = 0;
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return BaseView<ReportsViewModel>(
onModelReady: (model) {
model.getInPatientReports();
},
builder: (_, model, widget) => AppScaffold(
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).newMedReport,
title: TranslationBase.of(context).medReport,
showNewAppBar: true,
showNewAppBarTitle: true,
backgroundColor: Color(0xffF7F7F7),
body: Container(
child: Column(
children: [
Padding(
padding: EdgeInsets.all(21),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
myRadioButton(TranslationBase.of(context).requested, 0),
myRadioButton(TranslationBase.of(context).ready, 1),
myRadioButton(TranslationBase.of(context).cancelled, 2),
],
),
),
Expanded(
child: IndexedStack(
index: _currentPage,
children: [
ReportListWidget(reportList: model.reportsInPatientOrderRequestList, emailAddress: model.user.emailAddress),
ReportListWidget(reportList: model.reportsInPatientOrderReadyList, emailAddress: model.user.emailAddress),
ReportListWidget(reportList: model.reportsInPatientOrderCanceledList, emailAddress: model.user.emailAddress),
],
),
),
Padding(
padding: EdgeInsets.only(top: 16, bottom: 16, right: 21, left: 21),
child: DefaultButton(
TranslationBase.of(context).requestMedicalReport.toLowerCase().capitalizeFirstofEach,
() {
confirmBox(model);
},
),
),
],
),
),
),
);
}
void confirmBox(ReportsViewModel reportsViewModel) {
showDialog(
context: context,
builder: (cxt) => ConfirmWithMessageDialog(
message: TranslationBase.of(context).confirmMsgReport,
onTap: () => reportsViewModel.insertRequestForInPatientMedicalReport(widget.admissionMedicalReport.clinicID, widget.admissionMedicalReport.doctorID, widget.admissionMedicalReport.setupID,
widget.admissionMedicalReport.admissionNo, widget.admissionMedicalReport.projectID, TranslationBase.of(context).successSendReport),
),
);
return;
}
Widget myRadioButton(String _label, int _value) {
return InkWell(
onTap: () {
setState(() {
_currentPage = _value;
});
},
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
SizedBox(
width: 22,
height: 22,
child: Radio(
value: _value,
activeColor: _value == _currentPage ? Color(0xffD02127) : Color(0xffE8E8E8),
groupValue: _currentPage,
onChanged: (index) {
setState(() {
_currentPage = index;
});
},
),
),
SizedBox(width: 10),
Text(
_label,
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
color: Color(0xff575757),
letterSpacing: -0.56,
),
),
],
),
);
}
}

@ -1,14 +1,21 @@
import 'dart:ui';
import 'package:diplomaticquarterapp/core/model/ImagesInfo.dart';
import 'package:diplomaticquarterapp/core/model/reports/admission_for_medical_report.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/reports_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/extensions/string_extensions.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/reports/inpatient_medical_reports_page.dart';
import 'package:diplomaticquarterapp/pages/medical/reports/report_list_widget.dart';
import 'package:diplomaticquarterapp/pages/medical/reports/reports_page.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/my_rich_text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
@ -28,9 +35,6 @@ class _HomeReportPageState extends State<HomeReportPage> with SingleTickerProvid
@override
void initState() {
_tabController_new = TabController(length: 2, vsync: this);
WidgetsBinding.instance.addPostFrameCallback((_) {
getInPatientAdmissionList();
});
super.initState();
}
@ -50,7 +54,9 @@ class _HomeReportPageState extends State<HomeReportPage> with SingleTickerProvid
imagesInfo.add(ImagesInfo(
imageEn: 'https://hmgwebservices.com/Images/MobileApp/imges-info/medical-reorts/en/2.png', imageAr: 'https://hmgwebservices.com/Images/MobileApp/imges-info/medical-reorts/ar/2.png'));
return BaseView<ReportsViewModel>(
onModelReady: (model) => model.getReports(), //model.getPrescriptions(),
onModelReady: (model) {
model.getReports();
},
builder: (_, model, widget) => AppScaffold(
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).newMedReport,
@ -87,11 +93,11 @@ class _HomeReportPageState extends State<HomeReportPage> with SingleTickerProvid
},
tabs: [
Text(
TranslationBase.of(context).inPatient,
TranslationBase.of(context).outpatient,
style: TextStyle(fontFamily: projectViewModel.isArabic ? 'Cairo' : 'Poppins'),
),
Text(
TranslationBase.of(context).outpatient,
TranslationBase.of(context).inPatient,
style: TextStyle(fontFamily: projectViewModel.isArabic ? 'Cairo' : 'Poppins'),
),
],
@ -102,7 +108,6 @@ class _HomeReportPageState extends State<HomeReportPage> with SingleTickerProvid
physics: BouncingScrollPhysics(),
controller: _tabController_new,
children: <Widget>[
Container(),
Container(
child: Column(
children: [
@ -129,11 +134,118 @@ class _HomeReportPageState extends State<HomeReportPage> with SingleTickerProvid
)
],
),
),
// InPatient Medical Reports
Container(
child: model.admissionsMedicalReportList.isNotEmpty
? Column(
children: [
Padding(
padding: const EdgeInsets.all(16.0),
child: Text(
TranslationBase.of(context).selectAdmissionText,
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16),
),
),
ListView.separated(
physics: BouncingScrollPhysics(),
shrinkWrap: true,
padding: EdgeInsets.only(left: 21, right: 21, top: 12, bottom: 12),
itemBuilder: (context, index) {
AdmissionMedicalReport admissionMedicalReport = model.admissionsMedicalReportList[index];
return InkWell(
onTap: () {
Navigator.push(
context,
FadePage(
page: InPatientMedicalReports(
admissionMedicalReport: admissionMedicalReport,
)));
},
child: Container(
// height: 100.0,
decoration: BoxDecoration(
borderRadius: BorderRadius.all(
Radius.circular(10.0),
),
boxShadow: [
BoxShadow(
color: Color(0xff000000).withOpacity(.05),
blurRadius: 27,
offset: Offset(0, -3),
),
],
color: Colors.white),
child: Padding(
padding: const EdgeInsets.all(12.0),
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
TranslationBase.of(context).dr + " " + admissionMedicalReport.doctorNameObj,
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16),
),
Column(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Text(DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(admissionMedicalReport.admissionDate)),
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.48, height: 18 / 12)),
Text(admissionMedicalReport.projectName,
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.48, height: 18 / 12)),
],
),
],
),
Row(
children: [
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
if (admissionMedicalReport.clinicName != null)
MyRichText(TranslationBase.of(context).clinic + ":", admissionMedicalReport.clinicName, projectViewModel.isArabic),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
MyRichText(
TranslationBase.of(context).status + ":",
projectViewModel.isArabic ? admissionMedicalReport.statusDescriptionN : admissionMedicalReport.statusDescription,
projectViewModel.isArabic),
Icon(
Icons.arrow_forward,
color: Theme.of(context).primaryColor,
)
],
),
],
),
),
],
)
],
),
),
),
);
},
separatorBuilder: (context, index) => SizedBox(
height: 16.0,
),
itemCount: model.admissionsMedicalReportList.length),
],
)
: getNoDataWidget(context),
)
],
),
),
if (projectViewModel.havePrivilege(21) && _tabController_new.index == 1)
if (projectViewModel.havePrivilege(21) && _tabController_new.index == 0)
Padding(
padding: EdgeInsets.only(top: 16, bottom: 16, right: 21, left: 21),
child: DefaultButton(
@ -193,6 +305,4 @@ class _HomeReportPageState extends State<HomeReportPage> with SingleTickerProvid
),
);
}
void getInPatientAdmissionList() {}
}

@ -91,8 +91,8 @@ class ReportListWidget extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
if (report.projectName != null) MyRichText(TranslationBase.of(context).clinic + ":", report.projectName, projectViewModel.isArabic),
if (report.clinicDescription != null) MyRichText(TranslationBase.of(context).hospital + ":", report.clinicDescription, projectViewModel.isArabic),
if (report.projectName != null) MyRichText(TranslationBase.of(context).hospital + ":", report.projectName, projectViewModel.isArabic),
if (report.clinicDescription != null) MyRichText(TranslationBase.of(context).clinic + ":", report.clinicDescription, projectViewModel.isArabic),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
mainAxisSize: MainAxisSize.max,

@ -2900,6 +2900,8 @@ class TranslationBase {
String get updateInsuranceManuallyDialog => localizedValues["updateInsuranceManuallyDialog"][locale.languageCode];
String get viewReport => localizedValues["viewReport"][locale.languageCode];
String get sickLeaveAdmittedPatient => localizedValues["sickLeaveAdmittedPatient"][locale.languageCode];
String get dischargeDate => localizedValues["dischargeDate"][locale.languageCode];
String get selectAdmissionText => localizedValues["selectAdmissionText"][locale.languageCode];
}

Loading…
Cancel
Save