renalware-core 2.0.0.pre.beta11 → 2.0.0.pre.beta12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (295) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -0
  3. data/app/controllers/renalware/accesses/base_controller.rb +0 -1
  4. data/app/controllers/renalware/clinical/allergies_controller.rb +0 -1
  5. data/app/controllers/renalware/clinical/allergy_statuses_controller.rb +0 -1
  6. data/app/controllers/renalware/clinics/clinic_visits_controller.rb +0 -1
  7. data/app/controllers/renalware/concerns/devise_controller_methods.rb +26 -14
  8. data/app/controllers/renalware/concerns/pdf_renderable.rb +0 -1
  9. data/app/controllers/renalware/deaths_controller.rb +14 -6
  10. data/app/controllers/renalware/events/swabs_controller.rb +0 -1
  11. data/app/controllers/renalware/hd/base_controller.rb +0 -1
  12. data/app/controllers/renalware/hd/cannulation_types_controller.rb +30 -15
  13. data/app/controllers/renalware/hd/diaries_controller.rb +1 -1
  14. data/app/controllers/renalware/hd/diary_slots_controller.rb +1 -2
  15. data/app/controllers/renalware/hd/mdm_patients_controller.rb +0 -1
  16. data/app/controllers/renalware/hd/ongoing_sessions_controller.rb +3 -4
  17. data/app/controllers/renalware/hd/patients_controller.rb +0 -1
  18. data/app/controllers/renalware/hd/protocols_controller.rb +2 -1
  19. data/app/controllers/renalware/letters/base_controller.rb +0 -1
  20. data/app/controllers/renalware/mdm_controller.rb +0 -1
  21. data/app/controllers/renalware/medications/prescriptions_controller.rb +2 -2
  22. data/app/controllers/renalware/modalities/descriptions_controller.rb +0 -1
  23. data/app/controllers/renalware/modalities/modalities_controller.rb +0 -1
  24. data/app/controllers/renalware/modalities/reasons_controller.rb +0 -1
  25. data/app/controllers/renalware/pathology/base_controller.rb +0 -1
  26. data/app/controllers/renalware/pathology/requests/requests_controller.rb +9 -3
  27. data/app/controllers/renalware/patients/alerts_controller.rb +0 -1
  28. data/app/controllers/renalware/patients/bookmarks_controller.rb +1 -1
  29. data/app/controllers/renalware/patients/patients_controller.rb +4 -2
  30. data/app/controllers/renalware/patients/practices_controller.rb +0 -1
  31. data/app/controllers/renalware/patients/primary_care_physician_controller.rb +0 -1
  32. data/app/controllers/renalware/pd/assessments_controller.rb +0 -1
  33. data/app/controllers/renalware/pd/bag_types_controller.rb +0 -1
  34. data/app/controllers/renalware/pd/base_controller.rb +0 -1
  35. data/app/controllers/renalware/pd/dashboards_controller.rb +0 -1
  36. data/app/controllers/renalware/pd/mdm_patients_controller.rb +0 -1
  37. data/app/controllers/renalware/pd/regimes_controller.rb +1 -1
  38. data/app/controllers/renalware/pd/training_sessions_controller.rb +0 -1
  39. data/app/controllers/renalware/problems/problems_controller.rb +0 -1
  40. data/app/controllers/renalware/renal/base_controller.rb +0 -1
  41. data/app/controllers/renalware/renal/profiles_controller.rb +4 -3
  42. data/app/controllers/renalware/renal/registry_preflight_checks_controller.rb +10 -4
  43. data/app/controllers/renalware/reporting/audit_refreshments_controller.rb +0 -1
  44. data/app/controllers/renalware/research/studies_controller.rb +0 -1
  45. data/app/controllers/renalware/snippets/snippet_invocations_controller.rb +0 -1
  46. data/app/controllers/renalware/snippets/snippets_controller.rb +0 -1
  47. data/app/controllers/renalware/system/mock_errors_controller.rb +0 -1
  48. data/app/controllers/renalware/transplants/base_controller.rb +0 -1
  49. data/app/controllers/renalware/transplants/donor_stages_controller.rb +0 -1
  50. data/app/controllers/renalware/transplants/mdm_patients_controller.rb +0 -1
  51. data/app/controllers/renalware/transplants/recipient_dashboards_controller.rb +0 -1
  52. data/app/controllers/renalware/transplants/recipient_workups_controller.rb +0 -1
  53. data/app/documents/renalware/age.rb +1 -1
  54. data/app/documents/renalware/hd/profile_document.rb +1 -1
  55. data/app/documents/renalware/hd/session_document.rb +0 -1
  56. data/app/documents/renalware/transplants/recipient_operation_document.rb +0 -1
  57. data/app/documents/renalware/transplants/recipient_workup_document.rb +0 -1
  58. data/app/documents/renalware/transplants/registration_document.rb +0 -1
  59. data/app/documents/renalware/year_dated_confirmation.rb +1 -2
  60. data/app/drops/renalware/pd/patient_drop.rb +0 -1
  61. data/app/drops/renalware/renal/patient_drop.rb +0 -1
  62. data/app/helpers/renalware/article_helper.rb +2 -2
  63. data/app/helpers/renalware/attribute_name_helper.rb +0 -1
  64. data/app/helpers/renalware/bag_types_helper.rb +0 -2
  65. data/app/helpers/renalware/clipboard_helper.rb +0 -1
  66. data/app/helpers/renalware/definition_list_helper.rb +0 -1
  67. data/app/helpers/renalware/drugs_helper.rb +0 -2
  68. data/app/helpers/renalware/flash_helper.rb +0 -2
  69. data/app/helpers/renalware/layout_helper.rb +1 -1
  70. data/app/helpers/renalware/mdm_helper.rb +0 -1
  71. data/app/helpers/renalware/pd_regime_bags_helper.rb +0 -2
  72. data/app/helpers/renalware/pd_regimes_helper.rb +0 -1
  73. data/app/helpers/renalware/section_helper.rb +0 -1
  74. data/app/helpers/renalware/tooltip_helper.rb +0 -1
  75. data/app/helpers/renalware/transplant_helper.rb +4 -2
  76. data/app/helpers/renalware/users_helper.rb +0 -1
  77. data/app/inputs/inline_radio_buttons_input.rb +1 -1
  78. data/app/mailers/previews/user_mailer_preview.rb +0 -2
  79. data/app/models/concerns/renalware/patients_ransack_helper.rb +0 -1
  80. data/app/models/renalware.rb +0 -1
  81. data/app/models/renalware/clinical/body_composition.rb +0 -1
  82. data/app/models/renalware/clinical/create_allergy.rb +1 -2
  83. data/app/models/renalware/clinical/delete_allergy.rb +0 -1
  84. data/app/models/renalware/clinical/modality_description.rb +0 -1
  85. data/app/models/renalware/clinics/appointment.rb +0 -1
  86. data/app/models/renalware/clinics/appointment_query.rb +1 -1
  87. data/app/models/renalware/clinics/build_visit_from_appointment.rb +0 -1
  88. data/app/models/renalware/clinics/consultant.rb +0 -1
  89. data/app/models/renalware/clinics/create_clinic_visit.rb +0 -1
  90. data/app/models/renalware/clinics/visit_query.rb +1 -1
  91. data/app/models/renalware/events.rb +0 -1
  92. data/app/models/renalware/feeds/persist_message.rb +0 -1
  93. data/app/models/renalware/hd/archive_yesterdays_slots_job.rb +0 -1
  94. data/app/models/renalware/hd/generate_monthly_statistics_for_patient.rb +1 -2
  95. data/app/models/renalware/hd/master_diary.rb +0 -1
  96. data/app/models/renalware/hd/mdm_patients_query.rb +0 -1
  97. data/app/models/renalware/hd/patient_listener.rb +0 -1
  98. data/app/models/renalware/hd/patients_with_unmet_preferences_query.rb +0 -2
  99. data/app/models/renalware/hd/revise_hd_profile.rb +0 -1
  100. data/app/models/renalware/hd/schedule_definition.rb +4 -0
  101. data/app/models/renalware/hd/sessions/auditable_patient_sessions_in_period_query.rb +0 -1
  102. data/app/models/renalware/hd/sessions/auditable_patients_in_period_query.rb +0 -1
  103. data/app/models/renalware/hd/sessions/auditable_session.rb +0 -1
  104. data/app/models/renalware/hd/sessions/auditable_session_collection.rb +0 -1
  105. data/app/models/renalware/hd/sessions/latest_patient_sessions_query.rb +0 -2
  106. data/app/models/renalware/hd/sessions/protocol_sessions_query.rb +0 -1
  107. data/app/models/renalware/hd/sessions/save_session.rb +1 -2
  108. data/app/models/renalware/hd/update_rolling_patient_statistics.rb +0 -1
  109. data/app/models/renalware/letters/contact.rb +0 -1
  110. data/app/models/renalware/letters/determine_counterpart_ccs.rb +1 -1
  111. data/app/models/renalware/letters/event/clinic_visit.rb +1 -1
  112. data/app/models/renalware/letters/event/unknown.rb +0 -1
  113. data/app/models/renalware/letters/part/recent_pathology_results.rb +0 -1
  114. data/app/models/renalware/letters/patient_listener.rb +0 -1
  115. data/app/models/renalware/medications/revise_prescription.rb +12 -2
  116. data/app/models/renalware/messaging/internal/send_message.rb +0 -1
  117. data/app/models/renalware/pathology/consultant.rb +0 -1
  118. data/app/models/renalware/pathology/create_observations.rb +5 -3
  119. data/app/models/renalware/pathology/message_listener.rb +4 -0
  120. data/app/models/renalware/pathology/message_param_parser.rb +0 -1
  121. data/app/models/renalware/pathology/observation.rb +1 -3
  122. data/app/models/renalware/pathology/relevant_observation_description.rb +0 -1
  123. data/app/models/renalware/pathology/requests/global_rule/observation_result.rb +3 -3
  124. data/app/models/renalware/pathology/requests/global_rule/transplant_date_within_weeks.rb +1 -1
  125. data/app/models/renalware/pathology/requests/global_rule/transplant_registration_status.rb +1 -1
  126. data/app/models/renalware/pathology/requests/global_rule_set.rb +1 -1
  127. data/app/models/renalware/pathology/requests/high_risk_rule_set.rb +0 -1
  128. data/app/models/renalware/pathology/requests/request_params_factory.rb +2 -2
  129. data/app/models/renalware/pathology/requests/request_query.rb +1 -1
  130. data/app/models/renalware/patients.rb +3 -1
  131. data/app/models/renalware/patients/mdm_patients_query.rb +0 -1
  132. data/app/models/renalware/patients/message_listener.rb +4 -0
  133. data/app/models/renalware/patients/practice_search_query.rb +1 -1
  134. data/app/models/renalware/patients/search_query.rb +0 -1
  135. data/app/models/renalware/pd.rb +0 -1
  136. data/app/models/renalware/pd/apd/available_overnight_volume.rb +0 -2
  137. data/app/models/renalware/pd/apd/calculate_volumes.rb +0 -1
  138. data/app/models/renalware/pd/apd/non_tidal_regime_calculations.rb +0 -1
  139. data/app/models/renalware/pd/apd/tidal_regime_calculations.rb +0 -1
  140. data/app/models/renalware/pd/mdm_patients_query.rb +0 -1
  141. data/app/models/renalware/pd/organism_code.rb +8 -4
  142. data/app/models/renalware/pd/regime.rb +0 -1
  143. data/app/models/renalware/pd/regime_bag.rb +0 -1
  144. data/app/models/renalware/pd/revise_regime.rb +0 -1
  145. data/app/models/renalware/renal/registry/preflight_checks/deaths_query.rb +11 -4
  146. data/app/models/renalware/renal/registry/preflight_checks/patients_query.rb +12 -6
  147. data/app/models/renalware/reporting/fetch_audit_json.rb +0 -1
  148. data/app/models/renalware/role.rb +1 -1
  149. data/app/models/renalware/system/render_liquid_template.rb +0 -1
  150. data/app/models/renalware/system/update_user.rb +0 -1
  151. data/app/models/renalware/transplants/donation.rb +3 -2
  152. data/app/models/renalware/transplants/recipient_followup.rb +9 -5
  153. data/app/models/renalware/transplants/recipient_operation.rb +0 -1
  154. data/app/models/renalware/user.rb +1 -1
  155. data/app/policies/renalware/base_policy.rb +0 -1
  156. data/app/policies/renalware/clinics/appointment_policy.rb +0 -1
  157. data/app/policies/renalware/events/event_policy.rb +0 -2
  158. data/app/policies/renalware/pathology/requests/global_rule_set_policy.rb +0 -1
  159. data/app/policies/renalware/pathology/requests/request_policy.rb +0 -1
  160. data/app/policies/renalware/renal/aki_alert_policy.rb +0 -1
  161. data/app/presenters/renalware/address_presenter.rb +2 -2
  162. data/app/presenters/renalware/hd/dashboard_presenter.rb +0 -1
  163. data/app/presenters/renalware/hd/mdm_presenter.rb +0 -1
  164. data/app/presenters/renalware/hd/patient_presenter.rb +3 -1
  165. data/app/presenters/renalware/hd/profile_document_presenter.rb +1 -2
  166. data/app/presenters/renalware/hd/session_access_presenter.rb +0 -1
  167. data/app/presenters/renalware/hd/session_presenter.rb +3 -3
  168. data/app/presenters/renalware/letters/contacts_presenter.rb +0 -1
  169. data/app/presenters/renalware/letters/letter_presenter.rb +0 -1
  170. data/app/presenters/renalware/medications/prescription_presenter.rb +0 -1
  171. data/app/presenters/renalware/pathology/observations_for_codes_presenter.rb +0 -1
  172. data/app/presenters/renalware/pd/delivery_interval_presenter.rb +0 -1
  173. data/app/presenters/renalware/pd/training_duration_presenter.rb +0 -1
  174. data/app/presenters/renalware/system/users_presenter.rb +0 -1
  175. data/app/presenters/renalware/transplants/mdm_presenter.rb +0 -1
  176. data/app/presenters/renalware/transplants/patient_presenter.rb +0 -1
  177. data/app/presenters/renalware/transplants/wait_list_registration_presenter.rb +1 -1
  178. data/app/presenters/renalware/ukrdc/pathology_observation_presenter.rb +2 -2
  179. data/app/validators/renalware/address_validator.rb +1 -1
  180. data/app/validators/renalware/letters/author_signature_validator.rb +1 -1
  181. data/app/validators/renalware/patients/blood_pressure_validator.rb +1 -1
  182. data/app/views/renalware/admissions/consults/_filters.html.slim +2 -2
  183. data/app/views/renalware/admissions/consults/_form.html.slim +1 -1
  184. data/app/views/renalware/api/ukrdc/patients/_lab_orders.xml.builder +1 -1
  185. data/app/views/renalware/api/ukrdc/patients/_medications.xml.builder +6 -5
  186. data/app/views/renalware/api/ukrdc/patients/_patient.xml.builder +1 -3
  187. data/app/views/renalware/api/ukrdc/patients/_sending_facility.xml.builder +0 -1
  188. data/app/views/renalware/api/ukrdc/patients/encounters/_hd_session.xml.builder +19 -15
  189. data/app/views/renalware/api/ukrdc/patients/lab_orders/_lab_order.xml.builder +26 -25
  190. data/app/views/renalware/api/ukrdc/patients/lab_orders/_result_item.xml.builder +1 -1
  191. data/app/views/renalware/api/ukrdc/patients/show.xml.builder +1 -2
  192. data/app/views/renalware/clinics/visits/_table_row.html.slim +1 -1
  193. data/app/views/renalware/dashboard/bookmarks/_bookmark.html.slim +1 -0
  194. data/app/views/renalware/dashboard/bookmarks/_table.html.slim +1 -0
  195. data/app/views/renalware/deaths/edit.html.slim +4 -4
  196. data/app/views/renalware/deaths/index.html.slim +2 -2
  197. data/app/views/renalware/hd/cannulation_types/_form.html.slim +2 -2
  198. data/app/views/renalware/hd/cannulation_types/edit.html.slim +1 -1
  199. data/app/views/renalware/hd/cannulation_types/index.html.slim +1 -1
  200. data/app/views/renalware/hd/cannulation_types/new.html.slim +1 -1
  201. data/app/views/renalware/hd/ongoing_sessions/_filters.html.slim +1 -1
  202. data/app/views/renalware/hd/ongoing_sessions/_table.html.slim +9 -9
  203. data/app/views/renalware/hd/ongoing_sessions/show.html.slim +2 -2
  204. data/app/views/renalware/hd/sessions/_show.html.slim +1 -1
  205. data/app/views/renalware/layouts/_patient.html.slim +0 -1
  206. data/app/views/renalware/letters/letters/edit.html.slim +1 -1
  207. data/app/views/renalware/medications/drug_types/prescriptions/_table.html.slim +2 -2
  208. data/app/views/renalware/messaging/internal/receipts/_receipt.html.slim +1 -1
  209. data/app/views/renalware/messaging/internal/receipts/_sent_receipt.html.slim +1 -1
  210. data/app/views/renalware/navigation/_renal.html.slim +0 -1
  211. data/app/views/renalware/pathology/required_observations/index.html.slim +1 -1
  212. data/app/views/renalware/patients/alerts/_alert.html.slim +1 -1
  213. data/app/views/renalware/patients/bookmarks/_new.html.slim +1 -0
  214. data/app/views/renalware/patients/patients/_form.html.slim +2 -2
  215. data/app/views/renalware/patients/patients/_patient.html.slim +1 -1
  216. data/app/views/renalware/patients/patients/_table.html.slim +1 -1
  217. data/app/views/renalware/patients/patients/new.html.slim +0 -1
  218. data/app/views/renalware/patients/patients/show/_primary_care_physician.html.slim +0 -1
  219. data/app/views/renalware/patients/primary_care_physician/edit.html.slim +3 -4
  220. data/app/views/renalware/patients/worries/_new.html.slim +0 -1
  221. data/app/views/renalware/patients/worryboard/_table.html.slim +1 -1
  222. data/app/views/renalware/pd/dashboards/show/_page_actions.html.slim +1 -1
  223. data/app/views/renalware/pd/exit_site_infections/_details.html.slim +0 -8
  224. data/app/views/renalware/pd/pet_adequacy_results/new.html.slim +0 -1
  225. data/app/views/renalware/pd/regimes/_current_regime.html.slim +2 -2
  226. data/app/views/renalware/pd/regimes/edit.html.slim +1 -1
  227. data/app/views/renalware/pd/regimes/show.html.slim +1 -1
  228. data/app/views/renalware/pd/training_sessions/_form.html.slim +1 -1
  229. data/app/views/renalware/renal/registry_preflight_checks/_table.html.slim +5 -1
  230. data/app/views/renalware/renal/registry_preflight_checks/deaths.html.slim +1 -1
  231. data/app/views/renalware/renal/registry_preflight_checks/patients.html.slim +1 -1
  232. data/app/views/renalware/research/studies/_form.html.slim +0 -1
  233. data/app/views/renalware/research/studies/show.html.slim +0 -1
  234. data/app/views/renalware/research/study_participants/_form.html.slim +1 -2
  235. data/app/views/renalware/shared/_last_update.html.slim +1 -0
  236. data/app/views/renalware/shared/documents/_attributes_group.html.slim +1 -1
  237. data/app/views/renalware/shared/documents/_dated_result.html.slim +1 -1
  238. data/app/views/renalware/snippets/snippets/_row.html.slim +1 -1
  239. data/app/views/renalware/transplants/donations/edit.html.slim +1 -1
  240. data/app/views/renalware/transplants/donor_followups/edit.html.slim +0 -1
  241. data/app/views/renalware/transplants/donor_followups/show.html.slim +0 -1
  242. data/app/views/renalware/transplants/live_donors/_index.html.slim +0 -1
  243. data/app/views/renalware/transplants/recipient_operations/_sections_nav.html.slim +1 -1
  244. data/app/views/renalware/transplants/recipient_workups/_sections_nav.html.slim +1 -1
  245. data/config/initializers/delayed_job.rb +1 -0
  246. data/config/initializers/ransack.rb +0 -1
  247. data/config/initializers/simple_form.rb +4 -2
  248. data/config/initializers/simple_form_foundation.rb +8 -4
  249. data/config/locales/renalware/dashboard/dashboard.yml +1 -0
  250. data/config/locales/renalware/renal/profile.en.yml +4 -1
  251. data/config/routes.rb +0 -1
  252. data/db/migrate/20141004150240_create_ethnicities.rb +1 -1
  253. data/db/migrate/20171113120217_add_uuid_to_hd_sessions.rb +6 -0
  254. data/db/migrate/20171116103230_move_objects_to_renalware_schema.rb +63 -0
  255. data/db/migrate/20171118160030_add_tags_to_patient_bookmarks.rb +5 -0
  256. data/lib/collection_presenter.rb +1 -3
  257. data/lib/document/attribute_initializer.rb +0 -1
  258. data/lib/document/base.rb +1 -1
  259. data/lib/renalware/configuration.rb +1 -1
  260. data/lib/renalware/engine.rb +21 -1
  261. data/lib/renalware/version.rb +1 -1
  262. data/lib/smart_delegator.rb +0 -1
  263. data/lib/test_support/autocomplete_helpers.rb +3 -3
  264. data/spec/factories/clinical/body_compositions.rb +1 -1
  265. data/spec/factories/clinical/dry_weights.rb +1 -1
  266. data/spec/factories/clinics/appointments.rb +1 -1
  267. data/spec/factories/clinics/clinic_visits.rb +2 -2
  268. data/spec/factories/events/events.rb +1 -2
  269. data/spec/factories/hd/sessions.rb +1 -1
  270. data/spec/factories/letters/letters.rb +1 -1
  271. data/spec/factories/medications/prescription.rb +1 -1
  272. data/spec/factories/messaging/internal/messages.rb +1 -1
  273. data/spec/factories/modalities/modalities.rb +1 -1
  274. data/spec/factories/pathology/lab.rb +1 -1
  275. data/spec/factories/pathology/requests/global_rule_set.rb +1 -1
  276. data/spec/factories/pathology/requests/patient_rule.rb +1 -1
  277. data/spec/factories/pathology/requests/request.rb +3 -3
  278. data/spec/factories/patients/alerts.rb +1 -1
  279. data/spec/factories/patients/bookmarks.rb +1 -1
  280. data/spec/factories/pd/infection_organisms.rb +0 -1
  281. data/spec/factories/pd/pd_regimes.rb +0 -1
  282. data/spec/factories/pd/peritonitis_episode_type_descriptions.rb +1 -1
  283. data/spec/factories/pd/pet_adequacies.rb +0 -2
  284. data/spec/factories/pd/systems.rb +2 -2
  285. data/spec/factories/research/studies.rb +1 -1
  286. data/spec/factories/research/study_participants.rb +1 -1
  287. data/spec/factories/system/users.rb +3 -3
  288. data/spec/factories/transplants/recipient_operations.rb +3 -3
  289. data/spec/factories/transplants/registration_statuses.rb +1 -1
  290. data/spec/support/capybara.rb +23 -0
  291. data/spec/support/database_cleaner.rb +0 -2
  292. data/spec/support/factory_bot.rb +45 -0
  293. data/spec/support/select_date_spec_helper.rb +0 -1
  294. data/spec/support/travel.rb +0 -2
  295. metadata +35 -324
