From 30b4b84db59423d442dc5082003822a986cf0797 Mon Sep 17 00:00:00 2001 From: Abhiuday Date: Mon, 19 Feb 2024 19:33:46 +0530 Subject: [PATCH] fix(daily_rounds): added validations to serializer fields --- care/facility/api/serializers/daily_round.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/care/facility/api/serializers/daily_round.py b/care/facility/api/serializers/daily_round.py index 1ceffb0777..34b82fcfe8 100644 --- a/care/facility/api/serializers/daily_round.py +++ b/care/facility/api/serializers/daily_round.py @@ -38,11 +38,16 @@ class DailyRoundSerializer(serializers.ModelSerializer): deprecated_covid_category = ChoiceField( choices=COVID_CATEGORY_CHOICES, required=False ) # Deprecated - patient_category = ChoiceField(choices=CATEGORY_CHOICES, required=False) + patient_category = ChoiceField(choices=CATEGORY_CHOICES, required=True) current_health = ChoiceField(choices=CURRENT_HEALTH_CHOICES, required=False) action = ChoiceField( - choices=PatientRegistration.ActionChoices, write_only=True, required=False + choices=PatientRegistration.ActionChoices, + write_only=True, + required=False, + ) + temperature = serializers.DecimalField( + max_digits=5, decimal_places=2, required=True ) review_interval = serializers.IntegerField( source="consultation__review_interval", required=False @@ -283,7 +288,10 @@ def create(self, validated_data): "last_updated_by_telemedicine" ] daily_round_obj.consultation.save( - update_fields=["last_updated_by_telemedicine", "review_interval"] + update_fields=[ + "last_updated_by_telemedicine", + "review_interval", + ] ) daily_round_obj.save( update_fields=[ @@ -331,6 +339,12 @@ def validate(self, attrs): } ) + if "temperature" in validated: + if validated["temperature"] < 95 or validated["temperature"] > 106: + raise ValidationError( + {"temperature": ["This field value must be between 95 and 106."]} + ) + if "bed" in validated: external_id = validated.pop("bed")["external_id"] if external_id: