|
|
|
|
@ -14,6 +14,7 @@ import 'package:flutter/services.dart';
|
|
|
|
|
import 'package:hexcolor/hexcolor.dart';
|
|
|
|
|
|
|
|
|
|
import '../../../../routes.dart';
|
|
|
|
|
import '../../../QR_reader_screen.dart';
|
|
|
|
|
|
|
|
|
|
class UCAFInputScreen extends StatefulWidget {
|
|
|
|
|
@override
|
|
|
|
|
@ -55,312 +56,338 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
|
|
|
|
|
final screenSize = MediaQuery.of(context).size;
|
|
|
|
|
|
|
|
|
|
return BaseView<UcafViewModel>(
|
|
|
|
|
onModelReady: (model) => model.getUCAFData(patient),
|
|
|
|
|
builder: (_, model, w) => AppScaffold(
|
|
|
|
|
baseViewModel: model,
|
|
|
|
|
appBarTitle: TranslationBase.of(context).ucaf,
|
|
|
|
|
body: SingleChildScrollView(
|
|
|
|
|
child: Column(
|
|
|
|
|
children: [
|
|
|
|
|
PatientHeaderWidgetNoAvatar(patient),
|
|
|
|
|
Container(
|
|
|
|
|
margin: EdgeInsets.symmetric(vertical: 16, horizontal: 16),
|
|
|
|
|
body: model.patientVitalSigns != null &&
|
|
|
|
|
model.patientChiefComplaintList != null &&
|
|
|
|
|
model.patientChiefComplaintList.length > 0
|
|
|
|
|
? SingleChildScrollView(
|
|
|
|
|
child: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
CheckboxListTile(
|
|
|
|
|
title: AppText(
|
|
|
|
|
TranslationBase.of(context).inPatient,
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.1,
|
|
|
|
|
),
|
|
|
|
|
value: _inPatient,
|
|
|
|
|
onChanged: (newValue) {
|
|
|
|
|
setState(() {
|
|
|
|
|
_inPatient = newValue;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
controlAffinity: ListTileControlAffinity.leading,
|
|
|
|
|
contentPadding: EdgeInsets.all(0),
|
|
|
|
|
),
|
|
|
|
|
CheckboxListTile(
|
|
|
|
|
title: AppText(
|
|
|
|
|
TranslationBase.of(context).emergencyCase,
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.1,
|
|
|
|
|
),
|
|
|
|
|
value: _emergencyCase,
|
|
|
|
|
onChanged: (newValue) {
|
|
|
|
|
setState(() {
|
|
|
|
|
_emergencyCase = newValue;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
controlAffinity: ListTileControlAffinity.leading,
|
|
|
|
|
contentPadding: EdgeInsets.all(0),
|
|
|
|
|
),
|
|
|
|
|
PatientHeaderWidgetNoAvatar(patient),
|
|
|
|
|
Container(
|
|
|
|
|
height: screenSize.height * 0.070,
|
|
|
|
|
child: TextField(
|
|
|
|
|
decoration: Helpers.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context).durationOfIllness,
|
|
|
|
|
null,
|
|
|
|
|
false),
|
|
|
|
|
enabled: true,
|
|
|
|
|
controller: _durationOfIllnessController,
|
|
|
|
|
inputFormatters: [
|
|
|
|
|
FilteringTextInputFormatter.allow(
|
|
|
|
|
RegExp(ONLY_NUMBERS))
|
|
|
|
|
],
|
|
|
|
|
keyboardType: TextInputType.number,
|
|
|
|
|
)),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 10,
|
|
|
|
|
),
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
children: [
|
|
|
|
|
Row(
|
|
|
|
|
children: [
|
|
|
|
|
AppText(
|
|
|
|
|
"BP (H/L)",
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 1.8,
|
|
|
|
|
color: Colors.black,
|
|
|
|
|
fontWeight: FontWeight.w700,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
width: 8,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
"120/80",
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2,
|
|
|
|
|
color: Colors.grey.shade800,
|
|
|
|
|
fontWeight: FontWeight.normal,
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
Row(
|
|
|
|
|
children: [
|
|
|
|
|
AppText(
|
|
|
|
|
"${TranslationBase.of(context).temperature}",
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 1.8,
|
|
|
|
|
color: Colors.black,
|
|
|
|
|
fontWeight: FontWeight.w700,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
width: 8,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
"37.5(C), 98.6(F)",
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2,
|
|
|
|
|
color: Colors.grey.shade800,
|
|
|
|
|
fontWeight: FontWeight.normal,
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 4,
|
|
|
|
|
),
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
children: [
|
|
|
|
|
Row(
|
|
|
|
|
children: [
|
|
|
|
|
AppText(
|
|
|
|
|
"${TranslationBase.of(context).pulseBeats} :",
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 1.8,
|
|
|
|
|
color: Colors.black,
|
|
|
|
|
fontWeight: FontWeight.w700,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
width: 8,
|
|
|
|
|
margin:
|
|
|
|
|
EdgeInsets.symmetric(vertical: 16, horizontal: 16),
|
|
|
|
|
child: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
CheckboxListTile(
|
|
|
|
|
title: AppText(
|
|
|
|
|
TranslationBase.of(context).inPatient,
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.1,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
"80",
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2,
|
|
|
|
|
color: Colors.grey.shade800,
|
|
|
|
|
fontWeight: FontWeight.normal,
|
|
|
|
|
value: _inPatient,
|
|
|
|
|
onChanged: (newValue) {
|
|
|
|
|
setState(() {
|
|
|
|
|
_inPatient = newValue;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
controlAffinity: ListTileControlAffinity.leading,
|
|
|
|
|
contentPadding: EdgeInsets.all(0),
|
|
|
|
|
),
|
|
|
|
|
CheckboxListTile(
|
|
|
|
|
title: AppText(
|
|
|
|
|
TranslationBase.of(context).emergencyCase,
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.1,
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 16,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
TranslationBase.of(context).chiefComplaintsAndSymptoms,
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.5,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
TranslationBase.of(context)
|
|
|
|
|
.patientFeelsPainInHisBackAndCough,
|
|
|
|
|
fontWeight: FontWeight.normal,
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.0,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
Container(
|
|
|
|
|
child: TextField(
|
|
|
|
|
decoration: Helpers.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context).additionalTextComplaints,
|
|
|
|
|
null,
|
|
|
|
|
false),
|
|
|
|
|
enabled: true,
|
|
|
|
|
controller: _additionalComplaintsController,
|
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
|
minLines: 4,
|
|
|
|
|
maxLines: 6,
|
|
|
|
|
)),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 16,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
TranslationBase.of(context).otherConditions,
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.0,
|
|
|
|
|
),
|
|
|
|
|
...List.generate(
|
|
|
|
|
conditionsData.length,
|
|
|
|
|
(index) => CheckboxListTile(
|
|
|
|
|
title: AppText(
|
|
|
|
|
conditionsData[index]['name'],
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.1,
|
|
|
|
|
value: _emergencyCase,
|
|
|
|
|
onChanged: (newValue) {
|
|
|
|
|
setState(() {
|
|
|
|
|
_emergencyCase = newValue;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
controlAffinity: ListTileControlAffinity.leading,
|
|
|
|
|
contentPadding: EdgeInsets.all(0),
|
|
|
|
|
),
|
|
|
|
|
Container(
|
|
|
|
|
height: screenSize.height * 0.070,
|
|
|
|
|
child: TextField(
|
|
|
|
|
decoration: Helpers.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context)
|
|
|
|
|
.durationOfIllness,
|
|
|
|
|
null,
|
|
|
|
|
false),
|
|
|
|
|
enabled: true,
|
|
|
|
|
controller: _durationOfIllnessController,
|
|
|
|
|
inputFormatters: [
|
|
|
|
|
FilteringTextInputFormatter.allow(
|
|
|
|
|
RegExp(ONLY_NUMBERS))
|
|
|
|
|
],
|
|
|
|
|
keyboardType: TextInputType.number,
|
|
|
|
|
)),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 10,
|
|
|
|
|
),
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
children: [
|
|
|
|
|
Row(
|
|
|
|
|
children: [
|
|
|
|
|
AppText(
|
|
|
|
|
"BP (H/L)",
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 1.8,
|
|
|
|
|
color: Colors.black,
|
|
|
|
|
fontWeight: FontWeight.w700,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
width: 8,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
"${model.patientVitalSigns.bloodPressureHigher}/${model.patientVitalSigns.bloodPressureLower}",
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2,
|
|
|
|
|
color: Colors.grey.shade800,
|
|
|
|
|
fontWeight: FontWeight.normal,
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
value: conditionsData[index]['isChecked'],
|
|
|
|
|
onChanged: (newValue) {
|
|
|
|
|
setState(() {
|
|
|
|
|
conditionsData[index]['isChecked'] = newValue;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
controlAffinity: ListTileControlAffinity.leading,
|
|
|
|
|
contentPadding: EdgeInsets.all(0),
|
|
|
|
|
)),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
Container(
|
|
|
|
|
height: screenSize.height * 0.070,
|
|
|
|
|
child: TextField(
|
|
|
|
|
decoration: Helpers.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context).other,
|
|
|
|
|
null,
|
|
|
|
|
false),
|
|
|
|
|
enabled: true,
|
|
|
|
|
controller: _otherController,
|
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
|
)),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
Container(
|
|
|
|
|
height: screenSize.height * 0.070,
|
|
|
|
|
child: TextField(
|
|
|
|
|
decoration: Helpers.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context).how,
|
|
|
|
|
null,
|
|
|
|
|
false),
|
|
|
|
|
enabled: true,
|
|
|
|
|
controller: _howController,
|
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
|
)),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
Row(
|
|
|
|
|
children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
child: Container(
|
|
|
|
|
Row(
|
|
|
|
|
children: [
|
|
|
|
|
AppText(
|
|
|
|
|
"${TranslationBase.of(context).temperature}",
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 1.8,
|
|
|
|
|
color: Colors.black,
|
|
|
|
|
fontWeight: FontWeight.w700,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
width: 8,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
"${model.patientVitalSigns.temperatureCelcius}(C), ${model.patientVitalSigns.temperatureCelcius * (9 / 5) + 32}(F)",
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2,
|
|
|
|
|
color: Colors.grey.shade800,
|
|
|
|
|
fontWeight: FontWeight.normal,
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 4,
|
|
|
|
|
),
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
children: [
|
|
|
|
|
Row(
|
|
|
|
|
children: [
|
|
|
|
|
AppText(
|
|
|
|
|
"${TranslationBase.of(context).pulseBeats} :",
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 1.8,
|
|
|
|
|
color: Colors.black,
|
|
|
|
|
fontWeight: FontWeight.w700,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
width: 8,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
"${model.patientVitalSigns.pulseBeatPerMinute}",
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2,
|
|
|
|
|
color: Colors.grey.shade800,
|
|
|
|
|
fontWeight: FontWeight.normal,
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 16,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
TranslationBase.of(context)
|
|
|
|
|
.chiefComplaintsAndSymptoms,
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.5,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
TranslationBase.of(context)
|
|
|
|
|
.patientFeelsPainInHisBackAndCough,
|
|
|
|
|
fontWeight: FontWeight.normal,
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.0,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
Container(
|
|
|
|
|
child: TextField(
|
|
|
|
|
decoration: Helpers.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context)
|
|
|
|
|
.additionalTextComplaints,
|
|
|
|
|
helpers.parseHtmlString(model
|
|
|
|
|
.patientChiefComplaintList[0]
|
|
|
|
|
.chiefComplaint),
|
|
|
|
|
false),
|
|
|
|
|
enabled: false,
|
|
|
|
|
controller: _additionalComplaintsController,
|
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
|
/*minLines: 4,
|
|
|
|
|
maxLines: 6,*/
|
|
|
|
|
)),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 16,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
TranslationBase.of(context).otherConditions,
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.0,
|
|
|
|
|
),
|
|
|
|
|
...List.generate(
|
|
|
|
|
conditionsData.length,
|
|
|
|
|
(index) => CheckboxListTile(
|
|
|
|
|
title: AppText(
|
|
|
|
|
conditionsData[index]['name'],
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.1,
|
|
|
|
|
),
|
|
|
|
|
value: conditionsData[index]['isChecked'],
|
|
|
|
|
onChanged: (newValue) {
|
|
|
|
|
setState(() {
|
|
|
|
|
conditionsData[index]['isChecked'] =
|
|
|
|
|
newValue;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
controlAffinity:
|
|
|
|
|
ListTileControlAffinity.leading,
|
|
|
|
|
contentPadding: EdgeInsets.all(0),
|
|
|
|
|
)),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
Container(
|
|
|
|
|
height: screenSize.height * 0.070,
|
|
|
|
|
child: TextField(
|
|
|
|
|
decoration: Helpers.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context).when,
|
|
|
|
|
TranslationBase.of(context).other,
|
|
|
|
|
null,
|
|
|
|
|
false),
|
|
|
|
|
enabled: true,
|
|
|
|
|
controller: _whenController,
|
|
|
|
|
controller: _otherController,
|
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
|
)),
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
width: 4,
|
|
|
|
|
),
|
|
|
|
|
Expanded(
|
|
|
|
|
child: Container(
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
Container(
|
|
|
|
|
height: screenSize.height * 0.070,
|
|
|
|
|
child: TextField(
|
|
|
|
|
decoration: Helpers.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context).where,
|
|
|
|
|
TranslationBase.of(context).how,
|
|
|
|
|
null,
|
|
|
|
|
false),
|
|
|
|
|
enabled: true,
|
|
|
|
|
controller: _whereController,
|
|
|
|
|
controller: _howController,
|
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
|
)),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
Container(
|
|
|
|
|
child: TextField(
|
|
|
|
|
decoration: Helpers.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context).specifyPossibleLineManagement,
|
|
|
|
|
null,
|
|
|
|
|
false),
|
|
|
|
|
enabled: true,
|
|
|
|
|
controller: _managementsLineController,
|
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
|
minLines: 4,
|
|
|
|
|
maxLines: 6,
|
|
|
|
|
)),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 16,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
TranslationBase.of(context)
|
|
|
|
|
.significantSigns,
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.0,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
Container(
|
|
|
|
|
child: TextField(
|
|
|
|
|
decoration: Helpers.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context).backAbdomen,
|
|
|
|
|
null,
|
|
|
|
|
false),
|
|
|
|
|
enabled: true,
|
|
|
|
|
controller: _signsController,
|
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
|
minLines: 4,
|
|
|
|
|
maxLines: 6,
|
|
|
|
|
)),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 16,
|
|
|
|
|
),
|
|
|
|
|
AppButton(
|
|
|
|
|
title: TranslationBase.of(context).next,
|
|
|
|
|
color: HexColor("#B8382B"),
|
|
|
|
|
onPressed: (){
|
|
|
|
|
Navigator.of(context).pushNamed(PATIENT_UCAF_DETAIL, arguments: {'patient': patient});
|
|
|
|
|
},
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
Row(
|
|
|
|
|
children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
child: Container(
|
|
|
|
|
height: screenSize.height * 0.070,
|
|
|
|
|
child: TextField(
|
|
|
|
|
decoration:
|
|
|
|
|
Helpers.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context).when,
|
|
|
|
|
null,
|
|
|
|
|
false),
|
|
|
|
|
enabled: true,
|
|
|
|
|
controller: _whenController,
|
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
|
)),
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
width: 4,
|
|
|
|
|
),
|
|
|
|
|
Expanded(
|
|
|
|
|
child: Container(
|
|
|
|
|
height: screenSize.height * 0.070,
|
|
|
|
|
child: TextField(
|
|
|
|
|
decoration:
|
|
|
|
|
Helpers.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context).where,
|
|
|
|
|
null,
|
|
|
|
|
false),
|
|
|
|
|
enabled: true,
|
|
|
|
|
controller: _whereController,
|
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
|
)),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
Container(
|
|
|
|
|
child: TextField(
|
|
|
|
|
decoration: Helpers.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context)
|
|
|
|
|
.specifyPossibleLineManagement,
|
|
|
|
|
null,
|
|
|
|
|
false),
|
|
|
|
|
enabled: true,
|
|
|
|
|
controller: _managementsLineController,
|
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
|
minLines: 4,
|
|
|
|
|
maxLines: 6,
|
|
|
|
|
)),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 16,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
TranslationBase.of(context).significantSigns,
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.0,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
Container(
|
|
|
|
|
child: TextField(
|
|
|
|
|
decoration: Helpers.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context).backAbdomen,
|
|
|
|
|
null,
|
|
|
|
|
false),
|
|
|
|
|
enabled: true,
|
|
|
|
|
controller: _signsController,
|
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
|
)),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 16,
|
|
|
|
|
),
|
|
|
|
|
AppButton(
|
|
|
|
|
title: TranslationBase.of(context).next,
|
|
|
|
|
color: HexColor("#B8382B"),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
Navigator.of(context).pushNamed(
|
|
|
|
|
PATIENT_UCAF_DETAIL,
|
|
|
|
|
arguments: {'patient': patient});
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
: Container(
|
|
|
|
|
child: Center(
|
|
|
|
|
child: AppText(
|
|
|
|
|
model.patientVitalSigns == null
|
|
|
|
|
? TranslationBase.of(context).vitalSignEmptyMsg
|
|
|
|
|
: TranslationBase.of(context).chiefComplaintEmptyMsg,
|
|
|
|
|
fontWeight: FontWeight.normal,
|
|
|
|
|
color: HexColor("#B8382B"),
|
|
|
|
|
fontSize: SizeConfig.textMultiplier * 2.5,
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|