jeniferfleurant

ovc_hiv_stat

Apr 6th, 2017
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.46 KB | None | 0 0
  1. USE caris_db;
  2. SET @start_date='2017-10-01';
  3. SET @end_date='2018-03-31';
  4.  
  5. ## OVC_hiv_stat
  6.  
  7. select left(patient_code,8) as hospital, count(*) as pos, sum(vbv.id_patient!=0) on_arv from((select distinct tf.id_patient from tracking_followup tf left join tracking_infant ti on ti.id_patient=tf.id_patient where timestampdiff(year, dob, @end_date)<18
  8. and (is_abandoned=0  or abandoned_date>=@start_date) and (is_dead=0 or ti.death_date>=@start_date)
  9. )
  10. union
  11. (select id_patient from (select * from (
  12. select distinct ts.id_patient, date_blood_taken as dbt from testing_specimen ts left join tracking_infant ti on ti.id_patient=ts.id_patient where (timestampdiff(year, dob, @end_date)<18 or timestampdiff(year, date_of_birth, @end_date)<18) and (is_abandoned=0  or abandoned_date>=@start_date) and (is_dead=0 or death_date>=@start_date) and pcr_result=1
  13. union
  14. select distinct tr.id_patient, blood_draw_date as dbt from testing_result tr left join tracking_infant ti on ti.id_patient=tr.id_patient where result=1 and timestampdiff(year, dob, @end_date)<18 and (is_abandoned=0  or abandoned_date>=@start_date) and (is_dead=0 or death_date>=@start_date)
  15. )ddd
  16. where dbt between @start_date and @end_date and dbt=(select min(date_blood_taken) from testing_specimen ts1 where ddd.id_patient=ts1.id_patient))t)
  17. union
  18. (
  19. select distinct tr.id_patient from tracking_regime tr left join tracking_infant ti on ti.id_patient=tr.id_patient where timestampdiff(year, dob, @end_date)<18 and (is_abandoned=0  or abandoned_date>=@start_date) and (is_dead=0 or death_date>=@start_date) and category='regime_infant_treatment'
  20. )
  21. union
  22. (
  23. select id_patient from tracking_infant where (positive_pcr_1!='0000-00-00' or positive_pcr_2!='0000-00-00') and timestampdiff(year, dob, @end_date)<18 and (is_abandoned=0  or abandoned_date>=@start_date) and (is_dead=0 or death_date>=@start_date)
  24. )
  25. union
  26. (
  27. select cp.id_patient from club_patient cp left join club on club.id=id_club
  28. left join tracking_infant ti on cp.id_patient=ti.id_patient
  29. where club_type in (2,3) and (is_abandoned=0  or abandoned_date>=@start_date) and (is_dead=0 or death_date>=@start_date)
  30. ))cdss
  31. left join patient on patient.id=id_patient
  32. left join
  33. ( select distinct id_patient from tracking_followup where date<=@end_date and on_arv=1
  34. union
  35. select distinct id_patient from tracking_regime where start_date<=@end_date
  36. and category='regime_infant_treatment'
  37. )vbv on patient.id = vbv.id_patient
  38. where linked_to_id_patient=0
  39. group by left(patient_code,8)
Advertisement
Add Comment
Please, Sign In to add comment