You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
4.5 KiB
Dart
108 lines
4.5 KiB
Dart
import 'package:doctor_app_flutter/config/size_config.dart';
|
|
import 'package:doctor_app_flutter/core/viewModel/medicine_view_model.dart';
|
|
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
|
import 'package:flutter/cupertino.dart';
|
|
import 'package:flutter/material.dart';
|
|
import '../../../core/model/Prescriptions/prescription_model.dart';
|
|
import '../../../core/model/patient/patiant_info_model.dart';
|
|
import '../../../core/model/search_drug/get_medication_response_model.dart';
|
|
import '../../../core/viewModel/prescription_view_model.dart';
|
|
import '../../../widgets/shared/buttons/app_buttons_widget.dart';
|
|
import 'add_prescription_form.dart';
|
|
import 'drugtodrug.dart';
|
|
|
|
class AddDrugWidget extends StatefulWidget {
|
|
final PatiantInformtion patient;
|
|
final List<PrescriptionModel> prescriptionList;
|
|
final MedicineViewModel medicineModel;
|
|
final PrescriptionViewModel modelPrescription;
|
|
|
|
|
|
|
|
|
|
const AddDrugWidget({Key key, this.patient, this.prescriptionList, this.medicineModel, this.modelPrescription}) : super(key: key);
|
|
|
|
@override
|
|
_AddDrugWidgetState createState() => _AddDrugWidgetState();
|
|
}
|
|
|
|
class _AddDrugWidgetState extends State<AddDrugWidget> {
|
|
|
|
TextEditingController strengthController = TextEditingController();
|
|
dynamic route;
|
|
dynamic frequency;
|
|
dynamic duration;
|
|
dynamic doseTime;
|
|
dynamic indication;
|
|
dynamic units;
|
|
dynamic uom;
|
|
dynamic box;
|
|
dynamic x;
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
GetMedicationResponseModel _selectedMedication;
|
|
TextEditingController indicationController = TextEditingController();
|
|
TextEditingController instructionController = TextEditingController();
|
|
DateTime selectedDate;
|
|
|
|
|
|
return Container(
|
|
height: SizeConfig.realScreenHeight * .8,
|
|
width: SizeConfig.realScreenWidth,
|
|
child: SingleChildScrollView(
|
|
child: Column(
|
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
children: [
|
|
DrugToDrug(
|
|
widget.patient,
|
|
widget.medicineModel.getPrescriptionForDrug(
|
|
widget.prescriptionList, widget.medicineModel
|
|
),
|
|
widget.medicineModel.patientAssessmentList),
|
|
Container(
|
|
margin: EdgeInsets.all(SizeConfig.widthMultiplier * 3),
|
|
child: AppButton(
|
|
title: TranslationBase.of(context).addMedication,
|
|
onPressed: () {
|
|
Navigator.pop(context);
|
|
|
|
widget.medicineModel.postPrescription(
|
|
icdCode: widget.medicineModel.patientAssessmentList.isNotEmpty
|
|
? widget.medicineModel.patientAssessmentList[0].icdCode10ID
|
|
.isEmpty
|
|
? "test"
|
|
: widget.medicineModel.patientAssessmentList[0].icdCode10ID
|
|
.toString()
|
|
: "test",
|
|
dose: strengthController.text,
|
|
doseUnit: widget.medicineModel.itemMedicineListUnit.length == 1
|
|
? widget.medicineModel.itemMedicineListUnit[0]['parameterCode']
|
|
.toString()
|
|
: units['parameterCode'].toString(),
|
|
patient: widget.patient,
|
|
doseTimeIn: doseTime['id'].toString(),
|
|
model: widget.modelPrescription,
|
|
duration: duration['id'].toString(),
|
|
frequency: widget.medicineModel.itemMedicineList.length == 1
|
|
? widget.medicineModel.itemMedicineList[0]['parameterCode']
|
|
.toString()
|
|
: frequency['parameterCode'].toString(),
|
|
route: widget.medicineModel.itemMedicineListRoute.length == 1
|
|
? widget.medicineModel.itemMedicineListRoute[0]['parameterCode']
|
|
.toString()
|
|
: route['parameterCode'].toString(),
|
|
drugId: _selectedMedication.itemId.toString(),
|
|
strength: strengthController.text,
|
|
indication: indicationController.text,
|
|
instruction: instructionController.text,
|
|
doseTime: selectedDate,
|
|
);
|
|
},
|
|
))
|
|
],
|
|
)),
|
|
);
|
|
}
|
|
}
|