Exemple #1
0
def get_statistics(request):
    form = SearchForm(request)
    userprofile = UserProfile.objects.get(user=request.user)
    all_patients = get_all_patients(level=userprofile.level, moh_facility=userprofile.moh_facility)

    if request.method == 'POST':
        if request.POST.get('patient') !='':
            all_patients = all_patients.filter(patient_id__icontains=request.POST.get('patient'))
        start_date = request.POST.get('start_date')
        end_date = request.POST.get('end_date')
        if not request.POST.get('start_date') :
            start_date = u'01/01/2015'
        if not request.POST.get('end_date') :
            end_date = datetime.date.today().strftime('%d/%m/%Y')
        if request.POST.get('province') !='':
            if request.POST.get('districts') != '':
                if request.POST.get('cds') != '':
                    results = PatientTable(all_patients.filter(cds=request.POST.get('cds'), date_entry__range=[format_to_time(start_date), format_to_time(end_date)]))
                    RequestConfig(request, paginate={"per_page": 25}).configure(results)
                    return render(request, 'statistics.html', { 'form':form, 'results' : results})
                results = PatientTable(all_patients.filter(cds__district__id=request.POST.get('districts'),date_entry__range=[format_to_time(start_date), format_to_time(end_date)]))
                RequestConfig(request, paginate={"per_page": 25}).configure(results)
                return render(request, 'statistics.html', { 'form':form, 'results' : results})
            results = PatientTable(all_patients.filter(cds__district__province__id=request.POST.get('province'),date_entry__range=[format_to_time(start_date), format_to_time(end_date)]))
            RequestConfig(request, paginate={"per_page": 25}).configure(results)
            return render(request, 'statistics.html', { 'form':form, 'results' : results})
        results = PatientTable(all_patients.filter(date_entry__range=[format_to_time(start_date), format_to_time(end_date)]))
        RequestConfig(request, paginate={"per_page": 25}).configure(results)
        return render(request, 'statistics.html', { 'form':form, 'results' : results})
    results = PatientTable(all_patients)
    RequestConfig(request, paginate={"per_page": 25}).configure(results)
    return render(request, 'statistics.html', { 'form':form, 'results' : results})
Exemple #2
0
def get_by_code(request, code='', start_date='', end_date=''):
    request.session['sstart_date'] = start_date
    request.session['eend_date'] = end_date
    if not code:
        form = SearchForm
        results = [get_province_statistics(i, format_to_time(start_date), format_to_time(end_date)) for i in Province.objects.all() ]
        statistics = Patients3Table(results)
        RequestConfig(request, paginate={"per_page": 25}).configure(statistics)
        request.session['sstart_date'] = request.POST.get('start_date')
        request.session['eend_date'] = request.POST.get('end_date')
        return render(request, 'surveillance_cholera/provinces.html', {  'statistics' : statistics, 'form':form, 'start_date':request.POST.get('start_date'), 'end_date':request.POST.get('end_date')})
    if len(code)<=2 :
        url = reverse('province_detail', kwargs={'pk': Province.objects.get(code=code).id})
        return HttpResponseRedirect(url)
    if len(code)>2 and len(code)<=4 :
        url = reverse('district_detail', kwargs={'pk': District.objects.get(code=str(code)).id})
        return HttpResponseRedirect(url)
    if len(code)>4 :
        url = reverse('cds_detail', kwargs={'pk': CDS.objects.get(code=code).id})
        return HttpResponseRedirect(url)
Exemple #3
0
def get_by_code(request, code="", start_date="", end_date=""):
    request.session["sstart_date"] = start_date
    request.session["eend_date"] = end_date
    if not code:
        form = SearchForm
        results = [
            get_province_statistics(i, format_to_time(start_date),
                                    format_to_time(end_date))
            for i in Province.objects.all()
        ]
        statistics = Patients3Table(results)
        RequestConfig(request, paginate={"per_page": 25}).configure(statistics)
        request.session["sstart_date"] = request.POST.get("start_date")
        request.session["eend_date"] = request.POST.get("end_date")
        return render(
            request,
            "surveillance_cholera/provinces.html",
            {
                "statistics": statistics,
                "form": form,
                "start_date": request.POST.get("start_date"),
                "end_date": request.POST.get("end_date"),
            },
        )
    if len(code) <= 2:
        url = reverse("province_detail",
                      kwargs={"pk": Province.objects.get(code=code).id})
        return HttpResponseRedirect(url)
    if len(code) > 2 and len(code) <= 4:
        url = reverse("district_detail",
                      kwargs={"pk": District.objects.get(code=str(code)).id})
        return HttpResponseRedirect(url)
    if len(code) > 4:
        url = reverse("cds_detail",
                      kwargs={"pk": CDS.objects.get(code=code).id})
        return HttpResponseRedirect(url)
Exemple #4
0
def get_statistics(request):
    form = SearchForm(request)
    userprofile = UserProfile.objects.get(user=request.user)
    all_patients = get_all_patients(level=userprofile.level,
                                    moh_facility=userprofile.moh_facility)

    if request.method == "POST":
        if request.POST.get("patient") != "":
            all_patients = all_patients.filter(
                patient_id__icontains=request.POST.get("patient"))
        start_date = request.POST.get("start_date")
        end_date = request.POST.get("end_date")
        if not request.POST.get("start_date"):
            start_date = u"01/01/2015"
        if not request.POST.get("end_date"):
            end_date = datetime.date.today().strftime("%d/%m/%Y")
        if request.POST.get("province") != "":
            if request.POST.get("districts") != "":
                if request.POST.get("cds") != "":
                    results = PatientTable(
                        all_patients.filter(
                            cds=request.POST.get("cds"),
                            date_entry__range=[
                                format_to_time(start_date),
                                format_to_time(end_date),
                            ],
                        ))
                    RequestConfig(request, paginate={
                        "per_page": 25
                    }).configure(results)
                    return render(request, "statistics.html", {
                        "form": form,
                        "results": results
                    })
                results = PatientTable(
                    all_patients.filter(
                        cds__district__id=request.POST.get("districts"),
                        date_entry__range=[
                            format_to_time(start_date),
                            format_to_time(end_date),
                        ],
                    ))
                RequestConfig(request, paginate={
                    "per_page": 25
                }).configure(results)
                return render(request, "statistics.html", {
                    "form": form,
                    "results": results
                })
            results = PatientTable(
                all_patients.filter(
                    cds__district__province__id=request.POST.get("province"),
                    date_entry__range=[
                        format_to_time(start_date),
                        format_to_time(end_date),
                    ],
                ))
            RequestConfig(request, paginate={
                "per_page": 25
            }).configure(results)
            return render(request, "statistics.html", {
                "form": form,
                "results": results
            })
        results = PatientTable(
            all_patients.filter(date_entry__range=[
                format_to_time(start_date),
                format_to_time(end_date)
            ]))
        RequestConfig(request, paginate={"per_page": 25}).configure(results)
        return render(request, "statistics.html", {
            "form": form,
            "results": results
        })
    results = PatientTable(all_patients)
    RequestConfig(request, paginate={"per_page": 25}).configure(results)
    return render(request, "statistics.html", {
        "form": form,
        "results": results
    })