jeniferfleurant

1st pcr test disags

Nov 30th, 2017
316
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.15 KB | None | 0 0
  1. USE caris_db;
  2. SET @start_date= "2016-10-01";
  3. SET @end_date="2017-09-30";
  4.  
  5. select count(a.id_patient) as nbr_test,
  6. sum(if(timestampdiff(month,a.dob,date_blood_taken)<2,1,0)) as '<2',
  7. sum(if(timestampdiff(month,a.dob,date_blood_taken)between 2 and 12,1,0)) as bt_2_12,
  8. sum(if(timestampdiff(month,a.dob,date_blood_taken)>12,1,0)) as '>12',
  9. count(b.id_patient) as nbr_on_arv,
  10. sum(if(b.id_patient is not null,if(timestampdiff(month,a.dob,date_blood_taken)<2,1,0),0)) as on_arv_2,
  11.  sum(if(b.id_patient is not null,if(timestampdiff(month,a.dob,date_blood_taken)between 2 and 12,1,0),0)) as on_arv_2_12
  12.  , sum(if(b.id_patient is not null,if(timestampdiff(month,a.dob,date_blood_taken)>12,1,0),0)) as on_arv_12,
  13.  sum(b.id_patient is null) as total_no_arv,
  14.  sum(if(timestampdiff(month,a.dob,date_blood_taken)<2, if(b.id_patient is null,1,0),0)) as no_arv_2,
  15.  sum(if(timestampdiff(month,a.dob,date_blood_taken)between 2 and 12,if(b.id_patient is null,1,0),0)) as no_arv_2_12
  16.  , sum(if(timestampdiff(month,a.dob,date_blood_taken)>12,if(b.id_patient is null,1,0),0)) as no_arv_12,
  17.  sum(tracking_infant.is_dead=1) as total_no_arv_dead
  18.  ,sum(if(timestampdiff(month,a.dob,date_blood_taken)<2 and tracking_infant.is_dead=1,1,0)) as no_arv_2_dead,
  19.  sum(if(timestampdiff(month,a.dob,date_blood_taken)between 2 and 12 and tracking_infant.is_dead=1,1,0)) as no_arv_2_12_dead,
  20.  sum(if(timestampdiff(month,a.dob,date_blood_taken)>12 and tracking_infant.is_dead=1,1,0)) as no_arv_12_dead,
  21.  sum(tracking_infant.is_dead=1 and tracking_infant.death_date<a.pcr_result_date) as total_no_arv_dead_before_result
  22.  from (select id_patient, date_of_birth as dob, pcr_result_date, date_blood_taken from testing_specimen t1
  23. where date_blood_taken between @start_date and @end_date and date_blood_taken =
  24. (select min(date_blood_taken) from testing_specimen t2 where t1.id_patient=t2.id_patient)
  25. and pcr_result = 1
  26. group by id_patient)a
  27. left join
  28. (select * from
  29. ( select id_patient
  30. from tracking_followup where on_arv=1
  31. union
  32. select id_patient
  33. from tracking_regime
  34. )x group by id_patient
  35. )b on a.id_patient = b.id_patient
  36. left join tracking_infant
  37. on b.id_patient=tracking_infant.id_patient
Advertisement
Add Comment
Please, Sign In to add comment