Пример #1
0
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")
Пример #2
0
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")
Пример #3
0
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"]

    has_imported_infection = temp_scenario.interventions.importedInfections is not None
    imported_infection = None
    if has_imported_infection:
        imported_infections = parse_imported_infections(temp_scenario)
        if imported_infections:
            imported_infection = imported_infections[0]

    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),
        'has_imported_infection': has_imported_infection,
        'imported_infection': imported_infection
    }

    return HttpResponse(json.dumps(form_values), content_type="application/json")
Пример #4
0
def update_summary_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, 'name': temp_scenario.name}

    return JsonResponse(form_values)
Пример #5
0
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")