Merge branch 'development' into soap-objective-feature-re-design

merge-requests/442/head
mosazaid 4 years ago
commit 5f245b8c27

@ -152,7 +152,7 @@ class BaseAppClient {
: SETUP_ID;
}
body['VersionID'] = VERSION_ID;
body['VersionID'] = 6.3;
body['Channel'] = CHANNEL;
body['LanguageID'] = languageID == 'ar' ? 1 : 2;

@ -15,18 +15,18 @@ class InsuranceCardService extends BaseService {
List<InsuranceApprovalModel> get insuranceApproval => _insuranceApproval;
Future getInsuranceApproval(PatiantInformtion patient,{int appointmentNo}) async {
Future getInsuranceApproval(PatiantInformtion patient,{int appointmentNo , int projectId}) async {
hasError = false;
// _cardList.clear();
if (appointmentNo != null) {
_insuranceApprovalModel.appointmentNo = appointmentNo;
_insuranceApprovalModel.eXuldAPPNO = null;
_insuranceApprovalModel.projectID = null;
} else {
// if (appointmentNo != null) {
// _insuranceApprovalModel.appointmentNo = appointmentNo;
// _insuranceApprovalModel.eXuldAPPNO = null;
// _insuranceApprovalModel.projectID = projectId;
// } else {
_insuranceApprovalModel.appointmentNo = null;
_insuranceApprovalModel.eXuldAPPNO = 0;
_insuranceApprovalModel.projectID = 0;
}
// }
await baseAppClient.postPatient(GET_PAtIENTS_INSURANCE_APPROVALS,
patient: patient,

@ -14,12 +14,12 @@ class InsuranceViewModel extends BaseViewModel{
List<InsuranceApprovalModel> get insuranceApproval =>
_insuranceCardService.insuranceApproval;
Future getInsuranceApproval(PatiantInformtion patient,{int appointmentNo}) async {
Future getInsuranceApproval(PatiantInformtion patient,{int appointmentNo, int projectId}) async {
error = "";
setState(ViewState.Busy);
if (appointmentNo != null)
await _insuranceCardService.getInsuranceApproval(patient,
appointmentNo: appointmentNo);
appointmentNo: appointmentNo,projectId: projectId);
else
await _insuranceCardService.getInsuranceApproval(patient);
if (_insuranceCardService.hasError) {

@ -39,14 +39,15 @@ class DoctorReplyScreen extends StatelessWidget {
children:
model.listDoctorWorkingHoursTable.map((reply) {
return InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (BuildContext context) =>
DoctorReplayChat(reply: reply)));
},
child: DoctorReplyWidget(reply: reply));
onTap: () {
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (BuildContext context) =>
// DoctorReplayChat(reply: reply)));
},
child: DoctorReplyWidget(reply: reply),
);
}).toList(),
)
],

@ -1,8 +1,10 @@
import 'package:doctor_app_flutter/core/viewModel/medical_file_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/patients/profile/patient_profile_screen.dart';
import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart';
@ -14,6 +16,7 @@ import 'package:doctor_app_flutter/widgets/shared/expandable-widget-header-body.
import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart';
import 'package:eva_icons_flutter/eva_icons_flutter.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class MedicalFileDetails extends StatefulWidget {
String age;
@ -69,6 +72,7 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<MedicalFileViewModel>(
onModelReady: (model) => model.getMedicalFile(mrn: pp),
builder:
@ -184,7 +188,7 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
TranslationBase.of(context)
.episode +
": ",
fontWeight: FontWeight.w700,
//fontWeight: FontWeight.w700,
),
if (model.medicalFileList.length !=
0 &&
@ -216,7 +220,7 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
TranslationBase.of(context)
.visitDate +
": ",
fontWeight: FontWeight.w700,
//fontWeight: FontWeight.w700,
),
if (model.medicalFileList.length !=
0 &&
@ -230,15 +234,17 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.length !=
0)
AppText(
model
.medicalFileList[0]
.entityList[0]
.timelines[encounterNumber]
.timeLineEvents[0]
.consulations[0]
.appointmentDate
.toString(),
'${DateUtils.getDayMonthYearDateFormatted(DateUtils.getDateTimeFromServerFormat(
model
.medicalFileList[0]
.entityList[0]
.timelines[
encounterNumber]
.date,
), isArabic: projectViewModel.isArabic)}',
color: Colors.black,
fontWeight: FontWeight.w700,
fontSize: 14,
),
SizedBox(width: 35.0),
// AppText(

