diff --git a/app/core/templates/core/navbar.html b/app/core/templates/core/navbar.html index c535a34..05e2d1a 100644 --- a/app/core/templates/core/navbar.html +++ b/app/core/templates/core/navbar.html @@ -45,6 +45,12 @@ Home + {% if request.user.is_authenticated %} + Dashboard + {% endif %} + {% if request.user.is_authenticated %} + Record Vitals + {% endif %}
{% if request.user.is_authenticated %} Log Out diff --git a/app/medwings/templates/medwings/dashboard.html b/app/medwings/templates/medwings/dashboard.html index a040c59..7a4d5b8 100644 --- a/app/medwings/templates/medwings/dashboard.html +++ b/app/medwings/templates/medwings/dashboard.html @@ -5,8 +5,141 @@ {% endblock title %} {% block content %} -
-

Dashboard

- There is nothing here yet. +
+ +

Dashboard

+ +
+

MEWS Measurements

+ {% if mews_data %} + + {% else %} +
+

There is no data yet

+
+ {% endif %} +
+ +
+

Blood Pressure Measurements

+ {% if blood_pressure_data %} + + {% else %} +
+

There is no data yet

+
+ {% endif %} +
+ +
+

Body Temperature Measurements

+ {% if body_temp_data %} + + {% else %} +
+

There is no data yet

+
+ {% endif %} +
+ +
+

Heart Rate Measurements

+ {% if heart_rate_data %} + + {% else %} +
+

There is no data yet

+
+ {% endif %} +
+ +
+

Blood Oxygenation Measurements

+ {% if spo2_level_data %} + + {% else %} +
+

There is no data yet

+
+ {% endif %} +
+ +
+

Respiration Score Measurements

+ {% if respiration_score_data %} + + {% else %} +
+

There is no data yet

+
+ {% endif %} +
+
+ + + + + {% endblock content %} diff --git a/app/medwings/views.py b/app/medwings/views.py index ad60a89..7832929 100644 --- a/app/medwings/views.py +++ b/app/medwings/views.py @@ -1,4 +1,5 @@ from datetime import timedelta +import json from django.shortcuts import redirect, render from django.http import HttpResponse, JsonResponse @@ -18,7 +19,23 @@ def index(request): @login_required @require_http_methods(["GET"]) def dashboard(request): - return render(request, 'medwings/dashboard.html') + mews_records = models.MewsRecord.objects.filter(user=request.user) + blood_pressure_records = models.BloodPressureRecord.objects.filter(user=request.user) + body_temp_records = models.BodyTempRecord.objects.filter(user=request.user) + heart_rate_records = models.HeartRateRecord.objects.filter(user=request.user) + spo2_level_records = models.Spo2LevelRecord.objects.filter(user=request.user) + respiration_score_records = models.RespirationScoreRecord.objects.filter(user=request.user) + + context = { + "mews_data": json.dumps([{"x": record.recorded.timestamp(), "y": record.value_n} for record in mews_records]), + "blood_pressure_data": json.dumps([{"x": record.recorded.timestamp(), "y": record.value_systolic_mmhg} for record in blood_pressure_records]), + "body_temp_data": json.dumps([{"x": record.recorded.timestamp(), "y": float(record.value_celsius)} for record in body_temp_records]), + "heart_rate_data": json.dumps([{"x": record.recorded.timestamp(), "y": record.value_bpm} for record in heart_rate_records]), + "spo2_level_data": json.dumps([{"x": record.recorded.timestamp(), "y": record.value_percent} for record in spo2_level_records]), + "respiration_score_data": json.dumps([{"x": record.recorded.timestamp(), "y": record.value_severity} for record in respiration_score_records]), + } + + return render(request, 'medwings/dashboard.html', context) @login_required