|
|
|
|
@ -29,17 +29,17 @@ class AddAssessmentDetails extends StatefulWidget {
|
|
|
|
|
final MySelectedAssessment mySelectedAssessment;
|
|
|
|
|
final List<MySelectedAssessment> mySelectedAssessmentList;
|
|
|
|
|
final Function(MySelectedAssessment mySelectedAssessment, bool isUpdate)
|
|
|
|
|
addSelectedAssessment;
|
|
|
|
|
addSelectedAssessment;
|
|
|
|
|
final PatiantInformtion patientInfo;
|
|
|
|
|
final bool isUpdate;
|
|
|
|
|
|
|
|
|
|
AddAssessmentDetails(
|
|
|
|
|
{Key ? key,
|
|
|
|
|
this.mySelectedAssessment,
|
|
|
|
|
this.addSelectedAssessment,
|
|
|
|
|
this.patientInfo,
|
|
|
|
|
this.isUpdate = false,
|
|
|
|
|
this.mySelectedAssessmentList});
|
|
|
|
|
{Key? key,
|
|
|
|
|
required this.mySelectedAssessment,
|
|
|
|
|
required this.addSelectedAssessment,
|
|
|
|
|
required this.patientInfo,
|
|
|
|
|
this.isUpdate = false,
|
|
|
|
|
required this.mySelectedAssessmentList});
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
_AddAssessmentDetailsState createState() => _AddAssessmentDetailsState();
|
|
|
|
|
@ -60,48 +60,37 @@ class _AddAssessmentDetailsState extends State<AddAssessmentDetails> {
|
|
|
|
|
ProjectViewModel projectViewModel = Provider.of(context);
|
|
|
|
|
|
|
|
|
|
remarkController.text = widget.mySelectedAssessment.remark ?? "";
|
|
|
|
|
appointmentIdController.text =
|
|
|
|
|
widget.mySelectedAssessment.appointmentId.toString();
|
|
|
|
|
appointmentIdController.text = widget.mySelectedAssessment.appointmentId.toString();
|
|
|
|
|
if (widget.isUpdate) {
|
|
|
|
|
if (widget.mySelectedAssessment.selectedDiagnosisCondition != null)
|
|
|
|
|
conditionController.text = projectViewModel.isArabic
|
|
|
|
|
? widget.mySelectedAssessment.selectedDiagnosisCondition.nameAr
|
|
|
|
|
: widget.mySelectedAssessment.selectedDiagnosisCondition.nameEn;
|
|
|
|
|
? widget.mySelectedAssessment.selectedDiagnosisCondition!.nameAr ?? ""
|
|
|
|
|
: widget.mySelectedAssessment.selectedDiagnosisCondition!.nameEn ?? "";
|
|
|
|
|
if (widget.mySelectedAssessment.selectedDiagnosisType != null)
|
|
|
|
|
typeController.text = projectViewModel.isArabic
|
|
|
|
|
? widget.mySelectedAssessment.selectedDiagnosisType.nameAr
|
|
|
|
|
: widget.mySelectedAssessment.selectedDiagnosisType.nameEn;
|
|
|
|
|
? widget.mySelectedAssessment.selectedDiagnosisType!.nameAr ?? ""
|
|
|
|
|
: widget.mySelectedAssessment.selectedDiagnosisType!.nameEn ?? "";
|
|
|
|
|
if (widget.mySelectedAssessment.selectedICD != null)
|
|
|
|
|
icdNameController.text = widget.mySelectedAssessment.selectedICD.code;
|
|
|
|
|
icdNameController.text = widget.mySelectedAssessment.selectedICD!.code;
|
|
|
|
|
}
|
|
|
|
|
InputDecoration textFieldSelectorDecoration(
|
|
|
|
|
String hintText, String selectedText, bool isDropDown,
|
|
|
|
|
{IconData icon, String validationError}) {
|
|
|
|
|
InputDecoration textFieldSelectorDecoration(String hintText, String selectedText, bool isDropDown,
|
|
|
|
|
{IconData? icon, String? validationError}) {
|
|
|
|
|
return new InputDecoration(
|
|
|
|
|
fillColor: Colors.white,
|
|
|
|
|
contentPadding: EdgeInsets.symmetric(vertical: 15, horizontal: 10),
|
|
|
|
|
focusedBorder: OutlineInputBorder(
|
|
|
|
|
borderSide: BorderSide(
|
|
|
|
|
color: (validationError != null
|
|
|
|
|
? Colors.red.shade700
|
|
|
|
|
: Color(0xFFEFEFEF)),
|
|
|
|
|
width: 2.5),
|
|
|
|
|
borderSide:
|
|
|
|
|
BorderSide(color: (validationError != null ? Colors.red.shade700 : Color(0xFFEFEFEF)), width: 2.5),
|
|
|
|
|
borderRadius: BorderRadius.circular(8),
|
|
|
|
|
),
|
|
|
|
|
enabledBorder: OutlineInputBorder(
|
|
|
|
|
borderSide: BorderSide(
|
|
|
|
|
color: (validationError != null
|
|
|
|
|
? Colors.red.shade700
|
|
|
|
|
: Color(0xFFEFEFEF)),
|
|
|
|
|
width: 2.5),
|
|
|
|
|
borderSide:
|
|
|
|
|
BorderSide(color: (validationError != null ? Colors.red.shade700 : Color(0xFFEFEFEF)), width: 2.5),
|
|
|
|
|
borderRadius: BorderRadius.circular(8),
|
|
|
|
|
),
|
|
|
|
|
disabledBorder: OutlineInputBorder(
|
|
|
|
|
borderSide: BorderSide(
|
|
|
|
|
color: (validationError != null
|
|
|
|
|
? Colors.red.shade700
|
|
|
|
|
: Color(0xFFEFEFEF)),
|
|
|
|
|
width: 2.5),
|
|
|
|
|
borderSide:
|
|
|
|
|
BorderSide(color: (validationError != null ? Colors.red.shade700 : Color(0xFFEFEFEF)), width: 2.5),
|
|
|
|
|
borderRadius: BorderRadius.circular(8),
|
|
|
|
|
),
|
|
|
|
|
hintText: selectedText != null ? selectedText : hintText,
|
|
|
|
|
@ -135,9 +124,7 @@ class _AddAssessmentDetailsState extends State<AddAssessmentDetails> {
|
|
|
|
|
FractionallySizedBox(
|
|
|
|
|
widthFactor: 0.9,
|
|
|
|
|
child: Container(
|
|
|
|
|
child: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 16,
|
|
|
|
|
),
|
|
|
|
|
@ -145,10 +132,7 @@ class _AddAssessmentDetailsState extends State<AddAssessmentDetails> {
|
|
|
|
|
margin: EdgeInsets.only(left: 0, right: 0, top: 15),
|
|
|
|
|
child: AppTextFieldCustom(
|
|
|
|
|
// height: 55.0,
|
|
|
|
|
height: Helpers.getTextFieldHeight(),
|
|
|
|
|
|
|
|
|
|
hintText:
|
|
|
|
|
TranslationBase.of(context).appointmentNumber,
|
|
|
|
|
height: Helpers.getTextFieldHeight(),hintText: TranslationBase.of(context).appointmentNumber,
|
|
|
|
|
isTextFieldHasSuffix: false,
|
|
|
|
|
enabled: false,
|
|
|
|
|
controller: appointmentIdController,
|
|
|
|
|
@ -161,155 +145,109 @@ class _AddAssessmentDetailsState extends State<AddAssessmentDetails> {
|
|
|
|
|
child: InkWell(
|
|
|
|
|
onTap: model.listOfICD10 != null
|
|
|
|
|
? () {
|
|
|
|
|
setState(() {
|
|
|
|
|
widget.mySelectedAssessment
|
|
|
|
|
.selectedICD = null;
|
|
|
|
|
icdNameController.text = null;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
setState(() {
|
|
|
|
|
widget.mySelectedAssessment.selectedICD = null;
|
|
|
|
|
icdNameController.text = null!;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
: null,
|
|
|
|
|
child: widget
|
|
|
|
|
.mySelectedAssessment.selectedICD ==
|
|
|
|
|
null
|
|
|
|
|
child: widget.mySelectedAssessment.selectedICD == null
|
|
|
|
|
? CustomAutoCompleteTextField(
|
|
|
|
|
isShowError: isFormSubmitted &&
|
|
|
|
|
widget.mySelectedAssessment
|
|
|
|
|
.selectedICD ==
|
|
|
|
|
null,
|
|
|
|
|
child: AutoCompleteTextField<
|
|
|
|
|
MasterKeyModel>(
|
|
|
|
|
decoration: TextFieldsUtils
|
|
|
|
|
.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context)
|
|
|
|
|
.nameOrICD,
|
|
|
|
|
null,
|
|
|
|
|
true,
|
|
|
|
|
suffixIcon: Icons.search),
|
|
|
|
|
itemSubmitted: (item) => setState(() {
|
|
|
|
|
widget.mySelectedAssessment
|
|
|
|
|
.selectedICD = item;
|
|
|
|
|
icdNameController.text =
|
|
|
|
|
'${item.code.trim()}/${item.description}';
|
|
|
|
|
}),
|
|
|
|
|
key: key,
|
|
|
|
|
suggestions: model.listOfICD10,
|
|
|
|
|
itemBuilder: (context, suggestion) =>
|
|
|
|
|
new Padding(
|
|
|
|
|
child: AppText(
|
|
|
|
|
suggestion.description +
|
|
|
|
|
" / " +
|
|
|
|
|
suggestion.code
|
|
|
|
|
.toString()),
|
|
|
|
|
padding: EdgeInsets.all(8.0)),
|
|
|
|
|
itemSorter: (a, b) => 1,
|
|
|
|
|
itemFilter: (suggestion, input) =>
|
|
|
|
|
suggestion.description
|
|
|
|
|
.toLowerCase()
|
|
|
|
|
.startsWith(
|
|
|
|
|
input.toLowerCase()) ||
|
|
|
|
|
suggestion.description
|
|
|
|
|
.toLowerCase()
|
|
|
|
|
.startsWith(
|
|
|
|
|
input.toLowerCase()) ||
|
|
|
|
|
suggestion.code
|
|
|
|
|
.toLowerCase()
|
|
|
|
|
.startsWith(
|
|
|
|
|
input.toLowerCase()),
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
: AppTextFieldCustom(
|
|
|
|
|
height: Helpers.getTextFieldHeight(),
|
|
|
|
|
isShowError: isFormSubmitted && widget.mySelectedAssessment.selectedICD == null,
|
|
|
|
|
child: AutoCompleteTextField<MasterKeyModel>(
|
|
|
|
|
decoration: TextFieldsUtils.textFieldSelectorDecoration(
|
|
|
|
|
TranslationBase.of(context).nameOrICD!, "", true,
|
|
|
|
|
suffixIcon: Icons.search),
|
|
|
|
|
itemSubmitted: (item) => setState(() {
|
|
|
|
|
widget.mySelectedAssessment.selectedICD = item;
|
|
|
|
|
icdNameController.text = '${item.code.trim()}/${item.description}';
|
|
|
|
|
}),
|
|
|
|
|
suggestions: model.listOfICD10,
|
|
|
|
|
itemBuilder: (context, suggestion) => new Padding(
|
|
|
|
|
child: AppText(suggestion.description + " / " + suggestion.code.toString()),
|
|
|
|
|
padding: EdgeInsets.all(8.0)),
|
|
|
|
|
itemSorter: (a, b) => 1,
|
|
|
|
|
itemFilter: (suggestion, input) =>
|
|
|
|
|
suggestion.description.toLowerCase().startsWith(input.toLowerCase()) ||
|
|
|
|
|
suggestion.description.toLowerCase().startsWith(input.toLowerCase()) ||
|
|
|
|
|
suggestion.code.toLowerCase().startsWith(input.toLowerCase()),
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
: AppTextFieldCustom(height: Helpers.getTextFieldHeight(),
|
|
|
|
|
onClick: model.listOfICD10 != null
|
|
|
|
|
? () {
|
|
|
|
|
setState(() {
|
|
|
|
|
widget.mySelectedAssessment
|
|
|
|
|
.selectedICD = null;
|
|
|
|
|
icdNameController.text = null;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
: null,
|
|
|
|
|
hintText: TranslationBase.of(context)
|
|
|
|
|
.nameOrICD,
|
|
|
|
|
maxLines: 1,
|
|
|
|
|
minLines: 1,
|
|
|
|
|
controller: icdNameController,
|
|
|
|
|
enabled: true,
|
|
|
|
|
isTextFieldHasSuffix: true,
|
|
|
|
|
suffixIcon: IconButton(
|
|
|
|
|
icon: Icon(
|
|
|
|
|
Icons.search,
|
|
|
|
|
color: Colors.grey.shade600,
|
|
|
|
|
)),
|
|
|
|
|
? () {
|
|
|
|
|
setState(() {
|
|
|
|
|
widget.mySelectedAssessment.selectedICD = null;
|
|
|
|
|
icdNameController.text = null!;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
: null,
|
|
|
|
|
hintText: TranslationBase.of(context).nameOrICD,
|
|
|
|
|
maxLines: 1,
|
|
|
|
|
minLines: 1,
|
|
|
|
|
controller: icdNameController,
|
|
|
|
|
enabled: true,
|
|
|
|
|
isTextFieldHasSuffix: true,
|
|
|
|
|
suffixIcon: IconButton(
|
|
|
|
|
onPressed: () {},
|
|
|
|
|
icon: Icon(
|
|
|
|
|
Icons.search,
|
|
|
|
|
color: Colors.grey.shade600,
|
|
|
|
|
)),
|
|
|
|
|
),
|
|
|
|
|
)),),
|
|
|
|
|
|
|
|
|
|
if(widget.mySelectedAssessment
|
|
|
|
|
.selectedICD != null)
|
|
|
|
|
Column(
|
|
|
|
|
children: [
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 3,
|
|
|
|
|
),
|
|
|
|
|
Container(
|
|
|
|
|
width: MediaQuery
|
|
|
|
|
.of(context)
|
|
|
|
|
.size
|
|
|
|
|
.width * 0.7,
|
|
|
|
|
child: AppText(
|
|
|
|
|
widget.mySelectedAssessment
|
|
|
|
|
.selectedICD!.description! +
|
|
|
|
|
(' (${widget.mySelectedAssessment
|
|
|
|
|
.selectedICD!.code!} )'),
|
|
|
|
|
color: Color(0xFF575757),
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
fontWeight: FontWeight.w700,
|
|
|
|
|
letterSpacing: -0.4,
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
if(widget.mySelectedAssessment
|
|
|
|
|
.selectedICD != null)
|
|
|
|
|
Column(
|
|
|
|
|
children: [
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 3,
|
|
|
|
|
),
|
|
|
|
|
Container(
|
|
|
|
|
width: MediaQuery
|
|
|
|
|
.of(context)
|
|
|
|
|
.size
|
|
|
|
|
.width * 0.7,
|
|
|
|
|
child: AppText(
|
|
|
|
|
widget.mySelectedAssessment
|
|
|
|
|
.selectedICD!.description! +
|
|
|
|
|
(' (${widget.mySelectedAssessment
|
|
|
|
|
.selectedICD!.code!} )'),
|
|
|
|
|
color: Color(0xFF575757),
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
fontWeight: FontWeight.w700,
|
|
|
|
|
letterSpacing: -0.4,
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 7,
|
|
|
|
|
),
|
|
|
|
|
AppTextFieldCustom(
|
|
|
|
|
height: Helpers.getTextFieldHeight(),
|
|
|
|
|
|
|
|
|
|
onClick: model.listOfDiagnosisCondition != null
|
|
|
|
|
? () {
|
|
|
|
|
MasterKeyDailog dialog = MasterKeyDailog(
|
|
|
|
|
list: model.listOfDiagnosisCondition,
|
|
|
|
|
okText: TranslationBase.of(context).ok,
|
|
|
|
|
selectedValue: widget.mySelectedAssessment.selectedDiagnosisCondition,
|
|
|
|
|
|
|
|
|
|
okFunction:
|
|
|
|
|
(MasterKeyModel selectedValue) {
|
|
|
|
|
setState(() {
|
|
|
|
|
widget.mySelectedAssessment
|
|
|
|
|
.selectedDiagnosisCondition =
|
|
|
|
|
selectedValue;
|
|
|
|
|
conditionController
|
|
|
|
|
.text = projectViewModel
|
|
|
|
|
.isArabic
|
|
|
|
|
? widget
|
|
|
|
|
.mySelectedAssessment
|
|
|
|
|
.selectedDiagnosisCondition
|
|
|
|
|
.nameAr
|
|
|
|
|
: widget
|
|
|
|
|
.mySelectedAssessment
|
|
|
|
|
.selectedDiagnosisCondition
|
|
|
|
|
.nameEn;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
showDialog(
|
|
|
|
|
barrierDismissible: false,
|
|
|
|
|
context: context,
|
|
|
|
|
builder: (BuildContext context) {
|
|
|
|
|
return dialog;
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
: null,
|
|
|
|
|
height: Helpers.getTextFieldHeight(),onClick: model.listOfDiagnosisCondition != null
|
|
|
|
|
? () {
|
|
|
|
|
MasterKeyDailog dialog = MasterKeyDailog(
|
|
|
|
|
list: model.listOfDiagnosisCondition,
|
|
|
|
|
okText: TranslationBase.of(context).ok,
|
|
|
|
|
selectedValue: widget.mySelectedAssessment.selectedDiagnosisCondition,okFunction: (MasterKeyModel selectedValue) {
|
|
|
|
|
setState(() {
|
|
|
|
|
widget.mySelectedAssessment.selectedDiagnosisCondition = selectedValue;
|
|
|
|
|
conditionController.text = projectViewModel.isArabic
|
|
|
|
|
? widget.mySelectedAssessment.selectedDiagnosisCondition!.nameAr ?? ""
|
|
|
|
|
: widget.mySelectedAssessment.selectedDiagnosisCondition!.nameEn ?? "";
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
showDialog(
|
|
|
|
|
barrierDismissible: false,
|
|
|
|
|
context: context,
|
|
|
|
|
builder: (BuildContext context) {
|
|
|
|
|
return dialog;
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
: null,
|
|
|
|
|
hintText: TranslationBase.of(context).condition,
|
|
|
|
|
maxLines: 1,
|
|
|
|
|
minLines: 1,
|
|
|
|
|
@ -317,10 +255,8 @@ class _AddAssessmentDetailsState extends State<AddAssessmentDetails> {
|
|
|
|
|
isTextFieldHasSuffix: true,
|
|
|
|
|
enabled: false,
|
|
|
|
|
hasBorder: true,
|
|
|
|
|
validationError: isFormSubmitted &&
|
|
|
|
|
widget.mySelectedAssessment
|
|
|
|
|
.selectedDiagnosisCondition ==
|
|
|
|
|
null
|
|
|
|
|
validationError:
|
|
|
|
|
isFormSubmitted && widget.mySelectedAssessment.selectedDiagnosisCondition == null
|
|
|
|
|
? TranslationBase.of(context).emptyMessage
|
|
|
|
|
: null,
|
|
|
|
|
),
|
|
|
|
|
@ -328,36 +264,28 @@ class _AddAssessmentDetailsState extends State<AddAssessmentDetails> {
|
|
|
|
|
height: 10,
|
|
|
|
|
),
|
|
|
|
|
AppTextFieldCustom(
|
|
|
|
|
height: Helpers.getTextFieldHeight(),
|
|
|
|
|
|
|
|
|
|
onClick: model.listOfDiagnosisType != null
|
|
|
|
|
? () {
|
|
|
|
|
MasterKeyDailog dialog = MasterKeyDailog(
|
|
|
|
|
list: model.listOfDiagnosisType,
|
|
|
|
|
okText: TranslationBase.of(context).ok,
|
|
|
|
|
selectedValue: widget.mySelectedAssessment.selectedDiagnosisType,
|
|
|
|
|
okFunction:
|
|
|
|
|
(MasterKeyModel selectedValue) {
|
|
|
|
|
setState(() {
|
|
|
|
|
widget.mySelectedAssessment
|
|
|
|
|
.selectedDiagnosisType =
|
|
|
|
|
selectedValue;
|
|
|
|
|
typeController.text =
|
|
|
|
|
projectViewModel.isArabic
|
|
|
|
|
? selectedValue.nameAr
|
|
|
|
|
: selectedValue.nameEn;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
showDialog(
|
|
|
|
|
barrierDismissible: false,
|
|
|
|
|
context: context,
|
|
|
|
|
builder: (BuildContext context) {
|
|
|
|
|
return dialog;
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
: null,
|
|
|
|
|
height: Helpers.getTextFieldHeight(),onClick: model.listOfDiagnosisType != null
|
|
|
|
|
? () {
|
|
|
|
|
MasterKeyDailog dialog = MasterKeyDailog(
|
|
|
|
|
list: model.listOfDiagnosisType,
|
|
|
|
|
okText: TranslationBase.of(context).ok,
|
|
|
|
|
selectedValue: widget.mySelectedAssessment.selectedDiagnosisType,okFunction: (MasterKeyModel selectedValue) {
|
|
|
|
|
setState(() {
|
|
|
|
|
widget.mySelectedAssessment.selectedDiagnosisType = selectedValue;
|
|
|
|
|
typeController.text =
|
|
|
|
|
(projectViewModel.isArabic ? selectedValue.nameAr : selectedValue.nameEn)!;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
showDialog(
|
|
|
|
|
barrierDismissible: false,
|
|
|
|
|
context: context,
|
|
|
|
|
builder: (BuildContext context) {
|
|
|
|
|
return dialog;
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
: null,
|
|
|
|
|
hintText: TranslationBase.of(context).dType,
|
|
|
|
|
maxLines: 1,
|
|
|
|
|
minLines: 1,
|
|
|
|
|
@ -365,10 +293,7 @@ class _AddAssessmentDetailsState extends State<AddAssessmentDetails> {
|
|
|
|
|
isTextFieldHasSuffix: true,
|
|
|
|
|
controller: typeController,
|
|
|
|
|
hasBorder: true,
|
|
|
|
|
validationError: isFormSubmitted &&
|
|
|
|
|
widget.mySelectedAssessment
|
|
|
|
|
.selectedDiagnosisType ==
|
|
|
|
|
null
|
|
|
|
|
validationError: isFormSubmitted && widget.mySelectedAssessment.selectedDiagnosisType == null
|
|
|
|
|
? TranslationBase.of(context).emptyMessage
|
|
|
|
|
: null,
|
|
|
|
|
),
|
|
|
|
|
@ -384,8 +309,7 @@ class _AddAssessmentDetailsState extends State<AddAssessmentDetails> {
|
|
|
|
|
inputType: TextInputType.multiline,
|
|
|
|
|
controller: remarkController,
|
|
|
|
|
onChanged: (value) {
|
|
|
|
|
widget.mySelectedAssessment.remark =
|
|
|
|
|
remarkController.text;
|
|
|
|
|
widget.mySelectedAssessment.remark = remarkController.text;
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
@ -402,31 +326,23 @@ class _AddAssessmentDetailsState extends State<AddAssessmentDetails> {
|
|
|
|
|
bottomSheet: model.state == ViewState.Busy?Container(height: 0,):
|
|
|
|
|
|
|
|
|
|
BottomSheetDialogButton(
|
|
|
|
|
label: (widget.isUpdate
|
|
|
|
|
? 'Update Assessment Details'
|
|
|
|
|
: 'Add Assessment Details'),
|
|
|
|
|
label: (widget.isUpdate ? 'Update Assessment Details' : 'Add Assessment Details'),
|
|
|
|
|
onTap: () async {
|
|
|
|
|
setState(() {
|
|
|
|
|
isFormSubmitted = true;
|
|
|
|
|
});
|
|
|
|
|
widget.mySelectedAssessment.remark =
|
|
|
|
|
remarkController.text;
|
|
|
|
|
widget.mySelectedAssessment.appointmentId =
|
|
|
|
|
int.parse(appointmentIdController.text);
|
|
|
|
|
if (widget.mySelectedAssessment
|
|
|
|
|
.selectedDiagnosisCondition !=
|
|
|
|
|
null &&
|
|
|
|
|
widget.mySelectedAssessment
|
|
|
|
|
.selectedDiagnosisType !=
|
|
|
|
|
null &&
|
|
|
|
|
widget.mySelectedAssessment.remark = remarkController.text;
|
|
|
|
|
widget.mySelectedAssessment.appointmentId = int.parse(appointmentIdController.text);
|
|
|
|
|
if (widget.mySelectedAssessment.selectedDiagnosisCondition != null &&
|
|
|
|
|
widget.mySelectedAssessment.selectedDiagnosisType != null &&
|
|
|
|
|
widget.mySelectedAssessment.selectedICD != null) {
|
|
|
|
|
await submitAssessment(
|
|
|
|
|
isUpdate: widget.isUpdate,
|
|
|
|
|
model: model,
|
|
|
|
|
mySelectedAssessment:
|
|
|
|
|
widget.mySelectedAssessment);
|
|
|
|
|
mySelectedAssessment: widget.mySelectedAssessment);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
@ -434,9 +350,7 @@ class _AddAssessmentDetailsState extends State<AddAssessmentDetails> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
submitAssessment(
|
|
|
|
|
{SOAPViewModel model,
|
|
|
|
|
MySelectedAssessment mySelectedAssessment,
|
|
|
|
|
bool isUpdate = false}) async {
|
|
|
|
|
{required SOAPViewModel model, required MySelectedAssessment mySelectedAssessment, bool isUpdate = false}) async {
|
|
|
|
|
GifLoaderDialogUtils.showMyDialog(context);
|
|
|
|
|
if (isUpdate) {
|
|
|
|
|
PatchAssessmentReqModel patchAssessmentReqModel = PatchAssessmentReqModel(
|
|
|
|
|
@ -445,25 +359,24 @@ class _AddAssessmentDetailsState extends State<AddAssessmentDetails> {
|
|
|
|
|
appointmentNo: widget.patientInfo.appointmentNo,
|
|
|
|
|
remarks: mySelectedAssessment.remark,
|
|
|
|
|
complexDiagnosis: true,
|
|
|
|
|
conditionId: mySelectedAssessment.selectedDiagnosisCondition.id,
|
|
|
|
|
diagnosisTypeId: mySelectedAssessment.selectedDiagnosisType.id,
|
|
|
|
|
icdcode10Id: mySelectedAssessment.selectedICD.code,
|
|
|
|
|
conditionId: mySelectedAssessment.selectedDiagnosisCondition!.id,
|
|
|
|
|
diagnosisTypeId: mySelectedAssessment.selectedDiagnosisType!.id,
|
|
|
|
|
icdcode10Id: mySelectedAssessment.selectedICD!.code,
|
|
|
|
|
prevIcdCode10ID: mySelectedAssessment.icdCode10ID);
|
|
|
|
|
|
|
|
|
|
await model.patchAssessment(patchAssessmentReqModel);
|
|
|
|
|
} else {
|
|
|
|
|
PostAssessmentRequestModel postAssessmentRequestModel =
|
|
|
|
|
new PostAssessmentRequestModel(
|
|
|
|
|
patientMRN: widget.patientInfo.patientMRN,
|
|
|
|
|
episodeId: widget.patientInfo.episodeNo,
|
|
|
|
|
appointmentNo: widget.patientInfo.appointmentNo,
|
|
|
|
|
icdCodeDetails: [
|
|
|
|
|
PostAssessmentRequestModel postAssessmentRequestModel = new PostAssessmentRequestModel(
|
|
|
|
|
patientMRN: widget.patientInfo.patientMRN,
|
|
|
|
|
episodeId: widget.patientInfo.episodeNo,
|
|
|
|
|
appointmentNo: widget.patientInfo.appointmentNo,
|
|
|
|
|
icdCodeDetails: [
|
|
|
|
|
new IcdCodeDetails(
|
|
|
|
|
remarks: mySelectedAssessment.remark,
|
|
|
|
|
complexDiagnosis: true,
|
|
|
|
|
conditionId: mySelectedAssessment.selectedDiagnosisCondition.id,
|
|
|
|
|
diagnosisTypeId: mySelectedAssessment.selectedDiagnosisType.id,
|
|
|
|
|
icdcode10Id: mySelectedAssessment.selectedICD.code)
|
|
|
|
|
conditionId: mySelectedAssessment.selectedDiagnosisCondition!.id,
|
|
|
|
|
diagnosisTypeId: mySelectedAssessment.selectedDiagnosisType!.id,
|
|
|
|
|
icdcode10Id: mySelectedAssessment.selectedICD!.code)
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
await model.postAssessment(postAssessmentRequestModel);
|
|
|
|
|
@ -476,9 +389,9 @@ class _AddAssessmentDetailsState extends State<AddAssessmentDetails> {
|
|
|
|
|
Map profile = await sharedPref.getObj(DOCTOR_PROFILE);
|
|
|
|
|
|
|
|
|
|
DoctorProfileModel doctorProfile = DoctorProfileModel.fromJson(profile);
|
|
|
|
|
mySelectedAssessment.icdCode10ID = mySelectedAssessment.selectedICD.code;
|
|
|
|
|
mySelectedAssessment.doctorName = doctorProfile!.doctorName;
|
|
|
|
|
widget.addSelectedAssessment(mySelectedAssessment, isUpdate);
|
|
|
|
|
mySelectedAssessment.icdCode10ID = mySelectedAssessment.selectedICD!.code;
|
|
|
|
|
mySelectedAssessment.doctorName = doctorProfile.doctorName;
|
|
|
|
|
widget.addSelectedAssessment(mySelectedAssessment, isUpdate);
|
|
|
|
|
Navigator.of(context).pop();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|