@ -42,7 +42,7 @@ class _InsuranceApprovalScreenNewState
return BaseView<InsuranceViewModel>(
onModelReady: patient.appointmentNo != null
? (model) => model.getInsuranceApproval(patient,
appointmentNo: patient.appointmentNo)
appointmentNo: patient.appointmentNo,projectId: patient.projectId)
: (model) => model.getInsuranceApproval(patient),
builder: (BuildContext context, InsuranceViewModel model, Widget child) =>
AppScaffold(

@ -37,7 +37,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
return BaseView<InsuranceViewModel>(
onModelReady: patient.appointmentNo != null
? (model) => model.getInsuranceApproval(patient,
appointmentNo: patient.appointmentNo)
appointmentNo: patient.appointmentNo,projectId: patient.projectId)
: (model) => model.getInsuranceApproval(patient),
builder: (BuildContext context, InsuranceViewModel model, Widget child) =>
AppScaffold(
@ -93,14 +93,12 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: [
Texts(
model.insuranceApproval[indexInsurance]
.approvalDetails.status,
model.insuranceApproval[indexInsurance].approvalDetails!=null?
model.insuranceApproval[indexInsurance].approvalDetails.status ??"":"",
color:
model.insuranceApproval[indexInsurance]
.approvalDetails.status ==
"Approved"
? Color(0xff359846)
: Color(0xffD02127),
model.insuranceApproval[indexInsurance].approvalDetails!=null?
"${model.insuranceApproval[indexInsurance].approvalDetails.status}"
== "Approved" ? Color(0xff359846) : Color(0xffD02127): Color(0xffD02127),
),
],
),
@ -210,9 +208,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Texts('Sample')
],
),
SizedBox(
height: 25.0,
),
Row(
children: [
Texts(
@ -315,8 +311,8 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
child: Texts(model
.insuranceApproval[
indexInsurance]
.approvalDetails
.procedureName),
?.approvalDetails
?.procedureName??""),
),
Container(
height: MediaQuery.of(context)
@ -330,8 +326,8 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
child: Texts(model
.insuranceApproval[
indexInsurance]
.approvalDetails
.status),
?.approvalDetails
?.status??""),
),
Container(
height: MediaQuery.of(context)
@ -345,8 +341,8 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
child: Texts(model
.insuranceApproval[
indexInsurance]
.approvalDetails
.isInvoicedDesc),
?.approvalDetails
?.isInvoicedDesc??""),
),
],
),

@ -167,15 +167,23 @@ class _PatientsScreenState extends State<PatientsScreen> {
var strExist = str.length > 0 ? true : false;
if (true) {
List<PatiantInformtion> filterDate = [];
String patiantAppointment = "";
for (var i = 0; i < responseModelList2.length; i++) {
String patiantAppointment =
convertDateFormat(responseModelList[i].appointmentDate);
try {
if (responseModelList[i].appointmentDate == "") {
patiantAppointment = responseModelList[i].arrivedOn;
} else {
patiantAppointment =
convertDateFormat(responseModelList[i].appointmentDate);
}
String dateAppointment = checkDate(patiantAppointment);
String dateAppointment = checkDate(patiantAppointment);
if (dateAppointment.contains(str)) {
filterDate.add(responseModelList[i]);
if (dateAppointment.contains(str) || str == 'All') {
filterDate.add(responseModelList[i]);
}
} catch (e) {
print(e);
}
}
@ -441,17 +449,18 @@ class _PatientsScreenState extends State<PatientsScreen> {
},
)),
Padding(
padding: EdgeInsets.only(
top: MediaQuery.of(context)
.size
.height *
0.03),
child: SERVICES_PATIANT2[
int.parse(patientType)] ==
"List_MyOutPatient"
? _locationBar(context)
: Container(),
),
padding: EdgeInsets.only(
top: MediaQuery.of(context)
.size
.height *
0.03),
child: _locationBar(context)
// child: SERVICES_PATIANT2[
// int.parse(patientType)] ==
// "List_MyOutPatient"
// ? _locationBar(context)
// : Container(),
),
// Row(
// mainAxisAlignment:
// MainAxisAlignment.spaceEvenly,

