diff --git a/care/facility/api/serializers/hospital_doctor.py b/care/facility/api/serializers/hospital_doctor.py index 540a46a38d..f3d8a3d03c 100644 --- a/care/facility/api/serializers/hospital_doctor.py +++ b/care/facility/api/serializers/hospital_doctor.py @@ -1,5 +1,5 @@ from rest_framework import serializers - +from rest_framework.exceptions import ValidationError from care.facility.api.serializers import TIMESTAMP_FIELDS from care.facility.models import DOCTOR_TYPES, HospitalDoctors from config.serializers import ChoiceField @@ -16,3 +16,9 @@ class Meta: "area_text", ) exclude = TIMESTAMP_FIELDS + ("facility", "external_id") + + def validate(self, attrs): + # validate that the doctor count is positive + if attrs["count"] < 0: + raise ValidationError("Doctor count cannot be negative") + return super().validate(attrs)