renalware-core 2.0.153 → 2.0.155

Sign up to get free protection for your applications and to get access to all the features.
Files changed (286) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/renalware/components/navigation.js +0 -7
  3. data/app/assets/javascripts/renalware/components/sortable.js +3 -0
  4. data/app/assets/javascripts/renalware/core.js.erb +0 -2
  5. data/app/assets/javascripts/renalware/rollup_compiled.css +69147 -50289
  6. data/app/assets/javascripts/renalware/rollup_compiled.js +10 -14
  7. data/app/assets/stylesheets/renalware/base/_variables.scss +1 -0
  8. data/app/assets/stylesheets/renalware/lib/_foundation_and_overrides.scss +1 -620
  9. data/app/assets/stylesheets/renalware/lib/_select2-foundation5-overrides.scss +1 -1
  10. data/app/assets/stylesheets/renalware/modules/_medications.scss +9 -9
  11. data/app/assets/stylesheets/renalware/modules/_patients.scss +4 -0
  12. data/app/assets/stylesheets/renalware/modules/_users.scss +2 -1
  13. data/app/assets/stylesheets/renalware/partials/_forms.scss +11 -0
  14. data/app/assets/stylesheets/renalware/partials/_navigation.scss +15 -12
  15. data/app/assets/stylesheets/renalware/partials/_simple_form.scss +1 -1
  16. data/app/assets/stylesheets/renalware/partials/_tables.scss +15 -8
  17. data/app/assets/stylesheets/renalware/partials/_toggle.scss +0 -66
  18. data/app/assets/stylesheets/renalware/partials/_toggling.scss +18 -0
  19. data/app/assets/stylesheets/renalware/partials/_trix.scss +12 -0
  20. data/app/components/renalware/admissions/active_consult_alert_component.html.slim +4 -0
  21. data/app/components/renalware/admissions/active_consult_alert_component.rb +25 -0
  22. data/app/components/renalware/article_component.html.slim +5 -0
  23. data/app/components/renalware/article_component.rb +12 -0
  24. data/app/components/renalware/events/event_list_component.rb +6 -1
  25. data/app/components/renalware/medications/tabbed_prescriptions_list_component.html.slim +41 -0
  26. data/app/components/renalware/medications/tabbed_prescriptions_list_component.rb +47 -0
  27. data/app/components/renalware/patients/messages_component.html.slim +45 -0
  28. data/app/components/renalware/patients/messages_component.rb +52 -0
  29. data/app/components/renalware/pd/adequacy_results_component.html.slim +3 -5
  30. data/app/components/renalware/system/admin_menu_component.html.slim +3 -1
  31. data/app/components/renalware/users/last_signin_component.html.slim +3 -0
  32. data/app/components/renalware/users/last_signin_component.rb +23 -0
  33. data/app/controllers/renalware/admin/playgrounds_controller.rb +1 -1
  34. data/app/controllers/renalware/admin/users_controller.rb +1 -0
  35. data/app/controllers/renalware/drugs/drugs_controller.rb +4 -0
  36. data/app/controllers/renalware/hd/historical_profiles_controller.rb +1 -1
  37. data/app/controllers/renalware/medications/prescriptions_controller.rb +5 -2
  38. data/app/controllers/renalware/messaging/internal/messages_controller.rb +14 -5
  39. data/app/controllers/renalware/pathology/observation_descriptions_controller.rb +58 -0
  40. data/app/controllers/renalware/patients/mdms_controller.rb +104 -0
  41. data/app/controllers/renalware/system/view_metadata_controller.rb +61 -0
  42. data/app/controllers/renalware/users_controller.rb +25 -0
  43. data/app/helpers/renalware/drugs_helper.rb +6 -0
  44. data/app/helpers/renalware/layout_helper.rb +1 -1
  45. data/app/models/concerns/renalware/sortable.rb +49 -0
  46. data/app/models/renalware/accesses/patient.rb +2 -2
  47. data/app/models/renalware/accesses/plan.rb +1 -1
  48. data/app/models/renalware/admissions/request.rb +1 -0
  49. data/app/models/renalware/clinical/body_composition.rb +1 -1
  50. data/app/models/renalware/clinical/dry_weight.rb +1 -1
  51. data/app/models/renalware/clinics/clinic_visit.rb +5 -4
  52. data/app/models/renalware/feeds/files/create_feed_file.rb +1 -1
  53. data/app/models/renalware/hd/patient.rb +1 -1
  54. data/app/models/renalware/hd/preference_set.rb +1 -1
  55. data/app/models/renalware/hd/profile.rb +4 -4
  56. data/app/models/renalware/hd/schedule_definition.rb +1 -1
  57. data/app/models/renalware/hd/session.rb +2 -2
  58. data/app/models/renalware/hd/session_forms/batch_compile_pdfs.rb +1 -1
  59. data/app/models/renalware/hd/station.rb +2 -1
  60. data/app/models/renalware/letters/description.rb +2 -0
  61. data/app/models/renalware/letters/letter.rb +1 -1
  62. data/app/models/renalware/letters/part/prescriptions.rb +12 -3
  63. data/app/models/renalware/letters/pdf_letter_cache.rb +1 -1
  64. data/app/models/renalware/letters/printing/batch_compile_pdfs.rb +1 -1
  65. data/app/models/renalware/letters/recipient_params_processor.rb +1 -1
  66. data/app/models/renalware/medications/prescription.rb +0 -4
  67. data/app/models/renalware/messaging/internal/message_form.rb +1 -0
  68. data/app/models/renalware/messaging/internal/message_form_builder.rb +2 -1
  69. data/app/models/renalware/pathology/current_observations_for_descriptions_query.rb +3 -3
  70. data/app/models/renalware/pathology/measurement_unit.rb +13 -0
  71. data/app/models/renalware/pathology/observation_description.rb +23 -5
  72. data/app/models/renalware/pathology/observation_descriptions_by_code_query.rb +1 -1
  73. data/app/models/renalware/pathology/observation_requests_attributes_builder.rb +45 -5
  74. data/app/models/renalware/pathology/observations_within_date_range_query.rb +1 -1
  75. data/app/models/renalware/patient.rb +2 -2
  76. data/app/models/renalware/patients/bookmark.rb +2 -2
  77. data/app/models/renalware/patients/mdm_menu.rb +41 -0
  78. data/app/models/renalware/patients/mdm_patients_query.rb +1 -1
  79. data/app/models/renalware/patients/search_query.rb +1 -1
  80. data/app/models/renalware/patients/worry.rb +0 -1
  81. data/app/models/renalware/pd/mdm_patients_query.rb +1 -1
  82. data/app/models/renalware/problems/problem.rb +2 -1
  83. data/app/models/renalware/snippets/snippet_query.rb +1 -1
  84. data/app/models/renalware/surveys/question.rb +1 -2
  85. data/app/models/renalware/system/column_definition.rb +43 -0
  86. data/app/models/renalware/system/filter_definition.rb +29 -0
  87. data/app/models/renalware/system/update_user.rb +5 -0
  88. data/app/models/renalware/system/version.rb +11 -0
  89. data/app/models/renalware/system/view_metadata.rb +25 -0
  90. data/app/models/renalware/transplants/donation.rb +1 -1
  91. data/app/models/renalware/transplants/donor_followup.rb +0 -1
  92. data/app/models/renalware/transplants/failure_cause_description.rb +1 -1
  93. data/app/models/renalware/transplants/mdm_patients_query.rb +2 -2
  94. data/app/models/renalware/transplants/patient.rb +1 -1
  95. data/app/models/renalware/transplants/recipient_followup.rb +1 -3
  96. data/app/models/renalware/transplants/registration.rb +1 -3
  97. data/app/models/renalware/transplants/registrations/wait_list_query.rb +4 -4
  98. data/app/models/renalware/ukrdc/measurement_unit.rb +21 -0
  99. data/app/models/renalware/ukrdc/outgoing/rendering/lab_order.rb +30 -2
  100. data/app/models/renalware/ukrdc/paths.rb +1 -1
  101. data/app/models/renalware/ukrdc/treatment_timeline/prepare_tables.rb +1 -1
  102. data/app/models/renalware/ukrdc/treatment_timeline/remap_model_table_names_to_their_prepared_equivalents.rb +1 -1
  103. data/app/policies/application_policy.rb +1 -1
  104. data/app/policies/renalware/medications/prescription_policy.rb +35 -0
  105. data/app/policies/renalware/system/view_metadata_policy.rb +17 -0
  106. data/app/presenters/concerns/renalware/accountable_presentation.rb +33 -0
  107. data/app/presenters/renalware/clinics/visit_presenter.rb +11 -0
  108. data/app/presenters/renalware/events/event_presenter.rb +11 -0
  109. data/app/presenters/renalware/mdm_presenter.rb +11 -0
  110. data/app/presenters/renalware/pathology/results_presenter.rb +1 -2
  111. data/app/presenters/renalware/renal/clinical_summary_presenter.rb +9 -6
  112. data/app/views/renalware/admin/playgrounds/show.html.slim +2 -6
  113. data/app/views/renalware/admin/users/edit.html.slim +9 -0
  114. data/app/views/renalware/admin/users/index.html.slim +6 -0
  115. data/app/views/renalware/admissions/admissions/_filters.html.slim +8 -16
  116. data/app/views/renalware/clinical/allergies/_list.html.slim +3 -1
  117. data/app/views/renalware/dashboard/dashboards/show.html.slim +1 -0
  118. data/app/views/renalware/hd/protocols/_virology.html.slim +4 -5
  119. data/app/views/renalware/letters/letters/_form.html.slim +1 -1
  120. data/app/views/renalware/letters/parts/_prescriptions.html.slim +4 -0
  121. data/app/views/renalware/mdm/_prescriptions.html.slim +4 -13
  122. data/app/views/renalware/mdm/prescriptions/_table.html.slim +3 -1
  123. data/app/views/renalware/medications/prescriptions/_current_hd.html.slim +13 -0
  124. data/app/views/renalware/medications/prescriptions/_filter_form.html.slim +26 -13
  125. data/app/views/renalware/medications/prescriptions/_form.html.slim +3 -2
  126. data/app/views/renalware/medications/prescriptions/_options.html.slim +3 -3
  127. data/app/views/renalware/medications/prescriptions/_table.html.slim +5 -4
  128. data/app/views/renalware/medications/prescriptions/_tables.html.slim +13 -16
  129. data/app/views/renalware/medications/prescriptions/index.html.slim +5 -4
  130. data/app/views/renalware/messaging/internal/messages/_form.html.slim +3 -0
  131. data/app/views/renalware/messaging/internal/messages/index.html.slim +36 -0
  132. data/app/views/renalware/navigation/_mdms.html.slim +5 -0
  133. data/app/views/renalware/navigation/_renal.html.slim +1 -0
  134. data/app/views/renalware/navigation/{_super_admin.html.slim → _super_admin.html.slim.dead} +0 -0
  135. data/app/views/renalware/pathology/code_groups/edit.html.slim +5 -5
  136. data/app/views/renalware/pathology/code_groups/index.html.slim +4 -5
  137. data/app/views/renalware/pathology/code_groups/show.html.slim +25 -26
  138. data/app/views/renalware/pathology/observation_descriptions/_filters.html.slim +14 -0
  139. data/app/views/renalware/pathology/observation_descriptions/edit.html.slim +21 -0
  140. data/app/views/renalware/pathology/observation_descriptions/index.html.slim +38 -0
  141. data/app/views/renalware/pathology/requests/requests/request_form/_crs_form.html.slim +1 -1
  142. data/app/views/renalware/patients/alerts/_list.html.slim +1 -0
  143. data/app/views/renalware/patients/mdms/_filters.html.slim +38 -0
  144. data/app/views/renalware/patients/mdms/_table.html.slim +72 -0
  145. data/app/views/renalware/patients/mdms/show.html.slim +18 -0
  146. data/app/views/renalware/patients/side_menu/_general.html.slim +4 -0
  147. data/app/views/renalware/patients/worryboard/_filters.html.slim +18 -13
  148. data/app/views/renalware/pd/_peritonitis_episodes.html.slim +13 -13
  149. data/app/views/renalware/pd/adequacy_results/_form_fields.html.slim +1 -1
  150. data/app/views/renalware/pd/adequacy_results/_table.html.slim +2 -2
  151. data/app/views/renalware/pd/peritonitis_episodes/show.html.slim +8 -6
  152. data/app/views/renalware/shared/_fieldset.html.slim +1 -2
  153. data/app/views/renalware/shared/_magellan_block.html.slim +1 -2
  154. data/app/views/renalware/system/view_metadata/_columns_table.html.slim +44 -0
  155. data/app/views/renalware/system/view_metadata/_filters_form.html.slim +19 -0
  156. data/app/views/renalware/system/view_metadata/_versions.html.slim +23 -0
  157. data/app/views/renalware/system/view_metadata/edit.html.slim +66 -0
  158. data/app/views/renalware/transplants/mdm/_prescriptions.html.slim +6 -22
  159. data/app/views/renalware/users/_filters.html.slim +11 -0
  160. data/app/views/renalware/users/index.html.slim +24 -0
  161. data/config/initializers/core_extensions.rb +2 -2
  162. data/config/initializers/delayed_job.rb +1 -1
  163. data/config/initializers/inflections.rb +1 -0
  164. data/config/initializers/pagy.rb +5 -0
  165. data/config/locales/renalware/clinical/allergies.en.yml +1 -0
  166. data/config/locales/renalware/medications/tabbed_prescriptions_list_component.yml +15 -0
  167. data/config/locales/renalware/navigation/renal.en.yml +1 -0
  168. data/config/locales/renalware/patients/side_menu.en.yml +1 -0
  169. data/config/permissions.yml +1 -0
  170. data/config/routes.rb +1 -0
  171. data/config/routes/messaging.rb +9 -1
  172. data/config/routes/pathology.rb +1 -0
  173. data/config/routes/patients.rb +1 -0
  174. data/config/routes/system.rb +3 -0
  175. data/config/routes/users.rb +3 -0
  176. data/db/functions/convert_to_float_with_explicit_return_v01.sql +18 -0
  177. data/db/functions/update_current_observation_set_from_trigger_v05.sql +92 -0
  178. data/db/functions/update_pathology_observations_nresult_from_trigger_v01.sql +13 -0
  179. data/db/migrate/20200122182018_update_patient_current_modalities.rb +7 -0
  180. data/db/migrate/20200122182036_create_transplant_mdm_patients.rb +7 -0
  181. data/db/migrate/20200122190909_create_view_metadata.rb +44 -0
  182. data/db/migrate/20200131133223_create_hd_mdm_patients.rb +7 -0
  183. data/db/migrate/20200205185151_add_columns_to_system_view_metadata.rb +13 -0
  184. data/db/migrate/20200219113324_create_supportive_care_mdm_patients_view.rb +7 -0
  185. data/db/migrate/20200622120232_add_limits_to_path_obs_descriptions.rb +18 -0
  186. data/db/migrate/20200626081248_overload_convert_to_float_function.rb +13 -0
  187. data/db/migrate/20200626090256_add_nresult_to_pathology_observations.rb +29 -0
  188. data/db/migrate/20200628094228_add_prescriber_to_users.rb +14 -0
  189. data/db/migrate/20200812074223_add_public_flag_to_messages.rb +18 -0
  190. data/db/migrate/20200815150303_create_system_versions.rb +16 -0
  191. data/db/migrate/20200817085618_create_pd_mdm_patients.rb +7 -0
  192. data/db/migrate/20200817103930_create_low_clearance_mdm_patients.rb +7 -0
  193. data/db/migrate/20201001144512_update_fn_update_current_obs_set_triggerv05.rb +13 -0
  194. data/db/migrate/20201001145452_add_position_to_letter_descriptions.rb +5 -0
  195. data/db/migrate/20201009090959_make_drug_types_unique.rb +8 -0
  196. data/db/migrate/20201012160414_add_suggested_measurement_unit_to_pathology_observation_descriptions.rb +18 -0
  197. data/db/migrate/20201012171428_create_ukrdc_measurement_units.rb +18 -0
  198. data/db/migrate/20201015160542_add_position_to_drug_types.rb +31 -0
  199. data/db/migrate/20201020155510_add_bmi_to_clinic_visits.rb +28 -0
  200. data/db/migrate/20201020164524_update_pd_mdm_patients_view.rb +7 -0
  201. data/db/migrate/20201020170921_update_hd_mdm_patients_view.rb +7 -0
  202. data/db/migrate/20201020171139_update_low_clearance_mdm_patients_view.rb +7 -0
  203. data/db/migrate/20201021153832_update_supportive_care_mdm_patients_view.rb +7 -0
  204. data/db/migrate/20201021154809_update_transplant_mdm_patients_view.rb +7 -0
  205. data/db/migrate/20201023092859_remove_unused_indexes.rb +20 -0
  206. data/db/seeds/default/system/seeds.rb +1 -0
  207. data/db/seeds/default/system/view_metadata.rb +91 -0
  208. data/db/seeds/default/ukrdc/measurement_units.csv +12 -0
  209. data/db/seeds/default/ukrdc/measurement_units.rb +15 -0
  210. data/db/seeds/default/ukrdc/seeds.rb +1 -0
  211. data/db/triggers/update_pathology_observations_nresult_trigger_v01.sql +11 -0
  212. data/db/views/hd_mdm_patients_v01.sql +69 -0
  213. data/db/views/hd_mdm_patients_v02.sql +70 -0
  214. data/db/views/low_clearance_mdm_patients_v01.sql +38 -0
  215. data/db/views/low_clearance_mdm_patients_v02.sql +39 -0
  216. data/db/views/patient_current_modalities_v02.sql +18 -0
  217. data/db/views/pd_mdm_patients_v01.sql +42 -0
  218. data/db/views/pd_mdm_patients_v02.sql +43 -0
  219. data/db/views/supportive_care_mdm_patients_v01.sql +28 -0
  220. data/db/views/supportive_care_mdm_patients_v02.sql +29 -0
  221. data/db/views/transplant_mdm_patients_v01.sql +46 -0
  222. data/db/views/transplant_mdm_patients_v02.sql +47 -0
  223. data/lib/renalware/configuration.rb +2 -0
  224. data/lib/renalware/engine.rb +2 -2
  225. data/lib/renalware/version_number.rb +1 -1
  226. data/lib/tasks/db.rake +9 -0
  227. data/lib/tasks/pd.rake +28 -0
  228. data/spec/factories/drugs/drug_types.rb +5 -1
  229. data/spec/factories/messaging/internal/messages.rb +1 -0
  230. data/spec/factories/patients/practices.rb +1 -1
  231. data/spec/factories/patients/primary_care_physicians.rb +1 -1
  232. data/spec/factories/system/users.rb +1 -0
  233. data/spec/factories/system/view_metadata.rb +20 -0
  234. data/spec/support/capybara_helper.rb +2 -4
  235. data/spec/support/letters_spec_helper.rb +1 -1
  236. data/spec/support/matchers/validate_timeliness_of.rb +1 -1
  237. data/spec/support/pathology_spec_helper.rb +1 -2
  238. data/spec/support/policy_spec_helper.rb +12 -0
  239. data/vendor/assets/javascripts/foundation/foundation.alert.js +43 -0
  240. data/vendor/assets/javascripts/foundation/foundation.dropdown.js +468 -0
  241. data/vendor/assets/javascripts/foundation/foundation.js +727 -0
  242. data/vendor/assets/javascripts/foundation/foundation.reveal.js +522 -0
  243. data/vendor/assets/javascripts/foundation/foundation.tab.js +247 -0
  244. data/vendor/assets/javascripts/foundation/foundation.tooltip.js +348 -0
  245. data/vendor/assets/javascripts/foundation/foundation.topbar.js +458 -0
  246. data/vendor/assets/stylesheets/foundation/_functions.scss +156 -0
  247. data/vendor/assets/stylesheets/foundation/components/_alert-boxes.scss +128 -0
  248. data/vendor/assets/stylesheets/foundation/components/_buttons.scss +261 -0
  249. data/vendor/assets/stylesheets/foundation/components/_dropdown-buttons.scss +130 -0
  250. data/vendor/assets/stylesheets/foundation/components/_dropdown.scss +269 -0
  251. data/vendor/assets/stylesheets/foundation/components/_forms.scss +601 -0
  252. data/vendor/assets/stylesheets/foundation/components/_global.scss +566 -0
  253. data/vendor/assets/stylesheets/foundation/components/_grid.scss +292 -0
  254. data/vendor/assets/stylesheets/foundation/components/_labels.scss +106 -0
  255. data/vendor/assets/stylesheets/foundation/components/_pagination.scss +163 -0
  256. data/vendor/assets/stylesheets/foundation/components/_panels.scss +107 -0
  257. data/vendor/assets/stylesheets/foundation/components/_reveal.scss +212 -0
  258. data/vendor/assets/stylesheets/foundation/components/_side-nav.scss +120 -0
  259. data/vendor/assets/stylesheets/foundation/components/_split-buttons.scss +203 -0
  260. data/vendor/assets/stylesheets/foundation/components/_sub-nav.scss +125 -0
  261. data/vendor/assets/stylesheets/foundation/components/_tables.scss +135 -0
  262. data/vendor/assets/stylesheets/foundation/components/_tabs.scss +142 -0
  263. data/vendor/assets/stylesheets/foundation/components/_tooltips.scss +142 -0
  264. data/vendor/assets/stylesheets/foundation/components/_top-bar.scss +745 -0
  265. data/vendor/assets/stylesheets/foundation/components/_type.scss +525 -0
  266. data/vendor/assets/stylesheets/foundation/components/_visibility.scss +425 -0
  267. metadata +162 -64
  268. data/app/views/renalware/pd/infection_organisms/_edit.html.slim.obsolete +0 -16
  269. data/app/views/renalware/transplants/donor_operations/_sections_nav.html.slim +0 -11
  270. data/app/views/renalware/transplants/donor_workups/_sections_nav.html.slim +0 -15
  271. data/app/views/renalware/transplants/recipient_operations/_sections_nav.html.slim +0 -14
  272. data/app/views/renalware/transplants/recipient_workups/_sections_nav.html.slim +0 -15
  273. data/lib/core_extensions/active_record/sort.rb +0 -52
  274. data/spec/support/pages/accesses/procedure_page.rb +0 -53
  275. data/spec/support/pages/accesses/profile_page.rb +0 -45
  276. data/spec/support/pages/admissions/consults_page.rb +0 -26
  277. data/spec/support/pages/clinical/allergy_page.rb +0 -74
  278. data/spec/support/pages/clinical/profile_page.rb +0 -28
  279. data/spec/support/pages/hd/prescription_administration_dialog.rb +0 -132
  280. data/spec/support/pages/letters/form.rb +0 -63
  281. data/spec/support/pages/letters/mailshots/form.rb +0 -58
  282. data/spec/support/pages/letters/patient_letters.rb +0 -20
  283. data/spec/support/pages/low_clearance/profile_page.rb +0 -70
  284. data/spec/support/pages/medications/home_delivery_dialog.rb +0 -77
  285. data/spec/support/pages/medications/prescription_fom.rb +0 -62
  286. data/spec/support/pages/page_object.rb +0 -10
