Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- USE caris_db;
- SET @start_date='2017-10-01';
- SET @end_date='2018-03-31';
- ## OVC_hiv_stat
- 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
- and (is_abandoned=0 or abandoned_date>=@start_date) and (is_dead=0 or ti.death_date>=@start_date)
- )
- union
- (select id_patient from (select * from (
- 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
- union
- 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)
- )ddd
- 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)
- union
- (
- 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'
- )
- union
- (
- 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)
- )
- union
- (
- select cp.id_patient from club_patient cp left join club on club.id=id_club
- left join tracking_infant ti on cp.id_patient=ti.id_patient
- where club_type in (2,3) and (is_abandoned=0 or abandoned_date>=@start_date) and (is_dead=0 or death_date>=@start_date)
- ))cdss
- left join patient on patient.id=id_patient
- left join
- ( select distinct id_patient from tracking_followup where date<=@end_date and on_arv=1
- union
- select distinct id_patient from tracking_regime where start_date<=@end_date
- and category='regime_infant_treatment'
- )vbv on patient.id = vbv.id_patient
- where linked_to_id_patient=0
- group by left(patient_code,8)
Advertisement
Add Comment
Please, Sign In to add comment