def update_demography_form(request, scenario_id): data = update_form(request, scenario_id) temp_scenario = None if "valid" not in data: return data valid = data["valid"] if not valid: return data if "scenario" in data: temp_scenario = data["scenario"] form_values = {'valid': valid, 'human_pop_size': temp_scenario.demography.popSize, 'age_dist': temp_scenario.demography.name} if not DemographicsSnippet.objects.filter(name=temp_scenario.demography.name).exists(): form_values['name'] = temp_scenario.demography.name form_values['title'] = temp_scenario.demography.name form_values['xml'] = temp_scenario.demography.ageGroup.xml form_values['maximum_age_yrs'] = temp_scenario.demography.maximumAgeYrs return HttpResponse(json.dumps(form_values), content_type="application/json")
def update_healthsystem_form(request, scenario_id): data = update_form(request, scenario_id) temp_scenario = None if "valid" not in data: return data valid = data["valid"] if not valid: return data if "scenario" in data: temp_scenario = data["scenario"] form_values = {'valid': data["valid"]} seek_uncomp = temp_scenario.healthSystem.ImmediateOutcomes.pSeekOfficialCareUncomplicated1 self_treat = temp_scenario.healthSystem.ImmediateOutcomes.pSelfTreatUncomplicated perc_total = get_percentage_from_prob(seek_uncomp) perc_formal = 100 - get_percentage_from_prob(self_treat) form_values["perc_total_treated"] = perc_total form_values["perc_formal_care"] = perc_formal form_values["first_line_drug"] = temp_scenario.healthSystem.ImmediateOutcomes.firstLine return HttpResponse(json.dumps(form_values), content_type="application/json")
def update_monitoring_form(request, scenario_id): data = update_form(request, scenario_id) temp_scenario = None if "valid" not in data: return data valid = data["valid"] if not valid: return data if "scenario" in data: temp_scenario = data["scenario"] start_date = int(request.POST['start_date']) form_values = {'valid': valid} for o in ScenarioMonitoringView.om_dict: form_values[o[0]] = True if temp_scenario.monitoring.SurveyOptions.__contains__(o[1]) else False val = temp_scenario.monitoring.detectionLimit if val == 100 or val == 200 or val == 7: form_values['parasite_detection_diagnostic_type'] = str(int(val)) else: form_values['parasite_detection_diagnostic_type'] = 'custom' form_values['sim_start_date'] = start_date monitor_info = get_survey_times(temp_scenario.monitoring, start_date) form_values['measure_outputs'] = monitor_info["type"] form_values['monitor_yrs'] = monitor_info["yrs"] form_values['monitor_mos'] = monitor_info["mos"] form_values['monitor_start_date'] = monitor_info["start_date"] form_values['surveys'] = json.dumps(temp_scenario.monitoring.surveys) return HttpResponse(json.dumps(form_values), content_type="application/json")
def update_entomology_form(request, scenario_id): data = update_form(request, scenario_id) temp_scenario = None if "valid" not in data: return data valid = data["valid"] if not valid: return data if "scenario" in data: temp_scenario = data["scenario"] form_values = { 'valid': valid, 'annual_eir': temp_scenario.entomology.scaledAnnualEIR, 'vectors': parse_vectors(temp_scenario), 'has_interventions': len(temp_scenario.interventions.human) or len(temp_scenario.interventions.vectorPop) } return HttpResponse(json.dumps(form_values), content_type="application/json")