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

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

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

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

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

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

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

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

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

@ -167,16 +167,24 @@ class _PatientsScreenState extends State<PatientsScreen> {
var strExist = str.length > 0 ? true : false; var strExist = str.length > 0 ? true : false;
if (true) { if (true) {
List<PatiantInformtion> filterDate = []; List<PatiantInformtion> filterDate = [];
String patiantAppointment = "";
for (var i = 0; i < responseModelList2.length; i++) { for (var i = 0; i < responseModelList2.length; i++) {
String patiantAppointment = try {
if (responseModelList[i].appointmentDate == "") {
patiantAppointment = responseModelList[i].arrivedOn;
} else {
patiantAppointment =
convertDateFormat(responseModelList[i].appointmentDate); convertDateFormat(responseModelList[i].appointmentDate);
}
String dateAppointment = checkDate(patiantAppointment); String dateAppointment = checkDate(patiantAppointment);
if (dateAppointment.contains(str)) { if (dateAppointment.contains(str) || str == 'All') {
filterDate.add(responseModelList[i]); filterDate.add(responseModelList[i]);
} }
} catch (e) {
print(e);
}
} }
setState(() { setState(() {
@ -446,11 +454,12 @@ class _PatientsScreenState extends State<PatientsScreen> {
.size .size
.height * .height *
0.03), 0.03),
child: SERVICES_PATIANT2[ child: _locationBar(context)
int.parse(patientType)] == // child: SERVICES_PATIANT2[
"List_MyOutPatient" // int.parse(patientType)] ==
? _locationBar(context) // "List_MyOutPatient"
: Container(), // ? _locationBar(context)
// : Container(),
), ),
// Row( // Row(
// mainAxisAlignment: // mainAxisAlignment:

@ -19,7 +19,13 @@ class RadiologyDetailsPage extends StatelessWidget {
final PatiantInformtion patient; final PatiantInformtion patient;
final String patientType; final String patientType;
final String arrivalType; 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 @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -32,10 +38,9 @@ class RadiologyDetailsPage extends StatelessWidget {
builder: (_, model, widget) => AppScaffold( builder: (_, model, widget) => AppScaffold(
appBar: PatientProfileHeaderWhitAppointmentAppBar( appBar: PatientProfileHeaderWhitAppointmentAppBar(
patient: patient, patient: patient,
patientType: patientType??"0", patientType: patientType ?? "0",
arrivalType: arrivalType??"0", arrivalType: arrivalType ?? "0",
orderNo: finalRadiology.orderNo.toString(), appointmentDate: finalRadiology.orderDate,
appointmentDate:finalRadiology.orderDate,
doctorName: finalRadiology.doctorName, doctorName: finalRadiology.doctorName,
profileUrl: finalRadiology.doctorImageURL, profileUrl: finalRadiology.doctorImageURL,
invoiceNO: finalRadiology.invoiceNo.toString(), invoiceNO: finalRadiology.invoiceNo.toString(),
@ -56,9 +61,13 @@ class RadiologyDetailsPage extends StatelessWidget {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
SizedBox(height: 5,), SizedBox(
height: 5,
),
Texts(TranslationBase.of(context).generalResult), Texts(TranslationBase.of(context).generalResult),
SizedBox(height: 5,), SizedBox(
height: 5,
),
Padding( Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: Texts( child: Texts(
@ -68,13 +77,22 @@ class RadiologyDetailsPage extends StatelessWidget {
color: Colors.grey, color: Colors.grey,
), ),
), ),
SizedBox(height: 25,), SizedBox(
if(model.radImageURL.isNotEmpty) height: 100,
Center( ),
],
),
),
],
),
),
bottomSheet: model.radImageURL.isNotEmpty ?Container(
width: double.maxFinite,
height: 100,
child: Container( child: Container(
width: MediaQuery.of(context).size.width * 0.8, margin: EdgeInsets.only(left: 35,right: 35,top: 12,bottom: 12),
child: Button( child: Button(
color: Colors.red, color: Colors.red,
onTap: () { onTap: () {
launch(model.radImageURL); launch(model.radImageURL);
@ -82,13 +100,7 @@ class RadiologyDetailsPage extends StatelessWidget {
title: TranslationBase.of(context).openRad, title: TranslationBase.of(context).openRad,
), ),
), ),
), ):null,
],
),
),
],
),
),
), ),
); );
} }

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

@ -100,13 +100,25 @@ class PrescriptionItemsPage extends StatelessWidget {
Row( Row(
children: [ children: [
Texts(TranslationBase.of(context).route,color: Colors.grey,), Texts(TranslationBase.of(context).route,color: Colors.grey,),
Expanded(child: Texts(model.prescriptionReportList[index].routeN)), Expanded(child: Texts(" "+model.prescriptionReportList[index].routeN)),
], ],
), ),
Row( Row(
children: [ children: [
Texts(TranslationBase.of(context).frequency,color: Colors.grey,), 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,), SizedBox(height: 12,),
@ -178,13 +190,25 @@ class PrescriptionItemsPage extends StatelessWidget {
Row( Row(
children: [ children: [
Texts(TranslationBase.of(context).route,color: Colors.grey,), Texts(TranslationBase.of(context).route,color: Colors.grey,),
Expanded(child: Texts(model.prescriptionReportEnhList[index].route??'')), Expanded(child: Texts(" "+model.prescriptionReportEnhList[index].route??'')),
], ],
), ),
Row( Row(
children: [ children: [
Texts(TranslationBase.of(context).frequency,color: Colors.grey,), 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,), SizedBox(height: 12,),

@ -54,7 +54,7 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred
" " + " " +
Helpers.capitalize( Helpers.capitalize(
patient.lastName)) : Helpers.capitalize(patient.patientDetails.fullName), patient.lastName)) : Helpers.capitalize(patient.patientDetails.fullName),
fontSize: SizeConfig.textMultiplier *2.5, fontSize: SizeConfig.textMultiplier *2.2,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
backGroundcolor: Colors.white, backGroundcolor: Colors.white,
fontFamily: 'Poppins', fontFamily: 'Poppins',
@ -140,10 +140,9 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred
FontWeight.w600, FontWeight.w600,
) )
: AppText( : AppText(
DateUtils.convertStringToDateFormat( patient.arrivedOn!=null? DateUtils.convertStringToDateFormat(
patient patient.arrivedOn,
.arrivedOn, 'MM-dd-yyyy HH:mm'):'',
'MM-dd-yyyy HH:mm'),
fontFamily: fontFamily:
'Poppins', 'Poppins',
fontWeight: fontWeight:

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

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

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

Loading…
Cancel
Save