Open sainak opened 1 year ago
Sentry Issue: CARE-NF | ||
---|---|---|
Transaction Name | /api/v1/patient/ | |
Parent Span | django.view - patientregistration-list | |
Repeating Spans (0) | db - SELECT hcx_policy.id, hcx_policy.external_id, hcx_policy.created_date, hcx_policy.modified_date, hcx_policy.deleted, hcx_policy.patient_id, hcx_policy.subscriber_id, hcx_policy.policy_id, hcx_policy.insurer_id, hcx_policy.insurer_name, hcx_policy.status, hcx_policy.priority, hcx_policy.purpose, hcx_policy.outcome, hcx_policy.error_text, hcx_policy.created_by_id, hcx_policy.last_modified_by_id FROM hcx_policy WHERE (hcx_policy."delete... | |
db - SELECT COUNT(*) AS __count FROM facility_patientregistration WHERE (facility_patientregistration.deleted = %s AND facility_patientregistration.facility_id = %s AND facility_patientregistration.is_active = %s) | ||
db - SELECT COUNT(*) AS __count FROM facility_bed WHERE (facility_bed.deleted = %s AND facility_bed.facility_id = %s) |
i would like to work on this can you assign me this issue?
Hey @satyam0601 Any updates on this? Any blockers?
hey, @sainak @rithviknishad I want to work on this issue. Can you please assign this issue to me?
Hey @sainak @rithviknishad,
I believe the primary issue with the hcx_policy query comes from https://github.com/coronasafe/care/blob/411e89c63c7daa4b13cc76a1754debec9c19bea7/care/facility/api/serializers/patient.py#L93
def get_has_eligible_policy(self, patient):
eligible_policies = Policy.objects.filter(
(Q(error_text="") | Q(error_text=None)),
outcome="complete",
patient=patient.id,
)
return bool(len(eligible_policies))
in the patient serializer.
To address this, we can utilize prefetch_related and then filter the patient object with the necessary policy set. Additionally, I suggest replacing len with count, as both accomplish the same task.