Guest User

Untitled

a guest
Jan 19th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.22 KB | None | 0 0
  1. mysql> select
  2. -> q.provider,
  3. -> ifnull(q5.count,0) as "patients seen",
  4. -> (ifnull(q1.count,0)+ifnull(q2.count,0)+ifnull(q3.count,0)+ifnull(q4.count,0)) as "reminders seen",
  5. -> # ifnull(q1.count,0) as "present + response",
  6. -> # ifnull(q2.count,0) as "present + no response",
  7. -> # ifnull(q3.count,0) as "absent + response",
  8. -> # ifnull(q4.count,0) as "absent + no response",
  9. -> (ifnull(q1.count,0)/(ifnull(q1.count,0)+ifnull(q2.count,0)))*100 as "response rate",
  10. -> (ifnull(q3.count,0)/(ifnull(q1.count,0)+ifnull(q2.count,0)+ifnull(q3.count,0)+ifnull(q4.count,0)))*100 as "badness rate"
  11. -> from (
  12. -> select provider, count(response) as count
  13. -> from clinical_summary_reminder_response where date_created>=@start_date and date_created<=@end_date
  14. -> group by provider order by location, provider) as q
  15. -> left outer join (
  16. -> select provider, count(response) as count
  17. -> from clinical_summary_reminder_response where date_created>=@start_date and date_created<=@end_date
  18. -> and present=1 and response!=0
  19. -> group by provider order by location) as q1
  20. -> on q.provider=q1.provider
  21. -> left outer join (
  22. -> select provider, count(response) as count
  23. -> from clinical_summary_reminder_response where date_created>=@start_date and date_created<=@end_date
  24. -> and present=1 and response=0
  25. -> group by provider order by location) as q2
  26. -> on q.provider=q2.provider
  27. -> left outer join (
  28. -> select provider, count(response) as count
  29. -> from clinical_summary_reminder_response where date_created>=@start_date and date_created<=@end_date
  30. -> and present!=1 and response!=0
  31. -> group by provider order by location) as q3
  32. -> on q.provider=q3.provider
  33. -> left outer join (
  34. -> select provider, count(response) as count
  35. -> from clinical_summary_reminder_response where date_created>=@start_date and date_created<=@end_date
  36. -> and present!=1 and response=0
  37. -> group by provider order by location) as q4
  38. -> on q.provider=q4.provider
  39. -> left outer join (
  40. -> select device_user as "provider", count(distinct device_value) as count
  41. -> from clinical_summary_device_log where date_created>=@start_date and date_created<=@end_date
  42. -> and device_key='StartViewPatient'
  43. -> group by device_user) as q5
  44. -> on q.provider=q5.provider;
  45. +----------+---------------+----------------+---------------+--------------+
  46. | provider | patients seen | reminders seen | response rate | badness rate |
  47. +----------+---------------+----------------+---------------+--------------+
  48. | 159 | 15 | 12 | 100.0000 | 0.0000 |
  49. | 289 | 14 | 23 | 100.0000 | 0.0000 |
  50. | 68443 | 23 | 33 | 96.6667 | 3.0303 |
  51. | 288180 | 22 | 31 | 100.0000 | 0.0000 |
  52. | 160 | 70 | 66 | 100.0000 | 0.0000 |
  53. +----------+---------------+----------------+---------------+--------------+
  54. 5 rows in set (0.04 sec)
  55.  
  56. mysql>
  57. mysql> select
  58. -> q.provider,
  59. -> ifnull(q5.count,0) as "patients seen",
  60. -> (ifnull(q1.count,0)+ifnull(q2.count,0)+ifnull(q3.count,0)+ifnull(q4.count,0)) as "drugs seen",
  61. -> # ifnull(q1.count,0) as "present + change",
  62. -> # ifnull(q2.count,0) as "present + no change",
  63. -> # ifnull(q3.count,0) as "absent + change",
  64. -> # ifnull(q4.count,0) as "absent + no change",
  65. -> (ifnull(q1.count,0)/(ifnull(q1.count,0)+ifnull(q2.count,0)))*100 as "change rate",
  66. -> (ifnull(q3.count,0)/(ifnull(q1.count,0)+ifnull(q2.count,0)+ifnull(q3.count,0)+ifnull(q4.count,0)))*100 as "badness rate"
  67. -> from (
  68. -> select provider, count(status) as count
  69. -> from clinical_summary_medication_response where date_created>=@start_date and date_created<=@end_date
  70. -> group by provider order by location, provider) as q
  71. -> left outer join (
  72. -> select provider, count(status) as count
  73. -> from clinical_summary_medication_response where date_created>=@start_date and date_created<=@end_date
  74. -> and present=1 and status!=0
  75. -> group by provider order by location) as q1
  76. -> on q.provider=q1.provider
  77. -> left outer join (
  78. -> select provider, count(status) as count
  79. -> from clinical_summary_medication_response where date_created>=@start_date and date_created<=@end_date
  80. -> and present=1 and status=0
  81. -> group by provider order by location) as q2
  82. -> on q.provider=q2.provider
  83. -> left outer join (
  84. -> select provider, count(status) as count
  85. -> from clinical_summary_medication_response where date_created>=@start_date and date_created<=@end_date
  86. -> and present!=1 and status!=0
  87. -> group by provider order by location) as q3
  88. -> on q.provider=q3.provider
  89. -> left outer join (
  90. -> select provider, count(status) as count
  91. -> from clinical_summary_medication_response where date_created>=@start_date and date_created<=@end_date
  92. -> and present!=1 and status=0
  93. -> group by provider order by location) as q4
  94. -> on q.provider=q4.provider
  95. -> left outer join (
  96. -> select device_user as "provider", count(distinct device_value) as count
  97. -> from clinical_summary_device_log where date_created>=@start_date and date_created<=@end_date
  98. -> and device_key='StartViewPatient'
  99. -> group by device_user) as q5
  100. -> on q.provider=q5.provider;
  101. +----------+---------------+------------+-------------+--------------+
  102. | provider | patients seen | drugs seen | change rate | badness rate |
  103. +----------+---------------+------------+-------------+--------------+
  104. | 159 | 15 | 27 | 4.0000 | 0.0000 |
  105. | 289 | 14 | 31 | 29.1667 | 0.0000 |
  106. | 68443 | 23 | 58 | 19.6078 | 3.4483 |
  107. | 288180 | 22 | 60 | 19.5652 | 0.0000 |
  108. | 160 | 70 | 131 | 5.8333 | 0.0000 |
  109. +----------+---------------+------------+-------------+--------------+
  110. 5 rows in set (0.12 sec)
Add Comment
Please, Sign In to add comment