|
|
|
import 'package:doctor_app_flutter/config/shared_pref_kay.dart';
|
|
|
|
import 'package:doctor_app_flutter/config/size_config.dart';
|
|
|
|
import 'package:doctor_app_flutter/core/enum/master_lookup_key.dart';
|
|
|
|
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
|
|
|
|
import 'package:doctor_app_flutter/core/model/prescription_model.dart';
|
|
|
|
import 'package:doctor_app_flutter/core/viewModel/SOAP_view_model.dart';
|
|
|
|
import 'package:doctor_app_flutter/core/viewModel/patient-vital-sign-viewmodel.dart';
|
|
|
|
import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart';
|
|
|
|
import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart';
|
|
|
|
import 'package:doctor_app_flutter/models/SOAP/GeneralGetReqForSOAP.dart';
|
|
|
|
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
|
|
|
|
import 'package:doctor_app_flutter/models/patient/vital_sign/vital_sign_req_model.dart';
|
|
|
|
import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
|
|
|
import 'package:doctor_app_flutter/screens/medicine/medicine_search_screen.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/network_base_view.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
|
|
|
class DrugToDrug extends StatefulWidget {
|
|
|
|
final PatiantInformtion patient;
|
|
|
|
final prescription;
|
|
|
|
DrugToDrug(this.patient, this.prescription);
|
|
|
|
@override
|
|
|
|
_DrugToDrug createState() => _DrugToDrug();
|
|
|
|
}
|
|
|
|
|
|
|
|
class _DrugToDrug extends State<DrugToDrug> {
|
|
|
|
int typeID = 1;
|
|
|
|
bool isLoaded = false;
|
|
|
|
List<Map<dynamic, dynamic>> expandableList = [
|
|
|
|
{'name': 'CRITICAL'},
|
|
|
|
{'name': 'HIGH'},
|
|
|
|
{'name': 'MODERATE'},
|
|
|
|
{'name': 'LOW'},
|
|
|
|
{'name': 'INFO'},
|
|
|
|
];
|
|
|
|
GeneralGetReqForSOAP generalGetReqForSOAP = GeneralGetReqForSOAP(
|
|
|
|
patientMRN: 2954208, //widget.patient.patientMRN,
|
|
|
|
episodeId: 210011002, //widget.patient.episodeNo,
|
|
|
|
appointmentNo: 2016055308, //widget.patient.appointmentNo,
|
|
|
|
doctorID: '',
|
|
|
|
editedBy: '');
|
|
|
|
|
|
|
|
VitalSignsViewModel model = new VitalSignsViewModel();
|
|
|
|
SOAPViewModel model2 = new SOAPViewModel();
|
|
|
|
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
getTypeID();
|
|
|
|
getRequestedData();
|
|
|
|
super.initState();
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
return isLoaded == true
|
|
|
|
? BaseView<PrescriptionViewModel>(
|
|
|
|
onModelReady: (model3) => model3.getDrugToDrug(
|
|
|
|
model.patientVitalSigns,
|
|
|
|
model2.listOfDiagnosisType,
|
|
|
|
model2.patientAllergiesList,
|
|
|
|
widget.patient,
|
|
|
|
widget.prescription),
|
|
|
|
builder: (BuildContext context, PrescriptionViewModel model3,
|
|
|
|
Widget child) =>
|
|
|
|
NetworkBaseView(
|
|
|
|
baseViewModel: model3,
|
|
|
|
child: Container(
|
|
|
|
height: SizeConfig.realScreenHeight * .4,
|
|
|
|
child: new ListView.builder(
|
|
|
|
itemCount: expandableList.length,
|
|
|
|
itemBuilder: (context, i) {
|
|
|
|
return new ExpansionTile(
|
|
|
|
title: new Text(
|
|
|
|
expandableList[i]['name'],
|
|
|
|
style: new TextStyle(
|
|
|
|
fontSize: 20.0,
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
fontStyle: FontStyle.italic),
|
|
|
|
),
|
|
|
|
children: <Widget>[Text('Hi')],
|
|
|
|
);
|
|
|
|
}))))
|
|
|
|
: Container(
|
|
|
|
height: SizeConfig.realScreenHeight * .45,
|
|
|
|
child: Center(
|
|
|
|
child: CircularProgressIndicator(
|
|
|
|
valueColor: AlwaysStoppedAnimation<Color>(Colors.black),
|
|
|
|
)));
|
|
|
|
}
|
|
|
|
|
|
|
|
getTypeID() async {
|
|
|
|
var type = await sharedPref.getString(SLECTED_PATIENT_TYPE) == '0' ? 2 : 1;
|
|
|
|
setState(() {
|
|
|
|
typeID = type;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
getRequestedData() async {
|
|
|
|
await model.getPatientVitalSign(widget.patient);
|
|
|
|
await model2.getPatientAllergy(generalGetReqForSOAP);
|
|
|
|
await model2.getMasterLookup(MasterKeysService.DiagnosisType);
|
|
|
|
if (model.state == ViewState.Idle && model2.state == ViewState.Idle) {
|
|
|
|
setState(() {
|
|
|
|
isLoaded = true;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|