Merge branch 'patinet_profile_with_all_service' into 'development'

Patinet profile with all service

See merge request Cloud_Solution/doctor_app_flutter!345
merge-requests/346/head
Mohammad Aljammal 4 years ago
commit 893fc05449

@ -104,6 +104,7 @@ const String ORDER_PROCEDURE = 'procedure/procedure';
// const String LIVECARE_END_DIALOG = 'video-call/EndCallDialogBox';
const String PATIENT_SICKLEAVE = 'patients/patient_sickleave';
const String ADD_SICKLEAVE = 'add-sickleave';
const String RADIOLOGY = 'radiology';
//todo: change the routing way.
var routes = {
ROOT: (_) => RootPage(),
@ -138,6 +139,7 @@ var routes = {
PATIENT_INSURANCE_APPROVALS: (_) => InsuranceApprovalsScreen(),
VITAL_SIGN_DETAILS: (_) => VitalSignDetailsScreen(),
PATIENT_VITAL_SIGN: (_) => PatientVitalSignScreen(),
RADIOLOGY: (_) => RadiologyScreen(),
PATIENT_ADMISSION_REQUEST: (_) => AdmissionRequestFirstScreen(),
PATIENT_ADMISSION_REQUEST_2: (_) => AdmissionRequestSecondScreen(),
PATIENT_ADMISSION_REQUEST_3: (_) => AdmissionRequestThirdScreen(),

@ -2,8 +2,8 @@ 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/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/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient_profile_widget.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_texts_widget.dart';

@ -5,7 +5,6 @@ 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/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_profile_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/network_base_view.dart';

@ -1,17 +1,521 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/enum/master_lookup_key.dart';
import 'package:doctor_app_flutter/core/viewModel/SOAP_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/SOAP/GeneralGetReqForSOAP.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/util/date-utils.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/profile_medical_info_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:flutter/material.dart';
import 'package:provider/provider.dart';
import '../../../widgets/patients/profile/patient_profile_widget.dart';
import '../../../widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
/*
*@author: Elham Rababah
*@Date:22/4/2020
*@param:
*@return:PatientProfileWidget
*@desc: Patient Profile Widget
*/
// ignore: must_be_immutable
class PatientProfileScreen extends StatelessWidget {
const PatientProfileScreen({Key key}) : super(key: key);
PatiantInformtion patient;
@override
Widget build(BuildContext context) {
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
ProjectViewModel projectViewModel = Provider.of(context);
patient = routeArgs['patient'];
String patientType = routeArgs['patientType'];
String from = routeArgs['from'];
String to = routeArgs['to'];
return BaseView<SOAPViewModel>(
onModelReady: (model) async {
GeneralGetReqForSOAP generalGetReqForSOAP = GeneralGetReqForSOAP(
patientMRN: patient.patientMRN??patient.patientId,
doctorID: '',
editedBy: '');
await model.getPatientAllergy(generalGetReqForSOAP);
if (model.allergiesList.length == 0) {
await model.getMasterLookup(MasterKeysService.Allergies);
}
if (model.allergySeverityList.length == 0) {
await model.getMasterLookup(MasterKeysService.AllergySeverity);
}
},
builder: (_, model, w) =>AppScaffold(
baseViewModel: model,
appBarTitle: TranslationBase.of(context).patientProfile,
body: Container(
color: Color(0XFFF2F2F2),
child: CustomScrollView(primary: false, slivers: <Widget>[
SliverList(
delegate: SliverChildListDelegate(
[
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
decoration: BoxDecoration(boxShadow: <BoxShadow>[
BoxShadow(
color: Colors.grey.shade300,
blurRadius: 10.0,
spreadRadius: 0,
offset: Offset(0, 10)),
], color: Colors.white),
child: Column(children: <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
children: <Widget>[
AvatarWidget(
Icon(
patient.genderDescription == "Male"
? DoctorApp.male
: DoctorApp.female_icon,
size: 70,
color: Colors.white,
),
),
SizedBox(
width: 20,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
patient.firstName + ' ' + patient.lastName,
color: Colors.black,
fontWeight: FontWeight.bold,
),
Row(
children: [
AppText(
TranslationBase.of(context).fileNo,
color: Colors.black,
fontWeight: FontWeight.bold,
),
SizedBox(
width: 4,
),
AppText(
patient.patientId.toString(),
color: Colors.black,
fontWeight: FontWeight.normal,
),
],
),
model.patientAllergiesList.isNotEmpty && model.getAllergicNames(projectViewModel.isArabic)!='' ?Container(
width: MediaQuery.of(context).size.width *0.65,
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 8),
child: AppText(
TranslationBase.of(context).allergicTO +" : "+model.getAllergicNames(projectViewModel.isArabic),
color: Color(0xFFB9382C),
fontWeight: FontWeight.bold,
),
),
) : AppText(''),
],
)
],
),
),
Container(
width: double.infinity,
height: 1,
color: Color(0xffCCCCCC),
),
Container(
height: 11 * SizeConfig.textMultiplier,
child: Row(
children: [
Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(
16.0, 8.0, 8.0, 8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).age,
fontWeight: FontWeight.bold,
fontSize: 2 * SizeConfig.textMultiplier,
),
SizedBox(
height: 4,
),
AppText(
"${DateUtils.convertDateFromServerFormat(patient.dateofBirth, 'dd-MM-yyyy')} / ${DateUtils.getAgeByBirthday(patient.dateofBirth, context)/*patient.age*/}",
fontWeight: FontWeight.normal,
fontSize: 1.6 * SizeConfig.textMultiplier,
),
],
),
),
),
Container(
width: 1,
color: Color(0xffCCCCCC),
),
Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(
16.0, 8.0, 8.0, 8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).nationality,
fontWeight: FontWeight.bold,
fontSize: 2 * SizeConfig.textMultiplier,
),
SizedBox(
height: 4,
),
AppText(
patient.nationalityName ??patient.nationality ,
fontWeight: FontWeight.normal,
fontSize: 1.7 * SizeConfig.textMultiplier,
),
],
),
),
),
Container(
width: 1,
color: Color(0xffCCCCCC),
),
Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(
16.0, 8.0, 8.0, 8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).gender,
fontWeight: FontWeight.bold,
fontSize: 2 * SizeConfig.textMultiplier,
),
SizedBox(
height: 4,
),
AppText(
patient.gender.toString() == '1' ? 'Male' : 'Female',
fontWeight: FontWeight.normal,
fontSize: 1.8 * SizeConfig.textMultiplier,
),
],
),
),
),
],
),
),
Container(
width: double.infinity,
height: 1,
color: Color(0xffCCCCCC),
),
]),
),
if (patient.admissionNo != null)
Container(
margin: EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).admissionDetail,
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 1.8 * SizeConfig.textMultiplier,
),
SizedBox(
height: 4,
),
Container(
decoration: BoxDecoration(
color: Colors.white,
shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(8),
border: Border.fromBorderSide(BorderSide(
color: Color(0xffBBBBBB),
width: 1,
)),
),
child: Column(
children: [
Padding(
padding: EdgeInsets.all(16),
child: Column(
children: [
Row(
children: [
Container(
width:
14 * SizeConfig.textMultiplier,
child: AppText(
TranslationBase.of(context)
.dateTime,
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 1.6 *
SizeConfig.textMultiplier,
),
),
Expanded(
child: AppText(
patient.createdOn != null
? "${DateUtils.convertDateFromServerFormat(patient.createdOn, 'EEEE dd, MMMM yyyy hh:mm a')}"
: "",
color: Colors.black,
fontWeight: FontWeight.normal,
fontSize:
1.6 * SizeConfig.textMultiplier,
),
),
],
),
SizedBox(
height: 4,
),
Row(
children: [
Container(
width:
14 * SizeConfig.textMultiplier,
child: AppText(
TranslationBase.of(context)
.admissionNo,
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 1.6 *
SizeConfig.textMultiplier,
),
),
AppText(
patient.admissionNo != null
? patient.admissionNo
: '',
color: Colors.black,
fontWeight: FontWeight.normal,
fontSize:
1.6 * SizeConfig.textMultiplier,
),
],
),
SizedBox(
height: 4,
),
Row(
children: [
Container(
width:
14 * SizeConfig.textMultiplier,
child: AppText(
TranslationBase.of(context).losNo,
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 1.6 *
SizeConfig.textMultiplier,
),
),
AppText(
patient.createdOn != null
? DateUtils
.differenceBetweenServerDateAndCurrent(
patient.createdOn, context)
: "",
color: Colors.black,
fontWeight: FontWeight.normal,
fontSize:
1.6 * SizeConfig.textMultiplier,
),
],
),
],
),
),
const Divider(
color: Color(0xffCCCCCC),
height: 5,
thickness: 1,
indent: 0,
endIndent: 0,
),
Container(
height: 10 * SizeConfig.textMultiplier,
child: Row(
children: [
Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(
16.0, 8.0, 8.0, 8.0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context)
.area,
fontWeight: FontWeight.bold,
fontSize: 1.6 *
SizeConfig.textMultiplier,
),
SizedBox(
height: 4,
),
AppText(
patient.clinicDescription,
fontWeight: FontWeight.normal,
fontSize: 1.6 *
SizeConfig.textMultiplier,
),
],
),
),
),
Container(
width: 1,
color: Color(0xffCCCCCC),
),
Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(
16.0, 8.0, 8.0, 8.0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
mainAxisAlignment:
MainAxisAlignment.spaceEvenly,
children: [
Expanded(
child: Row(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(
context)
.room,
fontWeight:
FontWeight.bold,
fontSize: 1.6 *
SizeConfig
.textMultiplier,
),
SizedBox(
width: 4,
),
Expanded(
child: AppText(
"${patient.nursingStationName}\n${patient.roomId}",
fontWeight:
FontWeight.normal,
fontSize: 1.4 *
SizeConfig
.textMultiplier,
),
),
],
),
),
SizedBox(
height: 4,
),
Expanded(
child: Row(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(
context)
.bed,
fontWeight:
FontWeight.bold,
fontSize: 1.6 *
SizeConfig
.textMultiplier,
),
SizedBox(
width: 4,
),
AppText(
"${patient.bedId}",
fontWeight:
FontWeight.normal,
fontSize: 1.6 *
SizeConfig
.textMultiplier,
),
],
),
),
],
),
),
),
],
),
)
],
),
)
],
),
),
],
),
],
),
),
SliverPadding(
padding: const EdgeInsets.all(16.0),
sliver: ProfileMedicalInfoWidget(
patient: patient, patientType:patientType, from: from, to: to,
))
]),
),
));
}
}
class AvatarWidget extends StatelessWidget {
final Widget avatarIcon;
AvatarWidget(this.avatarIcon);
@override
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: TranslationBase.of(context).patientProfile,
body: PatientProfileWidget(),
return Container(
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Color.fromRGBO(0, 0, 0, 0.08),
offset: Offset(0.0, 5.0),
blurRadius: 16.0)
],
borderRadius: BorderRadius.all(Radius.circular(35.0)),
color: Color(0xffCCCCCC),
),
child: avatarIcon,
);
}
}

