renalware-core 2.0.0.pre.beta4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1932) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +183 -0
  3. data/Rakefile +43 -0
  4. data/app/assets/images/renalware/NHS-Black.jpg +0 -0
  5. data/app/assets/images/renalware/ajax-loader.gif +0 -0
  6. data/app/assets/images/renalware/barts_health_nhs_logo.png +0 -0
  7. data/app/assets/images/renalware/clippy.svg +3 -0
  8. data/app/assets/images/renalware/draft.jpg +0 -0
  9. data/app/assets/images/renalware/favicon/android-chrome-192x192.png +0 -0
  10. data/app/assets/images/renalware/favicon/android-chrome-512x512.png +0 -0
  11. data/app/assets/images/renalware/favicon/apple-touch-icon.png +0 -0
  12. data/app/assets/images/renalware/favicon/browserconfig.xml +9 -0
  13. data/app/assets/images/renalware/favicon/favicon-16x16.png +0 -0
  14. data/app/assets/images/renalware/favicon/favicon-32x32.png +0 -0
  15. data/app/assets/images/renalware/favicon/favicon.ico +0 -0
  16. data/app/assets/images/renalware/favicon/favicons.md +2 -0
  17. data/app/assets/images/renalware/favicon/manifest.json +18 -0
  18. data/app/assets/images/renalware/favicon/mstile-150x150.png +0 -0
  19. data/app/assets/images/renalware/favicon/safari-pinned-tab.svg +71 -0
  20. data/app/assets/images/renalware/kidney.png +0 -0
  21. data/app/assets/javascripts/renalware/ajax_errors.js +12 -0
  22. data/app/assets/javascripts/renalware/application.js.erb +53 -0
  23. data/app/assets/javascripts/renalware/appointments.js +14 -0
  24. data/app/assets/javascripts/renalware/auto_complete.js +63 -0
  25. data/app/assets/javascripts/renalware/behaviours.js +10 -0
  26. data/app/assets/javascripts/renalware/chosen.js +7 -0
  27. data/app/assets/javascripts/renalware/clipboard_setup.js +17 -0
  28. data/app/assets/javascripts/renalware/clockpicker.js +742 -0
  29. data/app/assets/javascripts/renalware/contacts.js +190 -0
  30. data/app/assets/javascripts/renalware/dialogs.js.erb +26 -0
  31. data/app/assets/javascripts/renalware/drugs.js +128 -0
  32. data/app/assets/javascripts/renalware/events.js +7 -0
  33. data/app/assets/javascripts/renalware/forms.js +65 -0
  34. data/app/assets/javascripts/renalware/full_screen.js +4 -0
  35. data/app/assets/javascripts/renalware/iframe.js +3 -0
  36. data/app/assets/javascripts/renalware/keyboard_shortcuts.js +5 -0
  37. data/app/assets/javascripts/renalware/letters.js +99 -0
  38. data/app/assets/javascripts/renalware/masonry.run.js +3 -0
  39. data/app/assets/javascripts/renalware/modality_codes.js +11 -0
  40. data/app/assets/javascripts/renalware/modality_reasons.js +91 -0
  41. data/app/assets/javascripts/renalware/navigation.js +26 -0
  42. data/app/assets/javascripts/renalware/patient_menu.js +33 -0
  43. data/app/assets/javascripts/renalware/pd.js +55 -0
  44. data/app/assets/javascripts/renalware/pdf.js +18 -0
  45. data/app/assets/javascripts/renalware/primary_care_physician_search.js +77 -0
  46. data/app/assets/javascripts/renalware/primary_care_physicians.js +25 -0
  47. data/app/assets/javascripts/renalware/problems.js +0 -0
  48. data/app/assets/javascripts/renalware/renal.js +33 -0
  49. data/app/assets/javascripts/renalware/reporting.js.erb +0 -0
  50. data/app/assets/javascripts/renalware/session_timeout_redirect.js.erb +17 -0
  51. data/app/assets/javascripts/renalware/sortable.js +38 -0
  52. data/app/assets/javascripts/renalware/tabs.js +15 -0
  53. data/app/assets/javascripts/renalware/toggler.js +36 -0
  54. data/app/assets/stylesheets/renalware/application.scss +22 -0
  55. data/app/assets/stylesheets/renalware/base/_mixins.scss +12 -0
  56. data/app/assets/stylesheets/renalware/base/_variables.scss +138 -0
  57. data/app/assets/stylesheets/renalware/clipboard.scss +5 -0
  58. data/app/assets/stylesheets/renalware/lib/_clockpicker.css +375 -0
  59. data/app/assets/stylesheets/renalware/lib/_foundation_and_overrides.scss +1482 -0
  60. data/app/assets/stylesheets/renalware/lib/_select2-foundation5-overrides.scss +3 -0
  61. data/app/assets/stylesheets/renalware/lib/_select2-foundation5.scss +517 -0
  62. data/app/assets/stylesheets/renalware/modules/_clinical.scss +33 -0
  63. data/app/assets/stylesheets/renalware/modules/_clinical_summaries.scss +3 -0
  64. data/app/assets/stylesheets/renalware/modules/_clinics.scss +33 -0
  65. data/app/assets/stylesheets/renalware/modules/_dashboard.scss +12 -0
  66. data/app/assets/stylesheets/renalware/modules/_drugs.scss +7 -0
  67. data/app/assets/stylesheets/renalware/modules/_events.scss +12 -0
  68. data/app/assets/stylesheets/renalware/modules/_hd.scss +156 -0
  69. data/app/assets/stylesheets/renalware/modules/_letters.scss +83 -0
  70. data/app/assets/stylesheets/renalware/modules/_medications.scss +114 -0
  71. data/app/assets/stylesheets/renalware/modules/_modalities.scss +8 -0
  72. data/app/assets/stylesheets/renalware/modules/_pathology.scss +31 -0
  73. data/app/assets/stylesheets/renalware/modules/_patients.scss +308 -0
  74. data/app/assets/stylesheets/renalware/modules/_pd.scss +48 -0
  75. data/app/assets/stylesheets/renalware/modules/_problems.scss +13 -0
  76. data/app/assets/stylesheets/renalware/modules/_renal.scss +0 -0
  77. data/app/assets/stylesheets/renalware/modules/_reporting.scss +0 -0
  78. data/app/assets/stylesheets/renalware/modules/_snippets.scss +120 -0
  79. data/app/assets/stylesheets/renalware/modules/_transplants.scss +17 -0
  80. data/app/assets/stylesheets/renalware/partials/_autocomplete.scss +19 -0
  81. data/app/assets/stylesheets/renalware/partials/_button.scss +58 -0
  82. data/app/assets/stylesheets/renalware/partials/_clockpicker.scss +8 -0
  83. data/app/assets/stylesheets/renalware/partials/_components.scss +24 -0
  84. data/app/assets/stylesheets/renalware/partials/_datepicker.scss +26 -0
  85. data/app/assets/stylesheets/renalware/partials/_disabled_block.scss +20 -0
  86. data/app/assets/stylesheets/renalware/partials/_document.scss +45 -0
  87. data/app/assets/stylesheets/renalware/partials/_editor.scss +47 -0
  88. data/app/assets/stylesheets/renalware/partials/_errors.scss +62 -0
  89. data/app/assets/stylesheets/renalware/partials/_forms.scss +424 -0
  90. data/app/assets/stylesheets/renalware/partials/_highlight.scss +3 -0
  91. data/app/assets/stylesheets/renalware/partials/_ie-11.scss +9 -0
  92. data/app/assets/stylesheets/renalware/partials/_iframe.scss +5 -0
  93. data/app/assets/stylesheets/renalware/partials/_layout.scss +85 -0
  94. data/app/assets/stylesheets/renalware/partials/_lists.scss +77 -0
  95. data/app/assets/stylesheets/renalware/partials/_mdm.scss +50 -0
  96. data/app/assets/stylesheets/renalware/partials/_modal_window.scss +42 -0
  97. data/app/assets/stylesheets/renalware/partials/_navigation.scss +232 -0
  98. data/app/assets/stylesheets/renalware/partials/_patient_search.scss +28 -0
  99. data/app/assets/stylesheets/renalware/partials/_print.scss +81 -0
  100. data/app/assets/stylesheets/renalware/partials/_simple_form.scss +69 -0
  101. data/app/assets/stylesheets/renalware/partials/_sortable.scss +14 -0
  102. data/app/assets/stylesheets/renalware/partials/_tables.scss +286 -0
  103. data/app/assets/stylesheets/renalware/partials/_tabs.scss +36 -0
  104. data/app/assets/stylesheets/renalware/partials/_toggle.scss +146 -0
  105. data/app/assets/stylesheets/renalware/partials/_tooltip.scss +4 -0
  106. data/app/assets/stylesheets/renalware/partials/_typography.scss +63 -0
  107. data/app/assets/stylesheets/renalware/partials/_utilities.scss +25 -0
  108. data/app/assets/stylesheets/renalware/pdf.scss +8 -0
  109. data/app/assets/stylesheets/renalware/print/pathology_request_forms.scss +33 -0
  110. data/app/assets/stylesheets/renalware/protocol_pdf.scss +261 -0
  111. data/app/assets/stylesheets/renalware/watermark.scss +8 -0
  112. data/app/controllers/application_controller.rb +6 -0
  113. data/app/controllers/renalware/accesses/assessments_controller.rb +82 -0
  114. data/app/controllers/renalware/accesses/base_controller.rb +19 -0
  115. data/app/controllers/renalware/accesses/dashboards_controller.rb +24 -0
  116. data/app/controllers/renalware/accesses/plans_controller.rb +71 -0
  117. data/app/controllers/renalware/accesses/procedures_controller.rb +70 -0
  118. data/app/controllers/renalware/accesses/profiles_controller.rb +62 -0
  119. data/app/controllers/renalware/admin/users_controller.rb +51 -0
  120. data/app/controllers/renalware/api/ukrdc/patients_controller.rb +88 -0
  121. data/app/controllers/renalware/base_controller.rb +63 -0
  122. data/app/controllers/renalware/clinical/allergies_controller.rb +36 -0
  123. data/app/controllers/renalware/clinical/allergy_statuses_controller.rb +26 -0
  124. data/app/controllers/renalware/clinical/base_controller.rb +11 -0
  125. data/app/controllers/renalware/clinical/body_compositions_controller.rb +102 -0
  126. data/app/controllers/renalware/clinical/dry_weights_controller.rb +84 -0
  127. data/app/controllers/renalware/clinical/profiles_controller.rb +47 -0
  128. data/app/controllers/renalware/clinical_summaries_controller.rb +13 -0
  129. data/app/controllers/renalware/clinics/appointments_controller.rb +37 -0
  130. data/app/controllers/renalware/clinics/clinic_visits_controller.rb +104 -0
  131. data/app/controllers/renalware/clinics/visits_controller.rb +30 -0
  132. data/app/controllers/renalware/concerns/devise_controller_methods.rb +46 -0
  133. data/app/controllers/renalware/concerns/nested_actions_controller_methods.rb +30 -0
  134. data/app/controllers/renalware/concerns/pageable.rb +17 -0
  135. data/app/controllers/renalware/concerns/pdf_renderable.rb +46 -0
  136. data/app/controllers/renalware/dashboard.rb +6 -0
  137. data/app/controllers/renalware/dashboard/dashboards_controller.rb +15 -0
  138. data/app/controllers/renalware/deaths_controller.rb +33 -0
  139. data/app/controllers/renalware/devise/registrations_controller.rb +6 -0
  140. data/app/controllers/renalware/devise/sessions_controller.rb +8 -0
  141. data/app/controllers/renalware/directory/people_controller.rb +92 -0
  142. data/app/controllers/renalware/drugs/drugs_controller.rb +88 -0
  143. data/app/controllers/renalware/errors_controller.rb +18 -0
  144. data/app/controllers/renalware/events/events_controller.rb +166 -0
  145. data/app/controllers/renalware/events/swabs_controller.rb +20 -0
  146. data/app/controllers/renalware/events/types_controller.rb +63 -0
  147. data/app/controllers/renalware/hd/base_controller.rb +15 -0
  148. data/app/controllers/renalware/hd/cannulation_types_controller.rb +59 -0
  149. data/app/controllers/renalware/hd/current_profile_controller.rb +78 -0
  150. data/app/controllers/renalware/hd/dashboards_controller.rb +15 -0
  151. data/app/controllers/renalware/hd/dialysers_controller.rb +64 -0
  152. data/app/controllers/renalware/hd/historical_profiles_controller.rb +28 -0
  153. data/app/controllers/renalware/hd/mdm_controller.rb +14 -0
  154. data/app/controllers/renalware/hd/mdm_patients_controller.rb +19 -0
  155. data/app/controllers/renalware/hd/ongoing_sessions_controller.rb +17 -0
  156. data/app/controllers/renalware/hd/preference_sets_controller.rb +39 -0
  157. data/app/controllers/renalware/hd/protocols_controller.rb +52 -0
  158. data/app/controllers/renalware/hd/sessions_controller.rb +135 -0
  159. data/app/controllers/renalware/hd/unmet_preferences_controller.rb +25 -0
  160. data/app/controllers/renalware/hospitals/units_controller.rb +61 -0
  161. data/app/controllers/renalware/letters/approved_letters_controller.rb +17 -0
  162. data/app/controllers/renalware/letters/base_controller.rb +13 -0
  163. data/app/controllers/renalware/letters/completed_letters_controller.rb +17 -0
  164. data/app/controllers/renalware/letters/contacts_controller.rb +87 -0
  165. data/app/controllers/renalware/letters/descriptions_controller.rb +20 -0
  166. data/app/controllers/renalware/letters/formatted_letters_controller.rb +51 -0
  167. data/app/controllers/renalware/letters/letters_controller.rb +205 -0
  168. data/app/controllers/renalware/letters/lists_controller.rb +35 -0
  169. data/app/controllers/renalware/letters/pending_review_letters_controller.rb +18 -0
  170. data/app/controllers/renalware/letters/rejected_letters_controller.rb +17 -0
  171. data/app/controllers/renalware/mdm_controller.rb +12 -0
  172. data/app/controllers/renalware/mdm_patients_controller.rb +30 -0
  173. data/app/controllers/renalware/medications/drug_types/prescriptions_controller.rb +40 -0
  174. data/app/controllers/renalware/medications/prescriptions_controller.rb +222 -0
  175. data/app/controllers/renalware/medications/terminations_controller.rb +114 -0
  176. data/app/controllers/renalware/mock_errors_controller.rb +10 -0
  177. data/app/controllers/renalware/modalities/descriptions_controller.rb +60 -0
  178. data/app/controllers/renalware/modalities/modalities_controller.rb +61 -0
  179. data/app/controllers/renalware/modalities/reasons_controller.rb +27 -0
  180. data/app/controllers/renalware/pathology/base_controller.rb +15 -0
  181. data/app/controllers/renalware/pathology/current_observation_results_controller.rb +21 -0
  182. data/app/controllers/renalware/pathology/historical_observation_results_controller.rb +22 -0
  183. data/app/controllers/renalware/pathology/observation_requests_controller.rb +37 -0
  184. data/app/controllers/renalware/pathology/observations_controller.rb +31 -0
  185. data/app/controllers/renalware/pathology/patient_rules_controller.rb +93 -0
  186. data/app/controllers/renalware/pathology/recent_observation_results_controller.rb +22 -0
  187. data/app/controllers/renalware/pathology/requests/requests_controller.rb +98 -0
  188. data/app/controllers/renalware/pathology/requests/rules_controller.rb +23 -0
  189. data/app/controllers/renalware/pathology/required_observations_controller.rb +39 -0
  190. data/app/controllers/renalware/patients/bookmarks_controller.rb +41 -0
  191. data/app/controllers/renalware/patients/practices_controller.rb +24 -0
  192. data/app/controllers/renalware/patients/primary_care_physician_controller.rb +71 -0
  193. data/app/controllers/renalware/patients/primary_care_physicians_controller.rb +102 -0
  194. data/app/controllers/renalware/patients/worry_controller.rb +34 -0
  195. data/app/controllers/renalware/patients/worryboard_controller.rb +14 -0
  196. data/app/controllers/renalware/patients_controller.rb +107 -0
  197. data/app/controllers/renalware/pd/assessments_controller.rb +71 -0
  198. data/app/controllers/renalware/pd/bag_types_controller.rb +72 -0
  199. data/app/controllers/renalware/pd/base_controller.rb +21 -0
  200. data/app/controllers/renalware/pd/dashboards_controller.rb +16 -0
  201. data/app/controllers/renalware/pd/exit_site_infections_controller.rb +109 -0
  202. data/app/controllers/renalware/pd/infection_organisms_controller.rb +75 -0
  203. data/app/controllers/renalware/pd/mdm_controller.rb +14 -0
  204. data/app/controllers/renalware/pd/mdm_patients_controller.rb +12 -0
  205. data/app/controllers/renalware/pd/peritonitis_episodes_controller.rb +130 -0
  206. data/app/controllers/renalware/pd/pet_adequacy_results_controller.rb +68 -0
  207. data/app/controllers/renalware/pd/regimes_controller.rb +98 -0
  208. data/app/controllers/renalware/pd/training_sessions_controller.rb +74 -0
  209. data/app/controllers/renalware/problems/notes_controller.rb +51 -0
  210. data/app/controllers/renalware/problems/problems_controller.rb +101 -0
  211. data/app/controllers/renalware/renal/base_controller.rb +15 -0
  212. data/app/controllers/renalware/renal/prd_descriptions_controller.rb +13 -0
  213. data/app/controllers/renalware/renal/profiles_controller.rb +68 -0
  214. data/app/controllers/renalware/reporting/audit_refreshments_controller.rb +29 -0
  215. data/app/controllers/renalware/reporting/audits_controller.rb +64 -0
  216. data/app/controllers/renalware/session_timeout_controller.rb +59 -0
  217. data/app/controllers/renalware/snippets/snippet_clones_controller.rb +49 -0
  218. data/app/controllers/renalware/snippets/snippet_invocations_controller.rb +19 -0
  219. data/app/controllers/renalware/snippets/snippets_controller.rb +90 -0
  220. data/app/controllers/renalware/system/email_templates_controller.rb +11 -0
  221. data/app/controllers/renalware/transplants/base_controller.rb +19 -0
  222. data/app/controllers/renalware/transplants/donations_controller.rb +72 -0
  223. data/app/controllers/renalware/transplants/donor_dashboards_controller.rb +19 -0
  224. data/app/controllers/renalware/transplants/donor_followups_controller.rb +68 -0
  225. data/app/controllers/renalware/transplants/donor_operations_controller.rb +74 -0
  226. data/app/controllers/renalware/transplants/donor_stages_controller.rb +46 -0
  227. data/app/controllers/renalware/transplants/donor_workups_controller.rb +47 -0
  228. data/app/controllers/renalware/transplants/live_donors_controller.rb +20 -0
  229. data/app/controllers/renalware/transplants/mdm_controller.rb +15 -0
  230. data/app/controllers/renalware/transplants/mdm_patients_controller.rb +26 -0
  231. data/app/controllers/renalware/transplants/recipient_dashboards_controller.rb +33 -0
  232. data/app/controllers/renalware/transplants/recipient_followups_controller.rb +91 -0
  233. data/app/controllers/renalware/transplants/recipient_operations_controller.rb +90 -0
  234. data/app/controllers/renalware/transplants/recipient_workups_controller.rb +57 -0
  235. data/app/controllers/renalware/transplants/registration_statuses_controller.rb +73 -0
  236. data/app/controllers/renalware/transplants/registrations_controller.rb +64 -0
  237. data/app/controllers/renalware/transplants/wait_lists_controller.rb +25 -0
  238. data/app/documents/renalware/accesses/assessment_document.rb +26 -0
  239. data/app/documents/renalware/age.rb +45 -0
  240. data/app/documents/renalware/binary_marker.rb +6 -0
  241. data/app/documents/renalware/blood_group.rb +10 -0
  242. data/app/documents/renalware/blood_pressure.rb +17 -0
  243. data/app/documents/renalware/dated_confirmation.rb +16 -0
  244. data/app/documents/renalware/dated_integer.rb +14 -0
  245. data/app/documents/renalware/dated_result.rb +17 -0
  246. data/app/documents/renalware/dated_test.rb +15 -0
  247. data/app/documents/renalware/hd/profile_document.rb +78 -0
  248. data/app/documents/renalware/hd/session_document.rb +94 -0
  249. data/app/documents/renalware/infection_status.rb +8 -0
  250. data/app/documents/renalware/left_right_confirmation.rb +8 -0
  251. data/app/documents/renalware/nested_attribute.rb +14 -0
  252. data/app/documents/renalware/patient_document.rb +45 -0
  253. data/app/documents/renalware/renal/profile_document.rb +48 -0
  254. data/app/documents/renalware/transplants/crf_dated_result.rb +18 -0
  255. data/app/documents/renalware/transplants/donor_operation_document.rb +31 -0
  256. data/app/documents/renalware/transplants/donor_workup_document.rb +79 -0
  257. data/app/documents/renalware/transplants/recipient_followup_document.rb +21 -0
  258. data/app/documents/renalware/transplants/recipient_operation_document.rb +74 -0
  259. data/app/documents/renalware/transplants/recipient_workup_document.rb +108 -0
  260. data/app/documents/renalware/transplants/registration_document.rb +70 -0
  261. data/app/documents/renalware/year_dated_confirmation.rb +20 -0
  262. data/app/drops/renalware/patients/patient_drop.rb +43 -0
  263. data/app/drops/renalware/pd/exit_site_infection_drop.rb +27 -0
  264. data/app/drops/renalware/pd/patient_drop.rb +22 -0
  265. data/app/drops/renalware/renal/patient_drop.rb +22 -0
  266. data/app/helpers/presenter_helper.rb +11 -0
  267. data/app/helpers/ransack_helper.rb +9 -0
  268. data/app/helpers/renalware/accesses_helper.rb +19 -0
  269. data/app/helpers/renalware/admin_helper.rb +11 -0
  270. data/app/helpers/renalware/application_helper.rb +139 -0
  271. data/app/helpers/renalware/article_helper.rb +23 -0
  272. data/app/helpers/renalware/attribute_name_helper.rb +34 -0
  273. data/app/helpers/renalware/bag_types_helper.rb +9 -0
  274. data/app/helpers/renalware/clinic_helper.rb +15 -0
  275. data/app/helpers/renalware/clinical_helper.rb +7 -0
  276. data/app/helpers/renalware/clipboard_helper.rb +13 -0
  277. data/app/helpers/renalware/definition_list_helper.rb +31 -0
  278. data/app/helpers/renalware/devise_helper.rb +19 -0
  279. data/app/helpers/renalware/dropdown_button_helper.rb +9 -0
  280. data/app/helpers/renalware/drugs_helper.rb +28 -0
  281. data/app/helpers/renalware/flash_helper.rb +11 -0
  282. data/app/helpers/renalware/form_helper.rb +34 -0
  283. data/app/helpers/renalware/hd_helper.rb +23 -0
  284. data/app/helpers/renalware/infection_organisms_helper.rb +11 -0
  285. data/app/helpers/renalware/layout_helper.rb +74 -0
  286. data/app/helpers/renalware/letters_helper.rb +44 -0
  287. data/app/helpers/renalware/mdm_helper.rb +52 -0
  288. data/app/helpers/renalware/navigation_helper.rb +12 -0
  289. data/app/helpers/renalware/patient_helper.rb +23 -0
  290. data/app/helpers/renalware/pd_helper.rb +31 -0
  291. data/app/helpers/renalware/pd_regime_bags_helper.rb +17 -0
  292. data/app/helpers/renalware/pd_regimes_helper.rb +45 -0
  293. data/app/helpers/renalware/pdf_helper.rb +7 -0
  294. data/app/helpers/renalware/prescriptions_helper.rb +39 -0
  295. data/app/helpers/renalware/primary_care_physicians_helper.rb +30 -0
  296. data/app/helpers/renalware/problems_helper.rb +11 -0
  297. data/app/helpers/renalware/render_helper.rb +9 -0
  298. data/app/helpers/renalware/reporting_helper.rb +7 -0
  299. data/app/helpers/renalware/section_helper.rb +11 -0
  300. data/app/helpers/renalware/side_nav_helper.rb +18 -0
  301. data/app/helpers/renalware/snippets_helper.rb +25 -0
  302. data/app/helpers/renalware/toggle_helper.rb +10 -0
  303. data/app/helpers/renalware/tooltip_helper.rb +30 -0
  304. data/app/helpers/renalware/transplant_helper.rb +70 -0
  305. data/app/helpers/renalware/users_helper.rb +12 -0
  306. data/app/helpers/renalware/versions_helper.rb +16 -0
  307. data/app/helpers/renalware/xhr_helper.rb +11 -0
  308. data/app/inputs/clock_picker_input.rb +39 -0
  309. data/app/inputs/date_picker_input.rb +39 -0
  310. data/app/inputs/datetime_picker_input.rb +5 -0
  311. data/app/inputs/hidden_array_input.rb +19 -0
  312. data/app/inputs/inline_radio_buttons_input.rb +9 -0
  313. data/app/inputs/multiple_select_input.rb +13 -0
  314. data/app/inputs/simple_time_input.rb +32 -0
  315. data/app/inputs/user_picker_input.rb +11 -0
  316. data/app/jobs/application_job.rb +2 -0
  317. data/app/jobs/feed_job.rb +16 -0
  318. data/app/jobs/hl7_message_example.yml +24 -0
  319. data/app/jobs/renalware/hd/generate_monthly_statistics_for_patient_job.rb +13 -0
  320. data/app/jobs/renalware/hd/generate_monthly_statistics_job.rb +42 -0
  321. data/app/jobs/renalware/hd/update_rolling_patient_statistics_job.rb +15 -0
  322. data/app/jobs/renalware/reporting/refresh_audit_data_job.rb +27 -0
  323. data/app/mailers/previews/user_mailer_preview.rb +15 -0
  324. data/app/mailers/renalware/admin/user_mailer.rb +15 -0
  325. data/app/models/application_record.rb +3 -0
  326. data/app/models/concerns/renalware/accountable.rb +44 -0
  327. data/app/models/concerns/renalware/deviseable.rb +31 -0
  328. data/app/models/concerns/renalware/explicit_state_model.rb +88 -0
  329. data/app/models/concerns/renalware/hd/has_schedule.rb +24 -0
  330. data/app/models/concerns/renalware/hd/session_scopes.rb +29 -0
  331. data/app/models/concerns/renalware/modality_scopes.rb +29 -0
  332. data/app/models/concerns/renalware/ordered_scope.rb +11 -0
  333. data/app/models/concerns/renalware/ordered_set_scope.rb +61 -0
  334. data/app/models/concerns/renalware/pathology/requests/frequency_methods.rb +20 -0
  335. data/app/models/concerns/renalware/patient_scope.rb +11 -0
  336. data/app/models/concerns/renalware/patients_ransack_helper.rb +87 -0
  337. data/app/models/concerns/renalware/personable.rb +31 -0
  338. data/app/models/concerns/renalware/supersedeable.rb +52 -0
  339. data/app/models/exception_notifier.rb +9 -0
  340. data/app/models/renalware.rb +11 -0
  341. data/app/models/renalware/accesses.rb +11 -0
  342. data/app/models/renalware/accesses/assessment.rb +28 -0
  343. data/app/models/renalware/accesses/assessment_factory.rb +34 -0
  344. data/app/models/renalware/accesses/catheter_insertion_technique.rb +10 -0
  345. data/app/models/renalware/accesses/patient.rb +20 -0
  346. data/app/models/renalware/accesses/plan.rb +39 -0
  347. data/app/models/renalware/accesses/plan_type.rb +21 -0
  348. data/app/models/renalware/accesses/procedure.rb +27 -0
  349. data/app/models/renalware/accesses/profile.rb +42 -0
  350. data/app/models/renalware/accesses/site.rb +16 -0
  351. data/app/models/renalware/accesses/type.rb +19 -0
  352. data/app/models/renalware/accesses/version.rb +9 -0
  353. data/app/models/renalware/breadcrumb.rb +10 -0
  354. data/app/models/renalware/clinical.rb +11 -0
  355. data/app/models/renalware/clinical/allergy.rb +16 -0
  356. data/app/models/renalware/clinical/allergy_status_form.rb +24 -0
  357. data/app/models/renalware/clinical/body_composition.rb +36 -0
  358. data/app/models/renalware/clinical/create_allergy.rb +46 -0
  359. data/app/models/renalware/clinical/delete_allergy.rb +25 -0
  360. data/app/models/renalware/clinical/dry_weight.rb +28 -0
  361. data/app/models/renalware/clinical/modality_description.rb +8 -0
  362. data/app/models/renalware/clinical/patient.rb +21 -0
  363. data/app/models/renalware/clinical/patient_dry_weights_query.rb +19 -0
  364. data/app/models/renalware/clinical/version.rb +9 -0
  365. data/app/models/renalware/clinics.rb +11 -0
  366. data/app/models/renalware/clinics/appointment.rb +27 -0
  367. data/app/models/renalware/clinics/appointment_query.rb +32 -0
  368. data/app/models/renalware/clinics/build_visit_from_appointment.rb +23 -0
  369. data/app/models/renalware/clinics/clinic.rb +17 -0
  370. data/app/models/renalware/clinics/clinic_visit.rb +67 -0
  371. data/app/models/renalware/clinics/consultant.rb +9 -0
  372. data/app/models/renalware/clinics/create_clinic_visit.rb +51 -0
  373. data/app/models/renalware/clinics/patient.rb +8 -0
  374. data/app/models/renalware/clinics/remembered_clinic_visit_preferences.rb +10 -0
  375. data/app/models/renalware/clinics/version.rb +9 -0
  376. data/app/models/renalware/clinics/visit_query.rb +32 -0
  377. data/app/models/renalware/deaths.rb +9 -0
  378. data/app/models/renalware/deaths/cause.rb +8 -0
  379. data/app/models/renalware/deaths/modality_description.rb +8 -0
  380. data/app/models/renalware/directory.rb +7 -0
  381. data/app/models/renalware/directory/person.rb +31 -0
  382. data/app/models/renalware/directory/person_query.rb +22 -0
  383. data/app/models/renalware/drugs.rb +4 -0
  384. data/app/models/renalware/drugs/drug.rb +28 -0
  385. data/app/models/renalware/drugs/type.rb +18 -0
  386. data/app/models/renalware/events.rb +5 -0
  387. data/app/models/renalware/events/biopsy.rb +18 -0
  388. data/app/models/renalware/events/event.rb +39 -0
  389. data/app/models/renalware/events/simple.rb +9 -0
  390. data/app/models/renalware/events/swab.rb +20 -0
  391. data/app/models/renalware/events/type.rb +33 -0
  392. data/app/models/renalware/failure.rb +4 -0
  393. data/app/models/renalware/feeds.rb +22 -0
  394. data/app/models/renalware/feeds/hl7_message.rb +126 -0
  395. data/app/models/renalware/feeds/message.rb +18 -0
  396. data/app/models/renalware/feeds/message_parser.rb +14 -0
  397. data/app/models/renalware/feeds/message_processor.rb +36 -0
  398. data/app/models/renalware/feeds/persist_message.rb +15 -0
  399. data/app/models/renalware/hd.rb +11 -0
  400. data/app/models/renalware/hd/cannulation_type.rb +21 -0
  401. data/app/models/renalware/hd/dialyser.rb +22 -0
  402. data/app/models/renalware/hd/generate_monthly_statistics_for_patient.rb +47 -0
  403. data/app/models/renalware/hd/mdm_patients_query.rb +37 -0
  404. data/app/models/renalware/hd/modality_description.rb +8 -0
  405. data/app/models/renalware/hd/patient.rb +25 -0
  406. data/app/models/renalware/hd/patient_statistics.rb +46 -0
  407. data/app/models/renalware/hd/patients_with_unmet_preferences_query.rb +44 -0
  408. data/app/models/renalware/hd/preference_set.rb +29 -0
  409. data/app/models/renalware/hd/prescription_administration.rb +17 -0
  410. data/app/models/renalware/hd/profile.rb +34 -0
  411. data/app/models/renalware/hd/revise_hd_profile.rb +24 -0
  412. data/app/models/renalware/hd/session.rb +58 -0
  413. data/app/models/renalware/hd/session/closed.rb +63 -0
  414. data/app/models/renalware/hd/session/dna.rb +33 -0
  415. data/app/models/renalware/hd/session/open.rb +19 -0
  416. data/app/models/renalware/hd/session_factory.rb +74 -0
  417. data/app/models/renalware/hd/sessions/auditable_patient_sessions_in_period_query.rb +28 -0
  418. data/app/models/renalware/hd/sessions/auditable_patients_in_period_query.rb +28 -0
  419. data/app/models/renalware/hd/sessions/auditable_session.rb +81 -0
  420. data/app/models/renalware/hd/sessions/auditable_session_collection.rb +180 -0
  421. data/app/models/renalware/hd/sessions/latest_patient_sessions_query.rb +43 -0
  422. data/app/models/renalware/hd/sessions/ongoing_query.rb +19 -0
  423. data/app/models/renalware/hd/sessions/patient_query.rb +20 -0
  424. data/app/models/renalware/hd/sessions/protocol_sessions_query.rb +36 -0
  425. data/app/models/renalware/hd/sessions/save_session.rb +100 -0
  426. data/app/models/renalware/hd/update_rolling_patient_statistics.rb +44 -0
  427. data/app/models/renalware/hd/version.rb +9 -0
  428. data/app/models/renalware/hospitals.rb +7 -0
  429. data/app/models/renalware/hospitals/centre.rb +29 -0
  430. data/app/models/renalware/hospitals/unit.rb +30 -0
  431. data/app/models/renalware/letters.rb +26 -0
  432. data/app/models/renalware/letters/approve_letter.rb +37 -0
  433. data/app/models/renalware/letters/archive.rb +13 -0
  434. data/app/models/renalware/letters/author.rb +9 -0
  435. data/app/models/renalware/letters/complete_letter.rb +19 -0
  436. data/app/models/renalware/letters/contact.rb +42 -0
  437. data/app/models/renalware/letters/contact_description.rb +28 -0
  438. data/app/models/renalware/letters/description.rb +11 -0
  439. data/app/models/renalware/letters/descriptions/search_query.rb +22 -0
  440. data/app/models/renalware/letters/determine_counterpart_ccs.rb +33 -0
  441. data/app/models/renalware/letters/discharge_summary.rb +8 -0
  442. data/app/models/renalware/letters/draft_letter.rb +23 -0
  443. data/app/models/renalware/letters/event.rb +39 -0
  444. data/app/models/renalware/letters/event/clinic_visit.rb +34 -0
  445. data/app/models/renalware/letters/event/unknown.rb +18 -0
  446. data/app/models/renalware/letters/html_renderer.rb +13 -0
  447. data/app/models/renalware/letters/letter.rb +111 -0
  448. data/app/models/renalware/letters/letter/approved.rb +17 -0
  449. data/app/models/renalware/letters/letter/completed.rb +11 -0
  450. data/app/models/renalware/letters/letter/draft.rb +20 -0
  451. data/app/models/renalware/letters/letter/pending_review.rb +39 -0
  452. data/app/models/renalware/letters/letter_factory.rb +71 -0
  453. data/app/models/renalware/letters/letter_params_processor.rb +51 -0
  454. data/app/models/renalware/letters/letter_query.rb +34 -0
  455. data/app/models/renalware/letters/letterhead.rb +12 -0
  456. data/app/models/renalware/letters/part.rb +14 -0
  457. data/app/models/renalware/letters/part/allergies.rb +20 -0
  458. data/app/models/renalware/letters/part/clinical_observations.rb +13 -0
  459. data/app/models/renalware/letters/part/prescriptions.rb +64 -0
  460. data/app/models/renalware/letters/part/problems.rb +16 -0
  461. data/app/models/renalware/letters/part/recent_pathology_results.rb +31 -0
  462. data/app/models/renalware/letters/patient.rb +35 -0
  463. data/app/models/renalware/letters/pdf_letter_cache.rb +45 -0
  464. data/app/models/renalware/letters/pdf_renderer.rb +27 -0
  465. data/app/models/renalware/letters/primary_care_physician.rb +15 -0
  466. data/app/models/renalware/letters/recipient.rb +57 -0
  467. data/app/models/renalware/letters/recipient_params_processor.rb +59 -0
  468. data/app/models/renalware/letters/relevant_observation_description.rb +21 -0
  469. data/app/models/renalware/letters/remembered_letter_preferences.rb +10 -0
  470. data/app/models/renalware/letters/revise_letter.rb +24 -0
  471. data/app/models/renalware/letters/rtf_renderer.rb +55 -0
  472. data/app/models/renalware/letters/signature.rb +23 -0
  473. data/app/models/renalware/letters/typist.rb +13 -0
  474. data/app/models/renalware/medications.rb +9 -0
  475. data/app/models/renalware/medications/dose_unit.rb +24 -0
  476. data/app/models/renalware/medications/medication_route.rb +26 -0
  477. data/app/models/renalware/medications/prescription.rb +124 -0
  478. data/app/models/renalware/medications/prescription_termination.rb +17 -0
  479. data/app/models/renalware/medications/prescription_version.rb +9 -0
  480. data/app/models/renalware/medications/prescriptions_by_drug_type_query.rb +28 -0
  481. data/app/models/renalware/medications/prescriptions_query.rb +27 -0
  482. data/app/models/renalware/medications/provider.rb +11 -0
  483. data/app/models/renalware/medications/revise_prescription.rb +72 -0
  484. data/app/models/renalware/modalities.rb +9 -0
  485. data/app/models/renalware/modalities/change_type.rb +17 -0
  486. data/app/models/renalware/modalities/description.rb +19 -0
  487. data/app/models/renalware/modalities/haemodialysis_to_pd.rb +9 -0
  488. data/app/models/renalware/modalities/modality.rb +67 -0
  489. data/app/models/renalware/modalities/pd_to_haemodialysis.rb +9 -0
  490. data/app/models/renalware/modalities/reason.rb +11 -0
  491. data/app/models/renalware/month_period.rb +16 -0
  492. data/app/models/renalware/pathology.rb +21 -0
  493. data/app/models/renalware/pathology/clinic.rb +16 -0
  494. data/app/models/renalware/pathology/consultant.rb +9 -0
  495. data/app/models/renalware/pathology/create_observations.rb +20 -0
  496. data/app/models/renalware/pathology/current_key_observation_set.rb +10 -0
  497. data/app/models/renalware/pathology/current_observation.rb +9 -0
  498. data/app/models/renalware/pathology/current_observations_for_descriptions_query.rb +67 -0
  499. data/app/models/renalware/pathology/determine_observation_date_series.rb +27 -0
  500. data/app/models/renalware/pathology/lab.rb +13 -0
  501. data/app/models/renalware/pathology/message_listener.rb +22 -0
  502. data/app/models/renalware/pathology/message_param_parser.rb +71 -0
  503. data/app/models/renalware/pathology/observation.rb +25 -0
  504. data/app/models/renalware/pathology/observation_date_range.rb +20 -0
  505. data/app/models/renalware/pathology/observation_description.rb +15 -0
  506. data/app/models/renalware/pathology/observation_descriptions_by_code_query.rb +47 -0
  507. data/app/models/renalware/pathology/observation_for_patient_observation_description_query.rb +20 -0
  508. data/app/models/renalware/pathology/observation_for_patient_request_description_query.rb +20 -0
  509. data/app/models/renalware/pathology/observation_request.rb +23 -0
  510. data/app/models/renalware/pathology/observations_for_descriptions_query.rb +21 -0
  511. data/app/models/renalware/pathology/observations_within_date_range_query.rb +19 -0
  512. data/app/models/renalware/pathology/ordered_patient_query.rb +24 -0
  513. data/app/models/renalware/pathology/patient.rb +44 -0
  514. data/app/models/renalware/pathology/relevant_observation_description.rb +32 -0
  515. data/app/models/renalware/pathology/request_description.rb +21 -0
  516. data/app/models/renalware/pathology/request_for_patient_request_description_query.rb +25 -0
  517. data/app/models/renalware/pathology/requests.rb +13 -0
  518. data/app/models/renalware/pathology/requests/drug.rb +12 -0
  519. data/app/models/renalware/pathology/requests/drug_category.rb +13 -0
  520. data/app/models/renalware/pathology/requests/frequency.rb +25 -0
  521. data/app/models/renalware/pathology/requests/frequency/always.rb +13 -0
  522. data/app/models/renalware/pathology/requests/frequency/four_monthly.rb +13 -0
  523. data/app/models/renalware/pathology/requests/frequency/monthly.rb +13 -0
  524. data/app/models/renalware/pathology/requests/frequency/once.rb +19 -0
  525. data/app/models/renalware/pathology/requests/frequency/six_monthly.rb +13 -0
  526. data/app/models/renalware/pathology/requests/frequency/three_monthly.rb +13 -0
  527. data/app/models/renalware/pathology/requests/frequency/two_monthly.rb +13 -0
  528. data/app/models/renalware/pathology/requests/frequency/weekly.rb +13 -0
  529. data/app/models/renalware/pathology/requests/frequency/yearly.rb +13 -0
  530. data/app/models/renalware/pathology/requests/global_algorithm.rb +28 -0
  531. data/app/models/renalware/pathology/requests/global_rule.rb +23 -0
  532. data/app/models/renalware/pathology/requests/global_rule/observation_result.rb +74 -0
  533. data/app/models/renalware/pathology/requests/global_rule/patient_is_diabetic.rb +29 -0
  534. data/app/models/renalware/pathology/requests/global_rule/patient_sex_is.rb +21 -0
  535. data/app/models/renalware/pathology/requests/global_rule/prescription_drug.rb +32 -0
  536. data/app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb +36 -0
  537. data/app/models/renalware/pathology/requests/global_rule/prescription_drug_type.rb +32 -0
  538. data/app/models/renalware/pathology/requests/global_rule/request_result.rb +53 -0
  539. data/app/models/renalware/pathology/requests/global_rule/transplant_date_within_weeks.rb +27 -0
  540. data/app/models/renalware/pathology/requests/global_rule/transplant_registration_status.rb +25 -0
  541. data/app/models/renalware/pathology/requests/global_rule_set.rb +57 -0
  542. data/app/models/renalware/pathology/requests/global_rule_set/patient_rule_set_decision.rb +77 -0
  543. data/app/models/renalware/pathology/requests/global_rule_sets_table.rb +57 -0
  544. data/app/models/renalware/pathology/requests/high_risk_algorithm.rb +29 -0
  545. data/app/models/renalware/pathology/requests/high_risk_rule_set.rb +52 -0
  546. data/app/models/renalware/pathology/requests/patient_algorithm.rb +18 -0
  547. data/app/models/renalware/pathology/requests/patient_rule.rb +53 -0
  548. data/app/models/renalware/pathology/requests/request.rb +48 -0
  549. data/app/models/renalware/pathology/requests/request_factory.rb +42 -0
  550. data/app/models/renalware/pathology/requests/request_params_factory.rb +77 -0
  551. data/app/models/renalware/pathology/requests/request_query.rb +30 -0
  552. data/app/models/renalware/pathology/requests/requests_factory.rb +20 -0
  553. data/app/models/renalware/pathology/results.rb +76 -0
  554. data/app/models/renalware/pathology/view_current_observation_results.rb +47 -0
  555. data/app/models/renalware/pathology/view_observation_results.rb +62 -0
  556. data/app/models/renalware/patient.rb +158 -0
  557. data/app/models/renalware/patient_search.rb +11 -0
  558. data/app/models/renalware/patient_summary.rb +6 -0
  559. data/app/models/renalware/patients.rb +21 -0
  560. data/app/models/renalware/patients/bookmark.rb +18 -0
  561. data/app/models/renalware/patients/ethnicity.rb +8 -0
  562. data/app/models/renalware/patients/idempotent_create_patient.rb +22 -0
  563. data/app/models/renalware/patients/language.rb +13 -0
  564. data/app/models/renalware/patients/mdm_list_query.rb +29 -0
  565. data/app/models/renalware/patients/mdm_patients_query.rb +38 -0
  566. data/app/models/renalware/patients/message_listener.rb +27 -0
  567. data/app/models/renalware/patients/message_param_parser.rb +25 -0
  568. data/app/models/renalware/patients/patient_hospital_identifiers.rb +59 -0
  569. data/app/models/renalware/patients/practice.rb +16 -0
  570. data/app/models/renalware/patients/practice_search_query.rb +21 -0
  571. data/app/models/renalware/patients/primary_care_physician.rb +41 -0
  572. data/app/models/renalware/patients/religion.rb +13 -0
  573. data/app/models/renalware/patients/search_query.rb +37 -0
  574. data/app/models/renalware/patients/user.rb +12 -0
  575. data/app/models/renalware/patients/version.rb +9 -0
  576. data/app/models/renalware/patients/worry.rb +14 -0
  577. data/app/models/renalware/pd.rb +40 -0
  578. data/app/models/renalware/pd/apd/available_overnight_volume.rb +51 -0
  579. data/app/models/renalware/pd/apd/calculate_volumes.rb +35 -0
  580. data/app/models/renalware/pd/apd/exceptions.rb +10 -0
  581. data/app/models/renalware/pd/apd/glucose_calculator.rb +69 -0
  582. data/app/models/renalware/pd/apd/non_tidal_regime_calculations.rb +21 -0
  583. data/app/models/renalware/pd/apd/regime_calculations.rb +41 -0
  584. data/app/models/renalware/pd/apd/tidal_regime_calculations.rb +69 -0
  585. data/app/models/renalware/pd/apd_regime.rb +107 -0
  586. data/app/models/renalware/pd/assessment.rb +57 -0
  587. data/app/models/renalware/pd/bag_type.rb +33 -0
  588. data/app/models/renalware/pd/capd_regime.rb +69 -0
  589. data/app/models/renalware/pd/create_regime.rb +43 -0
  590. data/app/models/renalware/pd/exit_site_infection.rb +26 -0
  591. data/app/models/renalware/pd/fluid_description.rb +9 -0
  592. data/app/models/renalware/pd/infection_organism.rb +18 -0
  593. data/app/models/renalware/pd/mdm_patients_query.rb +36 -0
  594. data/app/models/renalware/pd/modality_description.rb +8 -0
  595. data/app/models/renalware/pd/organism_code.rb +13 -0
  596. data/app/models/renalware/pd/patient.rb +18 -0
  597. data/app/models/renalware/pd/peritonitis_episode.rb +24 -0
  598. data/app/models/renalware/pd/peritonitis_episode_type.rb +12 -0
  599. data/app/models/renalware/pd/peritonitis_episode_type_description.rb +10 -0
  600. data/app/models/renalware/pd/pet_adequacy_result.rb +158 -0
  601. data/app/models/renalware/pd/regime.rb +106 -0
  602. data/app/models/renalware/pd/regime_bag.rb +78 -0
  603. data/app/models/renalware/pd/regime_termination.rb +17 -0
  604. data/app/models/renalware/pd/revise_regime.rb +52 -0
  605. data/app/models/renalware/pd/save_peritonitis_episode.rb +42 -0
  606. data/app/models/renalware/pd/system.rb +16 -0
  607. data/app/models/renalware/pd/training_session.rb +34 -0
  608. data/app/models/renalware/pd/training_site.rb +18 -0
  609. data/app/models/renalware/pd/training_type.rb +17 -0
  610. data/app/models/renalware/problems.rb +7 -0
  611. data/app/models/renalware/problems/note.rb +15 -0
  612. data/app/models/renalware/problems/problem.rb +67 -0
  613. data/app/models/renalware/problems/version.rb +9 -0
  614. data/app/models/renalware/remembered_preferences.rb +34 -0
  615. data/app/models/renalware/renal.rb +13 -0
  616. data/app/models/renalware/renal/patient.rb +9 -0
  617. data/app/models/renalware/renal/prd_description.rb +13 -0
  618. data/app/models/renalware/renal/prd_descriptions/search_query.rb +33 -0
  619. data/app/models/renalware/renal/profile.rb +40 -0
  620. data/app/models/renalware/reporting.rb +7 -0
  621. data/app/models/renalware/reporting/audit.rb +17 -0
  622. data/app/models/renalware/reporting/generate_audit_json.rb +19 -0
  623. data/app/models/renalware/role.rb +15 -0
  624. data/app/models/renalware/service_result.rb +17 -0
  625. data/app/models/renalware/snippets.rb +11 -0
  626. data/app/models/renalware/snippets/duplicate_snippet_title_generator.rb +60 -0
  627. data/app/models/renalware/snippets/snippet.rb +24 -0
  628. data/app/models/renalware/snippets/snippet_query.rb +26 -0
  629. data/app/models/renalware/snippets/user.rb +9 -0
  630. data/app/models/renalware/success.rb +7 -0
  631. data/app/models/renalware/system.rb +9 -0
  632. data/app/models/renalware/system/render_liquid_template.rb +61 -0
  633. data/app/models/renalware/system/template.rb +11 -0
  634. data/app/models/renalware/system/update_user.rb +89 -0
  635. data/app/models/renalware/system_user.rb +13 -0
  636. data/app/models/renalware/transplants.rb +11 -0
  637. data/app/models/renalware/transplants/create_donor_stage.rb +60 -0
  638. data/app/models/renalware/transplants/donation.rb +51 -0
  639. data/app/models/renalware/transplants/donor_followup.rb +18 -0
  640. data/app/models/renalware/transplants/donor_modality_description.rb +8 -0
  641. data/app/models/renalware/transplants/donor_operation.rb +31 -0
  642. data/app/models/renalware/transplants/donor_stage.rb +21 -0
  643. data/app/models/renalware/transplants/donor_stage_position.rb +14 -0
  644. data/app/models/renalware/transplants/donor_stage_status.rb +14 -0
  645. data/app/models/renalware/transplants/donor_workup.rb +16 -0
  646. data/app/models/renalware/transplants/failure_cause_description.rb +17 -0
  647. data/app/models/renalware/transplants/failure_cause_description_group.rb +17 -0
  648. data/app/models/renalware/transplants/live_donors_query.rb +35 -0
  649. data/app/models/renalware/transplants/mdm_patients_query.rb +55 -0
  650. data/app/models/renalware/transplants/patient.rb +23 -0
  651. data/app/models/renalware/transplants/recipient_followup.rb +30 -0
  652. data/app/models/renalware/transplants/recipient_modality_description.rb +8 -0
  653. data/app/models/renalware/transplants/recipient_operation.rb +76 -0
  654. data/app/models/renalware/transplants/recipient_workup.rb +17 -0
  655. data/app/models/renalware/transplants/recipient_workup_builder.rb +30 -0
  656. data/app/models/renalware/transplants/registration.rb +59 -0
  657. data/app/models/renalware/transplants/registration_status.rb +33 -0
  658. data/app/models/renalware/transplants/registration_status_description.rb +15 -0
  659. data/app/models/renalware/transplants/registrations/wait_list_query.rb +117 -0
  660. data/app/models/renalware/transplants/version.rb +9 -0
  661. data/app/models/renalware/user.rb +49 -0
  662. data/app/models/renalware/version.rb +4 -0
  663. data/app/policies/application_policy.rb +53 -0
  664. data/app/policies/renalware/base_policy.rb +81 -0
  665. data/app/policies/renalware/clinical/allergy_policy.rb +8 -0
  666. data/app/policies/renalware/clinical/body_composition_policy.rb +8 -0
  667. data/app/policies/renalware/clinics/appointment_policy.rb +9 -0
  668. data/app/policies/renalware/clinics/clinic_visit_policy.rb +12 -0
  669. data/app/policies/renalware/drugs/drug_policy.rb +11 -0
  670. data/app/policies/renalware/events/biopsy_policy.rb +8 -0
  671. data/app/policies/renalware/events/event_policy.rb +15 -0
  672. data/app/policies/renalware/events/simple_policy.rb +8 -0
  673. data/app/policies/renalware/events/swab_policy.rb +12 -0
  674. data/app/policies/renalware/hd/closed_session_policy.rb +13 -0
  675. data/app/policies/renalware/hd/dna_session_policy.rb +13 -0
  676. data/app/policies/renalware/hd/open_session_policy.rb +13 -0
  677. data/app/policies/renalware/hd/session_policy.rb +24 -0
  678. data/app/policies/renalware/letters/approved_letter_policy.rb +11 -0
  679. data/app/policies/renalware/letters/completed_letter_policy.rb +8 -0
  680. data/app/policies/renalware/letters/draft_letter_policy.rb +15 -0
  681. data/app/policies/renalware/letters/letter_policy.rb +35 -0
  682. data/app/policies/renalware/letters/pending_review_letter_policy.rb +19 -0
  683. data/app/policies/renalware/pathology/requests/global_rule_set_policy.rb +9 -0
  684. data/app/policies/renalware/pathology/requests/request_policy.rb +9 -0
  685. data/app/policies/renalware/patients/bookmark_policy.rb +11 -0
  686. data/app/policies/renalware/patients/practice_policy.rb +11 -0
  687. data/app/policies/renalware/patients/primary_care_physician_policy.rb +11 -0
  688. data/app/policies/renalware/patients/worry_policy.rb +8 -0
  689. data/app/policies/renalware/pd/assessment_policy.rb +6 -0
  690. data/app/policies/renalware/pd/peritonitis_episode_policy.rb +6 -0
  691. data/app/policies/renalware/pd/pet_adequacy_result_policy.rb +6 -0
  692. data/app/policies/renalware/pd/regime_policy.rb +9 -0
  693. data/app/policies/renalware/pd/training_session_policy.rb +6 -0
  694. data/app/policies/renalware/problems/problem_policy.rb +11 -0
  695. data/app/policies/renalware/reporting/audit_policy.rb +9 -0
  696. data/app/policies/renalware/snippets/snippet_policy.rb +8 -0
  697. data/app/policies/renalware/transplants/donor_stage_policy.rb +8 -0
  698. data/app/policies/renalware/transplants/recipient_operation_policy.rb +8 -0
  699. data/app/policies/renalware/transplants/recipient_workup_policy.rb +11 -0
  700. data/app/policies/renalware/transplants/registration_policy.rb +11 -0
  701. data/app/policies/renalware/user_policy.rb +13 -0
  702. data/app/policies/renalware/yaml_permission_configuration.rb +65 -0
  703. data/app/presenters/date_presenter.rb +5 -0
  704. data/app/presenters/date_time_presenter.rb +5 -0
  705. data/app/presenters/enumerize/value_presenter.rb +7 -0
  706. data/app/presenters/false_class_presenter.rb +5 -0
  707. data/app/presenters/presenter.rb +8 -0
  708. data/app/presenters/renalware/accesses/assessment_presenter.rb +29 -0
  709. data/app/presenters/renalware/accesses/patient_presenter.rb +26 -0
  710. data/app/presenters/renalware/accesses/plan_presenter.rb +6 -0
  711. data/app/presenters/renalware/accesses/procedure_presenter.rb +21 -0
  712. data/app/presenters/renalware/accesses/profile_presenter.rb +35 -0
  713. data/app/presenters/renalware/address_presenter.rb +46 -0
  714. data/app/presenters/renalware/address_presenter/block.rb +27 -0
  715. data/app/presenters/renalware/address_presenter/short.rb +11 -0
  716. data/app/presenters/renalware/address_presenter/single_line.rb +19 -0
  717. data/app/presenters/renalware/clinical/body_composition_presenter.rb +9 -0
  718. data/app/presenters/renalware/clinical/dry_weight_presenter.rb +9 -0
  719. data/app/presenters/renalware/clinical/dry_weights_presenter.rb +31 -0
  720. data/app/presenters/renalware/clinical/profile_presenter.rb +47 -0
  721. data/app/presenters/renalware/country_presenter.rb +15 -0
  722. data/app/presenters/renalware/dashboard/dashboard_presenter.rb +38 -0
  723. data/app/presenters/renalware/directory/person_auto_complete_presenter.rb +15 -0
  724. data/app/presenters/renalware/hd/dashboard_presenter.rb +86 -0
  725. data/app/presenters/renalware/hd/mdm_patient_presenter.rb +12 -0
  726. data/app/presenters/renalware/hd/mdm_presenter.rb +52 -0
  727. data/app/presenters/renalware/hd/patient_presenter.rb +26 -0
  728. data/app/presenters/renalware/hd/profile_document_presenter.rb +18 -0
  729. data/app/presenters/renalware/hd/profile_presenter.rb +102 -0
  730. data/app/presenters/renalware/hd/protocol/session_presenter.rb +13 -0
  731. data/app/presenters/renalware/hd/protocol_presenter.rb +81 -0
  732. data/app/presenters/renalware/hd/session_access_presenter.rb +43 -0
  733. data/app/presenters/renalware/hd/session_presenter.rb +109 -0
  734. data/app/presenters/renalware/hd/unmet_preferences_presenter.rb +43 -0
  735. data/app/presenters/renalware/letters/contact_description_presenter.rb +11 -0
  736. data/app/presenters/renalware/letters/contact_presenter.rb +15 -0
  737. data/app/presenters/renalware/letters/contacts_presenter.rb +27 -0
  738. data/app/presenters/renalware/letters/letter_form_presenter.rb +53 -0
  739. data/app/presenters/renalware/letters/letter_presenter.rb +125 -0
  740. data/app/presenters/renalware/letters/letter_presenter_factory.rb +11 -0
  741. data/app/presenters/renalware/letters/recipient_presenter.rb +40 -0
  742. data/app/presenters/renalware/mdm_patient_presenter.rb +18 -0
  743. data/app/presenters/renalware/mdm_patients_presenter.rb +18 -0
  744. data/app/presenters/renalware/mdm_presenter.rb +138 -0
  745. data/app/presenters/renalware/medications/prescription_presenter.rb +46 -0
  746. data/app/presenters/renalware/medications/provider_code_presenter.rb +9 -0
  747. data/app/presenters/renalware/medications/route_form_presenter.rb +15 -0
  748. data/app/presenters/renalware/medications/treatable_presenter.rb +11 -0
  749. data/app/presenters/renalware/pathology/current_observation_results/html_table_view.rb +67 -0
  750. data/app/presenters/renalware/pathology/current_observation_results/presenter.rb +54 -0
  751. data/app/presenters/renalware/pathology/historical_observation_results/html_table_view.rb +50 -0
  752. data/app/presenters/renalware/pathology/historical_observation_results/presenter.rb +86 -0
  753. data/app/presenters/renalware/pathology/observation_presenter.rb +11 -0
  754. data/app/presenters/renalware/pathology/observations_for_codes_presenter.rb +46 -0
  755. data/app/presenters/renalware/pathology/patient_presenter.rb +15 -0
  756. data/app/presenters/renalware/pathology/recent_observation_results/html_table_view.rb +39 -0
  757. data/app/presenters/renalware/pathology/recent_observation_results/presenter.rb +107 -0
  758. data/app/presenters/renalware/pathology/requests/global_rule_presenter.rb +13 -0
  759. data/app/presenters/renalware/pathology/requests/global_rule_set_presenter.rb +13 -0
  760. data/app/presenters/renalware/pathology/requests/patient_rule_presenter.rb +23 -0
  761. data/app/presenters/renalware/pathology/requests/request_presenter.rb +60 -0
  762. data/app/presenters/renalware/pathology/requests/sample_description.rb +34 -0
  763. data/app/presenters/renalware/pathology/results_presenter.rb +33 -0
  764. data/app/presenters/renalware/patient_presenter.rb +20 -0
  765. data/app/presenters/renalware/pd/dashboard_presenter.rb +48 -0
  766. data/app/presenters/renalware/pd/delivery_interval_presenter.rb +40 -0
  767. data/app/presenters/renalware/pd/mdm_presenter.rb +9 -0
  768. data/app/presenters/renalware/pd/peritonitis_episode_presenter.rb +12 -0
  769. data/app/presenters/renalware/pd/training_duration_presenter.rb +40 -0
  770. data/app/presenters/renalware/primary_care_physician_presenter.rb +10 -0
  771. data/app/presenters/renalware/renal/clinical_summary_presenter.rb +57 -0
  772. data/app/presenters/renalware/reporting/audit_presenter.rb +12 -0
  773. data/app/presenters/renalware/system/users_presenter.rb +24 -0
  774. data/app/presenters/renalware/time_of_day_presenter.rb +9 -0
  775. data/app/presenters/renalware/transplants/consent_presenter.rb +12 -0
  776. data/app/presenters/renalware/transplants/mdm_presenter.rb +14 -0
  777. data/app/presenters/renalware/transplants/patient_presenter.rb +16 -0
  778. data/app/presenters/renalware/transplants/wait_list_registration_presenter.rb +13 -0
  779. data/app/presenters/renalware/ukrdc/patient_presenter.rb +39 -0
  780. data/app/presenters/string_presenter.rb +11 -0
  781. data/app/presenters/time_presenter.rb +5 -0
  782. data/app/presenters/true_class_presenter.rb +5 -0
  783. data/app/validators/concerns/renalware/numeric_range_validations.rb +12 -0
  784. data/app/validators/concerns/renalware/numeric_scale_validations.rb +18 -0
  785. data/app/validators/renalware/address_validator.rb +9 -0
  786. data/app/validators/renalware/letters/author_signature_validator.rb +12 -0
  787. data/app/validators/renalware/patients/blood_pressure_presence_validator.rb +18 -0
  788. data/app/validators/renalware/patients/blood_pressure_validator.rb +29 -0
  789. data/app/validators/renalware/patients/bm_stix_validator.rb +17 -0
  790. data/app/validators/renalware/patients/hdf_presence_validator.rb +18 -0
  791. data/app/validators/renalware/patients/primary_care_physicians/address_validator.rb +14 -0
  792. data/app/validators/renalware/patients/pulse_validator.rb +14 -0
  793. data/app/validators/renalware/patients/temperature_validator.rb +17 -0
  794. data/app/validators/renalware/patients/weight_validator.rb +17 -0
  795. data/app/values/renalware/address.rb +50 -0
  796. data/app/values/renalware/country.rb +19 -0
  797. data/app/values/renalware/duration.rb +54 -0
  798. data/app/values/renalware/gender.rb +74 -0
  799. data/app/values/renalware/time_of_day.rb +4 -0
  800. data/app/views/kaminari/_first_page.html.slim +4 -0
  801. data/app/views/kaminari/_gap.html.slim +1 -0
  802. data/app/views/kaminari/_last_page.html.slim +1 -0
  803. data/app/views/kaminari/_next_page.html.slim +5 -0
  804. data/app/views/kaminari/_page.html.slim +4 -0
  805. data/app/views/kaminari/_paginator.html.slim +11 -0
  806. data/app/views/kaminari/_prev_page.html.slim +5 -0
  807. data/app/views/renalware/accesses/assessments/_form.html.slim +43 -0
  808. data/app/views/renalware/accesses/assessments/_list.html.slim +30 -0
  809. data/app/views/renalware/accesses/assessments/edit.html.slim +10 -0
  810. data/app/views/renalware/accesses/assessments/new.html.slim +9 -0
  811. data/app/views/renalware/accesses/assessments/show.html.slim +23 -0
  812. data/app/views/renalware/accesses/dashboards/_page_actions.html.slim +10 -0
  813. data/app/views/renalware/accesses/dashboards/show.html.slim +19 -0
  814. data/app/views/renalware/accesses/plans/_details.html.slim +5 -0
  815. data/app/views/renalware/accesses/plans/_list.html.slim +20 -0
  816. data/app/views/renalware/accesses/plans/_summary.html.slim +21 -0
  817. data/app/views/renalware/accesses/plans/new.html.slim +22 -0
  818. data/app/views/renalware/accesses/plans/show.html.slim +4 -0
  819. data/app/views/renalware/accesses/procedures/_form.html.slim +40 -0
  820. data/app/views/renalware/accesses/procedures/_list.html.slim +30 -0
  821. data/app/views/renalware/accesses/procedures/edit.html.slim +10 -0
  822. data/app/views/renalware/accesses/procedures/new.html.slim +8 -0
  823. data/app/views/renalware/accesses/procedures/show.html.slim +33 -0
  824. data/app/views/renalware/accesses/profiles/_current_profile.html.slim +24 -0
  825. data/app/views/renalware/accesses/profiles/_form.html.slim +36 -0
  826. data/app/views/renalware/accesses/profiles/_list.html.slim +28 -0
  827. data/app/views/renalware/accesses/profiles/edit.html.slim +10 -0
  828. data/app/views/renalware/accesses/profiles/new.html.slim +8 -0
  829. data/app/views/renalware/accesses/profiles/show.html.slim +19 -0
  830. data/app/views/renalware/addresses/_address.html.slim +27 -0
  831. data/app/views/renalware/addresses/_contact_info.html.slim +6 -0
  832. data/app/views/renalware/addresses/_form.html.slim +14 -0
  833. data/app/views/renalware/admin/user_mailer/approval.text.erb +3 -0
  834. data/app/views/renalware/admin/user_mailer/unexpiry.text.erb +3 -0
  835. data/app/views/renalware/admin/users/_header.html.slim +6 -0
  836. data/app/views/renalware/admin/users/edit.html.slim +41 -0
  837. data/app/views/renalware/admin/users/index.html.slim +26 -0
  838. data/app/views/renalware/api/ukrdc/patients/_address.xml.builder +16 -0
  839. data/app/views/renalware/api/ukrdc/patients/_allergies.xml.builder +19 -0
  840. data/app/views/renalware/api/ukrdc/patients/_clinic_visit_observation.xml.builder +19 -0
  841. data/app/views/renalware/api/ukrdc/patients/_clinical_relationships.xml.builder +6 -0
  842. data/app/views/renalware/api/ukrdc/patients/_diagnoses.xml.builder +7 -0
  843. data/app/views/renalware/api/ukrdc/patients/_documents.xml.builder +29 -0
  844. data/app/views/renalware/api/ukrdc/patients/_encounters.xml.builder +5 -0
  845. data/app/views/renalware/api/ukrdc/patients/_family_histories.xml.builder +5 -0
  846. data/app/views/renalware/api/ukrdc/patients/_lab_orders.xml.builder +6 -0
  847. data/app/views/renalware/api/ukrdc/patients/_name.xml.builder +6 -0
  848. data/app/views/renalware/api/ukrdc/patients/_observations.xml.builder +27 -0
  849. data/app/views/renalware/api/ukrdc/patients/_patient.xml.builder +68 -0
  850. data/app/views/renalware/api/ukrdc/patients/_program_memberships.xml.builder +5 -0
  851. data/app/views/renalware/api/ukrdc/patients/_sending_facility.xml.builder +7 -0
  852. data/app/views/renalware/api/ukrdc/patients/_social_histories.xml.builder +13 -0
  853. data/app/views/renalware/api/ukrdc/patients/_surveys.xml.builder +5 -0
  854. data/app/views/renalware/api/ukrdc/patients/observations/_blood_pressure.xml.builder +0 -0
  855. data/app/views/renalware/api/ukrdc/patients/observations/_standing_blood_pressure.xml.builder +0 -0
  856. data/app/views/renalware/api/ukrdc/patients/observations/_weight.xml.builder +0 -0
  857. data/app/views/renalware/api/ukrdc/patients/show.xml.builder +31 -0
  858. data/app/views/renalware/base/_black_hole.html.slim +2 -0
  859. data/app/views/renalware/base/_modality_missing_warning.html.slim +3 -0
  860. data/app/views/renalware/clinical/allergies/_list.html.slim +36 -0
  861. data/app/views/renalware/clinical/allergies/_mini.html.slim +14 -0
  862. data/app/views/renalware/clinical/allergies/_new.html.slim +15 -0
  863. data/app/views/renalware/clinical/allergy_statuses/_form.html.slim +13 -0
  864. data/app/views/renalware/clinical/body_compositions/_form.html.slim +39 -0
  865. data/app/views/renalware/clinical/body_compositions/_list.html.slim +48 -0
  866. data/app/views/renalware/clinical/body_compositions/_navigation.html.slim +0 -0
  867. data/app/views/renalware/clinical/body_compositions/_row.html.slim +15 -0
  868. data/app/views/renalware/clinical/body_compositions/edit.html.slim +8 -0
  869. data/app/views/renalware/clinical/body_compositions/index.html.slim +12 -0
  870. data/app/views/renalware/clinical/body_compositions/new.html.slim +10 -0
  871. data/app/views/renalware/clinical/body_compositions/show.html.slim +26 -0
  872. data/app/views/renalware/clinical/dry_weights/_dry_weight_nav.html.slim +4 -0
  873. data/app/views/renalware/clinical/dry_weights/_form.html.slim +17 -0
  874. data/app/views/renalware/clinical/dry_weights/_list.html.slim +23 -0
  875. data/app/views/renalware/clinical/dry_weights/_navigation.html.slim +0 -0
  876. data/app/views/renalware/clinical/dry_weights/_row.html.slim +4 -0
  877. data/app/views/renalware/clinical/dry_weights/edit.html.slim +9 -0
  878. data/app/views/renalware/clinical/dry_weights/index.html.slim +13 -0
  879. data/app/views/renalware/clinical/dry_weights/new.html.slim +10 -0
  880. data/app/views/renalware/clinical/profiles/_navigation.html.slim +0 -0
  881. data/app/views/renalware/clinical/profiles/edit.html.slim +32 -0
  882. data/app/views/renalware/clinical/profiles/show.html.slim +67 -0
  883. data/app/views/renalware/clinical_summaries/_events.html.slim +9 -0
  884. data/app/views/renalware/clinical_summaries/_letters.html.slim +9 -0
  885. data/app/views/renalware/clinical_summaries/_prescriptions.html.slim +16 -0
  886. data/app/views/renalware/clinical_summaries/_problems.html.slim +14 -0
  887. data/app/views/renalware/clinical_summaries/show.html.slim +19 -0
  888. data/app/views/renalware/clinics/appointments/index.html.slim +79 -0
  889. data/app/views/renalware/clinics/clinic_visits/_clinic_visit.html.slim +27 -0
  890. data/app/views/renalware/clinics/clinic_visits/_form.html.slim +50 -0
  891. data/app/views/renalware/clinics/clinic_visits/_table.html.slim +20 -0
  892. data/app/views/renalware/clinics/clinic_visits/_table_row.html.slim +21 -0
  893. data/app/views/renalware/clinics/clinic_visits/edit.html.slim +11 -0
  894. data/app/views/renalware/clinics/clinic_visits/index.html.slim +7 -0
  895. data/app/views/renalware/clinics/clinic_visits/new.html.slim +19 -0
  896. data/app/views/renalware/clinics/visits/_filters.html.slim +34 -0
  897. data/app/views/renalware/clinics/visits/_table.html.slim +21 -0
  898. data/app/views/renalware/clinics/visits/_table_row.html.slim +17 -0
  899. data/app/views/renalware/clinics/visits/index.html.slim +7 -0
  900. data/app/views/renalware/dashboard/bookmarks/_bookmark.html.slim +13 -0
  901. data/app/views/renalware/dashboard/bookmarks/_table.html.slim +16 -0
  902. data/app/views/renalware/dashboard/dashboards/_content.html.slim +24 -0
  903. data/app/views/renalware/dashboard/dashboards/_layout.html.slim +8 -0
  904. data/app/views/renalware/dashboard/dashboards/_navigation.html.slim +0 -0
  905. data/app/views/renalware/dashboard/dashboards/_side_nav.html.slim +3 -0
  906. data/app/views/renalware/dashboard/dashboards/show.html.slim +2 -0
  907. data/app/views/renalware/dashboard/letters/_letter.html.slim +19 -0
  908. data/app/views/renalware/dashboard/letters/_table.html.slim +12 -0
  909. data/app/views/renalware/deaths/_navigation.html.slim +3 -0
  910. data/app/views/renalware/deaths/edit.html.slim +38 -0
  911. data/app/views/renalware/deaths/index.html.slim +34 -0
  912. data/app/views/renalware/devise/registrations/_navigation.html.slim +0 -0
  913. data/app/views/renalware/devise/registrations/edit.html.slim +46 -0
  914. data/app/views/renalware/devise/registrations/new.html.erb +46 -0
  915. data/app/views/renalware/devise/sessions/new.html.slim +25 -0
  916. data/app/views/renalware/directory/people/_address_form.html.slim +14 -0
  917. data/app/views/renalware/directory/people/_form.html.slim +17 -0
  918. data/app/views/renalware/directory/people/_header.html.slim +5 -0
  919. data/app/views/renalware/directory/people/_person.html.slim +9 -0
  920. data/app/views/renalware/directory/people/edit.html.slim +5 -0
  921. data/app/views/renalware/directory/people/index.html.slim +31 -0
  922. data/app/views/renalware/directory/people/new.html.slim +5 -0
  923. data/app/views/renalware/directory/people/show.html.slim +40 -0
  924. data/app/views/renalware/drugs/drugs/_form.html.slim +17 -0
  925. data/app/views/renalware/drugs/drugs/_header.html.slim +5 -0
  926. data/app/views/renalware/drugs/drugs/edit.html.slim +1 -0
  927. data/app/views/renalware/drugs/drugs/index.html.slim +37 -0
  928. data/app/views/renalware/drugs/drugs/new.html.slim +1 -0
  929. data/app/views/renalware/errors/internal_server_error.html.slim +6 -0
  930. data/app/views/renalware/errors/not_found.html.slim +6 -0
  931. data/app/views/renalware/events/events/_event.html.slim +15 -0
  932. data/app/views/renalware/events/events/_form.html.slim +37 -0
  933. data/app/views/renalware/events/events/_table.html.slim +17 -0
  934. data/app/views/renalware/events/events/cell/_biopsy.html.slim +9 -0
  935. data/app/views/renalware/events/events/cell/_simple.html.slim +1 -0
  936. data/app/views/renalware/events/events/cell/_swab.html.slim +4 -0
  937. data/app/views/renalware/events/events/index.html.slim +8 -0
  938. data/app/views/renalware/events/events/inputs/_biopsy.html.slim +3 -0
  939. data/app/views/renalware/events/events/inputs/_simple.html.slim +1 -0
  940. data/app/views/renalware/events/events/inputs/_swab.html.slim +4 -0
  941. data/app/views/renalware/events/events/new.html.slim +17 -0
  942. data/app/views/renalware/events/events/new.js.erb +18 -0
  943. data/app/views/renalware/events/events/toggled_cell/_biopsy.html.slim +9 -0
  944. data/app/views/renalware/events/events/toggled_cell/_simple.html.slim +3 -0
  945. data/app/views/renalware/events/events/toggled_cell/_swab.html.slim +6 -0
  946. data/app/views/renalware/events/swabs/_list.html.slim +24 -0
  947. data/app/views/renalware/events/swabs/edit.html.slim +14 -0
  948. data/app/views/renalware/events/swabs/new.html.slim +13 -0
  949. data/app/views/renalware/events/types/_form.html.slim +10 -0
  950. data/app/views/renalware/events/types/_header.html.slim +4 -0
  951. data/app/views/renalware/events/types/_table.html.slim +16 -0
  952. data/app/views/renalware/events/types/edit.html.slim +4 -0
  953. data/app/views/renalware/events/types/index.html.slim +7 -0
  954. data/app/views/renalware/events/types/new.html.slim +4 -0
  955. data/app/views/renalware/hd/accesses/_summary.html.slim +18 -0
  956. data/app/views/renalware/hd/cannulation_types/_form.html.slim +12 -0
  957. data/app/views/renalware/hd/cannulation_types/_header.html.slim +5 -0
  958. data/app/views/renalware/hd/cannulation_types/edit.html.slim +1 -0
  959. data/app/views/renalware/hd/cannulation_types/index.html.slim +20 -0
  960. data/app/views/renalware/hd/cannulation_types/new.html.slim +1 -0
  961. data/app/views/renalware/hd/current_profile/_form.html.slim +96 -0
  962. data/app/views/renalware/hd/current_profile/_show.html.slim +38 -0
  963. data/app/views/renalware/hd/current_profile/_summary.html.slim +74 -0
  964. data/app/views/renalware/hd/current_profile/edit.html.slim +10 -0
  965. data/app/views/renalware/hd/current_profile/show.html.slim +9 -0
  966. data/app/views/renalware/hd/dashboards/_page_actions.html.slim +41 -0
  967. data/app/views/renalware/hd/dashboards/show.html.slim +40 -0
  968. data/app/views/renalware/hd/dialysers/_form.html.slim +14 -0
  969. data/app/views/renalware/hd/dialysers/_header.html.slim +5 -0
  970. data/app/views/renalware/hd/dialysers/edit.html.slim +1 -0
  971. data/app/views/renalware/hd/dialysers/index.html.slim +22 -0
  972. data/app/views/renalware/hd/dialysers/new.html.slim +1 -0
  973. data/app/views/renalware/hd/historical_profiles/_summary.html.slim +12 -0
  974. data/app/views/renalware/hd/historical_profiles/_table.html.slim +33 -0
  975. data/app/views/renalware/hd/historical_profiles/index.html.slim +7 -0
  976. data/app/views/renalware/hd/historical_profiles/show.html.slim +7 -0
  977. data/app/views/renalware/hd/mdm/_audits.html.slim +44 -0
  978. data/app/views/renalware/hd/mdm/_bottom.html.slim +3 -0
  979. data/app/views/renalware/hd/mdm/_middle.html.slim +2 -0
  980. data/app/views/renalware/hd/mdm/_sessions.html.slim +6 -0
  981. data/app/views/renalware/hd/mdm/_top.html.slim +7 -0
  982. data/app/views/renalware/hd/mdm_patients/_filters.html.slim +23 -0
  983. data/app/views/renalware/hd/mdm_patients/_patient.html.slim +22 -0
  984. data/app/views/renalware/hd/mdm_patients/index.html.slim +35 -0
  985. data/app/views/renalware/hd/ongoing_sessions/_filters.html.slim +17 -0
  986. data/app/views/renalware/hd/ongoing_sessions/_session.html.slim +18 -0
  987. data/app/views/renalware/hd/ongoing_sessions/_table.html.slim +21 -0
  988. data/app/views/renalware/hd/ongoing_sessions/show.html.slim +3 -0
  989. data/app/views/renalware/hd/preference_sets/_form.html.slim +24 -0
  990. data/app/views/renalware/hd/preference_sets/_summary.html.slim +10 -0
  991. data/app/views/renalware/hd/preference_sets/edit.html.slim +9 -0
  992. data/app/views/renalware/hd/protocols/_allergies.html.slim +6 -0
  993. data/app/views/renalware/hd/protocols/_prescriptions.html.slim +7 -0
  994. data/app/views/renalware/hd/protocols/_profile.html.slim +48 -0
  995. data/app/views/renalware/hd/protocols/show.pdf.slim +43 -0
  996. data/app/views/renalware/hd/sessions/_empty_row.html.slim +29 -0
  997. data/app/views/renalware/hd/sessions/_form.html.slim +122 -0
  998. data/app/views/renalware/hd/sessions/_form_actions.html.slim +16 -0
  999. data/app/views/renalware/hd/sessions/_list.html.slim +17 -0
  1000. data/app/views/renalware/hd/sessions/_prescription_administrations.html.slim +20 -0
  1001. data/app/views/renalware/hd/sessions/_row.html.slim +33 -0
  1002. data/app/views/renalware/hd/sessions/_sections_nav.html.slim +0 -0
  1003. data/app/views/renalware/hd/sessions/_session_nav.html.slim +6 -0
  1004. data/app/views/renalware/hd/sessions/_show.html.slim +43 -0
  1005. data/app/views/renalware/hd/sessions/_table.html.slim +9 -0
  1006. data/app/views/renalware/hd/sessions/_thead.html.slim +41 -0
  1007. data/app/views/renalware/hd/sessions/closed/_form.html.slim +5 -0
  1008. data/app/views/renalware/hd/sessions/closed/_row.html.slim +3 -0
  1009. data/app/views/renalware/hd/sessions/closed/_show.html.slim +1 -0
  1010. data/app/views/renalware/hd/sessions/dna/_form.html.slim +41 -0
  1011. data/app/views/renalware/hd/sessions/dna/_row.html.slim +8 -0
  1012. data/app/views/renalware/hd/sessions/dna/_show.html.slim +7 -0
  1013. data/app/views/renalware/hd/sessions/edit.html.slim +16 -0
  1014. data/app/views/renalware/hd/sessions/index.html.slim +4 -0
  1015. data/app/views/renalware/hd/sessions/new.html.slim +17 -0
  1016. data/app/views/renalware/hd/sessions/open/_form.html.slim +5 -0
  1017. data/app/views/renalware/hd/sessions/open/_hd_prescriptions.html.slim +0 -0
  1018. data/app/views/renalware/hd/sessions/open/_row.html.slim +3 -0
  1019. data/app/views/renalware/hd/sessions/open/_show.html.slim +1 -0
  1020. data/app/views/renalware/hd/sessions/show.html.slim +10 -0
  1021. data/app/views/renalware/hd/unmet_preferences/_filters.html.slim +31 -0
  1022. data/app/views/renalware/hd/unmet_preferences/_table.html.slim +30 -0
  1023. data/app/views/renalware/hd/unmet_preferences/index.html.slim +3 -0
  1024. data/app/views/renalware/hospitals/units/_form.html.slim +17 -0
  1025. data/app/views/renalware/hospitals/units/_header.html.slim +5 -0
  1026. data/app/views/renalware/hospitals/units/edit.html.slim +1 -0
  1027. data/app/views/renalware/hospitals/units/index.html.slim +30 -0
  1028. data/app/views/renalware/hospitals/units/new.html.slim +1 -0
  1029. data/app/views/renalware/layouts/_non_patient.html.slim +16 -0
  1030. data/app/views/renalware/layouts/_patient.html.slim +37 -0
  1031. data/app/views/renalware/layouts/application.html.slim +42 -0
  1032. data/app/views/renalware/layouts/error.html.slim +17 -0
  1033. data/app/views/renalware/layouts/letter.html.slim +11 -0
  1034. data/app/views/renalware/layouts/letter.inlinepdf.slim +10 -0
  1035. data/app/views/renalware/layouts/letter.pdf.slim +10 -0
  1036. data/app/views/renalware/layouts/pdf.pdf.slim +11 -0
  1037. data/app/views/renalware/letters/contacts/_contact.html.slim +6 -0
  1038. data/app/views/renalware/letters/contacts/_form.html.slim +19 -0
  1039. data/app/views/renalware/letters/contacts/_new.html.slim +11 -0
  1040. data/app/views/renalware/letters/contacts/_new_person.html.slim +31 -0
  1041. data/app/views/renalware/letters/contacts/_person_form.html.slim +29 -0
  1042. data/app/views/renalware/letters/contacts/_person_from_directory.html.slim +31 -0
  1043. data/app/views/renalware/letters/contacts/_table.html.slim +11 -0
  1044. data/app/views/renalware/letters/contacts/index.html.slim +13 -0
  1045. data/app/views/renalware/letters/contacts/index.js.erb +2 -0
  1046. data/app/views/renalware/letters/formatted_letters/_letter.html.slim +301 -0
  1047. data/app/views/renalware/letters/formatted_letters/_patient_summary.html.slim +7 -0
  1048. data/app/views/renalware/letters/formatted_letters/show.html.slim +2 -0
  1049. data/app/views/renalware/letters/formatted_letters/show.inlinepdf.slim +2 -0
  1050. data/app/views/renalware/letters/formatted_letters/show.pdf.slim +2 -0
  1051. data/app/views/renalware/letters/formatted_letters/show.rtf.slim.ol +1 -0
  1052. data/app/views/renalware/letters/letters/_actions.html.slim +56 -0
  1053. data/app/views/renalware/letters/letters/_add_contact.html.slim +10 -0
  1054. data/app/views/renalware/letters/letters/_additional_ccs.html.slim +21 -0
  1055. data/app/views/renalware/letters/letters/_cc_recipient_form.html.slim +12 -0
  1056. data/app/views/renalware/letters/letters/_create_letter_button_dropdown.html.slim +13 -0
  1057. data/app/views/renalware/letters/letters/_form.html.slim +68 -0
  1058. data/app/views/renalware/letters/letters/_letter.html.slim +27 -0
  1059. data/app/views/renalware/letters/letters/_main_recipient.html.slim +47 -0
  1060. data/app/views/renalware/letters/letters/_navigation.html.slim +4 -0
  1061. data/app/views/renalware/letters/letters/_patient_summary.html.slim +10 -0
  1062. data/app/views/renalware/letters/letters/_preview.html.slim +66 -0
  1063. data/app/views/renalware/letters/letters/_table.html.slim +13 -0
  1064. data/app/views/renalware/letters/letters/author.html.slim +5 -0
  1065. data/app/views/renalware/letters/letters/contact_added.js.erb +4 -0
  1066. data/app/views/renalware/letters/letters/edit.html.slim +18 -0
  1067. data/app/views/renalware/letters/letters/index.html.slim +6 -0
  1068. data/app/views/renalware/letters/letters/new.html.slim +18 -0
  1069. data/app/views/renalware/letters/letters/show.html.slim +17 -0
  1070. data/app/views/renalware/letters/lists/_letter.html.slim +28 -0
  1071. data/app/views/renalware/letters/lists/show.html.slim +49 -0
  1072. data/app/views/renalware/letters/parts/_allergies.html.slim +8 -0
  1073. data/app/views/renalware/letters/parts/_clinical_observations.html.slim +8 -0
  1074. data/app/views/renalware/letters/parts/_prescriptions.html.slim +7 -0
  1075. data/app/views/renalware/letters/parts/_problems.html.slim +10 -0
  1076. data/app/views/renalware/letters/parts/_recent_pathology_results.html.slim +11 -0
  1077. data/app/views/renalware/mdm/_biopsies.html.slim +17 -0
  1078. data/app/views/renalware/mdm/_clinic_visits.html.slim +12 -0
  1079. data/app/views/renalware/mdm/_events.html.slim +10 -0
  1080. data/app/views/renalware/mdm/_letters.html.slim +15 -0
  1081. data/app/views/renalware/mdm/_measurements.html.slim +21 -0
  1082. data/app/views/renalware/mdm/_pathology.html.slim +9 -0
  1083. data/app/views/renalware/mdm/_prescriptions.html.slim +27 -0
  1084. data/app/views/renalware/mdm/_problems.html.slim +16 -0
  1085. data/app/views/renalware/mdm/_top_navigation.html.slim +6 -0
  1086. data/app/views/renalware/mdm/prescriptions/_table.html.slim +28 -0
  1087. data/app/views/renalware/mdm/show.html.slim +15 -0
  1088. data/app/views/renalware/mdm_patients/_patient.html.slim +16 -0
  1089. data/app/views/renalware/mdm_patients/index.html.slim +32 -0
  1090. data/app/views/renalware/medications/drug_types/prescriptions/_filters.html.slim +16 -0
  1091. data/app/views/renalware/medications/drug_types/prescriptions/_table.html.slim +33 -0
  1092. data/app/views/renalware/medications/drug_types/prescriptions/index.html.slim +3 -0
  1093. data/app/views/renalware/medications/prescriptions/_current.html.slim +15 -0
  1094. data/app/views/renalware/medications/prescriptions/_filter_form.html.slim +16 -0
  1095. data/app/views/renalware/medications/prescriptions/_form.html.slim +54 -0
  1096. data/app/views/renalware/medications/prescriptions/_index.html.slim +2 -0
  1097. data/app/views/renalware/medications/prescriptions/_options.html.slim +9 -0
  1098. data/app/views/renalware/medications/prescriptions/_prescription.html.slim +20 -0
  1099. data/app/views/renalware/medications/prescriptions/_recently_stopped.html.slim +11 -0
  1100. data/app/views/renalware/medications/prescriptions/_table.html.slim +49 -0
  1101. data/app/views/renalware/medications/prescriptions/_tables.html.slim +25 -0
  1102. data/app/views/renalware/medications/prescriptions/drug_select/_default_fields.html.slim +31 -0
  1103. data/app/views/renalware/medications/prescriptions/drug_select/_exit_site_infection_fields.html.slim +7 -0
  1104. data/app/views/renalware/medications/prescriptions/drug_select/_peritonitis_episode_fields.html.slim +7 -0
  1105. data/app/views/renalware/medications/prescriptions/form.js.erb +3 -0
  1106. data/app/views/renalware/medications/prescriptions/index.html.slim +16 -0
  1107. data/app/views/renalware/medications/prescriptions/index.js.erb +2 -0
  1108. data/app/views/renalware/medications/prescriptions/index.pdf.slim +150 -0
  1109. data/app/views/renalware/medications/terminations/_form.html.slim +16 -0
  1110. data/app/views/renalware/medications/terminations/form.js.erb +3 -0
  1111. data/app/views/renalware/modalities/descriptions/_form.html.slim +12 -0
  1112. data/app/views/renalware/modalities/descriptions/_header.html.slim +5 -0
  1113. data/app/views/renalware/modalities/descriptions/edit.html.slim +1 -0
  1114. data/app/views/renalware/modalities/descriptions/index.html.slim +20 -0
  1115. data/app/views/renalware/modalities/descriptions/new.html.slim +1 -0
  1116. data/app/views/renalware/modalities/modalities/index.html.slim +23 -0
  1117. data/app/views/renalware/modalities/modalities/new.html.slim +51 -0
  1118. data/app/views/renalware/modalities/reasons/index.html.slim +34 -0
  1119. data/app/views/renalware/navigation/_branding.html.slim +4 -0
  1120. data/app/views/renalware/navigation/_directory.html.slim +2 -0
  1121. data/app/views/renalware/navigation/_footer.html.slim +3 -0
  1122. data/app/views/renalware/navigation/_help_items.html.slim +7 -0
  1123. data/app/views/renalware/navigation/_main.html.slim +11 -0
  1124. data/app/views/renalware/navigation/_mdms.html.slim +7 -0
  1125. data/app/views/renalware/navigation/_menu.html.slim +16 -0
  1126. data/app/views/renalware/navigation/_patient_search.html.slim +17 -0
  1127. data/app/views/renalware/navigation/_patients_admin.html.slim +11 -0
  1128. data/app/views/renalware/navigation/_renal.html.slim +12 -0
  1129. data/app/views/renalware/navigation/_renalware_admin.html.slim +32 -0
  1130. data/app/views/renalware/navigation/_sign_in.html.slim +3 -0
  1131. data/app/views/renalware/navigation/_sign_out.html.slim +3 -0
  1132. data/app/views/renalware/navigation/_user.html.slim +10 -0
  1133. data/app/views/renalware/pathology/_navigation.html.slim +7 -0
  1134. data/app/views/renalware/pathology/_observations_definition_list.html.slim +6 -0
  1135. data/app/views/renalware/pathology/current_observation_results/index.html.slim +3 -0
  1136. data/app/views/renalware/pathology/historical_observation_results/index.html.slim +12 -0
  1137. data/app/views/renalware/pathology/observation_requests/_table.html.slim +16 -0
  1138. data/app/views/renalware/pathology/observation_requests/index.html.slim +17 -0
  1139. data/app/views/renalware/pathology/observation_requests/show.html.slim +6 -0
  1140. data/app/views/renalware/pathology/observation_requests/show.js.erb +1 -0
  1141. data/app/views/renalware/pathology/observations/_table.html.slim +13 -0
  1142. data/app/views/renalware/pathology/observations/index.html.slim +19 -0
  1143. data/app/views/renalware/pathology/patient_rules/_form.html.slim +11 -0
  1144. data/app/views/renalware/pathology/patient_rules/edit.html.slim +17 -0
  1145. data/app/views/renalware/pathology/patient_rules/new.html.slim +15 -0
  1146. data/app/views/renalware/pathology/recent_observation_results/index.html.slim +11 -0
  1147. data/app/views/renalware/pathology/requests/requests/_pdf_header.html.slim +14 -0
  1148. data/app/views/renalware/pathology/requests/requests/create.pdf.slim +5 -0
  1149. data/app/views/renalware/pathology/requests/requests/index.html.slim +45 -0
  1150. data/app/views/renalware/pathology/requests/requests/new.html.slim +59 -0
  1151. data/app/views/renalware/pathology/requests/requests/request_form/_crs.html.slim +5 -0
  1152. data/app/views/renalware/pathology/requests/requests/request_form/_crs.pdf.slim +5 -0
  1153. data/app/views/renalware/pathology/requests/requests/request_form/_crs_form.html.slim +49 -0
  1154. data/app/views/renalware/pathology/requests/requests/request_form/_manual.html.slim +14 -0
  1155. data/app/views/renalware/pathology/requests/requests/request_form/_manual.pdf.slim +13 -0
  1156. data/app/views/renalware/pathology/requests/requests/request_form/_manual_form_global.html.slim +9 -0
  1157. data/app/views/renalware/pathology/requests/requests/request_form/_manual_form_patient.html.slim +10 -0
  1158. data/app/views/renalware/pathology/requests/requests/request_form/_manual_header.html.slim +34 -0
  1159. data/app/views/renalware/pathology/requests/requests/show.pdf.slim +4 -0
  1160. data/app/views/renalware/pathology/requests/rules/index.html.slim +20 -0
  1161. data/app/views/renalware/pathology/required_observations/index.html.slim +81 -0
  1162. data/app/views/renalware/patients/_form.html.slim +115 -0
  1163. data/app/views/renalware/patients/_header.html.slim +28 -0
  1164. data/app/views/renalware/patients/_index_header.html.slim +3 -0
  1165. data/app/views/renalware/patients/_layout.html.slim +32 -0
  1166. data/app/views/renalware/patients/_mini_profile.html.slim +4 -0
  1167. data/app/views/renalware/patients/_patient.html.slim +13 -0
  1168. data/app/views/renalware/patients/_person_form_fields.html.slim +14 -0
  1169. data/app/views/renalware/patients/_prescriptions.html.slim +23 -0
  1170. data/app/views/renalware/patients/_side_menu.html.slim +6 -0
  1171. data/app/views/renalware/patients/_table.html.slim +17 -0
  1172. data/app/views/renalware/patients/bookmarks/_delete.html.slim +4 -0
  1173. data/app/views/renalware/patients/bookmarks/_new.html.slim +17 -0
  1174. data/app/views/renalware/patients/edit.html.slim +13 -0
  1175. data/app/views/renalware/patients/index.html.slim +6 -0
  1176. data/app/views/renalware/patients/new.html.slim +14 -0
  1177. data/app/views/renalware/patients/primary_care_physician/_form.html.slim +20 -0
  1178. data/app/views/renalware/patients/primary_care_physician/_navigation.html.slim +0 -0
  1179. data/app/views/renalware/patients/primary_care_physician/edit.html.slim +19 -0
  1180. data/app/views/renalware/patients/primary_care_physician/edit.js.erb +6 -0
  1181. data/app/views/renalware/patients/primary_care_physicians/_form.html.slim +32 -0
  1182. data/app/views/renalware/patients/primary_care_physicians/_header.html.slim +5 -0
  1183. data/app/views/renalware/patients/primary_care_physicians/_primary_care_physician.html.slim +18 -0
  1184. data/app/views/renalware/patients/primary_care_physicians/edit.html.slim +1 -0
  1185. data/app/views/renalware/patients/primary_care_physicians/index.html.slim +18 -0
  1186. data/app/views/renalware/patients/primary_care_physicians/new.html.slim +1 -0
  1187. data/app/views/renalware/patients/show.html.slim +31 -0
  1188. data/app/views/renalware/patients/show/_contact_details.html.slim +13 -0
  1189. data/app/views/renalware/patients/show/_hospital_numbers.html.slim +15 -0
  1190. data/app/views/renalware/patients/show/_letter_preferences.html.slim +8 -0
  1191. data/app/views/renalware/patients/show/_patient_demographics.html.slim +50 -0
  1192. data/app/views/renalware/patients/show/_person.html.slim +9 -0
  1193. data/app/views/renalware/patients/show/_primary_care_physician.html.slim +24 -0
  1194. data/app/views/renalware/patients/show/_referral.html.slim +12 -0
  1195. data/app/views/renalware/patients/show/_ukrdc_preferences.html.slim +21 -0
  1196. data/app/views/renalware/patients/side_menu/_general.html.slim +55 -0
  1197. data/app/views/renalware/patients/side_menu/_modalities.html.slim +13 -0
  1198. data/app/views/renalware/patients/side_menu/_options.html.slim +19 -0
  1199. data/app/views/renalware/patients/side_menu/_transplants.html.slim +13 -0
  1200. data/app/views/renalware/patients/worries/_delete.html.slim +4 -0
  1201. data/app/views/renalware/patients/worries/_new.html.slim +4 -0
  1202. data/app/views/renalware/patients/worryboard/_table.html.slim +18 -0
  1203. data/app/views/renalware/patients/worryboard/_worry.html.slim +13 -0
  1204. data/app/views/renalware/patients/worryboard/show.html.slim +5 -0
  1205. data/app/views/renalware/pd/_apd_regimes.html.slim +39 -0
  1206. data/app/views/renalware/pd/_capd_regimes.html.slim +46 -0
  1207. data/app/views/renalware/pd/_exit_site_infections.html.slim +29 -0
  1208. data/app/views/renalware/pd/_peritonitis_episodes.html.slim +29 -0
  1209. data/app/views/renalware/pd/_pet_adequacies.html.slim +31 -0
  1210. data/app/views/renalware/pd/assessments/_form.html.slim +50 -0
  1211. data/app/views/renalware/pd/assessments/_list.html.slim +30 -0
  1212. data/app/views/renalware/pd/assessments/edit.html.slim +2 -0
  1213. data/app/views/renalware/pd/assessments/new.html.slim +3 -0
  1214. data/app/views/renalware/pd/assessments/show.html.slim +44 -0
  1215. data/app/views/renalware/pd/bag_types/_form.html.slim +31 -0
  1216. data/app/views/renalware/pd/bag_types/_header.html.slim +5 -0
  1217. data/app/views/renalware/pd/bag_types/edit.html.slim +2 -0
  1218. data/app/views/renalware/pd/bag_types/index.html.slim +46 -0
  1219. data/app/views/renalware/pd/bag_types/new.html.slim +2 -0
  1220. data/app/views/renalware/pd/dashboards/show.html.slim +45 -0
  1221. data/app/views/renalware/pd/dashboards/show/_apd_regimes.html.slim +2 -0
  1222. data/app/views/renalware/pd/dashboards/show/_capd_regimes.html.slim +2 -0
  1223. data/app/views/renalware/pd/dashboards/show/_exit_site_infections.html.slim +2 -0
  1224. data/app/views/renalware/pd/dashboards/show/_page_actions.html.slim +42 -0
  1225. data/app/views/renalware/pd/dashboards/show/_peritonitis_episodes.html.slim +2 -0
  1226. data/app/views/renalware/pd/dashboards/show/_pet_adequacies.html.slim +2 -0
  1227. data/app/views/renalware/pd/exit_site_infections/_details.html.slim +26 -0
  1228. data/app/views/renalware/pd/exit_site_infections/_fields.html.slim +4 -0
  1229. data/app/views/renalware/pd/exit_site_infections/_form.html.slim +13 -0
  1230. data/app/views/renalware/pd/exit_site_infections/edit.html.slim +11 -0
  1231. data/app/views/renalware/pd/exit_site_infections/edit.js.erb +4 -0
  1232. data/app/views/renalware/pd/exit_site_infections/new.html.slim +11 -0
  1233. data/app/views/renalware/pd/exit_site_infections/show.html.slim +23 -0
  1234. data/app/views/renalware/pd/exit_site_infections/show.js.erb +3 -0
  1235. data/app/views/renalware/pd/exit_site_infections/show.pdf.slim +2 -0
  1236. data/app/views/renalware/pd/exit_site_infections/update.js.erb +12 -0
  1237. data/app/views/renalware/pd/infection_organisms/_edit.html.slim.obsolete +16 -0
  1238. data/app/views/renalware/pd/infection_organisms/_fields.html.slim +16 -0
  1239. data/app/views/renalware/pd/infection_organisms/_form.html.slim +16 -0
  1240. data/app/views/renalware/pd/infection_organisms/_forms.html.slim +4 -0
  1241. data/app/views/renalware/pd/infection_organisms/_index.html.slim +10 -0
  1242. data/app/views/renalware/pd/infection_organisms/_new.html.slim +9 -0
  1243. data/app/views/renalware/pd/infection_organisms/_table.html.slim +24 -0
  1244. data/app/views/renalware/pd/infection_organisms/create.js.erb +12 -0
  1245. data/app/views/renalware/pd/infection_organisms/destroy.js.erb +3 -0
  1246. data/app/views/renalware/pd/infection_organisms/edit.js.erb +5 -0
  1247. data/app/views/renalware/pd/infection_organisms/index.js.erb +3 -0
  1248. data/app/views/renalware/pd/infection_organisms/new.js.erb +5 -0
  1249. data/app/views/renalware/pd/infection_organisms/update.js.erb +12 -0
  1250. data/app/views/renalware/pd/mdm/_top.html.slim +5 -0
  1251. data/app/views/renalware/pd/peritonitis_episodes/_details.html.slim +50 -0
  1252. data/app/views/renalware/pd/peritonitis_episodes/_fields.html.slim +46 -0
  1253. data/app/views/renalware/pd/peritonitis_episodes/_form.html.slim +14 -0
  1254. data/app/views/renalware/pd/peritonitis_episodes/_navigation.html.slim +7 -0
  1255. data/app/views/renalware/pd/peritonitis_episodes/edit.html.slim +12 -0
  1256. data/app/views/renalware/pd/peritonitis_episodes/edit.js.erb +5 -0
  1257. data/app/views/renalware/pd/peritonitis_episodes/new.html.slim +13 -0
  1258. data/app/views/renalware/pd/peritonitis_episodes/show.html.slim +29 -0
  1259. data/app/views/renalware/pd/peritonitis_episodes/show.pdf.slim +2 -0
  1260. data/app/views/renalware/pd/peritonitis_episodes/update.js.erb +13 -0
  1261. data/app/views/renalware/pd/pet_adequacy_results/_form.html.slim +32 -0
  1262. data/app/views/renalware/pd/pet_adequacy_results/edit.html.slim +3 -0
  1263. data/app/views/renalware/pd/pet_adequacy_results/new.html.slim +4 -0
  1264. data/app/views/renalware/pd/pet_adequacy_results/show.html.slim +30 -0
  1265. data/app/views/renalware/pd/regime_bags/_form.html.slim +47 -0
  1266. data/app/views/renalware/pd/regime_bags/_regime_bag.html.slim +16 -0
  1267. data/app/views/renalware/pd/regime_bags/_regime_bags.html.slim +22 -0
  1268. data/app/views/renalware/pd/regimes/_apd_fields.html.slim +30 -0
  1269. data/app/views/renalware/pd/regimes/_apd_regime_show.html.slim +26 -0
  1270. data/app/views/renalware/pd/regimes/_assistance_type.html.slim +4 -0
  1271. data/app/views/renalware/pd/regimes/_current_apd_regime.html.slim +33 -0
  1272. data/app/views/renalware/pd/regimes/_current_regime.html.slim +32 -0
  1273. data/app/views/renalware/pd/regimes/_form.html.slim +26 -0
  1274. data/app/views/renalware/pd/regimes/_glucose.html.slim +10 -0
  1275. data/app/views/renalware/pd/regimes/_pd_regime_bags.html.slim +19 -0
  1276. data/app/views/renalware/pd/regimes/edit.html.slim +19 -0
  1277. data/app/views/renalware/pd/regimes/new.html.slim +14 -0
  1278. data/app/views/renalware/pd/regimes/show.html.slim +31 -0
  1279. data/app/views/renalware/pd/training_sessions/_form.html.slim +29 -0
  1280. data/app/views/renalware/pd/training_sessions/_list.html.slim +32 -0
  1281. data/app/views/renalware/pd/training_sessions/edit.html.slim +2 -0
  1282. data/app/views/renalware/pd/training_sessions/new.html.slim +3 -0
  1283. data/app/views/renalware/pd/training_sessions/show.html.slim +19 -0
  1284. data/app/views/renalware/problems/notes/_form.html.slim +11 -0
  1285. data/app/views/renalware/problems/notes/_list.html.slim +11 -0
  1286. data/app/views/renalware/problems/notes/_table.html.slim +19 -0
  1287. data/app/views/renalware/problems/notes/form.js.erb +3 -0
  1288. data/app/views/renalware/problems/notes/index.js.erb +1 -0
  1289. data/app/views/renalware/problems/problems/_archived_table.html.slim +24 -0
  1290. data/app/views/renalware/problems/problems/_current_list.html.slim +17 -0
  1291. data/app/views/renalware/problems/problems/_current_table.html.slim +27 -0
  1292. data/app/views/renalware/problems/problems/_details.html.slim +11 -0
  1293. data/app/views/renalware/problems/problems/_history.html.slim +17 -0
  1294. data/app/views/renalware/problems/problems/edit.html.slim +13 -0
  1295. data/app/views/renalware/problems/problems/index.html.slim +12 -0
  1296. data/app/views/renalware/problems/problems/new.html.slim +12 -0
  1297. data/app/views/renalware/problems/problems/show.html.slim +6 -0
  1298. data/app/views/renalware/renal/prd_descriptions/search.json.jbuilder +4 -0
  1299. data/app/views/renalware/renal/profiles/_form.html.slim +92 -0
  1300. data/app/views/renalware/renal/profiles/_mini.html.slim +12 -0
  1301. data/app/views/renalware/renal/profiles/edit.html.slim +26 -0
  1302. data/app/views/renalware/renal/profiles/show.html.slim +32 -0
  1303. data/app/views/renalware/reporting/audit_refreshments/create.js.erb +1 -0
  1304. data/app/views/renalware/reporting/audits/edit.html.slim +26 -0
  1305. data/app/views/renalware/reporting/audits/index.html.slim +29 -0
  1306. data/app/views/renalware/reporting/audits/show.html.slim +41 -0
  1307. data/app/views/renalware/shared/_attributes_group.html.slim +6 -0
  1308. data/app/views/renalware/shared/_attributes_list.html.slim +15 -0
  1309. data/app/views/renalware/shared/_error_messages.html.slim +4 -0
  1310. data/app/views/renalware/shared/_errors.html.slim +7 -0
  1311. data/app/views/renalware/shared/_fieldset.html.slim +6 -0
  1312. data/app/views/renalware/shared/_flash_messages.html.slim +6 -0
  1313. data/app/views/renalware/shared/_last_update.html.slim +7 -0
  1314. data/app/views/renalware/shared/_magellan_block.html.slim +5 -0
  1315. data/app/views/renalware/shared/documents/_age.html.slim +1 -0
  1316. data/app/views/renalware/shared/documents/_age_input.html.slim +11 -0
  1317. data/app/views/renalware/shared/documents/_attributes_group.html.slim +10 -0
  1318. data/app/views/renalware/shared/documents/_binary_marker.html.slim +4 -0
  1319. data/app/views/renalware/shared/documents/_binary_marker_input.html.slim +7 -0
  1320. data/app/views/renalware/shared/documents/_blood_group.html.slim +1 -0
  1321. data/app/views/renalware/shared/documents/_blood_group_input.html.slim +7 -0
  1322. data/app/views/renalware/shared/documents/_blood_pressure.html.slim +1 -0
  1323. data/app/views/renalware/shared/documents/_blood_pressure_input.html.slim +21 -0
  1324. data/app/views/renalware/shared/documents/_dated_confirmation.html.slim +1 -0
  1325. data/app/views/renalware/shared/documents/_dated_confirmation_input.html.slim +6 -0
  1326. data/app/views/renalware/shared/documents/_dated_integer.html.slim +1 -0
  1327. data/app/views/renalware/shared/documents/_dated_integer_input.html.slim +12 -0
  1328. data/app/views/renalware/shared/documents/_dated_result.html.slim +1 -0
  1329. data/app/views/renalware/shared/documents/_dated_result2.html.slim +1 -0
  1330. data/app/views/renalware/shared/documents/_dated_result2_input.html.slim +12 -0
  1331. data/app/views/renalware/shared/documents/_dated_result_input.html.slim +6 -0
  1332. data/app/views/renalware/shared/documents/_dated_test.html.slim +1 -0
  1333. data/app/views/renalware/shared/documents/_dated_test_input.html.slim +8 -0
  1334. data/app/views/renalware/shared/documents/_infection_status.html.slim +1 -0
  1335. data/app/views/renalware/shared/documents/_infection_status_input.html.slim +5 -0
  1336. data/app/views/renalware/shared/documents/_left_right_confirmation.html.slim +7 -0
  1337. data/app/views/renalware/shared/documents/_left_right_confirmation_input.html.slim +5 -0
  1338. data/app/views/renalware/shared/documents/_year_dated_confirmation.html.slim +1 -0
  1339. data/app/views/renalware/shared/documents/_year_dated_confirmation_input.html.slim +8 -0
  1340. data/app/views/renalware/snippets/snippet_invocations/create.js.erb +6 -0
  1341. data/app/views/renalware/snippets/snippets/_form.html.slim +17 -0
  1342. data/app/views/renalware/snippets/snippets/_list.html.slim +26 -0
  1343. data/app/views/renalware/snippets/snippets/_modal_close_link.html.slim +4 -0
  1344. data/app/views/renalware/snippets/snippets/_row.html.slim +46 -0
  1345. data/app/views/renalware/snippets/snippets/_search_form.html.slim +15 -0
  1346. data/app/views/renalware/snippets/snippets/_table.html.slim +21 -0
  1347. data/app/views/renalware/snippets/snippets/edit.html.slim +5 -0
  1348. data/app/views/renalware/snippets/snippets/index.html.slim +4 -0
  1349. data/app/views/renalware/snippets/snippets/index.js.erb +28 -0
  1350. data/app/views/renalware/snippets/snippets/new.html.slim +6 -0
  1351. data/app/views/renalware/system/email_templates/index.html.slim +12 -0
  1352. data/app/views/renalware/transplants/donations/_form.html.slim +55 -0
  1353. data/app/views/renalware/transplants/donations/_list.html.slim +4 -0
  1354. data/app/views/renalware/transplants/donations/_recipient_list.html.slim +21 -0
  1355. data/app/views/renalware/transplants/donations/_summary.html.slim +39 -0
  1356. data/app/views/renalware/transplants/donations/edit.html.slim +10 -0
  1357. data/app/views/renalware/transplants/donations/new.html.slim +8 -0
  1358. data/app/views/renalware/transplants/donations/show.html.slim +28 -0
  1359. data/app/views/renalware/transplants/donor_dashboards/show.html.slim +46 -0
  1360. data/app/views/renalware/transplants/donor_followups/_form.html.slim +27 -0
  1361. data/app/views/renalware/transplants/donor_followups/edit.html.slim +12 -0
  1362. data/app/views/renalware/transplants/donor_followups/new.html.slim +10 -0
  1363. data/app/views/renalware/transplants/donor_followups/show.html.slim +22 -0
  1364. data/app/views/renalware/transplants/donor_operations/_form.html.slim +55 -0
  1365. data/app/views/renalware/transplants/donor_operations/_list.html.slim +35 -0
  1366. data/app/views/renalware/transplants/donor_operations/_sections_nav.html.slim +11 -0
  1367. data/app/views/renalware/transplants/donor_operations/edit.html.slim +13 -0
  1368. data/app/views/renalware/transplants/donor_operations/new.html.slim +8 -0
  1369. data/app/views/renalware/transplants/donor_operations/show.html.slim +27 -0
  1370. data/app/views/renalware/transplants/donor_stages/_list.html.slim +26 -0
  1371. data/app/views/renalware/transplants/donor_stages/new.html.slim +23 -0
  1372. data/app/views/renalware/transplants/donor_workups/_form.html.slim +106 -0
  1373. data/app/views/renalware/transplants/donor_workups/_sections_nav.html.slim +15 -0
  1374. data/app/views/renalware/transplants/donor_workups/_summary.html.slim +18 -0
  1375. data/app/views/renalware/transplants/donor_workups/edit.html.slim +10 -0
  1376. data/app/views/renalware/transplants/donor_workups/show.html.slim +37 -0
  1377. data/app/views/renalware/transplants/live_donors/_filters.html.slim +18 -0
  1378. data/app/views/renalware/transplants/live_donors/_index.html.slim +17 -0
  1379. data/app/views/renalware/transplants/live_donors/_live_donor.html.slim +9 -0
  1380. data/app/views/renalware/transplants/live_donors/index.html.slim +2 -0
  1381. data/app/views/renalware/transplants/mdm/_bottom.html.slim +18 -0
  1382. data/app/views/renalware/transplants/mdm/_pathology_cmvdna.html.slim +5 -0
  1383. data/app/views/renalware/transplants/mdm/_pathology_extra.html.slim +15 -0
  1384. data/app/views/renalware/transplants/mdm/_prescriptions.html.slim +37 -0
  1385. data/app/views/renalware/transplants/mdm/_top.html.slim +8 -0
  1386. data/app/views/renalware/transplants/mdm_patients/_filters.html.slim +9 -0
  1387. data/app/views/renalware/transplants/recipient_dashboards/_modality_missing_warning.html.slim +3 -0
  1388. data/app/views/renalware/transplants/recipient_dashboards/_page_actions.html.slim +23 -0
  1389. data/app/views/renalware/transplants/recipient_dashboards/show.html.slim +31 -0
  1390. data/app/views/renalware/transplants/recipient_followups/_form.html.slim +62 -0
  1391. data/app/views/renalware/transplants/recipient_followups/edit.html.slim +11 -0
  1392. data/app/views/renalware/transplants/recipient_followups/new.html.slim +8 -0
  1393. data/app/views/renalware/transplants/recipient_followups/show.html.slim +37 -0
  1394. data/app/views/renalware/transplants/recipient_operations/_form.html.slim +94 -0
  1395. data/app/views/renalware/transplants/recipient_operations/_list.html.slim +54 -0
  1396. data/app/views/renalware/transplants/recipient_operations/_mdm_list.html.slim +29 -0
  1397. data/app/views/renalware/transplants/recipient_operations/_operation.html.slim +16 -0
  1398. data/app/views/renalware/transplants/recipient_operations/_recipient.html.slim +11 -0
  1399. data/app/views/renalware/transplants/recipient_operations/_sections_nav.html.slim +14 -0
  1400. data/app/views/renalware/transplants/recipient_operations/edit.html.slim +11 -0
  1401. data/app/views/renalware/transplants/recipient_operations/new.html.slim +10 -0
  1402. data/app/views/renalware/transplants/recipient_operations/show.html.slim +22 -0
  1403. data/app/views/renalware/transplants/recipient_workups/_form.html.slim +99 -0
  1404. data/app/views/renalware/transplants/recipient_workups/_sections_nav.html.slim +15 -0
  1405. data/app/views/renalware/transplants/recipient_workups/_summary.html.slim +30 -0
  1406. data/app/views/renalware/transplants/recipient_workups/edit.html.slim +11 -0
  1407. data/app/views/renalware/transplants/recipient_workups/show.html.slim +35 -0
  1408. data/app/views/renalware/transplants/registration_statuses/_form.html.slim +13 -0
  1409. data/app/views/renalware/transplants/registration_statuses/_inputs.html.slim +8 -0
  1410. data/app/views/renalware/transplants/registration_statuses/_list.html.slim +31 -0
  1411. data/app/views/renalware/transplants/registration_statuses/edit.html.slim +11 -0
  1412. data/app/views/renalware/transplants/registration_statuses/new.html.slim +10 -0
  1413. data/app/views/renalware/transplants/registrations/_form.html.slim +97 -0
  1414. data/app/views/renalware/transplants/registrations/_sections_nav.html.slim +15 -0
  1415. data/app/views/renalware/transplants/registrations/_status_form.html.slim +5 -0
  1416. data/app/views/renalware/transplants/registrations/_summary.html.slim +27 -0
  1417. data/app/views/renalware/transplants/registrations/edit.html.slim +12 -0
  1418. data/app/views/renalware/transplants/registrations/show.html.slim +21 -0
  1419. data/app/views/renalware/transplants/wait_lists/_registration.html.slim +31 -0
  1420. data/app/views/renalware/transplants/wait_lists/show.html.slim +50 -0
  1421. data/config/autoprefixer.yml +5 -0
  1422. data/config/cable.yml +9 -0
  1423. data/config/countries.csv +250 -0
  1424. data/config/cucumber.yml +13 -0
  1425. data/config/initializers/application_controller_renderer.rb +13 -0
  1426. data/config/initializers/assets.rb +10 -0
  1427. data/config/initializers/backtrace_silencers.rb +10 -0
  1428. data/config/initializers/client_side_validations.rb +23 -0
  1429. data/config/initializers/core_extensions.rb +13 -0
  1430. data/config/initializers/devise.rb +263 -0
  1431. data/config/initializers/devise_security_extension.rb +38 -0
  1432. data/config/initializers/inflections.rb +35 -0
  1433. data/config/initializers/kaminari.rb +10 -0
  1434. data/config/initializers/mailer_previews.rb +9 -0
  1435. data/config/initializers/mime_types.rb +4 -0
  1436. data/config/initializers/null_object.rb +7 -0
  1437. data/config/initializers/paper_trail.rb +1 -0
  1438. data/config/initializers/postgresql_database_tasks.rb +15 -0
  1439. data/config/initializers/ransack.rb +15 -0
  1440. data/config/initializers/renalware.rb +7 -0
  1441. data/config/initializers/renalware_core.rb +15 -0
  1442. data/config/initializers/simple_form.rb +165 -0
  1443. data/config/initializers/simple_form_clock_picker.rb +28 -0
  1444. data/config/initializers/simple_form_datepicker.rb +76 -0
  1445. data/config/initializers/simple_form_foundation.rb +249 -0
  1446. data/config/initializers/validates_timeliness.rb +40 -0
  1447. data/config/initializers/version.rb +3 -0
  1448. data/config/initializers/wicked_pdf.rb +21 -0
  1449. data/config/initializers/wrap_parameters.rb +14 -0
  1450. data/config/locales/custom.yml +36 -0
  1451. data/config/locales/devise.en.yml +62 -0
  1452. data/config/locales/devise.security_extension.en.yml +16 -0
  1453. data/config/locales/en-GB.yml +167 -0
  1454. data/config/locales/en.yml +124 -0
  1455. data/config/locales/faker.en.yml +102 -0
  1456. data/config/locales/loinc_codes.yml +16 -0
  1457. data/config/locales/page_titles.en.yml +19 -0
  1458. data/config/locales/renalware/accesses/assessment.yml +43 -0
  1459. data/config/locales/renalware/accesses/plan.en.yml +15 -0
  1460. data/config/locales/renalware/accesses/procedure.yml +15 -0
  1461. data/config/locales/renalware/accesses/profile.yml +11 -0
  1462. data/config/locales/renalware/address.yml +15 -0
  1463. data/config/locales/renalware/age.yml +14 -0
  1464. data/config/locales/renalware/blood_group.en.yml +13 -0
  1465. data/config/locales/renalware/blood_pressure.en.yml +11 -0
  1466. data/config/locales/renalware/clinical/allergies.en.yml +35 -0
  1467. data/config/locales/renalware/clinical/body_composition.yml +47 -0
  1468. data/config/locales/renalware/clinical/dry_weight.yml +28 -0
  1469. data/config/locales/renalware/clinics/visit.yml +41 -0
  1470. data/config/locales/renalware/dashboard/dashboard.yml +27 -0
  1471. data/config/locales/renalware/dates_test.yml +7 -0
  1472. data/config/locales/renalware/directory/person.yml +7 -0
  1473. data/config/locales/renalware/errors.en.yml +16 -0
  1474. data/config/locales/renalware/events/biopsy.en.yml +26 -0
  1475. data/config/locales/renalware/events/events.yml +15 -0
  1476. data/config/locales/renalware/events/swab.en.yml +30 -0
  1477. data/config/locales/renalware/hd/accesses.en.yml +15 -0
  1478. data/config/locales/renalware/hd/dashboards.en.yml +9 -0
  1479. data/config/locales/renalware/hd/mdm.en.yml +51 -0
  1480. data/config/locales/renalware/hd/mdm_patients.yml +31 -0
  1481. data/config/locales/renalware/hd/preference_set.yml +25 -0
  1482. data/config/locales/renalware/hd/prescription_administration.en.yml +22 -0
  1483. data/config/locales/renalware/hd/profile.yml +126 -0
  1484. data/config/locales/renalware/hd/protocol.en.yml +28 -0
  1485. data/config/locales/renalware/hd/session.en.yml +232 -0
  1486. data/config/locales/renalware/hospitals/unit.yml +12 -0
  1487. data/config/locales/renalware/letters/contact.en.yml +38 -0
  1488. data/config/locales/renalware/letters/letter.en.yml +30 -0
  1489. data/config/locales/renalware/letters/recipient.en.yml +5 -0
  1490. data/config/locales/renalware/mdm.yml +43 -0
  1491. data/config/locales/renalware/medications/drug_types/esa_prescriptions.en.yml +23 -0
  1492. data/config/locales/renalware/medications/prescription.yml +42 -0
  1493. data/config/locales/renalware/medications/prescriptions/drug_select.en.yml +20 -0
  1494. data/config/locales/renalware/medications/route.yml +6 -0
  1495. data/config/locales/renalware/modalities/modalities.en.yml +4 -0
  1496. data/config/locales/renalware/navigation/patient_search.en.yml +7 -0
  1497. data/config/locales/renalware/navigation/renal.en.yml +19 -0
  1498. data/config/locales/renalware/pathology/requests.yml +7 -0
  1499. data/config/locales/renalware/patient.yml +37 -0
  1500. data/config/locales/renalware/patients/bookmarks.en.yml +10 -0
  1501. data/config/locales/renalware/patients/patients.en.yml +10 -0
  1502. data/config/locales/renalware/patients/side_menu.en.yml +31 -0
  1503. data/config/locales/renalware/patients/worries.en.yml +15 -0
  1504. data/config/locales/renalware/pd/assessments.en.yml +64 -0
  1505. data/config/locales/renalware/pd/assistance_types.en.yml +9 -0
  1506. data/config/locales/renalware/pd/bag_types.yml +33 -0
  1507. data/config/locales/renalware/pd/dashboard.en.yml +15 -0
  1508. data/config/locales/renalware/pd/mdm.en.yml +6 -0
  1509. data/config/locales/renalware/pd/peritonitis_episodes.yml +26 -0
  1510. data/config/locales/renalware/pd/pet_adequacy_result.en.yml +44 -0
  1511. data/config/locales/renalware/pd/regime.en.yml +82 -0
  1512. data/config/locales/renalware/pd/training_sessions.en.yml +36 -0
  1513. data/config/locales/renalware/pd/treatments.en.yml +19 -0
  1514. data/config/locales/renalware/problems/note.yml +5 -0
  1515. data/config/locales/renalware/renal/profile.yml +79 -0
  1516. data/config/locales/renalware/reporting/audit.en.yml +9 -0
  1517. data/config/locales/renalware/shared.yml +8 -0
  1518. data/config/locales/renalware/snippets/snippets.en.yml +38 -0
  1519. data/config/locales/renalware/transplants/donation.yml +43 -0
  1520. data/config/locales/renalware/transplants/donor_dashboard.en.yml +9 -0
  1521. data/config/locales/renalware/transplants/donor_followup.yml +15 -0
  1522. data/config/locales/renalware/transplants/donor_operation.yml +56 -0
  1523. data/config/locales/renalware/transplants/donor_workup.yml +107 -0
  1524. data/config/locales/renalware/transplants/live_donors.en.yml +14 -0
  1525. data/config/locales/renalware/transplants/mdm.en.yml +11 -0
  1526. data/config/locales/renalware/transplants/recipient_dashboards.en.yml +10 -0
  1527. data/config/locales/renalware/transplants/recipient_followup.yml +26 -0
  1528. data/config/locales/renalware/transplants/recipient_operation.yml +167 -0
  1529. data/config/locales/renalware/transplants/recipient_workup.yml +84 -0
  1530. data/config/locales/renalware/transplants/registration.yml +54 -0
  1531. data/config/locales/simple_form.en.yml +31 -0
  1532. data/config/locales/validates_timeliness.en.yml +16 -0
  1533. data/config/permissions.yml +14 -0
  1534. data/config/routes.rb +364 -0
  1535. data/config/schedule.rb +43 -0
  1536. data/config/spring.rb +6 -0
  1537. data/db/migrate/20141004150240_create_ethnicities.rb +8 -0
  1538. data/db/migrate/20141010170329_create_death_causes.rb +10 -0
  1539. data/db/migrate/20141020170329_create_patients.rb +29 -0
  1540. data/db/migrate/20141023111038_create_addresses.rb +17 -0
  1541. data/db/migrate/20141024111715_create_event_types.rb +9 -0
  1542. data/db/migrate/20141024111716_create_events.rb +12 -0
  1543. data/db/migrate/20141107145549_create_drugs.rb +9 -0
  1544. data/db/migrate/20141107145614_create_medication_routes.rb +10 -0
  1545. data/db/migrate/20141107145615_create_medication_prescriptions.rb +20 -0
  1546. data/db/migrate/20141208160813_create_problem_problems.rb +12 -0
  1547. data/db/migrate/20141222110119_create_modality_descriptions.rb +10 -0
  1548. data/db/migrate/20141223135723_create_modality_reasons.rb +11 -0
  1549. data/db/migrate/20141223135724_create_modalities.rb +19 -0
  1550. data/db/migrate/20150109113417_create_prd_descriptions.rb +9 -0
  1551. data/db/migrate/20150109152145_create_renal_profile.rb +19 -0
  1552. data/db/migrate/20150119160039_create_versions.rb +14 -0
  1553. data/db/migrate/20150120155952_create_problem_versions.rb +14 -0
  1554. data/db/migrate/20150203161438_create_medication_prescription_versions.rb +14 -0
  1555. data/db/migrate/20150213103855_create_fluid_descriptions.rb +9 -0
  1556. data/db/migrate/20150213103856_create_episode_types.rb +10 -0
  1557. data/db/migrate/20150213103857_create_peritonitis_episodes.rb +27 -0
  1558. data/db/migrate/20150224140027_create_exit_site_infections.rb +12 -0
  1559. data/db/migrate/20150302171638_create_organism_codes.rb +10 -0
  1560. data/db/migrate/20150312112909_create_drug_types.rb +9 -0
  1561. data/db/migrate/20150312113937_create_drug_types_drugs.rb +9 -0
  1562. data/db/migrate/20150313124325_create_infection_organisms.rb +15 -0
  1563. data/db/migrate/20150514113239_devise_create_users.rb +65 -0
  1564. data/db/migrate/20150515154952_create_roles.rb +8 -0
  1565. data/db/migrate/20150515155052_users_have_and_belong_to_many_roles.rb +10 -0
  1566. data/db/migrate/20150602151910_create_bag_types.rb +21 -0
  1567. data/db/migrate/20150605095934_create_pd_regimes.rb +25 -0
  1568. data/db/migrate/20150605151945_create_pd_regime_bags.rb +21 -0
  1569. data/db/migrate/20150608093000_create_letter_descriptions.rb +8 -0
  1570. data/db/migrate/20150608093001_create_letter_letterheads.rb +14 -0
  1571. data/db/migrate/20150608093002_create_letters.rb +29 -0
  1572. data/db/migrate/20150623083220_create_doctors.rb +14 -0
  1573. data/db/migrate/20150623105816_create_practices.rb +20 -0
  1574. data/db/migrate/20150701104744_add_practice_to_patients.rb +5 -0
  1575. data/db/migrate/20150702084036_add_doctor_to_patients.rb +6 -0
  1576. data/db/migrate/20150709152737_add_country_to_address.rb +5 -0
  1577. data/db/migrate/20150717093153_create_clinic_visits.rb +18 -0
  1578. data/db/migrate/20150923201215_create_renalware_transplant_recipient_workups.rb +12 -0
  1579. data/db/migrate/20151014205537_create_transplant_donor_workups.rb +12 -0
  1580. data/db/migrate/20151021194419_create_transplant_registrations.rb +19 -0
  1581. data/db/migrate/20151022184845_create_transplant_registration_status_descriptions.rb +11 -0
  1582. data/db/migrate/20151022190252_create_transplant_registration_statuses.rb +19 -0
  1583. data/db/migrate/20151103210628_create_clinics.rb +13 -0
  1584. data/db/migrate/20151104183740_create_hospital_centres.rb +13 -0
  1585. data/db/migrate/20151111194419_create_transplant_recipient_operations.rb +23 -0
  1586. data/db/migrate/20151116111600_create_transplant_donor_operations.rb +22 -0
  1587. data/db/migrate/20151116170100_create_transplant_donations.rb +24 -0
  1588. data/db/migrate/20151116170200_create_transplant_versions.rb +15 -0
  1589. data/db/migrate/20151207163303_create_transplant_failure_cause_description_groups.rb +9 -0
  1590. data/db/migrate/20151207163304_create_transplant_failure_cause_descriptions.rb +17 -0
  1591. data/db/migrate/20151207167020_create_transplant_recipient_followups.rb +27 -0
  1592. data/db/migrate/20160106167020_create_transplant_donor_followups.rb +22 -0
  1593. data/db/migrate/20160114222043_create_hospital_units.rb +14 -0
  1594. data/db/migrate/20160120203747_create_access_versions.rb +15 -0
  1595. data/db/migrate/20160120203748_create_access_types.rb +10 -0
  1596. data/db/migrate/20160120203753_create_access_plans.rb +10 -0
  1597. data/db/migrate/20160120203754_create_access_sites.rb +10 -0
  1598. data/db/migrate/20160120203755_create_access_profiles.rb +29 -0
  1599. data/db/migrate/20160120213000_create_access_procedures.rb +31 -0
  1600. data/db/migrate/20160120213001_create_access_assessments.rb +26 -0
  1601. data/db/migrate/20160121175711_create_hd_versions.rb +15 -0
  1602. data/db/migrate/20160121175712_create_hd_preference_sets.rb +17 -0
  1603. data/db/migrate/20160202152252_create_hd_profiles.rb +31 -0
  1604. data/db/migrate/20160203160040_create_hd_cannulation_types.rb +10 -0
  1605. data/db/migrate/20160203160041_create_hd_dialysers.rb +11 -0
  1606. data/db/migrate/20160208153327_create_hd_sessions.rb +30 -0
  1607. data/db/migrate/20160209203446_create_hd_dry_weights.rb +18 -0
  1608. data/db/migrate/20160218220145_create_problem_notes.rb +15 -0
  1609. data/db/migrate/20160302192055_create_feed_messages.rb +10 -0
  1610. data/db/migrate/20160303151449_create_pathology_request_descriptions.rb +7 -0
  1611. data/db/migrate/20160303151540_create_pathology_observation_descriptions.rb +8 -0
  1612. data/db/migrate/20160304151449_create_pathology_observation_requests.rb +15 -0
  1613. data/db/migrate/20160304151540_create_pathology_observations.rb +17 -0
  1614. data/db/migrate/20160304162205_create_delayed_jobs.rb +22 -0
  1615. data/db/migrate/20160314181446_create_letter_recipients.rb +13 -0
  1616. data/db/migrate/20160327221550_add_name_to_pathology_request_description.rb +5 -0
  1617. data/db/migrate/20160412123106_create_pathology_request_algorithm_global_rules.rb +11 -0
  1618. data/db/migrate/20160419132410_create_pathology_request_algorithm_global_rule_sets.rb +11 -0
  1619. data/db/migrate/20160420132524_create_pathology_request_algorithm_patient_rules.rb +16 -0
  1620. data/db/migrate/20160426093341_change_patient_rules_last_test_at.rb +5 -0
  1621. data/db/migrate/20160426112409_create_clinics_appointments.rb +14 -0
  1622. data/db/migrate/20160503113814_add_foreign_keys_to_pathology_tables.rb +6 -0
  1623. data/db/migrate/20160505142813_add_required_observation_description_id_to_pathology_request_descriptions.rb +7 -0
  1624. data/db/migrate/20160505151102_change_pathology_request_algorithm_global_rule_sets.rb +12 -0
  1625. data/db/migrate/20160506104710_add_expiration_days_to_pathology_request_descriptions.rb +6 -0
  1626. data/db/migrate/20160506151356_change_regime_on_pathology_request_algorithm_global_rule_sets.rb +7 -0
  1627. data/db/migrate/20160509134401_create_pathology_labs.rb +7 -0
  1628. data/db/migrate/20160509134929_add_lab_id_to_pathology_request_descriptions.rb +6 -0
  1629. data/db/migrate/20160509151927_add_lab_id_to_pathology_request_algorithm_patient_rules.rb +8 -0
  1630. data/db/migrate/20160509171244_add_name_to_address.rb +5 -0
  1631. data/db/migrate/20160510155932_add_organisation_name_to_address.rb +5 -0
  1632. data/db/migrate/20160518110836_rename_frequency_to_frequency_type_on_pathology_request_algorithm_patient_rules.rb +5 -0
  1633. data/db/migrate/20160518111325_rename_frequency_to_frequency_type_on_pathology_request_algorithm_global_rule_sets.rb +5 -0
  1634. data/db/migrate/20160524171947_add_accountable_fields_to_patients.rb +8 -0
  1635. data/db/migrate/20160525124151_add_demographic_columns_to_patients.rb +10 -0
  1636. data/db/migrate/20160527104432_add_document_to_patients.rb +6 -0
  1637. data/db/migrate/20160530162708_create_patient_religions.rb +7 -0
  1638. data/db/migrate/20160530162720_create_patient_languages.rb +7 -0
  1639. data/db/migrate/20160530170058_add_religion_and_language_to_patients.rb +9 -0
  1640. data/db/migrate/20160531141853_add_telephone_to_doctors.rb +5 -0
  1641. data/db/migrate/20160613120910_add_user_id_to_clinics.rb +6 -0
  1642. data/db/migrate/20160616163622_add_telephone_to_users.rb +5 -0
  1643. data/db/migrate/20160620131148_create_patient_bookmarks.rb +11 -0
  1644. data/db/migrate/20160628141349_add_accountable_fields_to_prescriptions.rb +9 -0
  1645. data/db/migrate/20160726150709_create_prescription_terminations.rb +17 -0
  1646. data/db/migrate/20160726170852_create_letter_archives.rb +14 -0
  1647. data/db/migrate/20160728094200_create_pathology_requests_requests.rb +18 -0
  1648. data/db/migrate/20160728103933_rename_request_algorithm_to_requests.rb +7 -0
  1649. data/db/migrate/20160729083654_create_pathology_request_descriptions_requests_requests.rb +13 -0
  1650. data/db/migrate/20160729095901_create_pathology_requests_patient_rules_requests.rb +13 -0
  1651. data/db/migrate/20160805120015_add_diabetic_to_patients.rb +5 -0
  1652. data/db/migrate/20160809095951_add_bottle_type_to_pathology_request_descriptions.rb +5 -0
  1653. data/db/migrate/20160812073616_create_pathology_requests_drug_categories.rb +7 -0
  1654. data/db/migrate/20160812073900_create_pathology_requests_drugs_drug_categories.rb +12 -0
  1655. data/db/migrate/20160817095514_add_template_to_pathology_requests_requests.rb +5 -0
  1656. data/db/migrate/20160818131917_rename_pathology_requests_global_rule_param_type_to_type.rb +5 -0
  1657. data/db/migrate/20160822130644_remove_last_observed_at_from_pathology_requests_patient_rules.rb +5 -0
  1658. data/db/migrate/20160823173525_create_letter_signatures.rb +15 -0
  1659. data/db/migrate/20160824132805_add_administer_on_hd_to_prescriptions.rb +9 -0
  1660. data/db/migrate/20160829114845_add_polymorphic_fields_to_pathology_requests_global_rules.rb +8 -0
  1661. data/db/migrate/20160830141439_add_high_risk_to_pathology_requests_requests.rb +5 -0
  1662. data/db/migrate/20160905140623_add_missing_prescription_indexes.rb +11 -0
  1663. data/db/migrate/20160906195949_move_doctors_tables_to_patients_namespace.rb +17 -0
  1664. data/db/migrate/20160916113152_add_notes_to_bookmarks.rb +6 -0
  1665. data/db/migrate/20160922154638_create_directory_people.rb +14 -0
  1666. data/db/migrate/20160930111424_change_procedure_performed_by.rb +20 -0
  1667. data/db/migrate/20161003192717_create_renalware_letters_contacts.rb +13 -0
  1668. data/db/migrate/20161003204347_add_addressee_to_letter_recipient.rb +7 -0
  1669. data/db/migrate/20161004185820_add_unique_constraint_on_contacts.rb +8 -0
  1670. data/db/migrate/20161010191529_add_type_to_sessions.rb +13 -0
  1671. data/db/migrate/20161014134639_add_abbreviation_to_access_types.rb +5 -0
  1672. data/db/migrate/20161018174711_add_default_cc_to_contacts.rb +5 -0
  1673. data/db/migrate/20161019145606_create_renalware_letters_contact_descriptions.rb +18 -0
  1674. data/db/migrate/20161027165025_add_signed_off_at_to_hd_sessions.rb +5 -0
  1675. data/db/migrate/20161028145040_allow_null_start_time_on_hd_sessions.rb +5 -0
  1676. data/db/migrate/20161031170940_add_active_to_hd_profiles.rb +7 -0
  1677. data/db/migrate/20161101105519_add_more_sign_off_fields_to_hd_session.rb +9 -0
  1678. data/db/migrate/20161103091319_create_hd_patient_statistics.rb +32 -0
  1679. data/db/migrate/20161107141354_add_notes_to_letter_contacts.rb +5 -0
  1680. data/db/migrate/20161108123101_add_session_count_to_hd_patient_statistics.rb +5 -0
  1681. data/db/migrate/20161111154939_add_columns_to_hd_patient_statistics.rb +9 -0
  1682. data/db/migrate/20161114174727_remove_units_from_attribute_names.rb +18 -0
  1683. data/db/migrate/20161114184444_add_therapy_time_to_pd_regime.rb +5 -0
  1684. data/db/migrate/20161115164413_add_fill_volume_to_pd_regimes.rb +5 -0
  1685. data/db/migrate/20161117101457_create_pd_systems.rb +11 -0
  1686. data/db/migrate/20161117133825_add_delivery_interval_to_pd_regimes.rb +5 -0
  1687. data/db/migrate/20161118100149_add_system_id_to_pd_regimes.rb +5 -0
  1688. data/db/migrate/20161118165332_remove_add_manual_exchange_from_pd_regimes.rb +6 -0
  1689. data/db/migrate/20161121143011_create_peritonitis_episode_descriptions.rb +23 -0
  1690. data/db/migrate/20161122112905_rename_read_code_to_code_on_pd_organism_codes.rb +5 -0
  1691. data/db/migrate/20161123141041_rename_enterred_on_to_entered_on.rb +5 -0
  1692. data/db/migrate/20161123142841_remove_datetime_from_users.rb +5 -0
  1693. data/db/migrate/20161124152732_add_deleted_at_to_patient_bookmarks.rb +27 -0
  1694. data/db/migrate/20161129122629_create_regime_terminations.rb +16 -0
  1695. data/db/migrate/20161201165330_add_additional_manual_exchange_volume_to_pd_regimes.rb +7 -0
  1696. data/db/migrate/20161201183449_add_missing_indexes.rb +83 -0
  1697. data/db/migrate/20161202155429_add_tidal_full_drain_every_three_to_pd_regimes.rb +5 -0
  1698. data/db/migrate/20161207115413_add_overnight_bag_to_pd_regime_bags.rb +5 -0
  1699. data/db/migrate/20161207183903_create_clinical_allergies.rb +19 -0
  1700. data/db/migrate/20161212095607_add_daily_volume_to_pd_regimes.rb +6 -0
  1701. data/db/migrate/20161212133822_add_acountable_fields_to_events.rb +8 -0
  1702. data/db/migrate/20161212181500_add_missing_foreign_keys.rb +41 -0
  1703. data/db/migrate/20161214172314_correct_pd_bag_types_glucose_content_precision_and_scale.rb +5 -0
  1704. data/db/migrate/20161215090417_add_accountable_to_modality_modalities.rb +13 -0
  1705. data/db/migrate/20161216090417_add_created_by_id_and_updated_by_id_to_problems.rb +43 -0
  1706. data/db/migrate/20161216155218_create_pd_pet_adequacy_results.rb +37 -0
  1707. data/db/migrate/20170103161015_add_allergy_status_updated_at_to_patients.rb +5 -0
  1708. data/db/migrate/20170106161800_remove_smoking_status_from_renal_profile.rb +5 -0
  1709. data/db/migrate/20170106164639_add_index_to_patient_practices.rb +5 -0
  1710. data/db/migrate/20170110161149_drop_accessess_performed_by_id.rb +11 -0
  1711. data/db/migrate/20170120135631_split_clinic_visit_date_into_date_and_time.rb +6 -0
  1712. data/db/migrate/20170124153334_create_snippets.rb +14 -0
  1713. data/db/migrate/20170203102941_create_prescription_administrations.rb +20 -0
  1714. data/db/migrate/20170203145405_add_unique_index_to_user_roles.rb +8 -0
  1715. data/db/migrate/20170207195029_create_patient_summaries.rb +5 -0
  1716. data/db/migrate/20170210124019_remove_null_constraint_on_hd_prescription_administrations.rb +5 -0
  1717. data/db/migrate/20170210133517_add_contacts_to_patient_summary.rb +5 -0
  1718. data/db/migrate/20170213140513_add_clinical_to_letters.rb +5 -0
  1719. data/db/migrate/20170217123531_add_admin_notes_to_clinic_visits.rb +5 -0
  1720. data/db/migrate/20170217132644_rename_clinic_tables.rb +6 -0
  1721. data/db/migrate/20170217141529_create_clinic_versions.rb +16 -0
  1722. data/db/migrate/20170217161409_create_patient_versions.rb +16 -0
  1723. data/db/migrate/20170220150611_add_columns_to_patient_ethnicities.rb +6 -0
  1724. data/db/migrate/20170222135148_create_pathology_current_observations.rb +5 -0
  1725. data/db/migrate/20170227154311_add_accountable_columns_to_recpient_workups.rb +8 -0
  1726. data/db/migrate/20170228131923_create_patient_worries.rb +13 -0
  1727. data/db/migrate/20170306093012_create_pathology_current_key_observation_sets.rb +5 -0
  1728. data/db/migrate/20170308173219_add_columns_to_patients.rb +28 -0
  1729. data/db/migrate/20170313154020_add_last_home_delivery_date_to_prescriptions.rb +5 -0
  1730. data/db/migrate/20170314114614_add_event_class_to_event_types.rb +5 -0
  1731. data/db/migrate/20170314115111_add_type_column_to_events.rb +6 -0
  1732. data/db/migrate/20170314120712_add_document_to_event.rb +5 -0
  1733. data/db/migrate/20170315100152_add_slug_to_event_types.rb +6 -0
  1734. data/db/migrate/20170320112730_update_patient_summaries_to_version_3.rb +5 -0
  1735. data/db/migrate/20170320124532_update_pathology_current_key_observation_sets_to_version_2.rb +5 -0
  1736. data/db/migrate/20170323100125_update_patient_summaries_to_version_4.rb +5 -0
  1737. data/db/migrate/20170331115718_add_assistance_type_to_pd_regime.rb +5 -0
  1738. data/db/migrate/20170331153349_add_enclosures_to_letters.rb +5 -0
  1739. data/db/migrate/20170403091407_create_donor_stage_positions.rb +13 -0
  1740. data/db/migrate/20170403092407_create_donor_stage_statuses.rb +13 -0
  1741. data/db/migrate/20170403094115_create_transplant_donor_stages.rb +28 -0
  1742. data/db/migrate/20170424064032_add_info_to_addresses.rb +6 -0
  1743. data/db/migrate/20170427123530_add_pulse_to_clinic_visits.rb +5 -0
  1744. data/db/migrate/20170427130642_add_did_not_attend_to_clinic_visits.rb +5 -0
  1745. data/db/migrate/20170502165422_add_becomes_visit_id_to_appointments.rb +9 -0
  1746. data/db/migrate/20170505104641_create_access_catheter_insertion_techniques.rb +9 -0
  1747. data/db/migrate/20170505112521_add_catheter_insertion_technique_id_to_access_procedures.rb +8 -0
  1748. data/db/migrate/20170512150125_add_renalreg_rpv_to_patients.rb +10 -0
  1749. data/db/migrate/20170515093430_add_resistance_to_pd_infection_organism.rb +5 -0
  1750. data/db/migrate/20170515105635_add_temperature_to_clinic_visit.rb +5 -0
  1751. data/db/migrate/20170522151032_remove_access_procedure_constraints.rb +6 -0
  1752. data/db/migrate/20170524134229_create_pd_assessments.rb +14 -0
  1753. data/db/migrate/20170526060804_enable_uuid_extension.rb +7 -0
  1754. data/db/migrate/20170526061000_add_uuid_to_patients.rb +6 -0
  1755. data/db/migrate/20170601142904_make_pd_regime_delivery_interval_a_string.rb +5 -0
  1756. data/db/migrate/20170602124855_add_standing_bp_to_clinic_visit.rb +6 -0
  1757. data/db/migrate/20170605102519_create_clinical_versions.rb +14 -0
  1758. data/db/migrate/20170605103133_move_dry_weights_to_clinical_module.rb +7 -0
  1759. data/db/migrate/20170605161951_create_pd_training_sessions.rb +16 -0
  1760. data/db/migrate/20170606131948_add_glucose_strength_to_pd_bag_types.rb +6 -0
  1761. data/db/migrate/20170606160731_rename_pd_regime_glucose_columns.rb +7 -0
  1762. data/db/migrate/20170606182242_create_pd_training_sites.rb +15 -0
  1763. data/db/migrate/20170608135553_create_functions_to_generate_secure_patient_id.rb +57 -0
  1764. data/db/migrate/20170608135953_add_secure_id_to_patients.rb +17 -0
  1765. data/db/migrate/20170608192234_create_pd_training_types.rb +17 -0
  1766. data/db/migrate/20170609144233_create_clinical_body_compositions.rb +31 -0
  1767. data/db/migrate/20170614140457_create_templates.rb +10 -0
  1768. data/db/migrate/20170615184503_add_columns_to_access_type.rb +7 -0
  1769. data/db/migrate/20170619100927_remove_diabetic_from_patients.rb +5 -0
  1770. data/db/migrate/20170621205538_add_unique_key_to_addresses.rb +8 -0
  1771. data/db/migrate/20170622145529_rename_patient_uuid.rb +5 -0
  1772. data/db/migrate/20170628115247_remove_site_from_access_profile.rb +5 -0
  1773. data/db/migrate/20170703144902_create_audit_letter_authors.rb +10 -0
  1774. data/db/migrate/20170703153949_create_audits.rb +14 -0
  1775. data/db/migrate/20170705090219_create_refresh_all_materialized_views_fn.rb +44 -0
  1776. data/db/migrate/20170705135512_create_reporting_hd_blood_pressures_audit.rb +8 -0
  1777. data/db/migrate/20170705150913_create_reporting_hd_overall_audit.rb +5 -0
  1778. data/db/migrate/20170705160726_add_descriptions_to_reporting_audits.rb +5 -0
  1779. data/db/migrate/20170706120643_create_reporting_data_sources.rb +5 -0
  1780. data/db/migrate/20170707110155_rename_access_plans_to_access_plan_types.rb +31 -0
  1781. data/db/migrate/20170711140607_update_audit_letters_authors_to_version2.rb +8 -0
  1782. data/db/migrate/20170711140926_update_hd_overall_audit_to_version2.rb +8 -0
  1783. data/db/migrate/20170712090217_remove_site_from_access_procedures.rb +10 -0
  1784. data/db/migrate/20170720080033_remove_access_assessment_site_id.rb +5 -0
  1785. data/db/seeds.rb +24 -0
  1786. data/db/seeds/default/accesses/access_pd_catheter_insertion_techniques.csv +5 -0
  1787. data/db/seeds/default/accesses/access_pd_catheter_insertion_techniques.rb +12 -0
  1788. data/db/seeds/default/accesses/access_plan_types.csv +22 -0
  1789. data/db/seeds/default/accesses/access_plan_types.rb +10 -0
  1790. data/db/seeds/default/accesses/access_sites.csv +18 -0
  1791. data/db/seeds/default/accesses/access_sites.rb +12 -0
  1792. data/db/seeds/default/accesses/access_types.csv +8 -0
  1793. data/db/seeds/default/accesses/access_types.rb +13 -0
  1794. data/db/seeds/default/accesses/access_types_procedures.csv +49 -0
  1795. data/db/seeds/default/accesses/access_types_procedures.rb +24 -0
  1796. data/db/seeds/default/accesses/seeds.rb +4 -0
  1797. data/db/seeds/default/clinics/clinics.rb +28 -0
  1798. data/db/seeds/default/clinics/seeds.rb +1 -0
  1799. data/db/seeds/default/deaths/death_causes.csv +66 -0
  1800. data/db/seeds/default/deaths/death_causes.rb +12 -0
  1801. data/db/seeds/default/deaths/seeds.rb +1 -0
  1802. data/db/seeds/default/drugs/drug_drug_types.csv +127 -0
  1803. data/db/seeds/default/drugs/drugs.csv +2667 -0
  1804. data/db/seeds/default/drugs/seeds.rb +60 -0
  1805. data/db/seeds/default/events/event_types_blt.csv +109 -0
  1806. data/db/seeds/default/events/event_types_local.rb +10 -0
  1807. data/db/seeds/default/events/event_types_required.csv +6 -0
  1808. data/db/seeds/default/events/event_types_required.rb +12 -0
  1809. data/db/seeds/default/events/seeds.rb +2 -0
  1810. data/db/seeds/default/hd/cannulation_types.rb +10 -0
  1811. data/db/seeds/default/hd/dialysers.rb +10 -0
  1812. data/db/seeds/default/hd/hd_cannulation_types.csv +3 -0
  1813. data/db/seeds/default/hd/hd_dialysers.csv +8 -0
  1814. data/db/seeds/default/hd/seeds.rb +2 -0
  1815. data/db/seeds/default/hospitals/dialysis_units.csv +7 -0
  1816. data/db/seeds/default/hospitals/dialysis_units.rb +17 -0
  1817. data/db/seeds/default/hospitals/hospital_centres.csv +86 -0
  1818. data/db/seeds/default/hospitals/hospitals.rb +17 -0
  1819. data/db/seeds/default/hospitals/seeds.rb +2 -0
  1820. data/db/seeds/default/housekeeping.rb +3 -0
  1821. data/db/seeds/default/letters/letterheads.csv +4 -0
  1822. data/db/seeds/default/letters/letterheads.rb +17 -0
  1823. data/db/seeds/default/letters/seeds.rb +1 -0
  1824. data/db/seeds/default/medications/medication_routes.rb +19 -0
  1825. data/db/seeds/default/medications/seeds.rb +1 -0
  1826. data/db/seeds/default/modalities/descriptions.rb +23 -0
  1827. data/db/seeds/default/modalities/reasons.rb +28 -0
  1828. data/db/seeds/default/modalities/seeds.rb +2 -0
  1829. data/db/seeds/default/pathology/pathology_labs.csv +9 -0
  1830. data/db/seeds/default/pathology/pathology_labs.rb +12 -0
  1831. data/db/seeds/default/pathology/pathology_observation_descriptions.csv +1741 -0
  1832. data/db/seeds/default/pathology/pathology_observation_descriptions.rb +18 -0
  1833. data/db/seeds/default/pathology/pathology_request_descriptions.csv +196 -0
  1834. data/db/seeds/default/pathology/pathology_request_descriptions.rb +27 -0
  1835. data/db/seeds/default/pathology/seeds.rb +3 -0
  1836. data/db/seeds/default/patients/patients_ethnicities.rb +12 -0
  1837. data/db/seeds/default/patients/patients_languages.csv +102 -0
  1838. data/db/seeds/default/patients/patients_languages.rb +10 -0
  1839. data/db/seeds/default/patients/patients_religions.csv +24 -0
  1840. data/db/seeds/default/patients/patients_religions.rb +10 -0
  1841. data/db/seeds/default/patients/rr18_ethnicity_codes.csv +18 -0
  1842. data/db/seeds/default/patients/seeds.rb +3 -0
  1843. data/db/seeds/default/pd/bag_types.csv +18 -0
  1844. data/db/seeds/default/pd/bag_types.rb +24 -0
  1845. data/db/seeds/default/pd/fluid_descriptions.rb +8 -0
  1846. data/db/seeds/default/pd/organisms.rb +12 -0
  1847. data/db/seeds/default/pd/peritonitis_episode_type_descriptions.csv +12 -0
  1848. data/db/seeds/default/pd/peritonitis_episode_type_descriptions.rb +11 -0
  1849. data/db/seeds/default/pd/rr_organisms.csv +15 -0
  1850. data/db/seeds/default/pd/seeds.rb +7 -0
  1851. data/db/seeds/default/pd/systems.csv +7 -0
  1852. data/db/seeds/default/pd/systems.rb +10 -0
  1853. data/db/seeds/default/pd/training_sites.csv +6 -0
  1854. data/db/seeds/default/pd/training_sites.rb +10 -0
  1855. data/db/seeds/default/pd/training_types.csv +8 -0
  1856. data/db/seeds/default/pd/training_types.rb +10 -0
  1857. data/db/seeds/default/practices/nhs_practices_sample.csv +26 -0
  1858. data/db/seeds/default/practices/practices.rb +26 -0
  1859. data/db/seeds/default/practices/primary_care_physicians.rb +21 -0
  1860. data/db/seeds/default/practices/primary_care_physicians_sample.csv +193 -0
  1861. data/db/seeds/default/practices/seeds.rb +2 -0
  1862. data/db/seeds/default/renal/prd_descriptions.csv +274 -0
  1863. data/db/seeds/default/renal/prd_descriptions.rb +12 -0
  1864. data/db/seeds/default/renal/seeds.rb +1 -0
  1865. data/db/seeds/default/reporting/audits.rb +15 -0
  1866. data/db/seeds/default/reporting/audits.yml +42 -0
  1867. data/db/seeds/default/reporting/seeds.rb +1 -0
  1868. data/db/seeds/default/seeds.rb +20 -0
  1869. data/db/seeds/default/system/roles.rb +8 -0
  1870. data/db/seeds/default/system/seeds.rb +2 -0
  1871. data/db/seeds/default/system/users.rb +11 -0
  1872. data/db/seeds/default/transplants/failure_cause_descriptions.csv +31 -0
  1873. data/db/seeds/default/transplants/seeds.rb +3 -0
  1874. data/db/seeds/default/transplants/transplant_donor_stages.rb +39 -0
  1875. data/db/seeds/default/transplants/transplant_failure_cause_descriptions.rb +15 -0
  1876. data/db/seeds/default/transplants/transplant_registration_statuses.rb +29 -0
  1877. data/db/seeds/seeds_helper.rb +8 -0
  1878. data/db/static.obsolete/medication_routes.yml +20 -0
  1879. data/db/structure.sql +9775 -0
  1880. data/db/views/pathology_current_key_observation_sets_v01.sql +10 -0
  1881. data/db/views/pathology_current_key_observation_sets_v02.sql +16 -0
  1882. data/db/views/pathology_current_observations_v01.sql +18 -0
  1883. data/db/views/patient_summaries_v01.sql +11 -0
  1884. data/db/views/patient_summaries_v02.sql +12 -0
  1885. data/db/views/patient_summaries_v03.sql +13 -0
  1886. data/db/views/patient_summaries_v04.sql +16 -0
  1887. data/db/views/reporting_data_sources_v01.sql +17 -0
  1888. data/db/views/reporting_hd_blood_pressures_audit_v01.sql +79 -0
  1889. data/db/views/reporting_hd_overall_audit_v01.sql +23 -0
  1890. data/db/views/reporting_hd_overall_audit_v02.sql +11 -0
  1891. data/db/views/reporting_main_authors_audit_v01.sql +37 -0
  1892. data/db/views/reporting_main_authors_audit_v02.sql +36 -0
  1893. data/lib/age_calculator.rb +61 -0
  1894. data/lib/array_stringifier.rb +26 -0
  1895. data/lib/collection_presenter.rb +73 -0
  1896. data/lib/core_extensions/active_record/sort.rb +31 -0
  1897. data/lib/core_extensions/active_support/duration.rb +27 -0
  1898. data/lib/core_extensions/date.rb +9 -0
  1899. data/lib/core_extensions/dumb_delegator.rb +28 -0
  1900. data/lib/core_extensions/i18n/always_cascade.rb +28 -0
  1901. data/lib/core_extensions/i18n/handle_blank_value.rb +10 -0
  1902. data/lib/core_extensions/scenic.rb +17 -0
  1903. data/lib/document/attribute_initializer.rb +26 -0
  1904. data/lib/document/attribute_initializer/active_model.rb +29 -0
  1905. data/lib/document/attribute_initializer/base.rb +18 -0
  1906. data/lib/document/attribute_initializer/enum.rb +17 -0
  1907. data/lib/document/base.rb +89 -0
  1908. data/lib/document/embedded.rb +161 -0
  1909. data/lib/document/enum.rb +7 -0
  1910. data/lib/duration_calculator.rb +7 -0
  1911. data/lib/git_commit_sha.rb +29 -0
  1912. data/lib/hash_collection.rb +40 -0
  1913. data/lib/inline_image.rb +20 -0
  1914. data/lib/numeric_inclusion_validator.rb +27 -0
  1915. data/lib/pandoc/templates/default.rtf +32 -0
  1916. data/lib/renalware.rb +6 -0
  1917. data/lib/renalware/automatic_age_calculator.rb +20 -0
  1918. data/lib/renalware/configuration.rb +35 -0
  1919. data/lib/renalware/engine.rb +150 -0
  1920. data/lib/renalware/version.rb +3 -0
  1921. data/lib/smart_delegator.rb +45 -0
  1922. data/lib/sql/index_case_stmt.rb +32 -0
  1923. data/lib/subscription_registry.rb +52 -0
  1924. data/lib/tasks/audit.rake +8 -0
  1925. data/lib/tasks/bundler_audit.rake +32 -0
  1926. data/lib/tasks/cucumber.rake +65 -0
  1927. data/lib/tasks/cucumber_web.rake +17 -0
  1928. data/lib/templates/slim/scaffold/_form.html.slim +10 -0
  1929. data/lib/test_support/ajax_helpers.rb +15 -0
  1930. data/lib/test_support/autocomplete_helpers.rb +12 -0
  1931. data/lib/test_support/text_editor_helpers.rb +6 -0
  1932. metadata +3096 -0