@@ -10,7 +10,7 @@
10
10
  html: { class: "pd-form" },
11
11
  method: :put do |f|
12
12
 
13
- = render partial: "renalware/pd/regimes/form", locals: local_assigns.merge!(f: f)
13
+ = render partial: "renalware/pd/regimes/form", locals: local_assigns.merge!(f: f)
14
14
 
15
15
  .row
16
16
  .large-12.columns
@@ -20,7 +20,7 @@
20
20
  = render("renalware/pd/regimes/assistance_type", regime: regime)
21
21
  dt On additional HD?:
22
22
  dd= yes_no(regime.add_hd)
23
- = render"renalware/pd/regimes/glucose", regime: regime
23
+ = render "renalware/pd/regimes/glucose", regime: regime
24
24
 
25
25
  - if regime.apd?
26
26
  = render "renalware/pd/regimes/apd_regime_show", regime: regime
@@ -15,7 +15,7 @@
15
15
  collection: Renalware::PD::TrainingType.ordered,
16
16
  wrapper: :horizontal_medium
17
17
 
18
- = f.simple_fields_for :document, training_session.document do |fdoc|
18
+ = f.simple_fields_for :document, training_session.document do |fdoc|
19
19
  = fdoc.input :started_on, as: :date_picker, wrapper: :horizontal_datepicker