@ -5,8 +5,8 @@ import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
import 'package:doctor_app_flutter/models/SOAP/GeneralGetReqForSOAP.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/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient_profile_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:flutter/material.dart';
@ -24,9 +24,7 @@ class PatientPageHeaderWidget extends StatelessWidget {
return BaseView<SOAPViewModel>(
onModelReady: (model) async {
GeneralGetReqForSOAP generalGetReqForSOAP = GeneralGetReqForSOAP(
patientMRN: patient.patientMRN,
episodeId: patient.episodeNo,
appointmentNo: patient.appointmentNo,
patientMRN: patient.patientMRN??patient.patientId,
doctorID: '',
editedBy: '');
await model.getPatientAllergy(generalGetReqForSOAP);

@ -1,477 +0,0 @@
import 'package:doctor_app_flutter/config/size_config.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/util/date-utils.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart';
import './profile_medical_info_widget.dart';
/*
*@author: Elham Rababah
*@Date:22/4/2020
*@param:
*@return:PatientProfileWidget
*@desc: Patient Profile Widget
*/
class PatientProfileWidget extends StatelessWidget {
PatiantInformtion patient;
@override
Widget build(BuildContext context) {
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
patient = routeArgs['patient'];
String patientType = routeArgs['patientType'];
String from = routeArgs['from'];
String to = routeArgs['to'];
return Container(
color: Color(0XFFF2F2F2),
child: CustomScrollView(primary: false, slivers: <Widget>[
SliverList(
delegate: SliverChildListDelegate(
[
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
decoration: BoxDecoration(boxShadow: <BoxShadow>[
BoxShadow(
color: Colors.grey.shade300,
blurRadius: 10.0,
spreadRadius: 0,
offset: Offset(0, 10)),
], color: Colors.white),
child: Column(children: <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
children: <Widget>[
AvatarWidget(
Icon(
patient.genderDescription == "Male"
? DoctorApp.male
: DoctorApp.female_icon,
size: 70,
color: Colors.white,
),
),
SizedBox(
width: 20,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
patient.firstName + ' ' + patient.lastName,
color: Colors.black,
fontWeight: FontWeight.bold,
),
Row(
children: [
AppText(
TranslationBase.of(context).fileNo,
color: Colors.black,
fontWeight: FontWeight.bold,
),
SizedBox(
width: 4,
),
AppText(
patient.patientId.toString(),
color: Colors.black,
fontWeight: FontWeight.normal,
),
],
)
],
)
],
),
),
Container(
width: double.infinity,
height: 1,
color: Color(0xffCCCCCC),
),
Container(
height: 11 * SizeConfig.textMultiplier,
child: Row(
children: [
Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(
16.0, 8.0, 8.0, 8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).age,
fontWeight: FontWeight.bold,
fontSize: 2 * SizeConfig.textMultiplier,
),
SizedBox(
height: 4,
),
AppText(
"${DateUtils.convertDateFromServerFormat(patient.dateofBirth, 'dd-MM-yyyy')} / ${DateUtils.getAgeByBirthday(patient.dateofBirth, context)/*patient.age*/}",
fontWeight: FontWeight.normal,
fontSize: 1.6 * SizeConfig.textMultiplier,
),
],
),
),
),
Container(
width: 1,
color: Color(0xffCCCCCC),
),
Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(
16.0, 8.0, 8.0, 8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).nationality,
fontWeight: FontWeight.bold,
fontSize: 2 * SizeConfig.textMultiplier,
),
SizedBox(
height: 4,
),
AppText(
patient.nationalityName ??patient.nationality ,
fontWeight: FontWeight.normal,
fontSize: 1.7 * SizeConfig.textMultiplier,
),
],
),
),
),
Container(
width: 1,
color: Color(0xffCCCCCC),
),
Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(
16.0, 8.0, 8.0, 8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).gender,
fontWeight: FontWeight.bold,
fontSize: 2 * SizeConfig.textMultiplier,
),
SizedBox(
height: 4,
),
AppText(
patient.gender.toString() == '1' ? 'Male' : 'Female',
fontWeight: FontWeight.normal,
fontSize: 1.8 * SizeConfig.textMultiplier,
),
],
),
),
),
],
),
),
Container(
width: double.infinity,
height: 1,
color: Color(0xffCCCCCC),
),
]),
),
if (patient.admissionNo != null)
Container(
margin: EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).admissionDetail,
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 1.8 * SizeConfig.textMultiplier,
),
SizedBox(
height: 4,
),
Container(
decoration: BoxDecoration(
color: Colors.white,
shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(8),
border: Border.fromBorderSide(BorderSide(
color: Color(0xffBBBBBB),
width: 1,
)),
),
child: Column(
children: [
Padding(
padding: EdgeInsets.all(16),
child: Column(
children: [
Row(
children: [
Container(
width:
14 * SizeConfig.textMultiplier,
child: AppText(
TranslationBase.of(context)
.dateTime,
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 1.6 *
SizeConfig.textMultiplier,
),
),
Expanded(
child: AppText(
patient.createdOn != null
? "${DateUtils.convertDateFromServerFormat(patient.createdOn, 'EEEE dd, MMMM yyyy hh:mm a')}"
: "",
color: Colors.black,
fontWeight: FontWeight.normal,
fontSize:
1.6 * SizeConfig.textMultiplier,
),
),
],
),
SizedBox(
height: 4,
),
Row(
children: [
Container(
width:
14 * SizeConfig.textMultiplier,
child: AppText(
TranslationBase.of(context)
.admissionNo,
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 1.6 *
SizeConfig.textMultiplier,
),
),
AppText(
patient.admissionNo != null
? patient.admissionNo
: '',
color: Colors.black,
fontWeight: FontWeight.normal,
fontSize:
1.6 * SizeConfig.textMultiplier,
),
],
),
SizedBox(
height: 4,
),
Row(
children: [
Container(
width:
14 * SizeConfig.textMultiplier,
child: AppText(
TranslationBase.of(context).losNo,
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 1.6 *
SizeConfig.textMultiplier,
),
),
AppText(
patient.createdOn != null
? DateUtils
.differenceBetweenServerDateAndCurrent(
patient.createdOn, context)
: "",
color: Colors.black,
fontWeight: FontWeight.normal,
fontSize:
1.6 * SizeConfig.textMultiplier,
),
],
),
],
),
),
const Divider(
color: Color(0xffCCCCCC),
height: 5,
thickness: 1,
indent: 0,
endIndent: 0,
),
Container(
height: 10 * SizeConfig.textMultiplier,
child: Row(
children: [
Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(
16.0, 8.0, 8.0, 8.0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context)
.area,
fontWeight: FontWeight.bold,
fontSize: 1.6 *
SizeConfig.textMultiplier,
),
SizedBox(
height: 4,
),
AppText(
patient.clinicDescription,
fontWeight: FontWeight.normal,
fontSize: 1.6 *
SizeConfig.textMultiplier,
),
],
),
),
),
Container(
width: 1,
color: Color(0xffCCCCCC),
),
Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(
16.0, 8.0, 8.0, 8.0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
mainAxisAlignment:
MainAxisAlignment.spaceEvenly,
children: [
Expanded(
child: Row(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(
context)
.room,
fontWeight:
FontWeight.bold,
fontSize: 1.6 *
SizeConfig
.textMultiplier,
),
SizedBox(
width: 4,
),
Expanded(
child: AppText(
"${patient.nursingStationName}\n${patient.roomId}",
fontWeight:
FontWeight.normal,
fontSize: 1.4 *
SizeConfig
.textMultiplier,
),
),
],
),
),
SizedBox(
height: 4,
),
Expanded(
child: Row(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(
context)
.bed,
fontWeight:
FontWeight.bold,
fontSize: 1.6 *
SizeConfig
.textMultiplier,
),
SizedBox(
width: 4,
),
AppText(
"${patient.bedId}",
fontWeight:
FontWeight.normal,
fontSize: 1.6 *
SizeConfig
.textMultiplier,
),
],
),
),
],
),
),
),
],
),
)
],
),
)
],
),
),
],
),
],
),
),
SliverPadding(
padding: const EdgeInsets.all(16.0),
sliver: ProfileMedicalInfoWidget(
patient: patient, patientType:patientType, from: from, to: to,
))
]),
);
}
}
class AvatarWidget extends StatelessWidget {
final Widget avatarIcon;
AvatarWidget(this.avatarIcon);
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Color.fromRGBO(0, 0, 0, 0.08),
offset: Offset(0.0, 5.0),
blurRadius: 16.0)
],
borderRadius: BorderRadius.all(Radius.circular(35.0)),
color: Color(0xffCCCCCC),
),
child: avatarIcon,
);
}
}

