Merge branch 'fix-issues' into 'development'

Fix issues

See merge request Cloud_Solution/doctor_app_flutter!381
merge-requests/382/merge
Mohammad Aljammal 5 years ago
commit 2d1528e30e

@ -3,7 +3,9 @@ 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/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.dart';
import 'package:doctor_app_flutter/widgets/shared/Text.dart'; import 'package:doctor_app_flutter/widgets/shared/Text.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
@ -19,6 +21,7 @@ class MedicalFileDetails extends StatefulWidget {
String gender; String gender;
int encounterNumber; int encounterNumber;
int pp; int pp;
PatiantInformtion patient;
MedicalFileDetails( MedicalFileDetails(
{this.age, {this.age,
@ -26,7 +29,8 @@ class MedicalFileDetails extends StatefulWidget {
this.lastName, this.lastName,
this.gender, this.gender,
this.encounterNumber, this.encounterNumber,
this.pp}); this.pp,
this.patient});
@override @override
_MedicalFileDetailsState createState() => _MedicalFileDetailsState( _MedicalFileDetailsState createState() => _MedicalFileDetailsState(
@ -35,7 +39,9 @@ class MedicalFileDetails extends StatefulWidget {
lastName: lastName, lastName: lastName,
gender: gender, gender: gender,
encounterNumber: encounterNumber, encounterNumber: encounterNumber,
pp: pp); pp: pp,
patient: patient,
);
} }
class _MedicalFileDetailsState extends State<MedicalFileDetails> { class _MedicalFileDetailsState extends State<MedicalFileDetails> {
@ -45,6 +51,7 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
String lastName; String lastName;
String gender; String gender;
int pp; int pp;
PatiantInformtion patient;
_MedicalFileDetailsState( _MedicalFileDetailsState(
{this.age, {this.age,
@ -52,7 +59,8 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
this.lastName, this.lastName,
this.gender, this.gender,
this.encounterNumber, this.encounterNumber,
this.pp}); this.pp,
this.patient});
bool isPhysicalExam = false; bool isPhysicalExam = false;
bool isProcedureExpand = false; bool isProcedureExpand = false;
bool isHistoryExpand = false; bool isHistoryExpand = false;
@ -72,60 +80,10 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
child: SingleChildScrollView( child: SingleChildScrollView(
child: Center( child: Center(
child: Container( child: Container(
color: Colors.white,
child: Column( child: Column(
children: [ children: [
Padding( PatientProfileHeaderNewDesign(patient,
padding: EdgeInsets.all(8.0), patient.patientType.toString(), patient.arrivedOn),
child: Row(
children: <Widget>[
AvatarWidget(
Icon(
gender == "Male"
? DoctorApp.male
: DoctorApp.female_icon,
size: 70,
color: Colors.white,
),
),
SizedBox(
width: 20,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
firstName + ' ' + lastName,
color: Colors.black,
fontWeight: FontWeight.bold,
),
Row(
children: [
AppText(
TranslationBase.of(context).age2,
color: Colors.black,
fontWeight: FontWeight.bold,
),
SizedBox(
width: 5.0,
),
AppText(
age,
color: Colors.black,
fontWeight: FontWeight.normal,
),
],
),
],
)
],
),
),
Divider(
height: 1.0,
thickness: 1.0,
color: Colors.grey,
),
model.medicalFileList.length != 0 && model.medicalFileList.length != 0 &&
model model
.medicalFileList[0] .medicalFileList[0]
@ -138,87 +96,100 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
? Padding( ? Padding(
padding: EdgeInsets.all(10.0), padding: EdgeInsets.all(10.0),
child: Container( child: Container(
child: Column(
children: [
Container(
width: double.infinity,
margin: EdgeInsets.only(
top: 10, left: 10, right: 10),
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(
Radius.circular(10.0),
),
border: Border.all(
color: Colors.grey[200], width: 0.5),
),
child: Column( child: Column(
children: [ children: [
Row( Row(
children: [ children: [
AppText( if (model.medicalFileList.length !=
TranslationBase.of(context).visitDate + 0 &&
": ",
fontWeight: FontWeight.w700,
),
if (model.medicalFileList.length != 0 &&
model model
.medicalFileList[0] .medicalFileList[0]
.entityList[0] .entityList[0]
.timelines[encounterNumber] .timelines[
encounterNumber]
.timeLineEvents[0] .timeLineEvents[0]
.consulations .consulations
.length != .length !=
0) 0)
AppText(model Expanded(
child: AppText(
model
.medicalFileList[0] .medicalFileList[0]
.entityList[0] .entityList[0]
.timelines[encounterNumber] .timelines[
encounterNumber]
.timeLineEvents[0] .timeLineEvents[0]
.consulations[0] .consulations[0]
.appointmentDate .doctorName
.toString()), .toUpperCase(),
SizedBox(width: 35.0), fontWeight: FontWeight.w700,
// AppText( ),
// 'Appt Date : ', ),
// fontWeight: FontWeight.w700,
// ),
// AppText(
// '23/12/2020',
// ),
], ],
), ),
if (model.medicalFileList.length != 0)
Row( Row(
children: [ children: [
AppText( AppText(
TranslationBase.of(context).doctorName + TranslationBase.of(context)
": ".toUpperCase(), .clinic +
fontWeight: FontWeight.w700, ": ",
), ),
if (model.medicalFileList.length != 0 && if (model.medicalFileList
.length !=
0 &&
model model
.medicalFileList[0] .medicalFileList[0]
.entityList[0] .entityList[0]
.timelines[encounterNumber] .timelines[
encounterNumber]
.timeLineEvents[0] .timeLineEvents[0]
.consulations .consulations
.length != .length !=
0) 0)
Expanded( AppText(
child: AppText(
model model
.medicalFileList[0] .medicalFileList[0]
.entityList[0] .entityList[0]
.timelines[encounterNumber] .timelines[
encounterNumber]
.timeLineEvents[0] .timeLineEvents[0]
.consulations[0] .consulations[0]
.doctorName .clinicName,
.toUpperCase(),
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
), ),
),
], ],
), ),
if (model.medicalFileList.length != 0)
Row( Row(
children: [ children: [
AppText( AppText(
TranslationBase.of(context) TranslationBase.of(context)
.clinicName + .episode +
": ", ": ",
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
), ),
if (model.medicalFileList.length != 0 && if (model.medicalFileList.length !=
0 &&
model model
.medicalFileList[0] .medicalFileList[0]
.entityList[0] .entityList[0]
.timelines[encounterNumber] .timelines[
encounterNumber]
.timeLineEvents[0] .timeLineEvents[0]
.consulations .consulations
.length != .length !=
@ -230,22 +201,27 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.timelines[encounterNumber] .timelines[encounterNumber]
.timeLineEvents[0] .timeLineEvents[0]
.consulations[0] .consulations[0]
.clinicName, .episodeID
.toString(),
fontWeight: FontWeight.w700,
), ),
], ],
), ),
Row( Row(
children: [ children: [
AppText( AppText(
TranslationBase.of(context).episode + TranslationBase.of(context)
.visitDate +
": ", ": ",
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
), ),
if (model.medicalFileList.length != 0 && if (model.medicalFileList.length !=
0 &&
model model
.medicalFileList[0] .medicalFileList[0]
.entityList[0] .entityList[0]
.timelines[encounterNumber] .timelines[
encounterNumber]
.timeLineEvents[0] .timeLineEvents[0]
.consulations .consulations
.length != .length !=
@ -257,17 +233,24 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.timelines[encounterNumber] .timelines[encounterNumber]
.timeLineEvents[0] .timeLineEvents[0]
.consulations[0] .consulations[0]
.episodeID .appointmentDate
.toString(), .toString(),
fontWeight: FontWeight.w700,
),
SizedBox(width: 35.0),
// AppText(
// 'Appt Date : ',
// fontWeight: FontWeight.w700,
// ),
// AppText(
// '23/12/2020',
// ),
],
), ),
], ],
), ),
SizedBox(height: 15.0),
Divider(
height: 1.0,
thickness: 1.0,
color: Colors.grey.shade400,
), ),
SizedBox(height: 25.0), SizedBox(height: 25.0),
if (model.medicalFileList.length != 0 && if (model.medicalFileList.length != 0 &&
model model
@ -278,7 +261,23 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.consulations .consulations
.length != .length !=
0) 0)
HeaderBodyExpandableNotifier( Container(
width: double.infinity,
margin: EdgeInsets.only(
top: 10, left: 10, right: 10),
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(
Radius.circular(10.0),
),
border: Border.all(
color: Colors.grey[200],
width: 0.5),
),
child: Padding(
padding: const EdgeInsets.all(15.0),
child: HeaderBodyExpandableNotifier(
headerWidget: Row( headerWidget: Row(
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.spaceBetween, MainAxisAlignment.spaceBetween,
@ -286,7 +285,8 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
Row( Row(
children: [ children: [
Texts( Texts(
TranslationBase.of(context) TranslationBase.of(
context)
.historyOfPresentIllness .historyOfPresentIllness
.toUpperCase(), .toUpperCase(),
variant: isHistoryExpand variant: isHistoryExpand
@ -294,7 +294,7 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
: '', : '',
bold: isHistoryExpand bold: isHistoryExpand
? true ? true
: false, : true,
color: Colors.black), color: Colors.black),
], ],
), ),
@ -311,7 +311,8 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
], ],
), ),
bodyWidget: ListView.builder( bodyWidget: ListView.builder(
//physics: , physics:
NeverScrollableScrollPhysics(),
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
shrinkWrap: true, shrinkWrap: true,
itemCount: model itemCount: model
@ -322,14 +323,15 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.consulations[0] .consulations[0]
.lstCheifComplaint .lstCheifComplaint
.length, .length,
itemBuilder: itemBuilder: (BuildContext ctxt,
(BuildContext ctxt, int index) { int index) {
return Padding( return Padding(
padding: EdgeInsets.all(8.0), padding: EdgeInsets.all(8.0),
child: Container( child: Container(
child: Column( child: Column(
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.center, MainAxisAlignment
.center,
children: [ children: [
Row( Row(
children: [ children: [
@ -338,19 +340,22 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
model model
.medicalFileList[ .medicalFileList[
0] 0]
.entityList[0] .entityList[
0]
.timelines[ .timelines[
encounterNumber] encounterNumber]
.timeLineEvents[ .timeLineEvents[
0] 0]
.consulations[0] .consulations[
0]
.lstCheifComplaint[ .lstCheifComplaint[
index] index]
.hOPI .hOPI
.trim(), .trim(),
), ),
), ),
SizedBox(width: 35.0), SizedBox(
width: 35.0),
], ],
), ),
], ],
@ -360,14 +365,12 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
}), }),
isExpand: isHistoryExpand, isExpand: isHistoryExpand,
), ),
SizedBox(
height: 30,
), ),
Container(
width: double.infinity,
height: 1,
color: Color(0xffCCCCCC),
), ),
// SizedBox(
// height: 30,
// ),
SizedBox( SizedBox(
height: 30, height: 30,
), ),
@ -380,7 +383,23 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.consulations .consulations
.length != .length !=
0) 0)
HeaderBodyExpandableNotifier( Container(
width: double.infinity,
margin: EdgeInsets.only(
top: 10, left: 10, right: 10),
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(
Radius.circular(10.0),
),
border: Border.all(
color: Colors.grey[200],
width: 0.5),
),
child: Padding(
padding: const EdgeInsets.all(15.0),
child: HeaderBodyExpandableNotifier(
headerWidget: Row( headerWidget: Row(
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.spaceBetween, MainAxisAlignment.spaceBetween,
@ -388,15 +407,17 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
Row( Row(
children: [ children: [
Texts( Texts(
TranslationBase.of(context) TranslationBase.of(
context)
.assessment .assessment
.toUpperCase(), .toUpperCase(),
variant: isAssessmentExpand variant:
isAssessmentExpand
? "bodyText" ? "bodyText"
: '', : '',
bold: isAssessmentExpand bold: isAssessmentExpand
? true ? true
: false, : true,
color: Colors.black), color: Colors.black),
], ],
), ),
@ -413,7 +434,8 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
], ],
), ),
bodyWidget: ListView.builder( bodyWidget: ListView.builder(
//physics: , physics:
NeverScrollableScrollPhysics(),
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
shrinkWrap: true, shrinkWrap: true,
itemCount: model itemCount: model
@ -424,21 +446,23 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.consulations[0] .consulations[0]
.lstAssessments .lstAssessments
.length, .length,
itemBuilder: itemBuilder: (BuildContext ctxt,
(BuildContext ctxt, int index) { int index) {
return Padding( return Padding(
padding: EdgeInsets.all(8.0), padding: EdgeInsets.all(8.0),
child: Container( child: Container(
child: Column( child: Column(
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.center, MainAxisAlignment
.center,
children: [ children: [
Row( Row(
children: [ children: [
AppText( AppText(
'ICD', 'ICD',
fontWeight: fontWeight:
FontWeight.w700, FontWeight
.w700,
), ),
AppText( AppText(
model model
@ -447,18 +471,22 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.entityList[0] .entityList[0]
.timelines[ .timelines[
encounterNumber] encounterNumber]
.timeLineEvents[0] .timeLineEvents[
.consulations[0] 0]
.consulations[
0]
.lstAssessments[ .lstAssessments[
index] index]
.iCD10 .iCD10
.trim(), .trim(),
), ),
SizedBox(width: 35.0), SizedBox(
width: 35.0),
AppText( AppText(
'Condition: ', 'Condition: ',
fontWeight: fontWeight:
FontWeight.w700, FontWeight
.w700,
), ),
AppText( AppText(
model model
@ -467,8 +495,10 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.entityList[0] .entityList[0]
.timelines[ .timelines[
encounterNumber] encounterNumber]
.timeLineEvents[0] .timeLineEvents[
.consulations[0] 0]
.consulations[
0]
.lstAssessments[ .lstAssessments[
index] index]
.condition .condition
@ -485,13 +515,16 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.entityList[0] .entityList[0]
.timelines[ .timelines[
encounterNumber] encounterNumber]
.timeLineEvents[0] .timeLineEvents[
.consulations[0] 0]
.consulations[
0]
.lstAssessments[ .lstAssessments[
index] index]
.description, .description,
fontWeight: fontWeight:
FontWeight.w700, FontWeight
.w700,
) )
], ],
), ),
@ -500,14 +533,17 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
AppText( AppText(
'Type: ', 'Type: ',
fontWeight: fontWeight:
FontWeight.w700, FontWeight
.w700,
), ),
AppText(model AppText(model
.medicalFileList[0] .medicalFileList[
0]
.entityList[0] .entityList[0]
.timelines[ .timelines[
encounterNumber] encounterNumber]
.timeLineEvents[0] .timeLineEvents[
0]
.consulations[0] .consulations[0]
.lstAssessments[ .lstAssessments[
index] index]
@ -519,13 +555,15 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
), ),
AppText( AppText(
model model
.medicalFileList[0] .medicalFileList[
0]
.entityList[0] .entityList[0]
.timelines[ .timelines[
encounterNumber] encounterNumber]
.timeLineEvents[0] .timeLineEvents[0]
.consulations[0] .consulations[0]
.lstAssessments[index] .lstAssessments[
index]
.remarks .remarks
.trim(), .trim(),
), ),
@ -544,14 +582,16 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
}), }),
isExpand: isAssessmentExpand, isExpand: isAssessmentExpand,
), ),
SizedBox(
height: 30,
), ),
Container(
width: double.infinity,
height: 1,
color: Color(0xffCCCCCC),
), ),
// SizedBox(
// height: 30,
// ),
// Container(
// width: double.infinity,
// height: 1,
// color: Color(0xffCCCCCC),
// ),
SizedBox( SizedBox(
height: 30, height: 30,
), ),
@ -564,7 +604,23 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.consulations .consulations
.length != .length !=
0) 0)
HeaderBodyExpandableNotifier( Container(
width: double.infinity,
margin: EdgeInsets.only(
top: 10, left: 10, right: 10),
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(
Radius.circular(10.0),
),
border: Border.all(
color: Colors.grey[200],
width: 0.5),
),
child: Padding(
padding: const EdgeInsets.all(15.0),
child: HeaderBodyExpandableNotifier(
headerWidget: Row( headerWidget: Row(
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.spaceBetween, MainAxisAlignment.spaceBetween,
@ -572,7 +628,8 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
Row( Row(
children: [ children: [
Texts( Texts(
TranslationBase.of(context) TranslationBase.of(
context)
.test .test
.toUpperCase(), .toUpperCase(),
variant: isProcedureExpand variant: isProcedureExpand
@ -580,7 +637,7 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
: '', : '',
bold: isProcedureExpand bold: isProcedureExpand
? true ? true
: false, : true,
color: Colors.black), color: Colors.black),
], ],
), ),
@ -609,61 +666,85 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.consulations[0] .consulations[0]
.lstProcedure .lstProcedure
.length, .length,
itemBuilder: itemBuilder: (BuildContext ctxt,
(BuildContext ctxt, int index) { int index) {
return Padding( return Padding(
padding: EdgeInsets.all(8.0), padding: EdgeInsets.all(8.0),
child: Container( child: Container(
child: Column( child: Column(
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.center, MainAxisAlignment
.center,
children: [ children: [
Row( Row(
children: [
Column(
children: [ children: [
AppText( AppText(
'Procedure ID: ', 'Procedure ID: ',
fontWeight: fontWeight:
FontWeight.w700, FontWeight
.w700,
), ),
AppText( AppText(
model model
.medicalFileList[ .medicalFileList[
0] 0]
.entityList[0] .entityList[
0]
.timelines[ .timelines[
encounterNumber] encounterNumber]
.timeLineEvents[0] .timeLineEvents[
.consulations[0] 0]
.consulations[
0]
.lstProcedure[ .lstProcedure[
index] index]
.procedureId .procedureId
.trim(), .trim(),
), ),
SizedBox(width: 35.0), ],
),
SizedBox(
width: 35.0),
Column(
children: [
AppText( AppText(
'Order Date: ', 'Order Date: ',
fontWeight: fontWeight:
FontWeight.w700, FontWeight
.w700,
), ),
Expanded( AppText(
child: AppText( Helpers.getDateFormatted(
DateTime
.parse(
model model
.medicalFileList[ .medicalFileList[
0] 0]
.entityList[0] .entityList[
0]
.timelines[ .timelines[
encounterNumber] encounterNumber]
.timeLineEvents[ .timeLineEvents[
0] 0]
.consulations[0] .consulations[
0]
.lstProcedure[ .lstProcedure[
index] index]
.orderDate .orderDate
.trim(), .trim(),
)),
fontSize:
13.5,
), ),
],
), ),
], ],
), ),
SizedBox(
height: 20.0,
),
Row( Row(
children: [ children: [
Expanded( Expanded(
@ -671,17 +752,20 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
model model
.medicalFileList[ .medicalFileList[
0] 0]
.entityList[0] .entityList[
0]
.timelines[ .timelines[
encounterNumber] encounterNumber]
.timeLineEvents[ .timeLineEvents[
0] 0]
.consulations[0] .consulations[
0]
.lstProcedure[ .lstProcedure[
index] index]
.procName, .procName,
fontWeight: fontWeight:
FontWeight.w700, FontWeight
.w700,
), ),
) )
], ],
@ -691,16 +775,20 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
AppText( AppText(
'CPT Code : ', 'CPT Code : ',
fontWeight: fontWeight:
FontWeight.w700, FontWeight
.w700,
), ),
AppText(model AppText(model
.medicalFileList[0] .medicalFileList[
0]
.entityList[0] .entityList[0]
.timelines[ .timelines[
encounterNumber] encounterNumber]
.timeLineEvents[0] .timeLineEvents[
0]
.consulations[0] .consulations[0]
.lstProcedure[index] .lstProcedure[
index]
.patientID .patientID
.toString()), .toString()),
], ],
@ -723,14 +811,16 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
}), }),
isExpand: isProcedureExpand, isExpand: isProcedureExpand,
), ),
SizedBox(
height: 30,
), ),
Container(
width: double.infinity,
height: 1,
color: Color(0xffCCCCCC),
), ),
// SizedBox(
// height: 30,
// ),
// Container(
// width: double.infinity,
// height: 1,
// color: Color(0xffCCCCCC),
// ),
SizedBox( SizedBox(
height: 30, height: 30,
), ),
@ -743,7 +833,23 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.consulations .consulations
.length != .length !=
0) 0)
HeaderBodyExpandableNotifier( Container(
width: double.infinity,
margin: EdgeInsets.only(
top: 10, left: 10, right: 10),
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(
Radius.circular(10.0),
),
border: Border.all(
color: Colors.grey[200],
width: 0.5),
),
child: Padding(
padding: const EdgeInsets.all(15.0),
child: HeaderBodyExpandableNotifier(
headerWidget: Row( headerWidget: Row(
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.spaceBetween, MainAxisAlignment.spaceBetween,
@ -751,7 +857,8 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
Row( Row(
children: [ children: [
Texts( Texts(
TranslationBase.of(context) TranslationBase.of(
context)
.physicalSystemExamination .physicalSystemExamination
.toUpperCase(), .toUpperCase(),
variant: isPhysicalExam variant: isPhysicalExam
@ -759,7 +866,7 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
: '', : '',
bold: isPhysicalExam bold: isPhysicalExam
? true ? true
: false, : true,
color: Colors.black), color: Colors.black),
], ],
), ),
@ -788,8 +895,8 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.consulations[0] .consulations[0]
.lstPhysicalExam .lstPhysicalExam
.length, .length,
itemBuilder: itemBuilder: (BuildContext ctxt,
(BuildContext ctxt, int index) { int index) {
return Padding( return Padding(
padding: EdgeInsets.all(8.0), padding: EdgeInsets.all(8.0),
child: Container( child: Container(
@ -800,14 +907,17 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
AppText( AppText(
'Exam Type: ', 'Exam Type: ',
fontWeight: fontWeight:
FontWeight.w700, FontWeight
.w700,
), ),
AppText(model AppText(model
.medicalFileList[0] .medicalFileList[
0]
.entityList[0] .entityList[0]
.timelines[ .timelines[
encounterNumber] encounterNumber]
.timeLineEvents[0] .timeLineEvents[
0]
.consulations[0] .consulations[0]
.lstPhysicalExam[ .lstPhysicalExam[
index] index]
@ -823,13 +933,16 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
.entityList[0] .entityList[0]
.timelines[ .timelines[
encounterNumber] encounterNumber]
.timeLineEvents[0] .timeLineEvents[
.consulations[0] 0]
.consulations[
0]
.lstPhysicalExam[ .lstPhysicalExam[
index] index]
.examDesc, .examDesc,
fontWeight: fontWeight:
FontWeight.w700, FontWeight
.w700,
) )
], ],
), ),
@ -838,14 +951,17 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
AppText( AppText(
'Abnormal: ', 'Abnormal: ',
fontWeight: fontWeight:
FontWeight.w700, FontWeight
.w700,
), ),
AppText(model AppText(model
.medicalFileList[0] .medicalFileList[
0]
.entityList[0] .entityList[0]
.timelines[ .timelines[
encounterNumber] encounterNumber]
.timeLineEvents[0] .timeLineEvents[
0]
.consulations[0] .consulations[0]
.lstPhysicalExam[ .lstPhysicalExam[
index] index]
@ -857,7 +973,8 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
), ),
AppText( AppText(
model model
.medicalFileList[0] .medicalFileList[
0]
.entityList[0] .entityList[0]
.timelines[ .timelines[
encounterNumber] encounterNumber]
@ -882,14 +999,16 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
}), }),
isExpand: isPhysicalExam, isExpand: isPhysicalExam,
), ),
),
),
SizedBox( SizedBox(
height: 30, height: 30,
), ),
Container( // Container(
width: double.infinity, // width: double.infinity,
height: 1, // height: 1,
color: Color(0xffCCCCCC), // color: Color(0xffCCCCCC),
), // ),
], ],
), ),
), ),

@ -1,14 +1,21 @@
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/config/size_config.dart';
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/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/medical-file/medical_file_details.dart'; import 'package:doctor_app_flutter/screens/medical-file/medical_file_details.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/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart'; import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
class MedicalFilePage extends StatefulWidget { class MedicalFilePage extends StatefulWidget {
@override @override
@ -21,6 +28,9 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
final routeArgs = ModalRoute.of(context).settings.arguments as Map; final routeArgs = ModalRoute.of(context).settings.arguments as Map;
patient = routeArgs['patient']; patient = routeArgs['patient'];
String patientType = routeArgs['patientType'];
String arrivalType = routeArgs['arrivalType'];
return BaseView<MedicalFileViewModel>( return BaseView<MedicalFileViewModel>(
onModelReady: (model) => model.getMedicalFile(mrn: patient.patientId), onModelReady: (model) => model.getMedicalFile(mrn: patient.patientId),
builder: builder:
@ -32,18 +42,45 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
baseViewModel: model, baseViewModel: model,
child: SingleChildScrollView( child: SingleChildScrollView(
child: Container( child: Container(
color: Colors.white,
child: Column( child: Column(
// mainAxisAlignment: model.medicalFileList.length != 0 && // mainAxisAlignment: model.medicalFileList.length != 0 &&
// model.medicalFileList != null // model.medicalFileList != null
// ? MainAxisAlignment.start // ? MainAxisAlignment.start
// : MainAxisAlignment.center, // : MainAxisAlignment.center,
children: [ children: [
PatientPageHeaderWidget(patient), PatientProfileHeaderNewDesign(
Divider( patient, patient.patientType.toString(), arrivalType),
height: 1.0, Padding(
thickness: 1.0, padding:
color: Colors.grey, EdgeInsets.symmetric(horizontal: 12.0, vertical: 8.0),
child: Container(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
Row(
children: [
AppText(
'Medical',
fontSize: 15.0,
fontWeight: FontWeight.w600,
fontFamily: 'Poppins',
),
],
),
Row(
children: [
AppText(
'Report',
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
],
),
],
),
),
),
), ),
(model.medicalFileList != null && (model.medicalFileList != null &&
model.medicalFileList.length != 0) model.medicalFileList.length != 0)
@ -60,67 +97,156 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
horizontal: 12.0, vertical: 8.0), horizontal: 12.0, vertical: 8.0),
child: InkWell( child: InkWell(
child: Container( child: Container(
width: double.infinity,
margin: EdgeInsets.only(
top: 10, left: 10, right: 10),
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(
Radius.circular(10.0),
),
border: Border.all(
color: Colors.grey[200], width: 0.5),
),
child: Column( child: Column(
children: [
Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [ children: [
Row( Row(
children: [ children: [
AppText( AppText(
TranslationBase.of(context).branch + model
": ", .medicalFileList[0]
.entityList[0]
.timelines[index]
.doctorName,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
fontSize: 17.0,
fontFamily: 'Poppins',
)
],
),
Row(
children: [
AppText(
Helpers.convertStringToDate(model
.medicalFileList[0]
.entityList[0]
.timelines[index]
.date)
.day
.toString() +
"/",
),
AppText(
Helpers.convertStringToDate(model
.medicalFileList[0]
.entityList[0]
.timelines[index]
.date)
.month
.toString() +
"/",
), ),
AppText(model AppText(
Helpers.convertStringToDate(
model
.medicalFileList[0] .medicalFileList[0]
.entityList[0] .entityList[0]
.timelines[index] .timelines[index]
.projectName), .date)
.year
.toString(),
),
],
)
],
),
Row(
mainAxisAlignment:
MainAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
ClipRRect(
borderRadius:
BorderRadius.all(
Radius.circular(30)),
child: Image.network(
'https://previews.123rf.com/images/yupiramos/yupiramos1705/yupiramos170524444/78443570-a-female-doctor-avatar-character-vector-illustration-design.jpg',
fit: BoxFit.cover,
width: 60,
height: 70,
),
),
], ],
), ),
),
Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Row( Row(
children: [ children: [
AppText( AppText(
TranslationBase.of(context) TranslationBase.of(context)
.doctorName .clinic +
.toUpperCase() +
": ", ": ",
fontWeight: FontWeight.w700,
), ),
Expanded( AppText(
child: AppText(
model model
.medicalFileList[0] .medicalFileList[0]
.entityList[0] .entityList[0]
.timelines[index] .timelines[index]
.doctorName, .clinicName,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w600,
),
), ),
], ],
), ),
Row( Row(
mainAxisAlignment:
MainAxisAlignment
.spaceBetween,
children: [ children: [
AppText( AppText(
TranslationBase.of(context) TranslationBase.of(context)
.clinicName + .branch +
": ", ": ",
fontWeight: FontWeight.w700,
), ),
AppText( AppText(
model model
.medicalFileList[0] .medicalFileList[0]
.entityList[0] .entityList[0]
.timelines[index] .timelines[index]
.clinicName, .projectName,
fontWeight: FontWeight.w600,
), ),
], ],
), ),
SizedBox(height: 10.0), ],
Divider( ),
height: 1.0, ],
thickness: 1.0, ),
color: Colors.grey.shade400, Row(
mainAxisAlignment:
MainAxisAlignment.end,
children: [
Column(
children: [
Icon(
Icons.remove_red_eye,
size: 30.0,
) )
], ],
)
],
),
],
), ),
), ),
onTap: () { onTap: () {
@ -135,16 +261,24 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
gender: patient.genderDescription, gender: patient.genderDescription,
encounterNumber: index, encounterNumber: index,
pp: patient.patientId, pp: patient.patientId,
patient: patient,
)), )),
); );
}, },
), ),
); );
}) })
: Container( : Column(
children: [
Container(
child: AppText( child: AppText(
'THERES NO MEDICAL FILE FOR THIS Patient', 'THERES NO MEDICAL FILE FOR THIS Patient',
), ),
),
SizedBox(
height: 400,
)
],
) )
], ],
), ),

@ -566,7 +566,7 @@ packages:
name: js name: js
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.2" version: "0.6.3-nullsafety.1"
json_annotation: json_annotation:
dependency: transitive dependency: transitive
description: description:
@ -608,7 +608,7 @@ packages:
name: meta name: meta
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.3.0-nullsafety.3" version: "1.3.0-nullsafety.4"
mime: mime:
dependency: transitive dependency: transitive
description: description:
@ -900,7 +900,7 @@ packages:
name: stack_trace name: stack_trace
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.10.0-nullsafety.1" version: "1.10.0-nullsafety.2"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
@ -1084,5 +1084,5 @@ packages:
source: hosted source: hosted
version: "2.2.1" version: "2.2.1"
sdks: sdks:
dart: ">=2.10.0 <2.11.0" dart: ">=2.10.0 <=2.11.0-213.1.beta"
flutter: ">=1.22.0 <2.0.0" flutter: ">=1.22.0 <2.0.0"

Loading…
Cancel
Save