@ -19,7 +19,13 @@ class RadiologyDetailsPage extends StatelessWidget {
final PatiantInformtion patient;
final String patientType;
final String arrivalType;
RadiologyDetailsPage({Key key, this.finalRadiology, this.patient, this.patientType, this.arrivalType});
RadiologyDetailsPage(
{Key key,
this.finalRadiology,
this.patient,
this.patientType,
this.arrivalType});
@override
Widget build(BuildContext context) {
@ -30,66 +36,72 @@ class RadiologyDetailsPage extends StatelessWidget {
lineItem: finalRadiology.invoiceLineItemNo,
invoiceNo: finalRadiology.invoiceNo),
builder: (_, model, widget) => AppScaffold(
appBar: PatientProfileHeaderWhitAppointmentAppBar(
patient: patient,
patientType: patientType??"0",
arrivalType: arrivalType??"0",
orderNo: finalRadiology.orderNo.toString(),
appointmentDate:finalRadiology.orderDate,
doctorName: finalRadiology.doctorName,
profileUrl: finalRadiology.doctorImageURL,
invoiceNO: finalRadiology.invoiceNo.toString(),
),
isShowAppBar: true,
baseViewModel: model,
body: SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Container(
margin: EdgeInsets.all(8),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(12),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(height: 5,),
Texts(TranslationBase.of(context).generalResult),
SizedBox(height: 5,),
Padding(
padding: const EdgeInsets.all(8.0),
child: Texts(
'${finalRadiology.reportData.trim()}',
textAlign: TextAlign.start,
fontSize: 17,
color: Colors.grey,
),
appBar: PatientProfileHeaderWhitAppointmentAppBar(
patient: patient,
patientType: patientType ?? "0",
arrivalType: arrivalType ?? "0",
appointmentDate: finalRadiology.orderDate,
doctorName: finalRadiology.doctorName,
profileUrl: finalRadiology.doctorImageURL,
invoiceNO: finalRadiology.invoiceNo.toString(),
),
isShowAppBar: true,
baseViewModel: model,
body: SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Container(
margin: EdgeInsets.all(8),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(12),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(
height: 5,
),
Texts(TranslationBase.of(context).generalResult),
SizedBox(
height: 5,
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Texts(
'${finalRadiology.reportData.trim()}',
textAlign: TextAlign.start,
fontSize: 17,
color: Colors.grey,
),
SizedBox(height: 25,),
if(model.radImageURL.isNotEmpty)
Center(
child: Container(
width: MediaQuery.of(context).size.width * 0.8,
child: Button(
),
SizedBox(
height: 100,
),
color: Colors.red,
onTap: () {
launch(model.radImageURL);
},
title: TranslationBase.of(context).openRad,
),
),
),
],
),
],
),
],
),
),
],
),
),
bottomSheet: model.radImageURL.isNotEmpty ?Container(
width: double.maxFinite,
height: 100,
child: Container(
margin: EdgeInsets.only(left: 35,right: 35,top: 12,bottom: 12),
child: Button(
color: Colors.red,
onTap: () {
launch(model.radImageURL);
},
title: TranslationBase.of(context).openRad,
),
),
):null,
),
);
}
}

@ -124,7 +124,6 @@ class RadiologyHomePage extends StatelessWidget {
invoiceNO: '${model.radiologyList[index].invoiceNo}',
branch: '${model.radiologyList[index].projectName}',
appointmentDate: model.radiologyList[index].orderDate,
orderNo: model.radiologyList[index].orderNo.toString(),
),
)),