@ -41,7 +41,7 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
crossAxisCount: 2,
childAspectRatio: 1.5,
children: [
if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
// if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton(
key: key,
patient: patient,
@ -60,7 +60,7 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
},
isLoading: model.state == ViewState.BusyLocal,
icon: 'create-episod.png'),
if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
// if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton(
key: key,
patient: patient,
@ -69,7 +69,26 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
nameLine2: TranslationBase.of(context).episode,
route: UPDATE_EPISODE,
icon: 'modilfy-episode.png'),
if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
// if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton(
key: key,
patient: patient,
route: RADIOLOGY,
nameLine1: TranslationBase.of(context).radiology,
nameLine2: TranslationBase.of(context).service,
icon: 'radiology-1.png'),
// if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton(
key: key,
patient: patient,
route: PATIENT_INSURANCE_APPROVALS,
nameLine1: TranslationBase.of(context).insurance,
nameLine2: TranslationBase.of(context).service,
icon: 'lab.png'
),
// if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton(
key: key,
patient: patient,
@ -82,7 +101,7 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
*/
,
icon: 'heartbeat.png'),
if (selectedPatientType != 7)
// if (selectedPatientType != 7)
PatientProfileButton(
key: key,
patient: patient,
@ -97,9 +116,9 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
nameLine1: TranslationBase.of(context).previewHealth,
nameLine2: TranslationBase.of(context).summaryReport,
icon: 'radiology-1.png'),
if (selectedPatientType != 0 &&
selectedPatientType != 5 &&
selectedPatientType != 7)
// if (selectedPatientType != 0 &&
// selectedPatientType != 5 &&
// selectedPatientType != 7)
PatientProfileButton(
key: key,
patient: patient,
@ -107,7 +126,7 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
nameLine1: TranslationBase.of(context).progress,
nameLine2: TranslationBase.of(context).note,
icon: 'heartbeat.png'),
if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
// if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton(
key: key,
patient: patient,
@ -115,7 +134,7 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
nameLine1: TranslationBase.of(context).admission,
nameLine2: TranslationBase.of(context).request,
icon: 'heartbeat.png'),
if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
// if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton(
key: key,
patient: patient,
@ -123,7 +142,7 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
nameLine1: TranslationBase.of(context).orders,
nameLine2: TranslationBase.of(context).prescription,
icon: 'lab.png'),
if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
// if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton(
key: key,
patient: patient,
@ -131,7 +150,7 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
nameLine1: TranslationBase.of(context).orders,
nameLine2: TranslationBase.of(context).procedures,
icon: 'lab.png'),
if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
// if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton(
key: key,
patient: patient,
@ -139,7 +158,7 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
nameLine1: TranslationBase.of(context).myReferral,
nameLine2: TranslationBase.of(context).patient,
icon: 'note.png'),
if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
// if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton(
key: key,
patient: patient,
@ -147,7 +166,7 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
nameLine1: TranslationBase.of(context).patientSick,
nameLine2: TranslationBase.of(context).leave,
icon: 'sick_leaves_icons.png'),
if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
// if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton(
key: key,
patient: patient,

Loading…
Cancel
Save