|
|
|
|
@ -1,6 +1,5 @@
|
|
|
|
|
import 'package:autocomplete_textfield/autocomplete_textfield.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/client/base_app_client.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/config/config.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/config/size_config.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/core/model/get_medication_response_model.dart';
|
|
|
|
|
@ -8,29 +7,21 @@ import 'package:doctor_app_flutter/core/model/post_prescrition_req_model.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/core/model/Prescription_model.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/core/viewModel/medicine_view_model.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/models/livecare/transfer_to_admin.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/prescription/drugtodrug.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/screens/prescription/prescription_screen.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/screens/prescription/prescription_warnings.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/util/date-utils.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/util/dr_app_toast_msg.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/patients/dynamic_elements.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/Text.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/TextFields.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/app_buttons_widget.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/app_text_form_field.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/dialogs/dailog-list-select.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart';
|
|
|
|
|
import 'package:eva_icons_flutter/eva_icons_flutter.dart';
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:hexcolor/hexcolor.dart';
|
|
|
|
|
import 'package:intl/intl.dart';
|
|
|
|
|
|
|
|
|
|
addPrescriptionForm(context, PrescriptionViewModel model,
|
|
|
|
|
PatiantInformtion patient, prescription) {
|
|
|
|
|
@ -198,14 +189,25 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
|
|
|
|
|
dynamic route25 = {"id": 37, "name": "Inserted into Vagina"};
|
|
|
|
|
dynamic route26 = {"id": 36, "name": "Inserted into Rectum"};
|
|
|
|
|
dynamic route27 = {"id": 31, "name": "In Each Nostril"};
|
|
|
|
|
dynamic frequency1 = {"id": 1, "name": "2 Times a day"};
|
|
|
|
|
dynamic frequency2 = {"id": 2, "name": "3 Times a day"};
|
|
|
|
|
dynamic frequency3 = {"id": 3, "name": "4 Times a day"};
|
|
|
|
|
dynamic frequency1 = {"id": 2, "name": "2 Times a day"};
|
|
|
|
|
dynamic frequency2 = {"id": 3, "name": "3 Times a day"};
|
|
|
|
|
dynamic frequency3 = {"id": 4, "name": "4 Times a day"};
|
|
|
|
|
dynamic frequency4 = {"id": 8, "name": "As Needed"};
|
|
|
|
|
dynamic frequency5 = {"id": 9, "name": "Bed Time"};
|
|
|
|
|
dynamic frequency6 = {"id": 11, "name": "Every Other Day"};
|
|
|
|
|
dynamic frequency7 = {"id": 29, "name": "Every Eight Hours"};
|
|
|
|
|
dynamic frequency8 = {"id": 34, "name": "As Directed"};
|
|
|
|
|
dynamic frequency9 = {"id": 22, "name": "Once Per Month"};
|
|
|
|
|
dynamic frequency10 = {"id": 2, "name": "3 Times a day"};
|
|
|
|
|
dynamic frequency11 = {"id": 21, "name": "Every 3 hours"};
|
|
|
|
|
dynamic frequency12 = {"id": 20, "name": "Once a Week"};
|
|
|
|
|
dynamic frequency13 = {"id": 12, "name": "Every Half Hour"};
|
|
|
|
|
dynamic frequency14 = {"id": 10, "name": "4 Times a Day"};
|
|
|
|
|
dynamic frequency15 = {"id": 24, "name": "Once Every 2 Months"};
|
|
|
|
|
dynamic frequency16 = {"id": 25, "name": "Every One Hour"};
|
|
|
|
|
dynamic frequency17 = {"id": 26, "name": "Every Two Hours"};
|
|
|
|
|
dynamic frequency18 = {"id": 28, "name": "Every Six Hours"};
|
|
|
|
|
|
|
|
|
|
dynamic duration1 = {"id": 1, "name": "For 1 Day"};
|
|
|
|
|
dynamic duration2 = {"id": 2, "name": "For 2 Days"};
|
|
|
|
|
dynamic duration3 = {"id": 3, "name": "For 3 Days"};
|
|
|
|
|
@ -234,6 +236,15 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
|
|
|
|
|
dynamic doseTime10 = {"id": 10, "name": "While wake"};
|
|
|
|
|
dynamic doseTime11 = {"id": 12, "name": "Any Time"};
|
|
|
|
|
dynamic doseTime12 = {"id": 21, "name": "Bed Time"};
|
|
|
|
|
dynamic doseTime13 = {"id": 13, "name": "30 Minutes Before Meals"};
|
|
|
|
|
dynamic doseTime14 = {"id": 14, "name": "1 Hour Before Meals"};
|
|
|
|
|
dynamic doseTime15 = {"id": 15, "name": "2 Hours After Meal"};
|
|
|
|
|
dynamic doseTime16 = {"id": 16, "name": "After Breakfast"};
|
|
|
|
|
dynamic doseTime17 = {"id": 17, "name": "Before Lunch"};
|
|
|
|
|
dynamic doseTime18 = {"id": 18, "name": "After Lunch"};
|
|
|
|
|
dynamic doseTime19 = {"id": 20, "name": "After Dinner"};
|
|
|
|
|
dynamic doseTime20 = {"id": 21, "name": "Bed Time"};
|
|
|
|
|
dynamic doseTime21 = {"id": 11, "name": "Now"};
|
|
|
|
|
dynamic indication1 = {"id": 545, "name": "Gingival Hyperplasia"};
|
|
|
|
|
dynamic indication2 = {"id": 546, "name": "Mild Drowsiness"};
|
|
|
|
|
dynamic indication3 = {"id": 547, "name": "Hypertrichosis"};
|
|
|
|
|
@ -273,6 +284,17 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
|
|
|
|
|
doseTimeList.add(doseTime9);
|
|
|
|
|
doseTimeList.add(doseTime10);
|
|
|
|
|
doseTimeList.add(doseTime11);
|
|
|
|
|
doseTimeList.add(doseTime12);
|
|
|
|
|
doseTimeList.add(doseTime13);
|
|
|
|
|
doseTimeList.add(doseTime14);
|
|
|
|
|
doseTimeList.add(doseTime15);
|
|
|
|
|
doseTimeList.add(doseTime16);
|
|
|
|
|
doseTimeList.add(doseTime17);
|
|
|
|
|
doseTimeList.add(doseTime18);
|
|
|
|
|
doseTimeList.add(doseTime19);
|
|
|
|
|
doseTimeList.add(doseTime20);
|
|
|
|
|
doseTimeList.add(doseTime21);
|
|
|
|
|
|
|
|
|
|
doseTimeList.add(doseTime12);
|
|
|
|
|
frequencyList.add(frequency1);
|
|
|
|
|
frequencyList.add(frequency2);
|
|
|
|
|
@ -282,6 +304,16 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
|
|
|
|
|
frequencyList.add(frequency6);
|
|
|
|
|
frequencyList.add(frequency7);
|
|
|
|
|
frequencyList.add(frequency8);
|
|
|
|
|
frequencyList.add(frequency9);
|
|
|
|
|
frequencyList.add(frequency10);
|
|
|
|
|
frequencyList.add(frequency11);
|
|
|
|
|
frequencyList.add(frequency12);
|
|
|
|
|
frequencyList.add(frequency13);
|
|
|
|
|
frequencyList.add(frequency14);
|
|
|
|
|
frequencyList.add(frequency15);
|
|
|
|
|
frequencyList.add(frequency16);
|
|
|
|
|
frequencyList.add(frequency17);
|
|
|
|
|
frequencyList.add(frequency18);
|
|
|
|
|
routeList.add(route1);
|
|
|
|
|
routeList.add(route2);
|
|
|
|
|
routeList.add(route3);
|
|
|
|
|
@ -484,46 +516,6 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
// Container(
|
|
|
|
|
// height: screenSize.height * 0.070,
|
|
|
|
|
// child: InkWell(
|
|
|
|
|
// onTap: referToList != null
|
|
|
|
|
// ? () {
|
|
|
|
|
// ListSelectDialog dialog =
|
|
|
|
|
// ListSelectDialog(
|
|
|
|
|
// list: referToList,
|
|
|
|
|
// attributeName: 'name',
|
|
|
|
|
// attributeValueId: 'id',
|
|
|
|
|
// okText:
|
|
|
|
|
// TranslationBase.of(context)
|
|
|
|
|
// .ok,
|
|
|
|
|
// okFunction: (selectedValue) {
|
|
|
|
|
// setState(() {
|
|
|
|
|
// type = selectedValue;
|
|
|
|
|
// _selectedBranch = null;
|
|
|
|
|
// });
|
|
|
|
|
// },
|
|
|
|
|
// );
|
|
|
|
|
// showDialog(
|
|
|
|
|
// barrierDismissible: false,
|
|
|
|
|
// context: context,
|
|
|
|
|
// builder:
|
|
|
|
|
// (BuildContext context) {
|
|
|
|
|
// return dialog;
|
|
|
|
|
// },
|
|
|
|
|
// );
|
|
|
|
|
// }
|
|
|
|
|
// : null,
|
|
|
|
|
// child: TextField(
|
|
|
|
|
// decoration: textFieldSelectorDecoration(
|
|
|
|
|
// TranslationBase.of(context)
|
|
|
|
|
// .orderType,
|
|
|
|
|
// type != null ? type['name'] : null,
|
|
|
|
|
// true),
|
|
|
|
|
// enabled: false,
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
SizedBox(height: spaceBetweenTextFileds),
|
|
|
|
|
Container(
|
|
|
|
|
height: screenSize.height * 0.070,
|
|
|
|
|
@ -863,15 +855,13 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
|
|
|
|
|
// formKey.currentState.save();
|
|
|
|
|
// Navigator.pop(context);
|
|
|
|
|
// openDrugToDrug();
|
|
|
|
|
if (strength == null ||
|
|
|
|
|
route == null ||
|
|
|
|
|
if (route == null ||
|
|
|
|
|
frequency == null ||
|
|
|
|
|
indication == null ||
|
|
|
|
|
doseTime == null ||
|
|
|
|
|
duration == null ||
|
|
|
|
|
selectedDate == null ||
|
|
|
|
|
units == null ||
|
|
|
|
|
_selectedMedication == null) {
|
|
|
|
|
units == null) {
|
|
|
|
|
DrAppToastMsg.showErrorToast(
|
|
|
|
|
"Please Fill All Fields");
|
|
|
|
|
return;
|
|
|
|
|
@ -1023,41 +1013,4 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// searchData(String str, PrescriptionViewModel model) {
|
|
|
|
|
// var strExist = str.length > 0 ? true : false;
|
|
|
|
|
//
|
|
|
|
|
// if (strExist) {
|
|
|
|
|
// filteredNotesList = null;
|
|
|
|
|
// filteredNotesList = model.drugsList
|
|
|
|
|
// .where((note) =>
|
|
|
|
|
// note["GenericName"].toString().contains(str.toUpperCase()))
|
|
|
|
|
// .toList();
|
|
|
|
|
// setState(() {
|
|
|
|
|
// notesList = filteredNotesList;
|
|
|
|
|
// });
|
|
|
|
|
// } else {
|
|
|
|
|
// setState(() {
|
|
|
|
|
// notesList = model.drugsList;
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
searchMedicine(context, PrescriptionViewModel model, String str) async {
|
|
|
|
|
FocusScope.of(context).unfocus();
|
|
|
|
|
// if (searchController.text.isEmpty()) {
|
|
|
|
|
// helpers.showErrorToast(TranslationBase.of(context).typeMedicineName);
|
|
|
|
|
// //"Type Medicine Name")
|
|
|
|
|
// return;
|
|
|
|
|
// }
|
|
|
|
|
if (searchController.text.length < 0) {
|
|
|
|
|
helpers.showErrorToast(TranslationBase.of(context).moreThan3Letter);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
GifLoaderDialogUtils.showMyDialog(context);
|
|
|
|
|
|
|
|
|
|
await model.getDrugs(drugName: searchController.text);
|
|
|
|
|
GifLoaderDialogUtils.hideDialog(context);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|