@ -100,13 +100,25 @@ class PrescriptionItemsPage extends StatelessWidget {
Row(
children: [
Texts(TranslationBase.of(context).route,color: Colors.grey,),
Expanded(child: Texts(model.prescriptionReportList[index].routeN)),
Expanded(child: Texts(" "+model.prescriptionReportList[index].routeN)),
],
),
Row(
children: [
Texts(TranslationBase.of(context).frequency,color: Colors.grey,),
Texts(model.prescriptionReportList[index].frequencyN ?? ''),
Texts(" "+model.prescriptionReportList[index].frequencyN ?? ''),
],
),
Row(
children: [
Texts(TranslationBase.of(context).dailyDoses,color: Colors.grey,),
Texts(" "+model.prescriptionReportList[index].doseDailyQuantity ?? ''),
],
),
Row(
children: [
Texts(TranslationBase.of(context).duration,color: Colors.grey,),
Texts(" "+model.prescriptionReportList[index].days.toString() ?? ''),
],
),
SizedBox(height: 12,),
@ -178,13 +190,25 @@ class PrescriptionItemsPage extends StatelessWidget {
Row(
children: [
Texts(TranslationBase.of(context).route,color: Colors.grey,),
Expanded(child: Texts(model.prescriptionReportEnhList[index].route??'')),
Expanded(child: Texts(" "+model.prescriptionReportEnhList[index].route??'')),
],
),
Row(
children: [
Texts(TranslationBase.of(context).frequency,color: Colors.grey,),
Texts(model.prescriptionReportEnhList[index].frequency ?? ''),
Texts(" "+model.prescriptionReportEnhList[index].frequency ?? ''),
],
),
Row(
children: [
Texts(TranslationBase.of(context).dailyDoses,color: Colors.grey,),
Texts(" "+model.prescriptionReportEnhList[index].doseDailyQuantity.toString() ?? ''),
],
),
Row(
children: [
Texts(TranslationBase.of(context).duration,color: Colors.grey,),
Texts(" "+model.prescriptionReportList[index].days.toString() ?? ''),
],
),
SizedBox(height: 12,),

@ -54,7 +54,7 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred
" " +
Helpers.capitalize(
patient.lastName)) : Helpers.capitalize(patient.patientDetails.fullName),
fontSize: SizeConfig.textMultiplier *2.5,
fontSize: SizeConfig.textMultiplier *2.2,
fontWeight: FontWeight.bold,
backGroundcolor: Colors.white,
fontFamily: 'Poppins',
@ -79,71 +79,70 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred
height: 60,
child: Image.asset(
gender == 1
? 'assets/images/male_avatar.png'
: 'assets/images/female_avatar.png',
fit: BoxFit.cover,
? 'assets/images/male_avatar.png'
: 'assets/images/female_avatar.png',
fit: BoxFit.cover,
),
),
),
),
SizedBox(
width: 10,
),
Expanded(
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
SERVICES_PATIANT2[
int.parse(patientType)] ==
"patientArrivalList"
? Container(
child: Row(
mainAxisAlignment:
MainAxisAlignment
.spaceBetween,
children: [
patient.patientStatusType ==
43
? AppText(
TranslationBase.of(
context)
.arrivedP,
color: Colors.green,
fontWeight:
FontWeight.bold,
fontFamily:
'Poppins',
fontSize: 12,
)
: AppText(
TranslationBase.of(
context)
.notArrived,
color:
Colors.red[800],
fontWeight:
FontWeight.bold,
fontFamily:
'Poppins',
fontSize: 12,
),
arrivalType == '1'
? AppText(
patient.startTime !=
null
? patient
.startTime
: '',
fontFamily:
'Poppins',
fontWeight:
FontWeight.w600,
)
: AppText(
DateUtils.convertStringToDateFormat(
patient
.arrivedOn,
'MM-dd-yyyy HH:mm'),
SizedBox(
width: 10,
),
Expanded(
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
SERVICES_PATIANT2[
int.parse(patientType)] ==
"patientArrivalList"
? Container(
child: Row(
mainAxisAlignment:
MainAxisAlignment
.spaceBetween,
children: [
patient.patientStatusType ==
43
? AppText(
TranslationBase.of(
context)
.arrivedP,
color: Colors.green,
fontWeight:
FontWeight.bold,
fontFamily:
'Poppins',
fontSize: 12,
)
: AppText(
TranslationBase.of(
context)
.notArrived,
color:
Colors.red[800],
fontWeight:
FontWeight.bold,
fontFamily:
'Poppins',
fontSize: 12,
),
arrivalType == '1'
? AppText(
patient.startTime !=
null
? patient
.startTime
: '',
fontFamily:
'Poppins',
fontWeight:
FontWeight.w600,
)
: AppText(
patient.arrivedOn!=null? DateUtils.convertStringToDateFormat(
patient.arrivedOn,
'MM-dd-yyyy HH:mm'):'',
fontFamily:
'Poppins',
fontWeight:

@ -57,7 +57,7 @@ class PatientProfileHeaderNewDesign extends StatelessWidget {
" " +
Helpers.capitalize(patient.lastName))
: Helpers.capitalize(patient.patientDetails.fullName),
fontSize: SizeConfig.textMultiplier * 2.5,
fontSize: SizeConfig.textMultiplier * 2.2,
fontWeight: FontWeight.bold,
backGroundcolor: Colors.white,
fontFamily: 'Poppins',

@ -77,7 +77,7 @@ class PatientProfileHeaderWhitAppointment extends StatelessWidget {
" " +
Helpers.capitalize(
patient.lastName)) : Helpers.capitalize(patient.patientDetails.fullName),
fontSize: SizeConfig.textMultiplier *2.5,
fontSize: SizeConfig.textMultiplier *2.2,
fontWeight: FontWeight.bold,
backGroundcolor: Colors.white,
fontFamily: 'Poppins',

@ -77,7 +77,7 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre
" " +
Helpers.capitalize(
patient.lastName)) : Helpers.capitalize(patient.patientDetails.fullName),
fontSize: SizeConfig.textMultiplier *2.5,
fontSize: SizeConfig.textMultiplier *2.2,
fontWeight: FontWeight.bold,
backGroundcolor: Colors.white,
fontFamily: 'Poppins',

Loading…
Cancel
Save