20
20
  = fdoc.input :trainer, wrapper: :horizontal_medium
21
21
  = fdoc.input :training_duration,
@@ -4,7 +4,11 @@ table.renal-registry-preflight-checks
4
4
  th.col-width-large Patient
5
5
  td.col-width-nhs-no NHS No.
6
6
  td.col-width-reference-no Hospital Nos.
7
- td.col-width-reference-no Modality
7
+ td.col-width-reference-no
8
+ = sort_link([:renalware, query],
9
+ :modality_descriptions_name,
10
+ "Modality",
11
+ default_order: :asc)
8
12
  td.col-width-small HD Site
9
13
  td Missing data
10
14
  tbody
@@ -1,4 +1,4 @@
1
1
  = within_admin_layout(title: "Renal Registry Return: Preflight Checks") do
2
2
  = render "navigation"
3
- = render "table", patients: patients
3
+ = render "table", patients: patients, query: query
4
4
  = paginate patients
@@ -1,4 +1,4 @@
1
1
  = within_admin_layout(title: "Renal Registry Return: Preflight Checks") do
2
2
  = render "navigation"
3
- = render "table", patients: patients
3
+ = render "table", patients: patients, query: query
4
4
  = paginate patients
@@ -6,4 +6,3 @@
6
6
  = f.input :terminated_on, as: :date_picker, wrapper: :horizontal_datepicker
