import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/core/enum/master_lookup_key.dart'; import 'package:doctor_app_flutter/core/model/SOAP/Assessment/get_assessment_res_model.dart'; import 'package:doctor_app_flutter/core/model/SOAP/master_key_model.dart'; import 'base_service.dart'; class LookupService extends BaseService { List allergiesList = []; List get allergySeverityList => _allergySeverityList; List _allergySeverityList = []; List medicationStrengthList = []; List medicationDurationList = []; List medicationRouteList = []; List medicationFrequencyList = []; List medicationDoseTimeList = []; List medicationIndicationsList = []; // TODO make the person who create the list dynamic to change it. List medicationStrengthListWithModel = []; List medicationFrequencyListWithModel = []; List medicationDoseTimeListWithModel = []; List medicationRouteListWithModel = []; List patientAssessmentList = []; List get historyFamilyList => _historyFamilyList; List _historyFamilyList = []; List get historyMedicalList => _historyMedicalList; List _historyMedicalList = []; List get historySportList => _historySportList; List _historySportList = []; List get historySocialList => _historySocialList; List _historySocialList = []; List get historySurgicalList => _historySurgicalList; List _historySurgicalList = []; List listOfPhysiotherapyGoals = []; List get physicalExaminationList => _physicalExaminationList; List _physicalExaminationList = []; // List listOfPhysiotherapyGoals = []; List listOfDiagnosisType = []; List listOfDiagnosisCondition = []; List listOfICD10 = []; List listOfTemperatureMethods = []; List listOfSpeciality = []; List listOfAdmissionType = []; List listOfDiagnosisSelectionTypes = []; Future getMasterLookup(MasterKeysService masterKeys, {String searchKey = ""}) async { hasError = false; Map body = { "MasterInput": masterKeys.getMasterKeyService(), "SearchKey": searchKey }; await baseAppClient.post(GET_MASTER_LOOKUP_LIST, onSuccess: (dynamic response, int statusCode) { setMasterLookupInCorrectArray( response['MasterLookUpList']['entityList'], masterKeys); }, onFailure: (String error, int statusCode) { hasError = true; super.error = error; }, body: body); } setMasterLookupInCorrectArray(entryList, MasterKeysService masterKeys) { switch (masterKeys) { case MasterKeysService.Allergies: allergiesList.clear(); entryList.forEach((v) { allergiesList.add(MasterKeyModel.fromJson(v)); }); break; case MasterKeysService.HistoryFamily: _historyFamilyList.clear(); entryList.forEach((v) { _historyFamilyList.add(MasterKeyModel.fromJson(v)); }); break; case MasterKeysService.HistoryMedical: _historyMedicalList.clear(); entryList.forEach((v) { _historyMedicalList.add(MasterKeyModel.fromJson(v)); }); break; case MasterKeysService.HistorySocial: historySocialList.clear(); entryList.forEach((v) { historySocialList.add(MasterKeyModel.fromJson(v)); }); break; case MasterKeysService.HistorySports: _historySportList.clear(); entryList.forEach((v) { _historySportList.add(MasterKeyModel.fromJson(v)); }); break; case MasterKeysService.HistorySurgical: _historySurgicalList.clear(); entryList.forEach((v) { _historySurgicalList.add(MasterKeyModel.fromJson(v)); }); break; case MasterKeysService.PostPhysicalExaminationModel: _physicalExaminationList.clear(); entryList.forEach((v) { _physicalExaminationList.add(MasterKeyModel.fromJson(v)); }); break; case MasterKeysService.AllergySeverity: _allergySeverityList.clear(); entryList.forEach((v) { _allergySeverityList.add(MasterKeyModel.fromJson(v)); }); break; case MasterKeysService.physiotherapyGoals: listOfPhysiotherapyGoals.clear(); entryList.forEach((v) { listOfPhysiotherapyGoals.add(MasterKeyModel.fromJson(v)); }); break; case MasterKeysService.DiagnosisType: listOfDiagnosisType.clear(); entryList.forEach((v) { listOfDiagnosisType.add(MasterKeyModel.fromJson(v)); }); break; case MasterKeysService.DiagnosisCondition: listOfDiagnosisCondition.clear(); entryList.forEach((v) { listOfDiagnosisCondition.add(MasterKeyModel.fromJson(v)); }); break; case MasterKeysService.ICD10: listOfICD10.clear(); entryList.forEach((v) { listOfICD10.add(MasterKeyModel.fromJson(v)); }); break; case MasterKeysService.TemperatureMethods: listOfTemperatureMethods.clear(); entryList.forEach((v) { listOfTemperatureMethods.add(MasterKeyModel.fromJson(v)); }); break; case MasterKeysService.Speciality: listOfSpeciality.clear(); entryList.forEach((v) { listOfSpeciality.add(MasterKeyModel.fromJson(v)); }); break; case MasterKeysService.MedicationStrength: medicationStrengthList.clear(); entryList.forEach((v) { medicationStrengthListWithModel.add(MasterKeyModel.fromJson(v)); medicationStrengthList.add(v); }); break; case MasterKeysService.MedicationDuration: medicationDurationList.clear(); entryList.forEach((v) { medicationDurationList.add(v); }); break; case MasterKeysService.MedicationRoute: medicationRouteList.clear(); entryList.forEach((v) { medicationRouteListWithModel.add(MasterKeyModel.fromJson(v)); medicationRouteList.add(v); }); break; case MasterKeysService.MedicationFrequency: medicationFrequencyList.clear(); entryList.forEach((v) { medicationFrequencyListWithModel.add(MasterKeyModel.fromJson(v)); medicationFrequencyList.add(v); }); break; case MasterKeysService.MedicationDoseTime: medicationDoseTimeList.clear(); entryList.forEach((v) { medicationDoseTimeListWithModel.add(MasterKeyModel.fromJson(v)); medicationDoseTimeList.add(v); }); break; case MasterKeysService.MedicationIndications: medicationIndicationsList.clear(); entryList.forEach((v) { medicationIndicationsList.add(v); }); break; case MasterKeysService.AdmissionRequestType: listOfAdmissionType.clear(); entryList.forEach((v) { // listOfAdmissionType.add(MasterKeyModel.fromJson(v)); listOfAdmissionType.add(v); }); break; case MasterKeysService.DiagnosisSelectionType: listOfDiagnosisSelectionTypes.clear(); entryList.forEach((v) { // listOfAdmissionType.add(MasterKeyModel.fromJson(v)); listOfDiagnosisSelectionTypes.add(v); }); break; } } }