@@ -4,7 +4,7 @@ span.select2 {
4
4
  }
5
5
 
6
6
  .grouped_select {
7
- margin-bottom: 0.7rem;
7
+ // margin-bottom: 0.7rem;
8
8
 
9
9
  label {
10
10
  margin-bottom: 0;
@@ -57,15 +57,15 @@ tbody tr {
57
57
  }
58
58
 
59
59
  .medications-filter {
60
- select {
61
- width: 250px;
62
- }
63
-
64
- .button {
65
- border-bottom-left-radius: 0 !important;
66
- border-top-left-radius: 0 !important;
67
- padding: .53rem 1rem;
68
- }
60
+ // select {
61
+ // width: 250px;
62
+ // }
63
+
64
+ // .button {
65
+ // border-bottom-left-radius: 0 !important;
66
+ // border-top-left-radius: 0 !important;
67
+ // padding: .53rem 1rem;
68
+ // }
69
69
  }
70
70
 
71
71
  .find-drug-list ul.drug-results-admin {
@@ -354,6 +354,10 @@ form {
354
354
  }
355
355
 
356
356
  .page--patients-clinical_summaries {
357
+ .summary-part--messages {
358
+ @include grid-column(12);
359
+ }
360
+
357
361
  .summary-part--letters {
358
362
  @include grid-column(12);
359
363
  }
@@ -1,4 +1,5 @@
1
- .admin-users {
1
+ .admin-users,
2
+ .all-users {
2
3
  td.approved {
3
4
  color: $nhs-light-green;
4
5
  text-align: center;
@@ -29,6 +29,17 @@ textarea.monospace {
29
29
  display: none;
30
30
  }
31
31
  }
32
+ .filters--flex {
33
+ .flex {
34
+ input, select, .select2 {
35
+ margin: 0;
36
+ }
37
+
38
+ .button {
39
+ padding: .5rem 1rem
40
+ }
41
+ }
42
+ }
32
43
 
33
44
  // Hide up down arrows on number inputs
34
45
  input[type="number"]::-webkit-inner-spin-button,
@@ -49,11 +49,6 @@ dd.patient-name {
49
49
  display: none;
50
50
  }
51
51
 
52
- [data-magellan-expedition],
53
- [data-magellan-expedition-clone] {
54
- padding: 5px 0;
55
- }
56
-
57
52
  .sub-nav.fixed {
58
53
  left: auto;
59
54
  }
@@ -212,7 +207,9 @@ dd.patient-name {
212
207
  color: rgba(255, 255, 255, 0.5);
213
208
  font-size: 0.8em;
214
209
  line-height: 45px;
215
- padding: 0 15px;
210
+ padding: 0 8px;
211
+ border-top: solid 1px #666;
212
+ text-transform: uppercase;
216
213
  }
217
214
 
218
215
  .dropdown.button {
@@ -255,7 +252,8 @@ dd.patient-name {
255
252
  width: 100%;
256
253
  }
257
254
 
258
- .sub-nav dd {
255
+ .sub-nav dd,
256
+ .sub-nav li {
259
257
  margin: 0 0.25rem 0 0;
260
258
  }
261
259
 
@@ -276,7 +274,8 @@ dd.patient-name {
276
274
  }
277
275
  }
278
276
 
279
- .sub-nav dd a {
277
+ .sub-nav dd a,
278
+ .sub-nav li a {
280
279
  background-color: transparent;
281
280
  border: solid transparent;
282
281
  border-radius: 3px 3px 0 0;
@@ -288,22 +287,26 @@ dd.patient-name {
288
287
  white-space: nowrap;
289
288
  }
290
289
 
291
- .sub-nav dd a:hover {
290
+ .sub-nav dd a:hover,
291
+ .sub-nav li a:hover {
292
292
  color: $dark-grey;
293
293
  }
294
294
 
295
- .sub-nav dd.active a {
295
+ .sub-nav dd.active a,
296
+ .sub-nav li.active a {
296
297
  background-color: $white;
297
298
  border-color: $nhs-orange $tab-border-color transparent;
298
299
  color: $dark-grey;
299
300
  padding: 0.3rem 1.3rem;
300
301
  }
301
302
 
302
- .sub-nav dd.active {
303
+ .sub-nav dd.active,
304
+ .sub-nav li.active {
303
305
  font-weight: bold;
304
306
  }
305
307
 
306
- .sub-nav dd.active a:hover {
308
+ .sub-nav dd.active a:hover,
309
+ .sub-nav li.active a:hover {
307
310
  background-color: $white;
308
311
  color: $dark-grey;
309
312
  }
@@ -61,7 +61,7 @@
61
61
  }
62
62
 
63
63
  .hint {
64
- color: $form-hint-colour;
64
+ color: $form-hint-colour-strong;
65
65
  display: block;
66
66
  font-size: 0.75rem;
67
67
  font-style: italic;
@@ -228,6 +228,21 @@ table {
228
228
  }
229
229
 
230
230
  tr td {
231
+ &.with-ellipsis {
232
+ overflow: hidden;
233
+ text-overflow: ellipsis;
234
+ white-space: nowrap;
235
+ max-width: 0;
236
+ }
237
+
238
+ &.col-width-small-with-ellipsis {
239
+ min-width: 5.1rem;
240
+ max-width: 5.1rem;
241
+ overflow: hidden;
242
+ text-overflow: ellipsis;
243
+ white-space: nowrap;
244
+ }
245
+
231
246
  &.col-width-medium-with-ellipsis {
232
247
  max-width: 7rem;
233
248
  min-width: 5rem;
@@ -427,14 +442,6 @@ td {
427
442
  font-size: 0.9em;
428
443
  }
429
444
 
430
- .accordion dd > a.toggle-info {
431
- background: none;
432
- border-radius: 0.5em;
433
- color: $link-colour;
434
- font-size: 0.9em;
435
- padding: 0 0.3em 0 0.3em;
436
- }
437
-
438
445
  thead,
439
446
  tbody,
440
447
  th,
@@ -1,62 +1,3 @@
1
- .accordion .accordion-navigation > .content,
2
- .accordion dd > .content {
3
- color: $nhs-dark-red;
4
- font-weight: normal;
5
- padding: 0.25rem 0.5rem;
6
- }
7
-
8
- .accordion-navigation.active {
9
- background-color: $white;
10
- border-radius: 3px;
11
- }
12
-
13
- .accordion .accordion-navigation > a,
14
- .accordion dd > a {
15
- border-radius: 0.5em;
16
- font-size: 1rem;
17
- padding: 0 0.5em 0 0;
18
- text-decoration: none;
19
- }
20
-
21
- .accordion-navigation a span {
22
- color: $dark-grey;
23
- }
24
-
25
- .accordion-navigation a .when {
26
- font-weight: bold;
27
- }
28
-
29
- .accordion-navigation a .what,
30
- .accordion-navigation a .about {
31
- color: $link-colour;
32
- text-decoration: underline;
33
- }
34
-
35
- .accordion-navigation a .whom {
36
- color: $nhs-dark-blue;
37
- font-weight: bold;
38
- }
39
-
40
- .accordion .accordion-navigation.active > a,
41
- .accordion dd.active > a {
42
- background-color: $white;
43
- }
44
-
45
- .accordion a.toggle-info:hover {
46
- background-color: $link-colour;
47
- color: $white;
48
- }
49
-
50
- .accordion a.toggle-info:hover span,
51
- .accordion a.toggle-info:hover:before {
52
- color: $white;
53
- }
54
-
55
- .accordion .active a.toggle-info:hover {
56
- border-bottom-left-radius: 0;
57
- border-bottom-right-radius: 0;
58
- }
59
-
60
1
  .hide-button {
61
2
  display: none;
62
3
  }
@@ -115,13 +56,6 @@
115
56
  display: none;
116
57
  }
117
58
 
118
- .accordion dd > a.toggle-info {
119
- background: none;
120
- border-radius: 3px;
121
- color: $link-colour;
122
- padding: 0 0.3em 0 0.3em;
123
- }
124
-
125
59
  .toggle-text {
126
60
  font-size: 0.8em;
127
61
  }
@@ -66,6 +66,24 @@ th.togglers {
66
66
  }
67
67
  }
68
68
 
69
+ &.easy-read {
70
+ .toggleable--open {
71
+ tr,
72
+ tr:hover {
73
+ background-color: #fffeee;
74
+
75
+ td {
76
+ border-bottom-color: #eee;
77
+ }
78
+
79
+ p {
80
+ margin-left: 0;
81
+ padding-left: 0;
82
+ }
83
+ }
84
+ }
85
+ }
86
+
69
87
  tbody {
70
88
  tr:last-child {
71
89
  display: none
@@ -1,3 +1,15 @@
1
+
2
+ // TailwindCSS overides and set all li to have no style - which is pretty mean - so reverting here
3
+ .trix-content {
4
+ ul li {
5
+ list-style: initial;
6
+ }
7
+
8
+ ol li {
9
+ list-style: decimal;
10
+ }
11
+ }
12
+
1
13
  trix-toolbar {
2
14
  display: inline-block;
3
15
 
@@ -0,0 +1,4 @@
1
+ li.patient-alert.bg-pink-200.text-gray-700
2
+ i.fas.fa-exclamation-triangle
3
+ span.title
4
+ = link_to "Active Consult", renalware.edit_admissions_consult_path(id: consult_id)
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Renalware
4
+ module Admissions
5
+ # rubocop:disable Rails/Pick
6
+ class ActiveConsultAlertComponent < ApplicationComponent
7
+ pattr_initialize [:current_user, :patient!]
8
+
9
+ def consult_id
10
+ @consult_id ||= begin
11
+ Consult
12
+ .where(patient_id: patient.id, ended_on: nil)
13
+ .order(started_on: :desc)
14
+ .pluck(:id)
15
+ .first
16
+ end
17
+ end
18
+
19
+ def render?
20
+ consult_id.present?
21
+ end
22
+ end
23
+ # rubocop:enable Rails/Pick
24
+ end
25
+ end
@@ -0,0 +1,5 @@
1
+ article
2
+ header.flex.flex-row
3
+ h2.flex-grow== title || title_link
4
+ .flex-row= actions
5
+ = content
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Renalware
4
+ # Renders article markup with ttle and optional actions etc.
5
+ # We use <article> extensively so this is a useful component that lets us
6
+ # build more and more useful components. Other components can use this component
7
+ # in their markup.
8
+ class ArticleComponent < ApplicationComponent
9
+ pattr_initialize [:title]
10
+ with_content_areas :title_link, :actions
11
+ end
12
+ end
@@ -36,7 +36,12 @@ module Renalware
36
36
 
37
37
  # This assumes the event class has a scope called #ordered
38
38
  def events
39
- @events ||= relation.includes(:created_by).ordered.limit(limit)
39
+ @events ||= begin
40
+ CollectionPresenter.new(
41
+ relation.includes(:created_by).ordered.limit(limit),
42
+ Events::EventPresenter
43
+ )
44
+ end
40
45
  end
41
46
 
42
47
  def event_count
@@ -0,0 +1,41 @@
1
+ div(data-controller="tabs" data-tabs-active-tab="active")
2
+ .tabs-container
3
+ ul.list-reset.sub-nav
4
+ - groups.each do |group|
5
+ li(data-target="tabs.tab" data-action="click->tabs#change")
6
+ a(class="" href="#" data-trigger-masonry-refresh="true")= group.title
7
+
8
+ - groups.each do |group|
9
+ .hidden(data-target="tabs.panel")
10
+ table.prescriptions-list
11
+ thead
12
+ tr
13
+ th.at-least.col-width-mediumish= t(".drug_name")
14
+ - if group.show_drug_types
15
+ th.col-width-small= t(".drug_type")
16
+ th.col-width-small= t(".dose")
17
+ th.col-width-tiny= t(".frequency")
18
+ th.col-width-tiny= t(".route")
19
+ - if group.show_administer_on_hd
20
+ th.col-width-small= t(".administer_on_hd")
21
+ th.col-width-tiny=t(".provider")
22
+ th.col-width-date= t(".started_on")
23
+ - if group.show_terminated_on
24
+ th.col-width-date= t(".terminated_on")
25
+ tbody
26
+ - group.prescriptions.each do |prescription|
27
+ tr class="drug-#{drug_types_colour_tag(prescription.drug_types)}"
28
+ td= prescription.drug.name
29
+ - if group.show_drug_types
30
+ td= prescription.drug_type_names
31
+ td= prescription.dose
32
+ td= prescription.frequency
33
+ td= prescription.route_code
34
+ - if group.show_administer_on_hd
35
+ td= prescription.administer_on_hd?
36
+ td
37
+ /- byebug
38
+ = prescription.provider
39
+ td= I18n.l prescription.prescribed_on
40
+ - if group.show_terminated_on
41
+ td= l(prescription.terminated_on)
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Renalware
4
+ module Medications
5
+ # Accepts a group of prescriptions - see example usage - and renders a tabs for each of the
6
+ # group names with their corresponding tablular content.
7
+ # Various options - see PrescriptionGroup - drive what columns are shown.
8
+ #
9
+ # Example usage:
10
+ #
11
+ # = render Renalware::Medications::TabbedPrescriptionsListComponent.new(
12
+ # [
13
+ # { title: "Current", prescriptions: list1, show_administer_on_hd: true },
14
+ # { title: "EPO", prescriptions: list2, show_terminated_on: true }
15
+ # ]
16
+ class TabbedPrescriptionsListComponent < ApplicationComponent
17
+ include DrugsHelper
18
+ attr_reader :groups
19
+
20
+ class PrescriptionGroup
21
+ attr_reader_initialize [
22
+ :title,
23
+ :prescriptions,
24
+ show_terminated_on: true,
25
+ show_administer_on_hd: true,
26
+ show_drug_types: false
27
+ ]
28
+
29
+ # The markup expects each prescription to have been decorated with a PresriptionPresenter.
30
+ # However there may be cases where they might have been, so we check by
31
+ # (looking for a method which is defined by the presenter) and decorate them if necessary.
32
+ def prescriptions
33
+ @prescriptions.map do |presc|
34
+ presc.respond_to?(:drug_type_names) ? presc : PrescriptionPresenter.new(presc)
35
+ end
36
+ end
37
+ end
38
+
39
+ # Map the incoming array of hashes to an array of PrescriptionGroup objects to make
40
+ # interrogation easier in the html.
41
+ def initialize(prescription_groups)
42
+ @groups = Array(prescription_groups).map { |options| PrescriptionGroup.new(options) }
43
+ super
44
+ end
45
+ end
46
+ end
47
+ end