From 02b8681cffa4cb7ada2ecfecb01f140b83f56177 Mon Sep 17 00:00:00 2001 From: Vaibhav Sachdeva Date: Tue, 4 Jul 2023 21:36:03 +0530 Subject: [PATCH 1/5] added referred_to_external field PatientConsultationDischargeSerializer --- care/facility/api/serializers/patient_consultation.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/care/facility/api/serializers/patient_consultation.py b/care/facility/api/serializers/patient_consultation.py index 2be3c1d7c3..afc9cf2452 100644 --- a/care/facility/api/serializers/patient_consultation.py +++ b/care/facility/api/serializers/patient_consultation.py @@ -393,6 +393,7 @@ class PatientConsultationDischargeSerializer(serializers.ModelSerializer): discharge_reason = serializers.ChoiceField( choices=DISCHARGE_REASON_CHOICES, required=True ) + referred_to_external = serializers.CharField(required=False, allow_null=True, allow_blank=True) discharge_notes = serializers.CharField(required=False, allow_blank=True) discharge_date = serializers.DateTimeField(required=True) @@ -420,6 +421,7 @@ class Meta: model = PatientConsultation fields = ( "discharge_reason", + "referred_to_external", "discharge_notes", "discharge_date", "discharge_prescription", From 50f9564e184448ec4fd59e96c2ded14c54fdbb39 Mon Sep 17 00:00:00 2001 From: Vaibhav Sachdeva Date: Tue, 4 Jul 2023 23:00:41 +0530 Subject: [PATCH 2/5] pre-commit formatting --- care/facility/api/serializers/patient_consultation.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/care/facility/api/serializers/patient_consultation.py b/care/facility/api/serializers/patient_consultation.py index afc9cf2452..84ebad717c 100644 --- a/care/facility/api/serializers/patient_consultation.py +++ b/care/facility/api/serializers/patient_consultation.py @@ -393,7 +393,9 @@ class PatientConsultationDischargeSerializer(serializers.ModelSerializer): discharge_reason = serializers.ChoiceField( choices=DISCHARGE_REASON_CHOICES, required=True ) - referred_to_external = serializers.CharField(required=False, allow_null=True, allow_blank=True) + referred_to_external = serializers.CharField( + required=False, allow_null=True, allow_blank=True + ) discharge_notes = serializers.CharField(required=False, allow_blank=True) discharge_date = serializers.DateTimeField(required=True) From 987371b29387c83a5cbdea629128e0d26f20ab7f Mon Sep 17 00:00:00 2001 From: Vaibhav Sachdeva Date: Wed, 5 Jul 2023 13:39:43 +0530 Subject: [PATCH 3/5] removed redundant referred_to_external field definition --- care/facility/api/serializers/patient_consultation.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/care/facility/api/serializers/patient_consultation.py b/care/facility/api/serializers/patient_consultation.py index 84ebad717c..ea8586fb88 100644 --- a/care/facility/api/serializers/patient_consultation.py +++ b/care/facility/api/serializers/patient_consultation.py @@ -393,9 +393,6 @@ class PatientConsultationDischargeSerializer(serializers.ModelSerializer): discharge_reason = serializers.ChoiceField( choices=DISCHARGE_REASON_CHOICES, required=True ) - referred_to_external = serializers.CharField( - required=False, allow_null=True, allow_blank=True - ) discharge_notes = serializers.CharField(required=False, allow_blank=True) discharge_date = serializers.DateTimeField(required=True) From b8691a117db803d568bf711e44f9c43d1b1d9807 Mon Sep 17 00:00:00 2001 From: Vaibhav Sachdeva Date: Fri, 7 Jul 2023 17:14:04 +0530 Subject: [PATCH 4/5] tests for checking the input of referred_to_external field --- .../tests/test_patient_consultation_api.py | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/care/facility/tests/test_patient_consultation_api.py b/care/facility/tests/test_patient_consultation_api.py index 82e6a914ab..37ec08f197 100644 --- a/care/facility/tests/test_patient_consultation_api.py +++ b/care/facility/tests/test_patient_consultation_api.py @@ -148,3 +148,61 @@ def test_discharge_as_expired_after_admission(self): discharge_date="2319-04-01T15:30:00Z", ) self.assertEqual(res.status_code, status.HTTP_200_OK) + + def test_referred_to_external_null(self): + consultation = self.create_admission_consultation( + suggestion="A", + admission_date=make_aware(datetime.datetime(2020, 4, 1, 15, 30, 00)), + ) + res = self.discharge( + consultation, + discharge_reason="REF", + discharge_date="2023-07-01T12:00:00Z", + discharge_notes="Discharged with null referred_to_external", + referred_to_external=None, + ) + self.assertEqual(res.status_code, status.HTTP_200_OK) + + def test_referred_to_external_empty_string(self): + consultation = self.create_admission_consultation( + suggestion="A", + admission_date=make_aware(datetime.datetime(2020, 4, 1, 15, 30, 00)), + ) + res = self.discharge( + consultation, + discharge_reason="REF", + discharge_date="2023-07-01T12:00:00Z", + discharge_notes="Discharged with empty referred_to_external", + referred_to_external="", + ) + self.assertEqual(res.status_code, status.HTTP_200_OK) + + def test_referred_to_external_valid_value(self): + consultation = self.create_admission_consultation( + suggestion="A", + admission_date=make_aware(datetime.datetime(2020, 4, 1, 15, 30, 00)), + ) + referred_to_external = "Test Hospital" + res = self.discharge( + consultation, + discharge_reason="REF", + discharge_date="2023-07-01T12:00:00Z", + discharge_notes="Discharged with valid referred_to_external", + referred_to_external=referred_to_external, + ) + self.assertEqual(res.status_code, status.HTTP_200_OK) + + def test_referred_to_external_invalid_value(self): + consultation = self.create_admission_consultation( + suggestion="A", + admission_date=make_aware(datetime.datetime(2020, 4, 1, 15, 30, 00)), + ) + referred_to_external = 12345 # Invalid type, expects string + res = self.discharge( + consultation, + discharge_reason="REF", + discharge_date="2023-07-01T12:00:00Z", + discharge_notes="Discharged with invalid referred_to_external", + referred_to_external=referred_to_external, + ) + self.assertEqual(res.status_code, status.HTTP_400_BAD_REQUEST) From 7a2ccab6489725cbcb9df0e67cdf92580569f837 Mon Sep 17 00:00:00 2001 From: Aakash Singh Date: Thu, 20 Jul 2023 21:55:50 +0530 Subject: [PATCH 5/5] remove invalid test Signed-off-by: Aakash Singh --- .../tests/test_patient_consultation_api.py | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/care/facility/tests/test_patient_consultation_api.py b/care/facility/tests/test_patient_consultation_api.py index 37ec08f197..a3bea85f95 100644 --- a/care/facility/tests/test_patient_consultation_api.py +++ b/care/facility/tests/test_patient_consultation_api.py @@ -191,18 +191,3 @@ def test_referred_to_external_valid_value(self): referred_to_external=referred_to_external, ) self.assertEqual(res.status_code, status.HTTP_200_OK) - - def test_referred_to_external_invalid_value(self): - consultation = self.create_admission_consultation( - suggestion="A", - admission_date=make_aware(datetime.datetime(2020, 4, 1, 15, 30, 00)), - ) - referred_to_external = 12345 # Invalid type, expects string - res = self.discharge( - consultation, - discharge_reason="REF", - discharge_date="2023-07-01T12:00:00Z", - discharge_notes="Discharged with invalid referred_to_external", - referred_to_external=referred_to_external, - ) - self.assertEqual(res.status_code, status.HTTP_400_BAD_REQUEST)