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 test_probabilities(self): # get_prob_from_percentage self.assertRaises(AssertionError, get_prob_from_percentage, -1) self.assertRaises(AssertionError, get_prob_from_percentage, 101) self.assertRaises(AssertionError, get_prob_from_percentage, "not a number") self.assertEqual(get_prob_from_percentage(50), 0.2411937) self.assertEqual(get_prob_from_percentage(0), 0.0) self.assertEqual(get_prob_from_percentage(100), 0.9984184) for i in range(0, 101): self.assertEqual( get_percentage_from_prob(get_prob_from_percentage(i)), i) # get_percentage_from_prob self.assertEqual(get_percentage_from_prob(0.5), 77) self.assertEqual(get_percentage_from_prob(0.0), 0) self.assertEqual(get_percentage_from_prob(0.003655051), 0) self.assertEqual(get_percentage_from_prob(0.003655053), 1) self.assertEqual(get_percentage_from_prob(0.01), 2) self.assertEqual(get_percentage_from_prob(0.5), 77) self.assertEqual(get_percentage_from_prob(0.9984183), 99) self.assertEqual(get_percentage_from_prob(0.9984185), 100) self.assertEqual(get_percentage_from_prob(1.00), 100)
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 get_initial(self): initial = {"first_line_drug": self.scenario.healthSystem.ImmediateOutcomes.firstLine} seek_uncomp = self.scenario.healthSystem.ImmediateOutcomes.pSeekOfficialCareUncomplicated1 self_treat = self.scenario.healthSystem.ImmediateOutcomes.pSelfTreatUncomplicated perc_total = get_percentage_from_prob(seek_uncomp) perc_formal = 100 - get_percentage_from_prob(self_treat) initial["perc_total_treated"] = perc_total initial["perc_formal_care"] = perc_formal return initial
def get_initial(self): initial = { "first_line_drug": self.scenario.healthSystem.ImmediateOutcomes.firstLine } seek_uncomp = self.scenario.healthSystem.ImmediateOutcomes.pSeekOfficialCareUncomplicated1 self_treat = self.scenario.healthSystem.ImmediateOutcomes.pSelfTreatUncomplicated perc_total = get_percentage_from_prob(seek_uncomp) perc_formal = 100 - get_percentage_from_prob(self_treat) initial["perc_total_treated"] = perc_total initial["perc_formal_care"] = perc_formal return initial