From 0cc4d4ced2276f96fbde55487fa4672237f7a084 Mon Sep 17 00:00:00 2001 From: sainingo Date: Mon, 3 Jul 2023 13:45:06 +0300 Subject: [PATCH 1/3] POC-158:Wrong visits for DC clients --- service/dc-patient-visit-evaluator.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/service/dc-patient-visit-evaluator.js b/service/dc-patient-visit-evaluator.js index bf7f1a4fa..4978af6d1 100644 --- a/service/dc-patient-visit-evaluator.js +++ b/service/dc-patient-visit-evaluator.js @@ -7,7 +7,7 @@ const def = { function getPatientQualifiedDcVisits(patientUuid) { return new Promise((resolve, reject) => { - const sql = `SELECT + const sql = `SELECT p.person_id, latest_medication_visit.*, latest_standard_visit.*, @@ -32,13 +32,13 @@ function getPatientQualifiedDcVisits(patientUuid) { AND latest_standard_visit.latest_standard_visit is null THEN @recent_dc_enrolment_program_manager:=1 WHEN latest_new_dc_enrollment_date.latest_new_dc_enrollment_date > latest_standard_visit.latest_standard_visit AND latest_medication_visit.latest_medication_visit is null THEN @recent_dc_enrolment_program_manager:=1 - WHEN latest_new_dc_enrollment_date.latest_new_dc_enrollment_date is not null and latest_medication_visit.latest_medication_visit is null + WHEN latest_new_dc_enrollment_date.latest_new_dc_enrollment_date is not null and latest_medication_visit.latest_medication_visit is null AND latest_standard_visit.latest_standard_visit is null then @recent_dc_enrolment_program_manager:=1 ELSE @recent_dc_enrolment_program_manager:=0 END AS 'recent_dc_enrolment_program_manager', @recent_dc_enrolment_program_manager, CASE - WHEN @recent_dc_enrolment = 1 THEN 1 + WHEN @recent_dc_enrolment = 1 THEN 1 WHEN @recent_dc_enrolment_program_manager = 1 THEN 0 WHEN latest_standard_visit.latest_standard_visit > latest_medication_visit.latest_medication_visit THEN 1 WHEN latest_standard_visit.latest_standard_visit is not null AND latest_medication_visit.latest_medication_visit is NULL THEN 1 @@ -55,7 +55,7 @@ function getPatientQualifiedDcVisits(patientUuid) { FROM amrs.person p LEFT JOIN ( - SELECT + SELECT e.patient_id, e.encounter_datetime as 'latest_medication_visit' FROM @@ -69,7 +69,7 @@ FROM order by encounter_datetime desc limit 1 ) latest_medication_visit on (latest_medication_visit.patient_id = p.person_id) LEFT JOIN ( - SELECT + SELECT e.patient_id, e.encounter_datetime AS 'latest_standard_visit' FROM @@ -77,13 +77,13 @@ FROM join amrs.person p on (e.patient_id = p.person_id) join amrs.visit v on (e.visit_id = v.visit_id) where e.encounter_type in (2) - AND v.visit_type_id in (59) + AND v.visit_type_id in (59, 2) AND e.voided = 0 AND p.uuid = '${patientUuid}' order by encounter_datetime desc limit 1 ) latest_standard_visit on (latest_standard_visit.patient_id = p.person_id) LEFT JOIN ( - SELECT + SELECT e.patient_id, e.encounter_datetime AS 'latest_dc_enrolment_visit' FROM From e18e74e9a1bdecdd40fa0962d7fb3f5af1c44552 Mon Sep 17 00:00:00 2001 From: sainingo Date: Tue, 4 Jul 2023 16:38:05 +0300 Subject: [PATCH 2/3] Add visit and encounter types --- service/dc-patient-visit-evaluator.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/service/dc-patient-visit-evaluator.js b/service/dc-patient-visit-evaluator.js index 4978af6d1..62ae6443f 100644 --- a/service/dc-patient-visit-evaluator.js +++ b/service/dc-patient-visit-evaluator.js @@ -76,8 +76,8 @@ FROM amrs.encounter e join amrs.person p on (e.patient_id = p.person_id) join amrs.visit v on (e.visit_id = v.visit_id) - where e.encounter_type in (2) - AND v.visit_type_id in (59, 2) + where e.encounter_type in (2, 106) + AND v.visit_type_id in (59, 9, 15) AND e.voided = 0 AND p.uuid = '${patientUuid}' order by encounter_datetime desc limit 1 From 4c30b2a1de60f5358ece9e27da78778632e56b69 Mon Sep 17 00:00:00 2001 From: sainingo Date: Thu, 6 Jul 2023 11:15:31 +0300 Subject: [PATCH 3/3] Add adult return hiv visit ID --- service/dc-patient-visit-evaluator.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/service/dc-patient-visit-evaluator.js b/service/dc-patient-visit-evaluator.js index 62ae6443f..214f0a30c 100644 --- a/service/dc-patient-visit-evaluator.js +++ b/service/dc-patient-visit-evaluator.js @@ -77,7 +77,7 @@ FROM join amrs.person p on (e.patient_id = p.person_id) join amrs.visit v on (e.visit_id = v.visit_id) where e.encounter_type in (2, 106) - AND v.visit_type_id in (59, 9, 15) + AND v.visit_type_id in (59,2, 9, 15) AND e.voided = 0 AND p.uuid = '${patientUuid}' order by encounter_datetime desc limit 1