@@ -0,0 +1,14 @@
1
+ $(document).ready(function() {
2
+ $('#uncheck_all_appointments_link').click(function() {
3
+ $(".patient_checkbox").prop("checked", false);
4
+ $('input[name="request[patient_ids][]"]').prop("disabled", true);
5
+ });
6
+
7
+ $("input.patient_checkbox").click(function(e) {
8
+ var patient_id = this.value;
9
+ var patient_hidden_input =
10
+ $('input[name="request[patient_ids][]"][value="' + patient_id + '"]');
11
+
12
+ patient_hidden_input.prop('disabled', !this.checked);
13
+ });
14
+ });
@@ -0,0 +1,63 @@
1
+ // Make the autocomplete the same width as the input it is related to.
2
+ jQuery.ui.autocomplete.prototype._resizeMenu = function () {
3
+ var ul = this.menu.element;
4
+ ul.outerWidth(this.element.outerWidth());
5
+ };
6
+
7
+ $(document).on('ready ajaxSuccess', function() {
8
+
9
+ $.ui.autocomplete.prototype._renderItem = function (ul, item) {
10
+ var t = String(item.value).replace(
11
+ new RegExp(this.term, "gi"),
12
+ "<span class='ui-state-highlight'>$&</span>"
13
+ );
14
+ return $("<li></li>")
15
+ .data("item.autocomplete", item)
16
+ .append("<a>" + t + "</a>")
17
+ .appendTo(ul);
18
+ };
19
+
20
+
21
+ $("[data-autocomplete-source]").each(function() {
22
+ var url = $(this).data("autocomplete-source");
23
+ var parentForm = $(this).closest("form");
24
+ var target = parentForm.find($(this).data("autocomplete-rel"));
25
+ $(this).autocomplete({
26
+ appendTo: $(parentForm), // appending to the form resolves issues with autocomplete hidden in modals
27
+ minLength: 2,
28
+ autoFocus: true,
29
+ open: function() { $('#div .ui-menu').width(300) },
30
+ source: function(request,response) {
31
+ $.ajax({
32
+ url: url,
33
+ data: { term: request.term },
34
+ success: function(data) {
35
+ var list = $.map(data, function(patient) {
36
+ return {
37
+ label: patient.label,
38
+ id: patient.id
39
+ };
40
+ });
41
+ response(list);
42
+ },
43
+ error: function(jqXHR, textStatus, errorThrown) {
44
+ var msg = "An error occurred. Please contact an administrator.";
45
+ response({ label: msg, id: 0});
46
+ }
47
+ });
48
+ },
49
+ search: function(event, ui) {
50
+ $(target).val("");
51
+ },
52
+ select: function(event, ui) {
53
+ $(target).val(ui.item.id);
54
+ }
55
+ });
56
+ });
57
+
58
+ $(document).on("click", "[data-clear-value-on-click]", function() {
59
+ var target = $(this).data("clear-value-on-click");
60
+ $(target).val("");
61
+ })
62
+
63
+ });
@@ -0,0 +1,10 @@
1
+ $(document).ready(function() {
2
+ $("[data-behaviour='highlight'] tbody tr a").click(function(){
3
+ $(this).closest("tr").addClass("is-selected").siblings().removeClass("is-selected");
4
+ });
5
+
6
+ $("[data-behaviour='submit']").click(function(e) {
7
+ e.preventDefault();
8
+ $(this).closest('form').submit();
9
+ });
10
+ });
@@ -0,0 +1,7 @@
1
+
2
+ $(document).on('ready ajaxSuccess', function(event, xhr, status) {
3
+ $('.chosen-select').chosen({
4
+ allow_single_deselect: true,
5
+ no_results_text: 'No results matched',
6
+ width: '400px'})
7
+ });
@@ -0,0 +1,17 @@
1
+ $(document).ready(function(){
2
+
3
+ var clipboard = new Clipboard('.clipboard-btn');
4
+
5
+ clipboard.on('success', function(e) {
6
+ if (e.action != "copy" ) {
7
+ return;
8
+ }
9
+
10
+ e.clearSelection();
11
+ var invocation_url = $(e.trigger).parent().closest('tr').data("invocation-url");
12
+
13
+ if (invocation_url) {
14
+ $.post(invocation_url);
15
+ }
16
+ });
17
+ });
@@ -0,0 +1,742 @@
1
+ /*!
2
+ * This file moved (and its .css counterpart) to app/assets (rather than included via a gem or
3
+ * living in ./vendor) because we have fixed a bug here and I want to make it explicit
4
+ * that we now have ownership of both files, and to prevent them being accidentally
5
+ * refreshed and thereby losing our changes.
6
+ *
7
+ * ClockPicker v0.0.7 (http://weareoutman.github.io/clockpicker/)
8
+ * Copyright 2014 Wang Shenwei.
9
+ * Licensed under MIT (https://github.com/weareoutman/clockpicker/blob/gh-pages/LICENSE)
10
+ */
11
+
12
+ ;(function(){
13
+ var $ = window.jQuery,
14
+ $win = $(window),
15
+ $doc = $(document),
16
+ $body;
17
+
18
+ // Can I use inline svg ?
19
+ var svgNS = 'http://www.w3.org/2000/svg',
20
+ svgSupported = 'SVGAngle' in window && (function(){
21
+ var supported,
22
+ el = document.createElement('div');
23
+ el.innerHTML = '<svg/>';
24
+ supported = (el.firstChild && el.firstChild.namespaceURI) == svgNS;
25
+ el.innerHTML = '';
26
+ return supported;
27
+ })();
28
+
29
+ // Can I use transition ?
30
+ var transitionSupported = (function(){
31
+ var style = document.createElement('div').style;
32
+ return 'transition' in style ||
33
+ 'WebkitTransition' in style ||
34
+ 'MozTransition' in style ||
35
+ 'msTransition' in style ||
36
+ 'OTransition' in style;
37
+ })();
38
+
39
+ // Listen touch events in touch screen device, instead of mouse events in desktop.
40
+ var touchSupported = 'ontouchstart' in window,
41
+ mousedownEvent = 'mousedown' + ( touchSupported ? ' touchstart' : ''),
42
+ mousemoveEvent = 'mousemove.clockpicker' + ( touchSupported ? ' touchmove.clockpicker' : ''),
43
+ mouseupEvent = 'mouseup.clockpicker' + ( touchSupported ? ' touchend.clockpicker' : '');
44
+
45
+ // Vibrate the device if supported
46
+ var vibrate = navigator.vibrate ? 'vibrate' : navigator.webkitVibrate ? 'webkitVibrate' : null;
47
+
48
+ function createSvgElement(name) {
49
+ return document.createElementNS(svgNS, name);
50
+ }
51
+
52
+ function leadingZero(num) {
53
+ return (num < 10 ? '0' : '') + num;
54
+ }
55
+
56
+ // Get a unique id
57
+ var idCounter = 0;
58
+ function uniqueId(prefix) {
59
+ var id = ++idCounter + '';
60
+ return prefix ? prefix + id : id;
61
+ }
62
+
63
+ // Clock size
64
+ var dialRadius = 100,
65
+ outerRadius = 80,
66
+ // innerRadius = 80 on 12 hour clock
67
+ innerRadius = 54,
68
+ tickRadius = 13,
69
+ diameter = dialRadius * 2,
70
+ duration = transitionSupported ? 350 : 1;
71
+
72
+ // Popover template
73
+ var tpl = [
74
+ '<div class="popover clockpicker-popover">',
75
+ '<div class="arrow"></div>',
76
+ '<div class="popover-title">',
77
+ '<span class="clockpicker-span-hours text-primary"></span>',
78
+ ' : ',
79
+ '<span class="clockpicker-span-minutes"></span>',
80
+ '<span class="clockpicker-span-am-pm"></span>',
81
+ '</div>',
82
+ '<div class="popover-content">',
83
+ '<div class="clockpicker-plate">',
84
+ '<div class="clockpicker-canvas"></div>',
85
+ '<div class="clockpicker-dial clockpicker-hours"></div>',
86
+ '<div class="clockpicker-dial clockpicker-minutes clockpicker-dial-out"></div>',
87
+ '</div>',
88
+ '<span class="clockpicker-am-pm-block">',
89
+ '</span>',
90
+ '</div>',
91
+ '</div>'
92
+ ].join('');
93
+
94
+ // ClockPicker
95
+ function ClockPicker(element, options) {
96
+ var popover = $(tpl),
97
+ plate = popover.find('.clockpicker-plate'),
98
+ hoursView = popover.find('.clockpicker-hours'),
99
+ minutesView = popover.find('.clockpicker-minutes'),
100
+ amPmBlock = popover.find('.clockpicker-am-pm-block'),
101
+ isInput = element.prop('tagName') === 'INPUT',
102
+ input = isInput ? element : element.find('input'),
103
+ addon = element.find('.input-group-addon .prefix'),
104
+ self = this,
105
+ timer;
106
+
107
+ this.id = uniqueId('cp');
108
+ this.element = element;
109
+ this.options = options;
110
+ this.isAppended = false;
111
+ this.isShown = false;
112
+ this.currentView = 'hours';
113
+ this.isInput = isInput;
114
+ this.input = input;
115
+ this.addon = addon;
116
+ this.popover = popover;
117
+ this.plate = plate;
118
+ this.hoursView = hoursView;
119
+ this.minutesView = minutesView;
120
+ this.amPmBlock = amPmBlock;
121
+ this.spanHours = popover.find('.clockpicker-span-hours');
122
+ this.spanMinutes = popover.find('.clockpicker-span-minutes');
123
+ this.spanAmPm = popover.find('.clockpicker-span-am-pm');
124
+ this.amOrPm = "PM";
125
+
126
+ // Setup for for 12 hour clock if option is selected
127
+ if (options.twelvehour) {
128
+
129
+ var amPmButtonsTemplate = ['<div class="clockpicker-am-pm-block">',
130
+ '<button type="button" class="btn btn-sm btn-default clockpicker-button clockpicker-am-button">',
131
+ 'AM</button>',
132
+ '<button type="button" class="btn btn-sm btn-default clockpicker-button clockpicker-pm-button">',
133
+ 'PM</button>',
134
+ '</div>'].join('');
135
+
136
+ var amPmButtons = $(amPmButtonsTemplate);
137
+ //amPmButtons.appendTo(plate);
138
+
139
+ ////Not working b/c they are not shown when this runs
140
+ //$('clockpicker-am-button')
141
+ // .on("click", function() {
142
+ // self.amOrPm = "AM";
143
+ // $('.clockpicker-span-am-pm').empty().append('AM');
144
+ // });
145
+ //
146
+ //$('clockpicker-pm-button')
147
+ // .on("click", function() {
148
+ // self.amOrPm = "PM";
149
+ // $('.clockpicker-span-am-pm').empty().append('PM');
150
+ // });
151
+
152
+ $('<button type="button" class="btn btn-sm btn-default clockpicker-button am-button">' + "AM" + '</button>')
153
+ .on("click", function() {
154
+ self.amOrPm = "AM";
155
+ $('.clockpicker-span-am-pm').empty().append('AM');
156
+ }).appendTo(this.amPmBlock);
157
+
158
+
159
+ $('<button type="button" class="btn btn-sm btn-default clockpicker-button pm-button">' + "PM" + '</button>')
160
+ .on("click", function() {
161
+ self.amOrPm = 'PM';
162
+ $('.clockpicker-span-am-pm').empty().append('PM');
163
+ }).appendTo(this.amPmBlock);
164
+
165
+ }
166
+
167
+ if (! options.autoclose) {
168
+ // If autoclose is not setted, append a button
169
+ $('<button type="button" class="btn btn-sm btn-default btn-block clockpicker-button">' + options.donetext + '</button>')
170
+ .click($.proxy(this.done, this))
171
+ .appendTo(popover);
172
+ }
173
+
174
+ // Placement and arrow align - make sure they make sense.
175
+ if ((options.placement === 'top' || options.placement === 'bottom') && (options.align === 'top' || options.align === 'bottom')) options.align = 'left';
176
+ if ((options.placement === 'left' || options.placement === 'right') && (options.align === 'left' || options.align === 'right')) options.align = 'top';
177
+
178
+ popover.addClass(options.placement);
179
+ popover.addClass('clockpicker-align-' + options.align);
180
+
181
+ this.spanHours.click($.proxy(this.toggleView, this, 'hours'));
182
+ this.spanMinutes.click($.proxy(this.toggleView, this, 'minutes'));
183
+
184
+ // Show or toggle
185
+ input.on('focus.clockpicker click.clockpicker', $.proxy(this.show, this));
186
+ addon.on('click.clockpicker', $.proxy(this.toggle, this));
187
+
188
+ // Build ticks
189
+ var tickTpl = $('<div class="clockpicker-tick"></div>'),
190
+ i, tick, radian, radius;
191
+
192
+ // Hours view
193
+ if (options.twelvehour) {
194
+ for (i = 1; i < 13; i += 1) {
195
+ tick = tickTpl.clone();
196
+ radian = i / 6 * Math.PI;
197
+ radius = outerRadius;
198
+ tick.css('font-size', '120%');
199
+ tick.css({
200
+ left: dialRadius + Math.sin(radian) * radius - tickRadius,
201
+ top: dialRadius - Math.cos(radian) * radius - tickRadius
202
+ });
203
+ tick.html(i === 0 ? '00' : i);
204
+ hoursView.append(tick);
205
+ tick.on(mousedownEvent, mousedown);
206
+ }
207
+ } else {
208
+ for (i = 0; i < 24; i += 1) {
209
+ tick = tickTpl.clone();
210
+ radian = i / 6 * Math.PI;
211
+ var inner = i > 0 && i < 13;
212
+ radius = inner ? innerRadius : outerRadius;
213
+ tick.css({
214
+ left: dialRadius + Math.sin(radian) * radius - tickRadius,
215
+ top: dialRadius - Math.cos(radian) * radius - tickRadius
216
+ });
217
+ if (inner) {
218
+ tick.css('font-size', '120%');
219
+ }
220
+ tick.html(i === 0 ? '00' : i);
221
+ hoursView.append(tick);
222
+ tick.on(mousedownEvent, mousedown);
223
+ }
224
+ }
225
+
226
+ // Minutes view
227
+ for (i = 0; i < 60; i += 5) {
228
+ tick = tickTpl.clone();
229
+ radian = i / 30 * Math.PI;
230
+ tick.css({
231
+ left: dialRadius + Math.sin(radian) * outerRadius - tickRadius,
232
+ top: dialRadius - Math.cos(radian) * outerRadius - tickRadius
233
+ });
234
+ tick.css('font-size', '120%');
235
+ tick.html(leadingZero(i));
236
+ minutesView.append(tick);
237
+ tick.on(mousedownEvent, mousedown);
238
+ }
239
+
240
+ // Clicking on minutes view space
241
+ plate.on(mousedownEvent, function(e){
242
+ if ($(e.target).closest('.clockpicker-tick').length === 0) {
243
+ mousedown(e, true);
244
+ }
245
+ });
246
+
247
+ // Mousedown or touchstart
248
+ function mousedown(e, space) {
249
+ var offset = plate.offset(),
250
+ isTouch = /^touch/.test(e.type),
251
+ x0 = offset.left + dialRadius,
252
+ y0 = offset.top + dialRadius,
253
+ dx = (isTouch ? e.originalEvent.touches[0] : e).pageX - x0,
254
+ dy = (isTouch ? e.originalEvent.touches[0] : e).pageY - y0,
255
+ z = Math.sqrt(dx * dx + dy * dy),
256
+ moved = false;
257
+
258
+ // When clicking on minutes view space, check the mouse position
259
+ if (space && (z < outerRadius - tickRadius || z > outerRadius + tickRadius)) {
260
+ return;
261
+ }
262
+ e.preventDefault();
263
+
264
+ // Set cursor style of body after 200ms
265
+ var movingTimer = setTimeout(function(){
266
+ $body.addClass('clockpicker-moving');
267
+ }, 200);
268
+
269
+ // Place the canvas to top
270
+ if (svgSupported) {
271
+ plate.append(self.canvas);
272
+ }
273
+
274
+ // Clock
275
+ self.setHand(dx, dy, ! space, true);
276
+
277
+ // Mousemove on document
278
+ $doc.off(mousemoveEvent).on(mousemoveEvent, function(e){
279
+ e.preventDefault();
280
+ var isTouch = /^touch/.test(e.type),
281
+ x = (isTouch ? e.originalEvent.touches[0] : e).pageX - x0,
282
+ y = (isTouch ? e.originalEvent.touches[0] : e).pageY - y0;
283
+ if (! moved && x === dx && y === dy) {
284
+ // Clicking in chrome on windows will trigger a mousemove event
285
+ return;
286
+ }
287
+ moved = true;
288
+ self.setHand(x, y, false, true);
289
+ });
290
+
291
+ // Mouseup on document
292
+ $doc.off(mouseupEvent).on(mouseupEvent, function(e){
293
+ $doc.off(mouseupEvent);
294
+ e.preventDefault();
295
+ var isTouch = /^touch/.test(e.type),
296
+ x = (isTouch ? e.originalEvent.changedTouches[0] : e).pageX - x0,
297
+ y = (isTouch ? e.originalEvent.changedTouches[0] : e).pageY - y0;
298
+ if ((space || moved) && x === dx && y === dy) {
299
+ self.setHand(x, y);
300
+ }
301
+ if (self.currentView === 'hours') {
302
+ self.toggleView('minutes', duration / 2);
303
+ } else {
304
+ if (options.autoclose) {
305
+ self.minutesView.addClass('clockpicker-dial-out');
306
+ setTimeout(function(){
307
+ self.done();
308
+ }, duration / 2);
309
+ }
310
+ }
311
+ plate.prepend(canvas);
312
+
313
+ // Reset cursor style of body
314
+ clearTimeout(movingTimer);
315
+ $body.removeClass('clockpicker-moving');
316
+
317
+ // Unbind mousemove event
318
+ $doc.off(mousemoveEvent);
319
+ });
320
+ }
321
+
322
+ if (svgSupported) {
323
+ // Draw clock hands and others
324
+ var canvas = popover.find('.clockpicker-canvas'),
325
+ svg = createSvgElement('svg');
326
+ svg.setAttribute('class', 'clockpicker-svg');
327
+ svg.setAttribute('width', diameter);
328
+ svg.setAttribute('height', diameter);
329
+ var g = createSvgElement('g');
330
+ g.setAttribute('transform', 'translate(' + dialRadius + ',' + dialRadius + ')');
331
+ var bearing = createSvgElement('circle');
332
+ bearing.setAttribute('class', 'clockpicker-canvas-bearing');
333
+ bearing.setAttribute('cx', 0);
334
+ bearing.setAttribute('cy', 0);
335
+ bearing.setAttribute('r', 2);
336
+ var hand = createSvgElement('line');
337
+ hand.setAttribute('x1', 0);
338
+ hand.setAttribute('y1', 0);
339
+ var bg = createSvgElement('circle');
340
+ bg.setAttribute('class', 'clockpicker-canvas-bg');
341
+ bg.setAttribute('r', tickRadius);
342
+ var fg = createSvgElement('circle');
343
+ fg.setAttribute('class', 'clockpicker-canvas-fg');
344
+ fg.setAttribute('r', 3.5);
345
+ g.appendChild(hand);
346
+ g.appendChild(bg);
347
+ g.appendChild(fg);
348
+ g.appendChild(bearing);
349
+ svg.appendChild(g);
350
+ canvas.append(svg);
351
+
352
+ this.hand = hand;
353
+ this.bg = bg;
354
+ this.fg = fg;
355
+ this.bearing = bearing;
356
+ this.g = g;
357
+ this.canvas = canvas;
358
+ }
359
+
360
+ raiseCallback(this.options.init);
361
+ }
362
+
363
+ function raiseCallback(callbackFunction) {
364
+ if (callbackFunction && typeof callbackFunction === "function") {
365
+ callbackFunction();
366
+ }
367
+ }
368
+
369
+ // Default options
370
+ ClockPicker.DEFAULTS = {
371
+ 'default': '', // default time, 'now' or '13:14' e.g.
372
+ fromnow: 0, // set default time to * milliseconds from now (using with default = 'now')
373
+ placement: 'bottom', // clock popover placement
374
+ align: 'left', // popover arrow align
375
+ donetext: '完成', // done button text
376
+ autoclose: false, // auto close when minute is selected
377
+ twelvehour: false, // change to 12 hour AM/PM clock from 24 hour
378
+ vibrate: true // vibrate the device when dragging clock hand
379
+ };
380
+
381
+ // Show or hide popover
382
+ ClockPicker.prototype.toggle = function(){
383
+ this[this.isShown ? 'hide' : 'show']();
384
+ };
385
+
386
+ // Set popover position
387
+ ClockPicker.prototype.locate = function(){
388
+ var element = this.element,
389
+ popover = this.popover,
390
+ offset = element.offset(),
391
+ width = element.outerWidth(),
392
+ height = element.outerHeight(),
393
+ placement = this.options.placement,
394
+ align = this.options.align,
395
+ styles = {},
396
+ self = this;
397
+
398
+ popover.show();
399
+
400
+ // Place the popover
401
+ switch (placement) {
402
+ case 'bottom':
403
+ styles.top = offset.top + height;
404
+ break;
405
+ case 'right':
406
+ styles.left = offset.left + width;
407
+ break;
408
+ case 'top':
409
+ styles.top = offset.top - popover.outerHeight();
410
+ break;
411
+ case 'left':
412
+ styles.left = offset.left - popover.outerWidth();
413
+ break;
414
+ }
415
+
416
+ // Align the popover arrow
417
+ switch (align) {
418
+ case 'left':
419
+ styles.left = offset.left;
420
+ break;
421
+ case 'right':
422
+ styles.left = offset.left + width - popover.outerWidth();
423
+ break;
424
+ case 'top':
425
+ styles.top = offset.top;
426
+ break;
427
+ case 'bottom':
428
+ styles.top = offset.top + height - popover.outerHeight();
429
+ break;
430
+ }
431
+
432
+ popover.css(styles);
433
+ };
434
+
435
+ // Show popover
436
+ ClockPicker.prototype.show = function(e){
437
+ // Not show again
438
+ if (this.isShown) {
439
+ return;
440
+ }
441
+
442
+ raiseCallback(this.options.beforeShow);
443
+
444
+ var self = this;
445
+
446
+ // Initialize
447
+ if (! this.isAppended) {
448
+ // Append popover to body
449
+ $body = $(document.body).append(this.popover);
450
+
451
+ // Reset position when resize
452
+ $win.on('resize.clockpicker' + this.id, function(){
453
+ if (self.isShown) {
454
+ self.locate();
455
+ }
456
+ });
457
+
458
+ this.isAppended = true;
459
+ }
460
+
461
+ // Get the time
462
+ var value = ((this.input.prop('value') || this.options['default'] || '') + '').split(':');
463
+ if (value[0] === 'now') {
464
+ var now = new Date(+ new Date() + this.options.fromnow);
465
+ value = [
466
+ now.getHours(),
467
+ now.getMinutes()
468
+ ];
469
+ }
470
+ this.hours = + value[0] || 0;
471
+ this.minutes = + value[1] || 0;
472
+ this.spanHours.html(leadingZero(this.hours));
473
+ this.spanMinutes.html(leadingZero(this.minutes));
474
+
475
+ // Toggle to hours view
476
+ this.toggleView('hours');
477
+
478
+ // Set position
479
+ this.locate();
480
+
481
+ this.isShown = true;
482
+
483
+ // Hide when clicking or tabbing on any element except the clock, input and addon
484
+ $doc.on('click.clockpicker.' + this.id + ' focusin.clockpicker.' + this.id, function(e){
485
+
486
+ /* TC 13/7/17
487
+ Fixed a bug here - changed
488
+ target.closest(self.addon).length === 0 &&
489
+ to
490
+ target.closest(self.addon.selector).length === 0 &&
491
+ Without this it is not possible to click on the clock icon to open the popover.
492
+ */
493
+ var target = $(e.target);
494
+ if (target.closest(self.popover).length === 0 &&
495
+ target.closest(self.addon.selector).length === 0 &&
496
+ target.closest(self.input).length === 0) {
497
+ self.hide();
498
+ }
499
+ });
500
+
501
+ // Hide when ESC is pressed
502
+ $doc.on('keyup.clockpicker.' + this.id, function(e){
503
+ if (e.keyCode === 27) {
504
+ self.hide();
505
+ }
506
+ });
507
+
508
+ raiseCallback(this.options.afterShow);
509
+ };
510
+
511
+ // Hide popover
512
+ ClockPicker.prototype.hide = function(){
513
+ raiseCallback(this.options.beforeHide);
514
+
515
+ this.isShown = false;
516
+
517
+ // Unbinding events on document
518
+ $doc.off('click.clockpicker.' + this.id + ' focusin.clockpicker.' + this.id);
519
+ $doc.off('keyup.clockpicker.' + this.id);
520
+
521
+ this.popover.hide();
522
+
523
+ raiseCallback(this.options.afterHide);
524
+ };
525
+
526
+ // Toggle to hours or minutes view
527
+ ClockPicker.prototype.toggleView = function(view, delay){
528
+ var raiseAfterHourSelect = false;
529
+ if (view === 'minutes' && $(this.hoursView).css("visibility") === "visible") {
530
+ raiseCallback(this.options.beforeHourSelect);
531
+ raiseAfterHourSelect = true;
532
+ }
533
+ var isHours = view === 'hours',
534
+ nextView = isHours ? this.hoursView : this.minutesView,
535
+ hideView = isHours ? this.minutesView : this.hoursView;
536
+
537
+ this.currentView = view;
538
+
539
+ this.spanHours.toggleClass('text-primary', isHours);
540
+ this.spanMinutes.toggleClass('text-primary', ! isHours);
541
+
542
+ // Let's make transitions
543
+ hideView.addClass('clockpicker-dial-out');
544
+ nextView.css('visibility', 'visible').removeClass('clockpicker-dial-out');
545
+
546
+ // Reset clock hand
547
+ this.resetClock(delay);
548
+
549
+ // After transitions ended
550
+ clearTimeout(this.toggleViewTimer);
551
+ this.toggleViewTimer = setTimeout(function(){
552
+ hideView.css('visibility', 'hidden');
553
+ }, duration);
554
+
555
+ if (raiseAfterHourSelect) {
556
+ raiseCallback(this.options.afterHourSelect);
557
+ }
558
+ };
559
+
560
+ // Reset clock hand
561
+ ClockPicker.prototype.resetClock = function(delay){
562
+ var view = this.currentView,
563
+ value = this[view],
564
+ isHours = view === 'hours',
565
+ unit = Math.PI / (isHours ? 6 : 30),
566
+ radian = value * unit,
567
+ radius = isHours && value > 0 && value < 13 ? innerRadius : outerRadius,
568
+ x = Math.sin(radian) * radius,
569
+ y = - Math.cos(radian) * radius,
570
+ self = this;
571
+ if (svgSupported && delay) {
572
+ self.canvas.addClass('clockpicker-canvas-out');
573
+ setTimeout(function(){
574
+ self.canvas.removeClass('clockpicker-canvas-out');
575
+ self.setHand(x, y);
576
+ }, delay);
577
+ } else {
578
+ this.setHand(x, y);
579
+ }
580
+ };
581
+
582
+ // Set clock hand to (x, y)
583
+ ClockPicker.prototype.setHand = function(x, y, roundBy5, dragging){
584
+ var radian = Math.atan2(x, - y),
585
+ isHours = this.currentView === 'hours',
586
+ unit = Math.PI / (isHours || roundBy5 ? 6 : 30),
587
+ z = Math.sqrt(x * x + y * y),
588
+ options = this.options,
589
+ inner = isHours && z < (outerRadius + innerRadius) / 2,
590
+ radius = inner ? innerRadius : outerRadius,
591
+ value;
592
+
593
+ if (options.twelvehour) {
594
+ radius = outerRadius;
595
+ }
596
+
597
+ // Radian should in range [0, 2PI]
598
+ if (radian < 0) {
599
+ radian = Math.PI * 2 + radian;
600
+ }
601
+
602
+ // Get the round value
603
+ value = Math.round(radian / unit);
604
+
605
+ // Get the round radian
606
+ radian = value * unit;
607
+
608
+ // Correct the hours or minutes
609
+ if (options.twelvehour) {
610
+ if (isHours) {
611
+ if (value === 0) {
612
+ value = 12;
613
+ }
614
+ } else {
615
+ if (roundBy5) {
616
+ value *= 5;
617
+ }
618
+ if (value === 60) {
619
+ value = 0;
620
+ }
621
+ }
622
+ } else {
623
+ if (isHours) {
624
+ if (value === 12) {
625
+ value = 0;
626
+ }
627
+ value = inner ? (value === 0 ? 12 : value) : value === 0 ? 0 : value + 12;
628
+ } else {
629
+ if (roundBy5) {
630
+ value *= 5;
631
+ }
632
+ if (value === 60) {
633
+ value = 0;
634
+ }
635
+ }
636
+ }
637
+
638
+ // Once hours or minutes changed, vibrate the device
639
+ if (this[this.currentView] !== value) {
640
+ if (vibrate && this.options.vibrate) {
641
+ // Do not vibrate too frequently
642
+ if (! this.vibrateTimer) {
643
+ navigator[vibrate](10);
644
+ this.vibrateTimer = setTimeout($.proxy(function(){
645
+ this.vibrateTimer = null;
646
+ }, this), 100);
647
+ }
648
+ }
649
+ }
650
+
651
+ this[this.currentView] = value;
652
+ this[isHours ? 'spanHours' : 'spanMinutes'].html(leadingZero(value));
653
+
654
+ // If svg is not supported, just add an active class to the tick
655
+ if (! svgSupported) {
656
+ this[isHours ? 'hoursView' : 'minutesView'].find('.clockpicker-tick').each(function(){
657
+ var tick = $(this);
658
+ tick.toggleClass('active', value === + tick.html());
659
+ });
660
+ return;
661
+ }
662
+
663
+ // Place clock hand at the top when dragging
664
+ if (dragging || (! isHours && value % 5)) {
665
+ this.g.insertBefore(this.hand, this.bearing);
666
+ this.g.insertBefore(this.bg, this.fg);
667
+ this.bg.setAttribute('class', 'clockpicker-canvas-bg clockpicker-canvas-bg-trans');
668
+ } else {
669
+ // Or place it at the bottom
670
+ this.g.insertBefore(this.hand, this.bg);
671
+ this.g.insertBefore(this.fg, this.bg);
672
+ this.bg.setAttribute('class', 'clockpicker-canvas-bg');
673
+ }
674
+
675
+ // Set clock hand and others' position
676
+ var cx = Math.sin(radian) * radius,
677
+ cy = - Math.cos(radian) * radius;
678
+ this.hand.setAttribute('x2', cx);
679
+ this.hand.setAttribute('y2', cy);
680
+ this.bg.setAttribute('cx', cx);
681
+ this.bg.setAttribute('cy', cy);
682
+ this.fg.setAttribute('cx', cx);
683
+ this.fg.setAttribute('cy', cy);
684
+ };
685
+
686
+ // Hours and minutes are selected
687
+ ClockPicker.prototype.done = function() {
688
+ raiseCallback(this.options.beforeDone);
689
+ this.hide();
690
+ var last = this.input.prop('value'),
691
+ value = leadingZero(this.hours) + ':' + leadingZero(this.minutes);
692
+ if (this.options.twelvehour) {
693
+ value = value + this.amOrPm;
694
+ }
695
+
696
+ this.input.prop('value', value);
697
+ if (value !== last) {
698
+ this.input.triggerHandler('change');
699
+ if (! this.isInput) {
700
+ this.element.trigger('change');
701
+ }
702
+ }
703
+
704
+ if (this.options.autoclose) {
705
+ this.input.trigger('blur');
706
+ }
707
+
708
+ raiseCallback(this.options.afterDone);
709
+ };
710
+
711
+ // Remove clockpicker from input
712
+ ClockPicker.prototype.remove = function() {
713
+ this.element.removeData('clockpicker');
714
+ this.input.off('focus.clockpicker click.clockpicker');
715
+ this.addon.off('click.clockpicker');
716
+ if (this.isShown) {
717
+ this.hide();
718
+ }
719
+ if (this.isAppended) {
720
+ $win.off('resize.clockpicker' + this.id);
721
+ this.popover.remove();
722
+ }
723
+ };
724
+
725
+ // Extends $.fn.clockpicker
726
+ $.fn.clockpicker = function(option){
727
+ var args = Array.prototype.slice.call(arguments, 1);
728
+ return this.each(function(){
729
+ var $this = $(this),
730
+ data = $this.data('clockpicker');
731
+ if (! data) {
732
+ var options = $.extend({}, ClockPicker.DEFAULTS, $this.data(), typeof option == 'object' && option);
733
+ $this.data('clockpicker', new ClockPicker($this, options));
734
+ } else {
735
+ // Manual operatsions. show, hide, remove, e.g.
736
+ if (typeof data[option] === 'function') {
737
+ data[option].apply(data, args);
738
+ }
739
+ }
740
+ });
741
+ };
742
+ }());