diff --git a/care/facility/api/viewsets/patient_consultation.py b/care/facility/api/viewsets/patient_consultation.py index 736b6e3d76..dc18b65851 100644 --- a/care/facility/api/viewsets/patient_consultation.py +++ b/care/facility/api/viewsets/patient_consultation.py @@ -91,7 +91,7 @@ def discharge_patient(self, request, *args, **kwargs): consultation = self.get_object() serializer = self.get_serializer(consultation, data=request.data) serializer.is_valid(raise_exception=True) - serializer.save() + serializer.save(current_bed=None) generate_and_upload_discharge_summary_task.delay(consultation.external_id) return Response(status=status.HTTP_200_OK) diff --git a/care/facility/migrations/0363_auto_20230621_1857.py b/care/facility/migrations/0363_auto_20230621_1857.py new file mode 100644 index 0000000000..b74b7b09ea --- /dev/null +++ b/care/facility/migrations/0363_auto_20230621_1857.py @@ -0,0 +1,22 @@ +# Generated by Django 4.2.2 on 2023-06-21 13:27 + +from django.db import migrations + + +class Migration(migrations.Migration): + def free_discharged_current_beds(apps, schema_editor): + PatientConsultation = apps.get_model("facility", "PatientConsultation") + + PatientConsultation.objects.filter(discharge_date__isnull=False).exclude( + current_bed=None + ).update(current_bed=None) + + dependencies = [ + ("facility", "0362_merge_20230617_1253"), + ] + + operations = [ + migrations.RunPython( + free_discharged_current_beds, reverse_code=migrations.RunPython.noop + ) + ]