7
7
  = f.input :notes, as: :text, wrapper: :horizontal_large, input_html: { rows: 6 }
8
8
  = save_or_cancel(form: f, back_path: research_studies_path)
9
-
@@ -16,4 +16,3 @@
16
16
  - study.participants.each do |participant|
17
17
  tr
18
18
  td= participant
19
-
@@ -15,7 +15,7 @@ ruby:
15
15
  = simple_form_for(participant,
16
16
  url: url,
17
17
  remote: true,
18
- html: { autocomplete: "off"},
18
+ html: { autocomplete: "off" },
19
19
  wrapper: :horizontal_form) do |f|
20
20
  - if participant.persisted?
21
21
  h5= participant.patient.to_s(:long)
@@ -42,4 +42,3 @@ ruby:
42
42
 
43
43
  javascript:
44
44
  $(document).ready(Renalware.Research.init);
45
-
@@ -1,4 +1,5 @@
1
1
  - if record.persisted?
2
+ / TODO: Bug here with assignment?
2
3
  - if version = record.versions.last
3
4
  span.note
4
5
  | Last update: 
@@ -3,7 +3,7 @@ ruby:
3
3
  attributes = group.class.attributes_list
4
4
 
5
5
  = render "renalware/shared/attributes_group",
6
- local_assigns.merge!({ models: { model => attributes }} )
6
+ local_assigns.merge!({ models: { model => attributes } })
7
7
  / destination: local_assigns[:destination],
