Merge branch 'development' of https://gitlab.com/Cloud_Solution/doctor_app_flutter into referral_in_patient
Conflicts: lib/screens/patients/profile/lab_result/labs_home_page.dart lib/screens/patients/profile/radiology/radiology_home_page.dartmerge-requests/621/head
commit
b1f1b7e34d
@ -1,2 +1,6 @@
|
||||
enum FilterType { Clinic, Hospital }
|
||||
|
||||
enum OutPatientFilterType { Previous, Today, NextWeek }
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,317 @@
|
||||
import 'package:doctor_app_flutter/core/enum/filter_type.dart';
|
||||
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
|
||||
import 'package:doctor_app_flutter/core/model/PatientSearchRequestModel.dart';
|
||||
import 'package:doctor_app_flutter/core/viewModel/PatientSearchViewModel.dart';
|
||||
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_title.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/shared/app_scaffold_widget.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
|
||||
class FilterDatePage extends StatefulWidget {
|
||||
final OutPatientFilterType outPatientFilterType;
|
||||
final PatientSearchViewModel patientSearchViewModel;
|
||||
|
||||
const FilterDatePage(
|
||||
{Key key, this.outPatientFilterType, this.patientSearchViewModel})
|
||||
: super(key: key);
|
||||
|
||||
@override
|
||||
_FilterDatePageState createState() => _FilterDatePageState();
|
||||
}
|
||||
|
||||
class _FilterDatePageState extends State<FilterDatePage> {
|
||||
DateTime selectedFromDate;
|
||||
DateTime selectedToDate;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var screenSize;
|
||||
return AppScaffold(
|
||||
isShowAppBar: false,
|
||||
backgroundColor: Theme
|
||||
.of(context)
|
||||
.scaffoldBackgroundColor,
|
||||
body: SingleChildScrollView(
|
||||
child: Container(
|
||||
height: MediaQuery
|
||||
.of(context)
|
||||
.size
|
||||
.height * 1.0,
|
||||
child: Padding(
|
||||
padding: EdgeInsets.all(0.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
BottomSheetTitle(
|
||||
title: (OutPatientFilterType.Previous ==
|
||||
widget.outPatientFilterType)
|
||||
? " Filter Previous Out Patient"
|
||||
: "Filter Nextweek Out Patient",
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.0,
|
||||
),
|
||||
Center(
|
||||
child: FractionallySizedBox(
|
||||
widthFactor: 0.9,
|
||||
child: Column(
|
||||
children: [
|
||||
Container(
|
||||
color: Colors.white,
|
||||
child: InkWell(
|
||||
onTap: () =>
|
||||
selectDate(
|
||||
context, firstDate: getFirstDate(
|
||||
widget.outPatientFilterType),
|
||||
lastDate: getLastDate(
|
||||
widget.outPatientFilterType)),
|
||||
child: TextField(
|
||||
decoration:
|
||||
textFieldSelectorDecoration(
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.fromDate,
|
||||
selectedFromDate != null
|
||||
? "${DateUtils
|
||||
.convertStringToDateFormat(
|
||||
selectedFromDate.toString(),
|
||||
"yyyy-MM-dd")}"
|
||||
: null,
|
||||
true,
|
||||
suffixIcon: Icon(
|
||||
Icons.calendar_today,
|
||||
color: Colors.black,
|
||||
)),
|
||||
enabled: false,
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(height: 10,),
|
||||
Container(
|
||||
color: Colors.white,
|
||||
child: InkWell(
|
||||
onTap: () =>
|
||||
selectDate(
|
||||
context, isFromDate: false,
|
||||
firstDate: getFirstDate(
|
||||
widget.outPatientFilterType),
|
||||
lastDate: getLastDate(
|
||||
widget.outPatientFilterType)),
|
||||
child: TextField(
|
||||
decoration:
|
||||
textFieldSelectorDecoration(
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.toDate,
|
||||
selectedToDate != null
|
||||
? "${DateUtils
|
||||
.convertStringToDateFormat(
|
||||
selectedToDate.toString(),
|
||||
"yyyy-MM-dd")}"
|
||||
: null,
|
||||
true,
|
||||
suffixIcon: Icon(
|
||||
Icons.calendar_today,
|
||||
color: Colors.black,
|
||||
)),
|
||||
enabled: false,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
bottomSheet: Container(
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(0.0),
|
||||
),
|
||||
border: Border.all(color: HexColor('#707070'), width: 0),
|
||||
),
|
||||
height: MediaQuery
|
||||
.of(context)
|
||||
.size
|
||||
.height * 0.1,
|
||||
width: double.infinity,
|
||||
child: Column(
|
||||
children: [
|
||||
SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
Container(
|
||||
child: FractionallySizedBox(
|
||||
widthFactor: .80,
|
||||
child: Center(
|
||||
child: AppButton(
|
||||
title:
|
||||
TranslationBase
|
||||
.of(context)
|
||||
.search,
|
||||
padding: 10,
|
||||
color: Color(0xFF359846),
|
||||
onPressed: () async {
|
||||
if (selectedFromDate == null ||
|
||||
selectedToDate == null) {
|
||||
Helpers.showErrorToast(
|
||||
"Please Select All The date Fields ");
|
||||
} else {
|
||||
String dateTo = DateUtils.convertDateToFormat(
|
||||
selectedToDate,
|
||||
'yyyy-MM-dd');
|
||||
String dateFrom = DateUtils.convertDateToFormat(
|
||||
selectedFromDate,
|
||||
'yyyy-MM-dd');
|
||||
|
||||
PatientSearchRequestModel currentModel = PatientSearchRequestModel();
|
||||
currentModel.to = dateTo;
|
||||
currentModel.from= dateFrom;
|
||||
GifLoaderDialogUtils.showMyDialog(context);
|
||||
await widget.patientSearchViewModel.getOutPatient(
|
||||
currentModel, isLocalBusy: true);
|
||||
GifLoaderDialogUtils.hideDialog(context);
|
||||
if(widget.patientSearchViewModel.state == ViewState.ErrorLocal) {
|
||||
Helpers.showErrorToast(widget.patientSearchViewModel.error);
|
||||
}else {
|
||||
Navigator.of(context).pop();
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
selectDate(BuildContext context,
|
||||
{bool isFromDate = true, DateTime firstDate, lastDate}) async {
|
||||
Helpers.hideKeyboard(context);
|
||||
DateTime selectedDate = isFromDate
|
||||
? this.selectedFromDate ?? firstDate
|
||||
: this.selectedToDate ?? lastDate;
|
||||
final DateTime picked = await showDatePicker(
|
||||
context: context,
|
||||
initialDate: selectedDate,
|
||||
firstDate: firstDate,
|
||||
lastDate: lastDate,
|
||||
initialEntryMode: DatePickerEntryMode.calendar,
|
||||
);
|
||||
if (picked != null) {
|
||||
if (isFromDate) {
|
||||
setState(() {
|
||||
this.selectedFromDate = picked;
|
||||
});
|
||||
} else {
|
||||
setState(() {
|
||||
this.selectedToDate = picked;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getFirstDate(OutPatientFilterType outPatientFilterType) {
|
||||
if (outPatientFilterType == OutPatientFilterType.Previous) {
|
||||
return DateTime(
|
||||
DateTime
|
||||
.now()
|
||||
.year, DateTime
|
||||
.now()
|
||||
.month - 3, DateTime
|
||||
.now()
|
||||
.day);
|
||||
} else {
|
||||
return DateTime(
|
||||
DateTime
|
||||
.now()
|
||||
.year, DateTime
|
||||
.now()
|
||||
.month, DateTime
|
||||
.now()
|
||||
.day + 1);
|
||||
}
|
||||
}
|
||||
|
||||
getLastDate(OutPatientFilterType outPatientFilterType) {
|
||||
if (outPatientFilterType == OutPatientFilterType.Previous) {
|
||||
return DateTime(
|
||||
DateTime
|
||||
.now()
|
||||
.year, DateTime
|
||||
.now()
|
||||
.month, (DateTime
|
||||
.now()
|
||||
.day - 1));
|
||||
} else {
|
||||
return DateTime(
|
||||
DateTime
|
||||
.now()
|
||||
.year, DateTime
|
||||
.now()
|
||||
.month, DateTime
|
||||
.now()
|
||||
.day + 7);
|
||||
}
|
||||
}
|
||||
|
||||
InputDecoration textFieldSelectorDecoration(String hintText,
|
||||
String selectedText, bool isDropDown,
|
||||
{Icon suffixIcon}) {
|
||||
return InputDecoration(
|
||||
focusedBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(color: Color(0xFFCCCCCC), width: 2.0),
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
),
|
||||
enabledBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(color: Color(0xFFEFEFEF), width: 2.0),
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
),
|
||||
disabledBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(color: Color(0xFFEFEFEF), width: 2.0),
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
),
|
||||
hintText: selectedText != null ? selectedText : hintText,
|
||||
suffixIcon: isDropDown
|
||||
? suffixIcon != null
|
||||
? suffixIcon
|
||||
: Icon(
|
||||
Icons.keyboard_arrow_down_sharp,
|
||||
color: Color(0xff2E303A),
|
||||
)
|
||||
: null,
|
||||
hintStyle: TextStyle(
|
||||
fontSize: 13,
|
||||
color: Color(0xff2E303A),
|
||||
fontFamily: 'Poppins',
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
labelText: selectedText != null ? '$hintText\n$selectedText' : null,
|
||||
labelStyle: TextStyle(
|
||||
fontSize: 13,
|
||||
color: Color(0xff2E303A),
|
||||
fontFamily: 'Poppins',
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,319 @@
|
||||
import 'package:doctor_app_flutter/config/size_config.dart';
|
||||
import 'package:doctor_app_flutter/core/viewModel/SOAP_view_model.dart';
|
||||
import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart';
|
||||
import 'package:doctor_app_flutter/models/SOAP/PostEpisodeReqModel.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/profile_screen/profile_gird_for_InPatient.dart';
|
||||
import 'package:doctor_app_flutter/screens/patients/profile/profile_screen/profile_gird_for_other.dart';
|
||||
import 'package:doctor_app_flutter/screens/patients/profile/profile_screen/profile_gird_for_search.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/shared/app_scaffold_widget.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/text_fields/text_fields_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../../../routes.dart';
|
||||
|
||||
class PatientProfileScreen extends StatefulWidget {
|
||||
@override
|
||||
_PatientProfileScreenState createState() => _PatientProfileScreenState();
|
||||
}
|
||||
|
||||
class _PatientProfileScreenState extends State<PatientProfileScreen>
|
||||
with SingleTickerProviderStateMixin {
|
||||
PatiantInformtion patient;
|
||||
|
||||
bool isFromSearch = false;
|
||||
|
||||
bool isInpatient = false;
|
||||
|
||||
bool isDischargedPatient = false;
|
||||
bool isSearchAndOut = false;
|
||||
String patientType;
|
||||
String arrivalType;
|
||||
String from;
|
||||
String to;
|
||||
TabController _tabController;
|
||||
int index = 0;
|
||||
int _activeTab = 0;
|
||||
@override
|
||||
void initState() {
|
||||
_tabController = TabController(length: 2, vsync: this);
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_tabController.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
super.didChangeDependencies();
|
||||
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
|
||||
patient = routeArgs['patient'];
|
||||
patientType = routeArgs['patientType'];
|
||||
arrivalType = routeArgs['arrivalType'];
|
||||
from = routeArgs['from'];
|
||||
to = routeArgs['to'];
|
||||
if (routeArgs.containsKey("isSearch")) {
|
||||
isFromSearch = routeArgs['isSearch'];
|
||||
}
|
||||
if (routeArgs.containsKey("isInpatient")) {
|
||||
isInpatient = routeArgs['isInpatient'];
|
||||
}
|
||||
if (routeArgs.containsKey("isDischargedPatient")) {
|
||||
isDischargedPatient = routeArgs['isDischargedPatient'];
|
||||
}
|
||||
if (routeArgs.containsKey("isSearchAndOut")) {
|
||||
isSearchAndOut = routeArgs['isSearchAndOut'];
|
||||
}
|
||||
if (isInpatient)
|
||||
_activeTab = 0;
|
||||
else
|
||||
_activeTab = 1;
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final screenSize = MediaQuery.of(context).size;
|
||||
return BaseView<PatientViewModel>(
|
||||
builder: (_, patientViewModel, w) => AppScaffold(
|
||||
baseViewModel: patientViewModel,
|
||||
appBarTitle: TranslationBase.of(context).patientProfile,
|
||||
isShowAppBar: false,
|
||||
body: Column(
|
||||
children: [
|
||||
Stack(
|
||||
children: [
|
||||
Column(
|
||||
children: [
|
||||
PatientProfileHeaderNewDesignAppBar(
|
||||
patient,
|
||||
arrivalType ?? '0',
|
||||
patientType,
|
||||
isInpatient: isInpatient,
|
||||
height: (patient.patientStatusType != null &&
|
||||
patient.patientStatusType == 43)
|
||||
? 210
|
||||
: isDischargedPatient
|
||||
? 240
|
||||
: 0,
|
||||
),
|
||||
Container(
|
||||
height: !isSearchAndOut
|
||||
? isDischargedPatient
|
||||
? MediaQuery.of(context).size.height * 0.64
|
||||
: MediaQuery.of(context).size.height * 0.65
|
||||
: MediaQuery.of(context).size.height * 0.69,
|
||||
child: ListView(
|
||||
children: [
|
||||
Container(
|
||||
child: isSearchAndOut
|
||||
? ProfileGridForSearch(
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
isInpatient: isInpatient,
|
||||
from: from,
|
||||
to: to,
|
||||
)
|
||||
: isInpatient
|
||||
? ProfileGridForInPatient(
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
isInpatient: isInpatient,
|
||||
from: from,
|
||||
to: to,
|
||||
isDischargedPatient:
|
||||
isDischargedPatient,
|
||||
isFromSearch: isFromSearch,
|
||||
)
|
||||
: ProfileGridForOther(
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
isInpatient: isInpatient,
|
||||
from: from,
|
||||
to: to,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
if (patient.patientStatusType != null &&
|
||||
patient.patientStatusType == 43)
|
||||
BaseView<SOAPViewModel>(
|
||||
onModelReady: (model) async {},
|
||||
builder: (_, model, w) => Positioned(
|
||||
top: 180,
|
||||
left: 20,
|
||||
right: 20,
|
||||
child: Row(
|
||||
children: [
|
||||
Expanded(child: Container()),
|
||||
if (patient.episodeNo == 0)
|
||||
AppButton(
|
||||
title:
|
||||
"${TranslationBase.of(context).createNew}\n${TranslationBase.of(context).episode}",
|
||||
color: patient.patientStatusType == 43
|
||||
? Colors.red.shade700
|
||||
: Colors.grey.shade700,
|
||||
fontColor: Colors.white,
|
||||
vPadding: 8,
|
||||
radius: 30,
|
||||
hPadding: 20,
|
||||
fontWeight: FontWeight.normal,
|
||||
fontSize: 1.6,
|
||||
icon: Image.asset(
|
||||
"assets/images/create-episod.png",
|
||||
color: Colors.white,
|
||||
height: 30,
|
||||
),
|
||||
onPressed: () async {
|
||||
if (patient.patientStatusType ==
|
||||
43) {
|
||||
PostEpisodeReqModel
|
||||
postEpisodeReqModel =
|
||||
PostEpisodeReqModel(
|
||||
appointmentNo:
|
||||
patient.appointmentNo,
|
||||
patientMRN:
|
||||
patient.patientMRN);
|
||||
GifLoaderDialogUtils.showMyDialog(
|
||||
context);
|
||||
await model.postEpisode(
|
||||
postEpisodeReqModel);
|
||||
GifLoaderDialogUtils.hideDialog(
|
||||
context);
|
||||
patient.episodeNo =
|
||||
model.episodeID;
|
||||
Navigator.of(context).pushNamed(
|
||||
CREATE_EPISODE,
|
||||
arguments: {
|
||||
'patient': patient
|
||||
});
|
||||
}
|
||||
},
|
||||
),
|
||||
if (patient.episodeNo != 0)
|
||||
AppButton(
|
||||
title:
|
||||
"${TranslationBase.of(context).update}\n${TranslationBase.of(context).episode}",
|
||||
color:
|
||||
patient.patientStatusType == 43
|
||||
? Colors.red.shade700
|
||||
: Colors.grey.shade700,
|
||||
fontColor: Colors.white,
|
||||
vPadding: 8,
|
||||
radius: 30,
|
||||
hPadding: 20,
|
||||
fontWeight: FontWeight.normal,
|
||||
fontSize: 1.6,
|
||||
icon: Image.asset(
|
||||
"assets/images/modilfy-episode.png",
|
||||
color: Colors.white,
|
||||
height: 30,
|
||||
),
|
||||
onPressed: () {
|
||||
if (patient.patientStatusType ==
|
||||
43) {
|
||||
Navigator.of(context).pushNamed(
|
||||
UPDATE_EPISODE,
|
||||
arguments: {
|
||||
'patient': patient
|
||||
});
|
||||
}
|
||||
}),
|
||||
],
|
||||
),
|
||||
)),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
));
|
||||
}
|
||||
|
||||
Widget tabsBar(BuildContext context, Size screenSize) {
|
||||
List<String> _tabs = [
|
||||
"Inpatient Info".toUpperCase(),
|
||||
"Outpatient Info".toUpperCase(),
|
||||
];
|
||||
|
||||
return Container(
|
||||
height: screenSize.height * 0.070,
|
||||
decoration: TextFieldsUtils.containerBorderDecoration(
|
||||
Color(0Xffffffff), Color(0xFFCCCCCC),
|
||||
borderRadius: 4, borderWidth: 0),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: _tabs.map((item) {
|
||||
bool _isActive = _tabs[_activeTab] == item ? true : false;
|
||||
|
||||
return Expanded(
|
||||
child: InkWell(
|
||||
onTap: () async {
|
||||
setState(() {
|
||||
_activeTab = _tabs.indexOf(item);
|
||||
});
|
||||
},
|
||||
child: Center(
|
||||
child: Container(
|
||||
height: screenSize.height * 0.070,
|
||||
decoration: TextFieldsUtils.containerBorderDecoration(
|
||||
_isActive
|
||||
? Color(0xFFD02127 /*B8382B*/)
|
||||
: Color(0xFFEAEAEA),
|
||||
_isActive ? Color(0xFFD02127) : Color(0xFFEAEAEA),
|
||||
borderRadius: 4,
|
||||
borderWidth: 0),
|
||||
child: Center(
|
||||
child: AppText(
|
||||
item,
|
||||
fontSize: SizeConfig.textMultiplier * 1.8,
|
||||
color: _isActive ? Colors.white : Color(0xFF2B353E),
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}).toList(),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
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,
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,275 @@
|
||||
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
|
||||
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
||||
import 'package:doctor_app_flutter/widgets/patients/profile/PatientProfileButton.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../../../routes.dart';
|
||||
|
||||
// ignore: must_be_immutable
|
||||
class ProfileGridForInPatient extends StatelessWidget {
|
||||
final PatiantInformtion patient;
|
||||
final String patientType;
|
||||
final String arrivalType;
|
||||
final double height;
|
||||
final bool isInpatient;
|
||||
final bool isDischargedPatient;
|
||||
final bool isFromSearch;
|
||||
String from;
|
||||
String to;
|
||||
|
||||
ProfileGridForInPatient(
|
||||
{Key key,
|
||||
this.patient,
|
||||
this.patientType,
|
||||
this.arrivalType,
|
||||
this.height,
|
||||
this.isInpatient, this.from,this.to, this.isDischargedPatient, this.isFromSearch})
|
||||
: super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Padding(
|
||||
padding:
|
||||
const EdgeInsets.symmetric(
|
||||
vertical: 15.0,
|
||||
horizontal: 15),
|
||||
child: GridView.count(
|
||||
shrinkWrap: true,
|
||||
physics:
|
||||
NeverScrollableScrollPhysics(),
|
||||
crossAxisSpacing: 10,
|
||||
mainAxisSpacing: 10,
|
||||
childAspectRatio: 1 / 1.0,
|
||||
crossAxisCount: 3,
|
||||
children: [
|
||||
PatientProfileButton(
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
from: from,
|
||||
to: to,
|
||||
nameLine1:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.vital,
|
||||
nameLine2:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.signs,
|
||||
route: VITAL_SIGN_DETAILS,
|
||||
isInPatient: true,
|
||||
icon:
|
||||
'patient/vital_signs.png'),
|
||||
PatientProfileButton(
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: LAB_RESULT,
|
||||
isInPatient: true,
|
||||
nameLine1:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.lab,
|
||||
nameLine2:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.result,
|
||||
icon:
|
||||
'patient/lab_results.png'),
|
||||
PatientProfileButton(
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
isInPatient: isInpatient,
|
||||
route: RADIOLOGY_PATIENT,
|
||||
nameLine1:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.radiology,
|
||||
nameLine2:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.result,
|
||||
icon:
|
||||
'patient/health_summary.png'),
|
||||
PatientProfileButton(
|
||||
patient: patient,
|
||||
isInPatient: isInpatient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route:
|
||||
ORDER_PRESCRIPTION_NEW,
|
||||
isSelectInpatient: true,
|
||||
nameLine1:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.patient,
|
||||
nameLine2:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.prescription,
|
||||
icon:
|
||||
'patient/order_prescription.png'),
|
||||
PatientProfileButton(
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: PROGRESS_NOTE,
|
||||
isInPatient: isInpatient,
|
||||
isDischargedPatient:
|
||||
isDischargedPatient,
|
||||
nameLine1:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.progress,
|
||||
nameLine2:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.note,
|
||||
icon:
|
||||
'patient/Progress_notes.png'),
|
||||
PatientProfileButton(
|
||||
patient: patient,
|
||||
isInPatient: isInpatient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: ORDER_NOTE,
|
||||
isDischargedPatient:
|
||||
isDischargedPatient,
|
||||
nameLine1:
|
||||
"Order",
|
||||
//"Text",
|
||||
nameLine2:
|
||||
"Sheet",
|
||||
//TranslationBase.of(context).orders,
|
||||
icon:
|
||||
'patient/Progress_notes.png'),
|
||||
PatientProfileButton(
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: ORDER_PROCEDURE,
|
||||
isInPatient: isInpatient,
|
||||
nameLine1:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.orders,
|
||||
nameLine2:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.procedures,
|
||||
icon:
|
||||
'patient/Order_Procedures.png'),
|
||||
PatientProfileButton(
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: MEDICAL_FILE,
|
||||
nameLine1: "Health",
|
||||
isInPatient: isInpatient,
|
||||
nameLine2: "Summary",
|
||||
//TranslationBase.of(context).summaryReport,
|
||||
icon:
|
||||
'patient/health_summary.png'),
|
||||
PatientProfileButton(
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
isDisable: true,
|
||||
route: MEDICAL_FILE,
|
||||
nameLine1:
|
||||
"Medical",
|
||||
//Health
|
||||
isInPatient: isInpatient,
|
||||
nameLine2:
|
||||
"Report",
|
||||
//Report
|
||||
//TranslationBase.of(context).summaryReport,
|
||||
icon:
|
||||
'patient/health_summary.png'),
|
||||
PatientProfileButton(
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route:
|
||||
REFER_IN_PATIENT_TO_DOCTOR,
|
||||
isInPatient: true,
|
||||
isDisable:
|
||||
isDischargedPatient ||
|
||||
isFromSearch,
|
||||
nameLine1:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.referral,
|
||||
nameLine2:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.patient,
|
||||
icon:
|
||||
'patient/refer_patient.png'),
|
||||
PatientProfileButton(
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route:
|
||||
PATIENT_INSURANCE_APPROVALS_NEW,
|
||||
nameLine1:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.insurance,
|
||||
nameLine2:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.approvals,
|
||||
icon:
|
||||
'patient/vital_signs.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient: isInpatient,
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
isDisable: true,
|
||||
route: null,
|
||||
nameLine1: "Discharge",
|
||||
nameLine2: "Summery",
|
||||
icon:
|
||||
'patient/patient_sick_leave.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient: isInpatient,
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: ADD_SICKLEAVE,
|
||||
nameLine1:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.patientSick,
|
||||
nameLine2:
|
||||
TranslationBase
|
||||
.of(
|
||||
context)
|
||||
.leave,
|
||||
icon:
|
||||
'patient/patient_sick_leave.png'),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,309 @@
|
||||
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
|
||||
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
||||
import 'package:doctor_app_flutter/widgets/patients/profile/PatientProfileButton.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../../../routes.dart';
|
||||
|
||||
// ignore: must_be_immutable
|
||||
class ProfileGridForOther extends StatelessWidget {
|
||||
final PatiantInformtion patient;
|
||||
final String patientType;
|
||||
final String arrivalType;
|
||||
final double height;
|
||||
final bool isInpatient;
|
||||
String from;
|
||||
String to;
|
||||
|
||||
ProfileGridForOther(
|
||||
{Key key,
|
||||
this.patient,
|
||||
this.patientType,
|
||||
this.arrivalType,
|
||||
this.height,
|
||||
this.isInpatient, this.from,this.to})
|
||||
: super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
children: [
|
||||
Padding(
|
||||
padding: const EdgeInsets
|
||||
.symmetric(
|
||||
vertical: 15.0,
|
||||
horizontal: 15),
|
||||
child: GridView.count(
|
||||
shrinkWrap: true,
|
||||
physics:
|
||||
NeverScrollableScrollPhysics(),
|
||||
crossAxisSpacing: 10,
|
||||
mainAxisSpacing: 10,
|
||||
childAspectRatio: 1 / 1.0,
|
||||
crossAxisCount: 3,
|
||||
children: [
|
||||
PatientProfileButton(
|
||||
isInPatient:
|
||||
isInpatient,
|
||||
patient: patient,
|
||||
patientType:
|
||||
patientType,
|
||||
arrivalType:
|
||||
arrivalType,
|
||||
from: from,
|
||||
to: to,
|
||||
nameLine1:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.vital,
|
||||
nameLine2:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.signs,
|
||||
route:
|
||||
VITAL_SIGN_DETAILS,
|
||||
icon:
|
||||
'patient/vital_signs.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient:
|
||||
isInpatient,
|
||||
patient: patient,
|
||||
patientType:
|
||||
patientType,
|
||||
arrivalType:
|
||||
arrivalType,
|
||||
route: LAB_RESULT,
|
||||
nameLine1:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.lab,
|
||||
nameLine2:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.result,
|
||||
icon:
|
||||
'patient/lab_results.png'),
|
||||
PatientProfileButton(
|
||||
patient: patient,
|
||||
patientType:
|
||||
patientType,
|
||||
arrivalType:
|
||||
arrivalType,
|
||||
isInPatient:
|
||||
isInpatient,
|
||||
route:
|
||||
RADIOLOGY_PATIENT,
|
||||
nameLine1:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.radiology,
|
||||
nameLine2:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.service,
|
||||
icon:
|
||||
'patient/health_summary.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient:
|
||||
isInpatient,
|
||||
patient: patient,
|
||||
patientType:
|
||||
patientType,
|
||||
arrivalType:
|
||||
arrivalType,
|
||||
route:
|
||||
ORDER_PRESCRIPTION_NEW,
|
||||
nameLine1:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.orders,
|
||||
nameLine2:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.prescription,
|
||||
icon:
|
||||
'patient/order_prescription.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient:
|
||||
isInpatient,
|
||||
patient: patient,
|
||||
patientType:
|
||||
patientType,
|
||||
arrivalType:
|
||||
arrivalType,
|
||||
route: MEDICAL_FILE,
|
||||
nameLine1: "Health",
|
||||
//TranslationBase.of(context).medicalReport,
|
||||
nameLine2: "Summary",
|
||||
//TranslationBase.of(context).summaryReport,
|
||||
icon:
|
||||
'patient/health_summary.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient:
|
||||
isInpatient,
|
||||
patient: patient,
|
||||
patientType:
|
||||
patientType,
|
||||
arrivalType:
|
||||
arrivalType,
|
||||
route: PATIENT_ECG,
|
||||
nameLine1:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.patient,
|
||||
nameLine2: "ECG",
|
||||
icon:
|
||||
'patient/patient_sick_leave.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient:
|
||||
isInpatient,
|
||||
patient: patient,
|
||||
patientType:
|
||||
patientType,
|
||||
arrivalType:
|
||||
arrivalType,
|
||||
route:
|
||||
ORDER_PROCEDURE,
|
||||
nameLine1:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.orders,
|
||||
nameLine2:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.procedures,
|
||||
icon:
|
||||
'patient/Order_Procedures.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient:
|
||||
isInpatient,
|
||||
patient: patient,
|
||||
patientType:
|
||||
patientType,
|
||||
arrivalType:
|
||||
arrivalType,
|
||||
route:
|
||||
PATIENT_INSURANCE_APPROVALS_NEW,
|
||||
nameLine1:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.insurance,
|
||||
nameLine2:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.service,
|
||||
icon:
|
||||
'patient/vital_signs.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient:
|
||||
isInpatient,
|
||||
patient: patient,
|
||||
patientType:
|
||||
patientType,
|
||||
arrivalType:
|
||||
arrivalType,
|
||||
route: ADD_SICKLEAVE,
|
||||
nameLine1:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.patientSick,
|
||||
nameLine2:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.leave,
|
||||
icon:
|
||||
'patient/patient_sick_leave.png'),
|
||||
if (patient.appointmentNo !=
|
||||
null &&
|
||||
patient.appointmentNo !=
|
||||
0)
|
||||
PatientProfileButton(
|
||||
isInPatient:
|
||||
isInpatient,
|
||||
patient: patient,
|
||||
patientType:
|
||||
patientType,
|
||||
arrivalType:
|
||||
arrivalType,
|
||||
route:
|
||||
PATIENT_UCAF_REQUEST,
|
||||
isDisable:
|
||||
patient.patientStatusType !=
|
||||
43
|
||||
? true
|
||||
: false,
|
||||
nameLine1:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.patient,
|
||||
nameLine2:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.ucaf,
|
||||
icon:
|
||||
'patient/ucaf.png'),
|
||||
if (patient.appointmentNo !=
|
||||
null &&
|
||||
patient.appointmentNo !=
|
||||
0)
|
||||
PatientProfileButton(
|
||||
isInPatient:
|
||||
isInpatient,
|
||||
patient: patient,
|
||||
patientType:
|
||||
patientType,
|
||||
arrivalType:
|
||||
arrivalType,
|
||||
route:
|
||||
REFER_PATIENT_TO_DOCTOR,
|
||||
isDisable: patient
|
||||
.patientStatusType !=
|
||||
43
|
||||
? true
|
||||
: false,
|
||||
nameLine1:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.referral,
|
||||
nameLine2:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.patient,
|
||||
icon:
|
||||
'patient/refer_patient.png'),
|
||||
if (patient.appointmentNo !=
|
||||
null &&
|
||||
patient.appointmentNo !=
|
||||
0)
|
||||
PatientProfileButton(
|
||||
isInPatient:
|
||||
isInpatient,
|
||||
patient: patient,
|
||||
patientType:
|
||||
patientType,
|
||||
arrivalType:
|
||||
arrivalType,
|
||||
route:
|
||||
PATIENT_ADMISSION_REQUEST,
|
||||
isDisable:
|
||||
patient.patientStatusType !=
|
||||
43
|
||||
? true
|
||||
: false,
|
||||
nameLine1:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.admission,
|
||||
nameLine2:
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.request,
|
||||
icon:
|
||||
'patient/admission_req.png'),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,164 @@
|
||||
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
|
||||
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
||||
import 'package:doctor_app_flutter/widgets/patients/profile/PatientProfileButton.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../../../routes.dart';
|
||||
|
||||
class ProfileGridForSearch extends StatelessWidget {
|
||||
final PatiantInformtion patient;
|
||||
final String patientType;
|
||||
final String arrivalType;
|
||||
final double height;
|
||||
final bool isInpatient;
|
||||
String from;
|
||||
String to;
|
||||
|
||||
ProfileGridForSearch(
|
||||
{Key key,
|
||||
this.patient,
|
||||
this.patientType,
|
||||
this.arrivalType,
|
||||
this.height,
|
||||
this.isInpatient, this.from,this.to})
|
||||
: super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
children: [
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 15.0, horizontal: 15),
|
||||
child: GridView.count(
|
||||
shrinkWrap: true,
|
||||
physics: NeverScrollableScrollPhysics(),
|
||||
crossAxisSpacing: 10,
|
||||
mainAxisSpacing: 10,
|
||||
childAspectRatio: 1 / 1.0,
|
||||
crossAxisCount: 3,
|
||||
children: [
|
||||
PatientProfileButton(
|
||||
isInPatient: isInpatient,
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
from: from,
|
||||
to: to,
|
||||
nameLine1: TranslationBase.of(context).vital,
|
||||
nameLine2: TranslationBase.of(context).signs,
|
||||
route: VITAL_SIGN_DETAILS,
|
||||
icon: 'patient/vital_signs.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient: isInpatient,
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: LAB_RESULT,
|
||||
nameLine1: TranslationBase.of(context).lab,
|
||||
nameLine2: TranslationBase.of(context).result,
|
||||
icon: 'patient/lab_results.png'),
|
||||
PatientProfileButton(
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
isInPatient: isInpatient,
|
||||
route: RADIOLOGY_PATIENT,
|
||||
nameLine1: TranslationBase.of(context).radiology,
|
||||
nameLine2: TranslationBase.of(context).service,
|
||||
icon: 'patient/health_summary.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient: isInpatient,
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: ORDER_PRESCRIPTION_NEW,
|
||||
nameLine1: TranslationBase.of(context).orders,
|
||||
nameLine2: TranslationBase.of(context).prescription,
|
||||
icon: 'patient/order_prescription.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient: isInpatient,
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: MEDICAL_FILE,
|
||||
nameLine1: "Health",
|
||||
//TranslationBase.of(context).medicalReport,
|
||||
nameLine2: "Summary",
|
||||
//TranslationBase.of(context).summaryReport,
|
||||
icon: 'patient/health_summary.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient: isInpatient,
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: PATIENT_ECG,
|
||||
nameLine1: TranslationBase.of(context).patient,
|
||||
nameLine2: "ECG",
|
||||
icon: 'patient/patient_sick_leave.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient: isInpatient,
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: ORDER_PROCEDURE,
|
||||
nameLine1: TranslationBase.of(context).orders,
|
||||
nameLine2: TranslationBase.of(context).procedures,
|
||||
icon: 'patient/Order_Procedures.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient: isInpatient,
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: PATIENT_INSURANCE_APPROVALS_NEW,
|
||||
nameLine1: TranslationBase.of(context).insurance,
|
||||
nameLine2: TranslationBase.of(context).service,
|
||||
icon: 'patient/vital_signs.png'),
|
||||
PatientProfileButton(
|
||||
isInPatient: isInpatient,
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: ADD_SICKLEAVE,
|
||||
nameLine1: TranslationBase.of(context).patientSick,
|
||||
nameLine2: TranslationBase.of(context).leave,
|
||||
icon: 'patient/patient_sick_leave.png'),
|
||||
if (patient.appointmentNo != null && patient.appointmentNo != 0)
|
||||
PatientProfileButton(
|
||||
isInPatient: isInpatient,
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: PATIENT_UCAF_REQUEST,
|
||||
isDisable: patient.patientStatusType != 43 ? true : false,
|
||||
nameLine1: TranslationBase.of(context).patient,
|
||||
nameLine2: TranslationBase.of(context).ucaf,
|
||||
icon: 'patient/ucaf.png'),
|
||||
if (patient.appointmentNo != null && patient.appointmentNo != 0)
|
||||
PatientProfileButton(
|
||||
isInPatient: isInpatient,
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: REFER_PATIENT_TO_DOCTOR,
|
||||
isDisable: patient.patientStatusType != 43 ? true : false,
|
||||
nameLine1: TranslationBase.of(context).referral,
|
||||
nameLine2: TranslationBase.of(context).patient,
|
||||
icon: 'patient/refer_patient.png'),
|
||||
if (patient.appointmentNo != null && patient.appointmentNo != 0)
|
||||
PatientProfileButton(
|
||||
isInPatient: isInpatient,
|
||||
patient: patient,
|
||||
patientType: patientType,
|
||||
arrivalType: arrivalType,
|
||||
route: PATIENT_ADMISSION_REQUEST,
|
||||
isDisable: patient.patientStatusType != 43 ? true : false,
|
||||
nameLine1: TranslationBase.of(context).admission,
|
||||
nameLine2: TranslationBase.of(context).request,
|
||||
icon: 'patient/admission_req.png'),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue