Finish Update Subjective Page

pull/209/head
Elham Rababah 5 years ago
parent 39970fe1a8
commit c92a848851

@ -2,6 +2,8 @@ import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/models/SOAP/ChiefComplaint/GetChiefComplaintResModel.dart';
import 'package:doctor_app_flutter/models/SOAP/GeneralGetReqForSOAP.dart';
import 'package:doctor_app_flutter/models/SOAP/GetAllergiesResModel.dart';
import 'package:doctor_app_flutter/models/SOAP/GetHistoryReqModel.dart';
import 'package:doctor_app_flutter/models/SOAP/GetHistoryResModel.dart';
import 'package:doctor_app_flutter/models/SOAP/get_Allergies_request_model.dart';
import 'package:doctor_app_flutter/models/SOAP/master_key_model.dart';
import 'package:doctor_app_flutter/models/SOAP/post_allergy_request_model.dart';
@ -17,6 +19,7 @@ import 'base/lookup-service.dart';
class SOAPService extends LookupService {
List<GetChiefComplaintResModel> patientChiefComplaintList = [];
List<GetAllergiesResModel> patientAllergiesList = [];
List<GetHistoryResModel> patientHistoryList = [];
Future getAllergies(GetAllergiesRequestModel getAllergiesRequestModel) async {
await baseAppClient.post(
@ -199,15 +202,19 @@ class SOAPService extends LookupService {
}
Future getPatientHistories(
PostHistoriesRequestModel getPatientHistoriesRequestModel) async {
GetHistoryReqModel getHistoryReqModel) async {
hasError = false;
await baseAppClient.post (GET_HISTORY,
onSuccess: (dynamic response, int statusCode) {
print("Success");
patientHistoryList.clear();
response['List_History']['entityList'].forEach((v) {
patientHistoryList.add(GetHistoryResModel.fromJson(v));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: getPatientHistoriesRequestModel.toJson());
}, body: getHistoryReqModel.toJson());
}
Future getPatientChiefComplaint(

@ -4,6 +4,8 @@ import 'package:doctor_app_flutter/core/service/SOAP_service.dart';
import 'package:doctor_app_flutter/models/SOAP/ChiefComplaint/GetChiefComplaintResModel.dart';
import 'package:doctor_app_flutter/models/SOAP/GeneralGetReqForSOAP.dart';
import 'package:doctor_app_flutter/models/SOAP/GetAllergiesResModel.dart';
import 'package:doctor_app_flutter/models/SOAP/GetHistoryReqModel.dart';
import 'package:doctor_app_flutter/models/SOAP/GetHistoryResModel.dart';
import 'package:doctor_app_flutter/models/SOAP/get_Allergies_request_model.dart';
import 'package:doctor_app_flutter/models/SOAP/master_key_model.dart';
import 'package:doctor_app_flutter/models/SOAP/post_allergy_request_model.dart';
@ -57,6 +59,8 @@ class SOAPViewModel extends BaseViewModel {
List<GetAllergiesResModel> get patientAllergiesList =>
_SOAPService.patientAllergiesList;
List<GetHistoryResModel> get patientHistoryList =>
_SOAPService.patientHistoryList;
Future getAllergies(GetAllergiesRequestModel getAllergiesRequestModel) async {
setState(ViewState.Busy);
@ -210,9 +214,9 @@ class SOAPViewModel extends BaseViewModel {
setState(ViewState.Idle);
}
Future getPatientHistories(PostHistoriesRequestModel getPatientHistoriesRequestModel) async {
Future getPatientHistories(GetHistoryReqModel getHistoryReqModel) async {
setState(ViewState.Busy);
await _SOAPService.getPatientHistories(getPatientHistoriesRequestModel);
await _SOAPService.getPatientHistories(getHistoryReqModel);
if (_SOAPService.hasError) {
error = _SOAPService.error;
setState(ViewState.Busy);

@ -0,0 +1,18 @@
class GetHistoryReqModel {
int patientMRN;
int historyType;
GetHistoryReqModel({this.patientMRN, this.historyType});
GetHistoryReqModel.fromJson(Map<String, dynamic> json) {
patientMRN = json['PatientMRN'];
historyType = json['HistoryType'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['PatientMRN'] = this.patientMRN;
data['HistoryType'] = this.historyType;
return data;
}
}

@ -0,0 +1,40 @@
class GetHistoryResModel {
int appointmentNo;
int episodeId;
int historyId;
int historyType;
bool isChecked;
int patientMRN;
String remarks;
GetHistoryResModel(
{this.appointmentNo,
this.episodeId,
this.historyId,
this.historyType,
this.isChecked,
this.patientMRN,
this.remarks});
GetHistoryResModel.fromJson(Map<String, dynamic> json) {
appointmentNo = json['appointmentNo'];
episodeId = json['episodeId'];
historyId = json['historyId'];
historyType = json['historyType'];
isChecked = json['isChecked'];
patientMRN = json['patientMRN'];
remarks = json['remarks'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['appointmentNo'] = this.appointmentNo;
data['episodeId'] = this.episodeId;
data['historyId'] = this.historyId;
data['historyType'] = this.historyType;
data['isChecked'] = this.isChecked;
data['patientMRN'] = this.patientMRN;
data['remarks'] = this.remarks;
return data;
}
}

@ -4,6 +4,7 @@ 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/viewModel/SOAP_view_model.dart';
import 'package:doctor_app_flutter/models/SOAP/GeneralGetReqForSOAP.dart';
import 'package:doctor_app_flutter/models/SOAP/GetHistoryReqModel.dart';
import 'package:doctor_app_flutter/models/SOAP/master_key_model.dart';
import 'package:doctor_app_flutter/models/SOAP/my_selected_allergy.dart';
import 'package:doctor_app_flutter/models/SOAP/post_allergy_request_model.dart';
@ -47,7 +48,67 @@ class _UpdateSubjectivePageState extends State<UpdateSubjectivePage> {
TextEditingController illnessController = TextEditingController();
TextEditingController complaintsController = TextEditingController();
final formKey = GlobalKey<FormState>();
getHistory(SOAPViewModel model) async{
GetHistoryReqModel getHistoryMedicalReqModel = GetHistoryReqModel(
patientMRN: widget.patientInfo.patientMRN,
historyType:
MasterKeysService.HistoryMedical.getMasterKeyService());
GetHistoryReqModel getHistorySportsReqModel = GetHistoryReqModel(
patientMRN: widget.patientInfo.patientMRN,
historyType:
MasterKeysService.HistorySports.getMasterKeyService());
GetHistoryReqModel getHistorySurgicalReqModel = GetHistoryReqModel(
patientMRN: widget.patientInfo.patientMRN,
historyType:
MasterKeysService.HistorySurgical.getMasterKeyService());
GetHistoryReqModel getHistoryFamilyReqModel = GetHistoryReqModel(
patientMRN: widget.patientInfo.patientMRN,
historyType:
MasterKeysService.HistoryFamily.getMasterKeyService());
await model.getPatientHistories(getHistoryMedicalReqModel);
await model.getPatientHistories(getHistorySportsReqModel);
await model.getPatientHistories(getHistorySurgicalReqModel);
await model.getPatientHistories(getHistoryFamilyReqModel);
if(model.patientHistoryList.isNotEmpty) {
if (model.historyFamilyList.isEmpty) {
await model.getMasterLookup(MasterKeysService.HistoryFamily);
}
if (model.historyMedicalList.isEmpty) {
await model.getMasterLookup(MasterKeysService.HistoryMedical);
}
if (model.historySurgicalList.length == 0) {
await model.getMasterLookup(MasterKeysService.HistorySurgical);
await model.getMasterLookup(MasterKeysService.HistorySports);
}
model.patientHistoryList.forEach((element) {
if (element.historyType == MasterKeysService.HistoryFamily.getMasterKeyService()) {
widget.myHistoryList.add( model.getOneMasterKey(
masterKeys: MasterKeysService.HistoryFamily,
id: element.historyId,
));
}if (element.historyType == MasterKeysService.HistoryMedical.getMasterKeyService()) {
widget.myHistoryList.add( model.getOneMasterKey(
masterKeys: MasterKeysService.HistoryMedical,
id: element.historyId,
));
}if (element.historyType == MasterKeysService.HistorySports.getMasterKeyService()) {
widget.myHistoryList.add( model.getOneMasterKey(
masterKeys: MasterKeysService.HistorySports,
id: element.historyId,
));
}
if (element.historyType ==
MasterKeysService.HistorySurgical.getMasterKeyService()) {
widget.myHistoryList.add(model.getOneMasterKey(
masterKeys: MasterKeysService.HistorySurgical,
id: element.historyId,
));
}
});
}
}
@override
Widget build(BuildContext context) {
return BaseView<SOAPViewModel>(
@ -57,10 +118,6 @@ class _UpdateSubjectivePageState extends State<UpdateSubjectivePage> {
episodeId: widget.patientInfo.episodeNo,
appointmentNo: widget.patientInfo.appointmentNo);
if (model.allergiesList.isEmpty)
await model.getMasterLookup(MasterKeysService.Allergies);
if (model.allergySeverityList.isEmpty)
await model.getMasterLookup(MasterKeysService.AllergySeverity);
await model.getPatientChiefComplaint(generalGetReqForSOAP);
if (model.chiefComplaintList.isNotEmpty) {
complaintsController.text =
@ -69,6 +126,11 @@ class _UpdateSubjectivePageState extends State<UpdateSubjectivePage> {
}
await model.getPatientAllergy(generalGetReqForSOAP);
if (model.patientAllergiesList.isNotEmpty) {
if (model.allergiesList.isEmpty)
await model.getMasterLookup(MasterKeysService.Allergies);
if (model.allergySeverityList.isEmpty)
await model.getMasterLookup(MasterKeysService.AllergySeverity);
model.patientAllergiesList.forEach((element) {
MasterKeyModel selectedAllergy = model.getOneMasterKey(
masterKeys: MasterKeysService.Allergies,
@ -85,6 +147,9 @@ class _UpdateSubjectivePageState extends State<UpdateSubjectivePage> {
widget.myAllergiesList.add(mySelectedAllergy);
});
}
await getHistory(model);
},
builder: (_, model, w) => AppScaffold(
isShowAppBar: false,

Loading…
Cancel
Save