8
8
  / legend: legend,
9
9
  / size:
@@ -1 +1 @@
1
- = dated_result.to_s
1
+ = dated_result.to_s
@@ -25,7 +25,7 @@ tr(data={ "snippet-id" => snippet.id, invocation_url: snippet_invocations_path(s
25
25
  td.col-width-medium.author= snippet.author
26
26
  -unless remote
27
27
  td.last_used_on
28
- = "#{snippet.last_used_on? ? l(snippet.last_used_on) : "Never"} (#{snippet.times_used})"
28
+ = "#{snippet.last_used_on? ? l(snippet.last_used_on) : 'Never'} (#{snippet.times_used})"
29
29
  td.updated_at= l(snippet.updated_at)
30
30
  td.actions
31
31
 
@@ -1,5 +1,5 @@
1
1
  = within_patient_layout(title: "Edit",
2
- breadcrumbs: [ donor_summary_breadcrumb(patient),
2
+ breadcrumbs: [donor_summary_breadcrumb(patient),
3
3
  donor_donation_breadcrumb(patient, donation)]) do
4
4
  .document
5
5
  = simple_form_for donation,
@@ -1,4 +1,3 @@
1
-
2
1
  = within_patient_layout(title: "Follow-up / Edit",
3
2
  breadcrumbs: [donor_summary_breadcrumb(patient)]) do
4
3
 
@@ -1,4 +1,3 @@
1
-
2
1
  = content_for(:actions) do
3
2
  = link_to t("edit_record.link_title"),
4
3
  edit_patient_transplants_donor_operation_followup_path(patient,
@@ -1,4 +1,3 @@
1
-
2
1
  = render_if_exists "filters", search: q
3
2
 
4
3
  table#patients.live-donors.columns
@@ -11,4 +11,4 @@ ruby:
11
11
  dl.sub-nav data-magellan-expedition="fixed"
12
12
  - sections.each do |title, target|
13
13
  dd data-magellan-arrival="#{target}"
14
- = link_to title, "#"+target
14
+ = link_to title, "#" + target
@@ -12,4 +12,4 @@ ruby:
12
12
  dl.sub-nav data-magellan-expedition="fixed"
13
13
  - sections.each do |title, target|
14
14
  dd data-magellan-arrival="#{target}"
15
- = link_to title, "#"+target
15
+ = link_to title, "#" + target
@@ -0,0 +1 @@
1
+ Delayed::Worker.logger = Logger.new(Rails.root.join("log", "delayed_job.log"))
@@ -1,5 +1,4 @@
1
1
  Ransack.configure do |config|
2
-
3
2
  # Change default search parameter key name.
4
3
  # Default key name is :q
5
4
  # config.search_key = :query
@@ -5,8 +5,10 @@ SimpleForm.setup do |config|
5
5
  # wrapper, change the order or even add your own to the
6
6
  # stack. The options given below are used to wrap the
7
7
  # whole input.
8
- config.wrappers :default, class: :input,
9
- hint_class: :field_with_hint, error_class: :field_with_errors do |b|
8
+ config.wrappers(:default,
9
+ class: :input,
10
+ hint_class: :field_with_hint,
11
+ error_class: :field_with_errors) do |b|
10
12
  ## Extensions enabled by default
11
13
  # Any of these extensions can be disabled for a
12
14
  # given input by passing: `f.input EXTENSION_NAME => false`.
@@ -138,8 +138,11 @@ SimpleForm.setup do |config|
138
138
  end
139
139
  end
140
140
 
141
- config.wrappers :horizontal_form, tag: "div", class: "row",
142
- hint_class: :field_with_hint, error_class: :error do |b|
141
+ config.wrappers(:horizontal_form,
142
+ tag: "div",
143
+ class: "row",
144
+ hint_class: :field_with_hint,
145
+ error_class: :error) do |b|
143
146
  b.use :html5
144
147
  b.use :placeholder
145
148
  b.optional :maxlength
@@ -228,8 +231,9 @@ SimpleForm.setup do |config|
228
231
  # The default wrapper to be used by the FormBuilder.
229
232
  config.default_wrapper = :vertical_form
230
233
 
231
- config.wrappers :two_columns_table_row, tag: "tr",
232
- hint_class: :field_with_hint, error_class: :error do |b|
234
+ config.wrappers(:two_columns_table_row,
235
+ tag: "tr",
236
+ hint_class: :field_with_hint, error_class: :error) do |b|
233
237
  b.use :html5
234
238
  b.use :placeholder
235
239
  b.optional :maxlength
@@ -23,5 +23,6 @@ en:
23
23
  age: Age
24
24
  sex: Sex
25
25
  notes: Notes
26
+ tags: Tags
26
27
  modality: Modality
27
28
  bookmarked_on: Bookmarked
@@ -59,13 +59,16 @@ en:
59
59
  capd_la: CAPD LA
60
60
  capd_ga: CAPD GA
61
61
  capd_ga_avf: CAPD GA + AVF
62
+ capd_ga_hernia: CAPD GA + Hernia Repair
63
+ capd_la_avf: CAPD LA + AVF
62
64
  capd_la_sedation: CAPD LA with sedation
65
+ capd_not_yet_assessed: CAPD not yet assessed by CAPD Team
63
66
  hd_via_avf: HD via AVF
64
67
  hd_via_ptfe_graft: HD via PTFE Graft
65
68
  hd_via_line: HD via line
66
69
  pre_emptive_lrd: pre-emptive LRD
67
70
  not_for_dial_patient_choice: Not for dialysis--patient choice
68
- not_for_dial_concensus: Not for dialysis--consensus
71
+ not_for_dial_consensus: Not for dialysis--consensus
69
72
  refuse_to_plan_for_dial: Refusing to plan for RTT--In Denial
70
73
  home_hd: Home HD
71
74
  self_care_hd: Self Care HD
@@ -1,6 +1,5 @@
1
1
  # rubocop:disable Style/FormatStringToken
2
2
  Renalware::Engine.routes.draw do
3
-
4
3
  match "/404", to: "system/errors#not_found", via: :all
5
4
  match "/500", to: "system/errors#internal_server_error", via: :all
6
5
  match "/generate_test_internal_server_error",
@@ -1,6 +1,6 @@
1
1
  class CreateEthnicities < ActiveRecord::Migration[4.2]
2
2
  def change
3
- create_table :patient_ethnicities do |t|
3
+ create_table "patient_ethnicities" do |t|
4
4
  t.string :name
5
5
  t.timestamps null: false
6
6
  end
@@ -0,0 +1,6 @@
1
+ class AddUuidToHDSessions < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :hd_sessions, :uuid, :uuid, default: 'uuid_generate_v4()', null: false
4
+ add_index :hd_sessions, :uuid
5
+ end
6
+ end
@@ -0,0 +1,63 @@
1
+ # This migration moves all engine-specific objects into the renalware schema.
2
+ # See also
3
+ # schema_search_path: "renalware,public"
4
+ # in database.yml - we look for objects in the renalware schema first.
5
+ #
6
+ # Someone developing a host application can create custom tables, views etc in the
7
+ # public schema and these will be found provided either
8
+ # - their name is unique and does not clash with a name in the renalware schema, or
9
+ # - they specify the schema in the model. For example if they are creating their own Patient model
10
+ # and `patients` table, they will need to use
11
+ # self.table_name = "public.patients"
12
+ # in order to avoid a clash with renalware.patients, which is the first entry
13
+ # in schema_search_path.
14
+ # - . This lets us ring fence renalware db objects and prevent
15
+ # name clashes as long as if for instance a host app defines a patients table in the public schema
16
+ # they reference it as public.patients otherwise renalware.patients will be used.
17
+ #
18
+ class MoveObjectsToRenalwareSchema < ActiveRecord::Migration[5.1]
19
+ FUNCTIONS = [
20
+ "refresh_all_matierialized_views(text, boolean)",
21
+ "audit_view_as_json(text)"
22
+ ]
23
+
24
+ def db_objects_of_type(type:, in_schema:)
25
+ results = execute "SELECT table_name FROM information_schema.tables "\
26
+ "WHERE table_schema='#{in_schema}' AND table_type='#{type}' " \
27
+ "and table_name not in ('schema_migrations','ar_internal_metadata')"
28
+ results.map{ |obj| obj["table_name"] }
29
+ end
30
+
31
+ def views(in_schema:)
32
+ db_objects_of_type(type: "VIEW", in_schema: in_schema)
33
+ end
34
+
35
+ def materialized_views(in_schema:)
36
+ results = execute(
37
+ "SELECT oid::regclass::text as table_name FROM pg_class WHERE relkind = 'm';"
38
+ )
39
+ results.map{ |obj| obj["table_name"] }
40
+ end
41
+
42
+ def tables(in_schema:)
43
+ db_objects_of_type(type: "BASE TABLE", in_schema: in_schema)
44
+ end
45
+
46
+ def up
47
+ execute "CREATE SCHEMA IF NOT EXISTS renalware"
48
+
49
+ tables(in_schema: "public").each{ |table| execute("ALTER TABLE #{table} SET SCHEMA renalware") }
50
+ views(in_schema: "public").each{ |view| execute("ALTER VIEW #{view} SET SCHEMA renalware") }
51
+ materialized_views(in_schema: "public").each{ |view| execute("ALTER MATERIALIZED VIEW #{view} SET SCHEMA renalware") }
52
+ FUNCTIONS.each{ |fn| execute "ALTER FUNCTION #{fn} SET SCHEMA renalware" }
53
+ # This causes an error on Heroku
54
+ # execute "ALTER EXTENSION \"uuid-ossp\" SET SCHEMA public;"
55
+ end
56
+
57
+ def down
58
+ tables(in_schema: "renalware").each{ |table| execute("ALTER TABLE #{table} SET SCHEMA public") }
59
+ views(in_schema: "renalware").each{ |view| execute("ALTER VIEW #{view} SET SCHEMA public") }
60
+ materialized_views(in_schema: "renalware").each{ |view| execute("ALTER MATERIALIZED VIEW #{view} SET SCHEMA public") }
61
+ FUNCTIONS.each{ |fn| execute "ALTER FUNCTION #{fn} SET SCHEMA public" }
62
+ end
63
+ end
@@ -0,0 +1,5 @@
1
+ class AddTagsToPatientBookmarks < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :patient_bookmarks, :tags, :string
4
+ end
5
+ end
@@ -33,9 +33,7 @@ class CollectionPresenter
33
33
  @decorated_collection.to_a
34
34
  end
35
35
 
36
- def size
37
- to_ary.size
38
- end
36
+ delegate :size, to: :to_ary
39
37
 
40
38
  def to_json
41
39
  @decorated_collection.map(&:to_hash).to_json
@@ -4,7 +4,6 @@ require "document/attribute_initializer/enum"
4
4
 
5
5
  module Document
6
6
  module AttributeInitializer
7
-
8
7
  def self.determine_initializer(klass, name, type, options)
9
8
  initializer_class = build_class(type)
10
9
  initializer_class.new(klass, name, type, options)
@@ -28,7 +28,7 @@ module Document
28
28
  end
29
29
 
30
30
  def document=(attributes)
31
- return unless attributes.present?
31
+ return if attributes.blank?
32
32
  filtered_attributes = filter_date_params(attributes)
33
33
  @document = document_class.new(filtered_attributes)
34
34
  serialize_document
@@ -22,7 +22,7 @@ module Renalware
22
22
  config_accessor(:salutation_prefix) { "Dear" }
23
23
  config_accessor(:page_title_spearator) { " : " }
24
24
  config_accessor(:patient_hospital_identifiers) { {} }
25
- config_accessor(:session_timeout_polling_frequency) { 15.seconds }
25
+ config_accessor(:session_timeout_polling_frequency) { 1.minute }
26
26
  config_accessor(:duration_of_last_url_memory_after_session_expiry) { 30.minutes }
27
27
  config_accessor(:broadcast_subscription_map) { {} }
28
28
  config_accessor(:include_sunday_on_hd_diaries) { false }
@@ -54,7 +54,6 @@ if ENV["RAILS_ENV"] == "development"
54
54
  end
55
55
 
56
56
  module Renalware
57
-
58
57
  # Don't have prefix method return anything.
59
58
  # This will keep Rails Engine from generating all table prefixes with the engines name
60
59
  def self.table_name_prefix; end
@@ -80,6 +79,26 @@ module Renalware
80
79
  app.config.i18n.fallbacks = [:en]
81
80
  end
82
81
 
82
+ # In production use lograge to help us tame a verbose logs/production.log.
83
+ # Note that the timestamp will be added before the lograge output by whatever Rails
84
+ # LogFormatter is being used (see the app's production.rb) e.g.
85
+ # config.log_formatter = ::Logger::Formatter.new
86
+ # So bear in mind both log_formatter and lograge are involved in logging.
87
+ # Note exceptions will still be logged including the stacktrace.
88
+ initializer :use_lograge_in_production do |app|
89
+ unless Rails.env.development?
90
+ require "lograge"
91
+ app.config.lograge.enabled = true
92
+
93
+ # Ignore session expiry JS polling as these calls fill up the log and we don't
94
+ # need to see them. 100 users with an active session polling every minute will add
95
+ # up to fair number of log entries.
96
+ app.config.lograge.ignore_actions = [
97
+ "Renalware::SessionTimeoutController#has_user_timed_out"
98
+ ]
99
+ end
100
+ end
101
+
83
102
  config.middleware.use Rack::Attack
84
103
  initializer :rack_attack do
85
104
  # Throttle login attempts for a given username parameter to 10 reqs/minute
@@ -141,6 +160,7 @@ module Renalware
141
160
  initializer :general do |app|
142
161
  app.config.time_zone = "London"
143
162
  app.config.active_record.time_zone_aware_types = [:datetime]
163
+ app.config.active_record.dump_schemas = :all
144
164
  unless Rails.env.development?
145
165
  app.config.exceptions_app = Engine.routes
146
166
  end
@@ -1,3 +1,3 @@
1
1
  module Renalware
2
- VERSION = "2.0.0.pre.beta11".freeze
2
+ VERSION = "2.0.0.pre.beta12".freeze
3
3
  end
@@ -19,7 +19,6 @@
19
19
  # invokes `mymessage` returning self ->
20
20
  # returns SmartDelegator decorating OriginalObject
21
21
  class SmartDelegator
22
-
23
22
  attr_reader :object
24
23
 
25
24
  def initialize(object)
@@ -2,11 +2,11 @@ module AutocompleteHelpers
2
2
  def fill_autocomplete(form, field, options = {})
3
3
  fill_in field, with: options[:with]
4
4
 
5
- page.execute_script %Q{ $('#{form}').find('[name=#{field}]').trigger('focus') }
6
- page.execute_script %Q{ $('#{form}').find('[name=#{field}]').trigger('keydown') }
5
+ page.execute_script " $('#{form}').find('[name=#{field}]').trigger('focus') "
6
+ page.execute_script " $('#{form}').find('[name=#{field}]').trigger('keydown') "
7
7
  selector = %Q{ul.ui-autocomplete li.ui-menu-item:contains("#{options[:select]}")}
8
8
 
9
9
  expect(page).to have_selector("ul.ui-autocomplete li.ui-menu-item")
10
- page.execute_script %Q{ $('#{selector}').trigger('mouseenter').click() }
10
+ page.execute_script " $('#{selector}').trigger('mouseenter').click() "
11
11
  end
12
12
  end
@@ -2,7 +2,7 @@ FactoryBot.define do
2
2
  factory :body_composition, class: "Renalware::Clinical::BodyComposition" do
3
3
  accountable
4
4
  patient
5
- assessed_on 1.week.ago
5
+ assessed_on { 1.week.ago }
6
6
  overhydration "19.1"
7
7
  volume_of_distribution "52.1"
8
8
  total_body_water "23.1"