renalware-core 2.0.155 → 2.0.160

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/renalware/components/configuration.js +20 -0
  3. data/app/assets/javascripts/renalware/components/{dialogs.js.erb → dialogs.js} +2 -5
  4. data/app/assets/javascripts/renalware/components/{feed_only_inputs.js.erb → feed_only_inputs.js} +4 -4
  5. data/app/assets/javascripts/renalware/{core.js.erb → core.js} +0 -5
  6. data/app/assets/javascripts/renalware/rollup_compiled.css +42050 -42050
  7. data/app/assets/stylesheets/renalware/modules/_clinical.scss +13 -0
  8. data/app/components/renalware/admissions/active_consult_alert_component.html.slim +1 -1
  9. data/app/components/renalware/article_component.rb +1 -1
  10. data/app/components/renalware/letters/letters_in_progress_component.rb +1 -5
  11. data/app/components/renalware/letters/unread_electronic_ccs_component.rb +1 -4
  12. data/app/components/renalware/patients/bookmarks_component.rb +1 -5
  13. data/app/components/renalware/patients/messages_component.rb +2 -8
  14. data/app/components/renalware/pd/adequacy_results_component.rb +1 -1
  15. data/app/components/renalware/pd/pet_results_component.html.slim +1 -3
  16. data/app/components/renalware/surveys/eq5d_component.rb +1 -5
  17. data/app/components/renalware/surveys/pos_s_component.rb +1 -5
  18. data/app/components/renalware/system/admin_menu_component.rb +1 -4
  19. data/app/components/renalware/system/users_awaiting_approval_component.rb +1 -5
  20. data/app/controllers/renalware/api/token_authenticated_api_controller.rb +1 -1
  21. data/app/controllers/renalware/api/v1/medications/prescriptions_controller.rb +1 -1
  22. data/app/controllers/renalware/api/v1/patients/patients_controller.rb +1 -1
  23. data/app/controllers/renalware/events/events_controller.rb +0 -1
  24. data/app/controllers/renalware/pd/pet_results_controller.rb +1 -1
  25. data/{lib → app/documents}/document/attribute_initializer.rb +0 -0
  26. data/{lib → app/documents}/document/attribute_initializer/active_model.rb +0 -0
  27. data/{lib → app/documents}/document/attribute_initializer/base.rb +0 -0
  28. data/{lib → app/documents}/document/attribute_initializer/enum.rb +0 -0
  29. data/{lib → app/documents}/document/base.rb +0 -0
  30. data/{lib → app/documents}/document/embedded.rb +0 -0
  31. data/{lib → app/documents}/document/enum.rb +0 -0
  32. data/app/jobs/renalware/hd/generate_monthly_statistics.rb +1 -1
  33. data/app/jobs/renalware/hd/generate_monthly_statistics_for_patient_job.rb +1 -1
  34. data/app/jobs/renalware/letters/calculate_page_count_job.rb +0 -1
  35. data/app/jobs/renalware/letters/mailshots/create_mailshot_letters_job.rb +0 -1
  36. data/app/jobs/renalware/letters/printing/batch_print_job.rb +0 -1
  37. data/app/jobs/renalware/letters/save_rtf_letter_to_file_job.rb +1 -1
  38. data/app/mailers/renalware/letters/{delivery/errors.rb → delivery.rb} +2 -1
  39. data/app/mailers/renalware/letters/delivery/practice_mailer.rb +2 -2
  40. data/app/models/concerns/renalware/deviseable.rb +3 -3
  41. data/app/models/renalware/admissions/admission_query.rb +0 -1
  42. data/{lib → app/models}/renalware/automatic_age_calculator.rb +0 -0
  43. data/app/models/renalware/clinical/create_allergy.rb +4 -4
  44. data/app/models/renalware/clinics/create_clinic_visit.rb +4 -4
  45. data/app/models/renalware/clinics/current_observations.rb +3 -4
  46. data/app/models/renalware/events/create_event.rb +0 -1
  47. data/app/models/renalware/feeds/files/exceptions.rb +1 -0
  48. data/app/models/renalware/feeds/files/practice_memberships/import_csv.rb +0 -1
  49. data/app/models/renalware/feeds/files/primary_care_physicians/import_csv.rb +0 -1
  50. data/app/models/renalware/feeds/message_processor.rb +0 -1
  51. data/app/models/renalware/hd/prescription_administration.rb +6 -4
  52. data/app/models/renalware/hd/profiles_in_date_range_query.rb +1 -6
  53. data/app/models/renalware/hd/scheduling/diary_range.rb +1 -2
  54. data/app/models/renalware/hd/scheduling/find_or_create_diary_by_week_query.rb +1 -1
  55. data/app/models/renalware/hd/session_forms/batch.rb +0 -1
  56. data/app/models/renalware/hd/session_forms/batch_compile_pdfs.rb +0 -1
  57. data/app/models/renalware/hd/session_forms/batch_item.rb +0 -1
  58. data/app/models/renalware/hd/sessions/close_stale_open_sessions.rb +0 -1
  59. data/app/models/renalware/letters/approve_letter.rb +0 -1
  60. data/app/models/renalware/letters/complete_letter.rb +0 -1
  61. data/app/models/renalware/letters/delivery/delivery_policy.rb +0 -1
  62. data/app/models/renalware/letters/delivery/email_letter_to_practice.rb +0 -1
  63. data/app/models/renalware/letters/delivery/practice_email.rb +0 -1
  64. data/app/models/renalware/letters/html_renderer.rb +1 -1
  65. data/app/models/renalware/letters/letter_factory.rb +1 -1
  66. data/app/models/renalware/letters/part/recent_pathology_results.rb +0 -1
  67. data/app/models/renalware/letters/pathology_layout.rb +1 -1
  68. data/app/models/renalware/letters/pdf_renderer.rb +1 -1
  69. data/app/models/renalware/letters/printing/batch_compile_pdfs.rb +0 -1
  70. data/app/models/renalware/letters/printing/complete_batch.rb +0 -1
  71. data/app/models/renalware/letters/printing/pdf_combining.rb +0 -2
  72. data/app/models/renalware/letters/resolve_default_electronic_ccs.rb +0 -2
  73. data/app/models/renalware/letters/rtf_renderer.rb +3 -2
  74. data/app/models/renalware/modalities/change_patient_modality.rb +4 -4
  75. data/app/models/renalware/pathology.rb +1 -0
  76. data/app/models/renalware/pathology/adjust_observation.rb +0 -1
  77. data/app/models/renalware/pathology/message_listener.rb +1 -1
  78. data/app/models/renalware/pathology/observation.rb +1 -1
  79. data/app/models/renalware/pathology/observation_descriptions_by_code_query.rb +1 -1
  80. data/app/models/renalware/pathology/observations_grouped_by_date_query.rb +0 -1
  81. data/app/models/renalware/pathology/observations_grouped_by_date_table.rb +0 -1
  82. data/app/models/renalware/pathology/ordered_patient_query.rb +1 -1
  83. data/app/models/renalware/pathology/requests/request_params_factory.rb +0 -1
  84. data/app/models/renalware/patients/calculate_age.rb +0 -1
  85. data/app/models/renalware/patients/clear_patient_ukrdc_data.rb +0 -1
  86. data/app/models/renalware/patients/ingestion/update_master_patient_index.rb +0 -1
  87. data/app/models/renalware/patients/last_successful_practice_sync_date_query.rb +0 -2
  88. data/app/models/renalware/patients/primary_care_physician.rb +1 -0
  89. data/app/models/renalware/patients/sync_ods_job.rb +1 -1
  90. data/app/models/renalware/patients/sync_practices_via_api.rb +1 -1
  91. data/app/models/renalware/pd.rb +5 -0
  92. data/app/models/renalware/pd/{apd/exceptions.rb → apd.rb.dead} +0 -0
  93. data/app/models/renalware/pd/apd/available_overnight_volume.rb +0 -1
  94. data/app/models/renalware/pd/apd/regime_calculations.rb +1 -1
  95. data/app/models/renalware/pd/create_regime.rb +4 -4
  96. data/app/models/renalware/pd/regimes_in_date_range_query.rb +0 -2
  97. data/app/models/renalware/pd/revise_regime.rb +5 -5
  98. data/{lib → app/models}/renalware/remembered_preferences.rb +0 -0
  99. data/app/models/renalware/research/study_participants_query.rb +0 -1
  100. data/app/models/renalware/transplants/create_donor_stage.rb +4 -4
  101. data/app/models/renalware/transplants/registrations/wait_list_query.rb +1 -1
  102. data/app/models/renalware/ukrdc.rb +1 -0
  103. data/app/models/renalware/ukrdc/create_encrypted_patient_xml_files.rb +2 -2
  104. data/app/models/renalware/ukrdc/create_patient_xml_file.rb +1 -2
  105. data/app/models/renalware/ukrdc/export_summary.rb +0 -1
  106. data/app/models/renalware/ukrdc/housekeeping/remove_old_export_archive_folders.rb +0 -1
  107. data/app/models/renalware/ukrdc/incoming/file_list.rb +0 -2
  108. data/app/models/renalware/ukrdc/incoming/import_survey.rb +0 -1
  109. data/app/models/renalware/ukrdc/incoming/import_surveys.rb +0 -1
  110. data/app/models/renalware/ukrdc/incoming/xml_document.rb +0 -1
  111. data/app/models/renalware/ukrdc/pathology_observation_requests_query.rb +1 -2
  112. data/app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb +0 -1
  113. data/app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb +1 -1
  114. data/app/models/renalware/ukrdc/treatment_timeline/generator_factory.rb +1 -1
  115. data/app/models/renalware/ukrdc/treatment_timeline/hd/generator.rb +1 -1
  116. data/app/models/renalware/ukrdc/treatment_timeline/pd/generator.rb +0 -1
  117. data/app/models/renalware/ukrdc/treatment_timeline/pd/regime_decorator.rb +0 -1
  118. data/app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb +0 -1
  119. data/app/models/renalware/ukrdc/treatment_timeline/transplant/generator.rb +0 -1
  120. data/app/models/renalware/ukrdc/xml_renderer.rb +2 -2
  121. data/app/models/renalware/virology/vaccination.rb +5 -0
  122. data/app/presenters/renalware/accesses/dashboard_presenter.rb +0 -1
  123. data/app/presenters/renalware/clinical/header_presenter.rb +0 -1
  124. data/app/presenters/renalware/letters/letter_presenter.rb +1 -1
  125. data/app/presenters/renalware/letters/part_class_filter.rb +0 -1
  126. data/app/presenters/renalware/letters/practice_email_meta_data.rb +0 -1
  127. data/app/presenters/renalware/low_clearance/dashboard_presenter.rb +0 -1
  128. data/app/presenters/renalware/medications/prescription_presenter.rb +7 -0
  129. data/app/presenters/renalware/pathology/observations_diff.rb +0 -1
  130. data/app/presenters/renalware/renal/clinical_summary_presenter.rb +0 -1
  131. data/app/presenters/renalware/summary_part.rb +0 -2
  132. data/app/presenters/renalware/transplants/donor_dashboard_presenter.rb +0 -1
  133. data/app/presenters/renalware/transplants/recipient_dashboard_presenter.rb +0 -1
  134. data/app/presenters/renalware/ukrdc/transplant_operation_presenter.rb +0 -1
  135. data/app/presenters/renalware/user_session_presenter.rb +1 -3
  136. data/app/values/renalware/bmi.rb +0 -2
  137. data/app/views/renalware/letters/contacts/_new_person.html.slim +1 -1
  138. data/app/views/renalware/letters/contacts/_person_from_directory.html.slim +1 -1
  139. data/app/views/renalware/letters/formatted_letters/_letter.html.slim +13 -14
  140. data/app/views/renalware/letters/mailshots/mailshots/_form.html.slim +25 -21
  141. data/app/views/renalware/letters/parts/_allergies.html.slim +1 -1
  142. data/app/views/renalware/letters/parts/_problems.html.slim +1 -1
  143. data/app/views/renalware/letters/parts/_recent_pathology_results.html.slim +1 -1
  144. data/app/views/renalware/medications/prescriptions/_current.html.slim +1 -1
  145. data/app/views/renalware/medications/prescriptions/_current_hd.html.slim +1 -1
  146. data/app/views/renalware/medications/prescriptions/_prescription.html.slim +3 -1
  147. data/app/views/renalware/medications/prescriptions/_recently_stopped.html.slim +1 -1
  148. data/app/views/renalware/system/view_metadata/_columns_table.html.slim +2 -2
  149. data/app/views/renalware/virology/vaccinations/_cell.html.slim +1 -1
  150. data/app/views/renalware/virology/vaccinations/_inputs.html.slim +1 -0
  151. data/app/views/renalware/virology/vaccinations/_toggled_cell.html.slim +2 -0
  152. data/config/initializers/core_extensions.rb +1 -1
  153. data/config/initializers/inflections.rb +2 -0
  154. data/config/locales/renalware/virology/virology.en.yml +4 -0
  155. data/db/migrate/20201020155510_add_bmi_to_clinic_visits.rb +5 -2
  156. data/db/migrate/20201020171139_update_low_clearance_mdm_patients_view.rb +1 -1
  157. data/db/migrate/20201021153832_update_supportive_care_mdm_patients_view.rb +1 -1
  158. data/db/migrate/20201021154809_update_transplant_mdm_patients_view.rb +1 -1
  159. data/db/migrate/20201023092859_remove_unused_indexes.rb +1 -1
  160. data/db/migrate/20201105153422_update_medication_current_prescriptions_view.rb +7 -0
  161. data/db/migrate/20201112152752_update_pd_mdm_patients_view1.rb +7 -0
  162. data/db/views/medication_current_prescriptions_v01.sql +2 -1
  163. data/db/views/medication_current_prescriptions_v02.sql +30 -0
  164. data/db/views/pd_mdm_patients_v03.sql +50 -0
  165. data/db/views/reporting_anaemia_audit_v01.sql +0 -2
  166. data/lib/core_extensions/active_support/{duration.rb → duration_additions.rb} +0 -0
  167. data/lib/failure.rb +6 -0
  168. data/lib/gpg_encrypt_folder.rb +0 -2
  169. data/lib/month_period.rb +16 -0
  170. data/lib/renalware/configuration.rb +5 -6
  171. data/lib/renalware/version_number.rb +1 -1
  172. data/lib/service_result.rb +17 -0
  173. data/lib/sql/indexed_case_stmt.rb +1 -3
  174. data/lib/success.rb +9 -0
  175. data/lib/tasks/ukrdc.rake +1 -1
  176. data/lib/week_period.rb +57 -0
  177. data/spec/factories/events/events.rb +1 -2
  178. data/spec/factories/letters/letters.rb +4 -11
  179. data/spec/factories/medications/prescription_version.rb +1 -2
  180. data/spec/factories/patients/ethnicities.rb +1 -2
  181. data/spec/factories/pd/bag_types.rb +2 -2
  182. data/spec/factories/snippets/users.rb +1 -2
  183. data/spec/factories/transplants/recipient_followups.rb +1 -2
  184. data/spec/factories/virology/vaccinations.rb +1 -1
  185. data/{lib/test_support → spec/support}/ajax_helpers.rb +0 -0
  186. data/{lib/test_support → spec/support}/text_editor_helpers.rb +0 -0
  187. metadata +35 -37
  188. data/app/assets/javascripts/renalware/components/reporting.js.erb +0 -0
  189. data/app/assets/javascripts/renalware/components/session_timeout_redirect.js.erb +0 -37
  190. data/app/components/renalware/system/article_component.html.slim +0 -3
  191. data/app/components/renalware/system/article_component.rb +0 -9
  192. data/app/mailers/renalware/previews/report_preview.rb +0 -14
  193. data/app/mailers/renalware/previews/ukrdc_summary_preview.rb +0 -20
  194. data/app/mailers/renalware/previews/user_mailer_preview.rb +0 -16
  195. data/lib/renalware/failure.rb +0 -6
  196. data/lib/renalware/month_period.rb +0 -18
  197. data/lib/renalware/service_result.rb +0 -19
  198. data/lib/renalware/success.rb +0 -9
  199. data/lib/renalware/week_period.rb +0 -59
@@ -1,37 +0,0 @@
1
- // Create a timer that will poll to see if the user's session is still valid.
2
- // If it isn't, the server returns a 401 unauthorised causing a redirect the login page.
3
- // Note that we could in the future display a message letting them know their session
4
- // will expired in X seconds. The controller action we hit here could be expanded to
5
- // to render some js that would insert than into the page.
6
- // Note we don't want to poll if we are sat on the login page anyway. For one thing on Heroku it
7
- // would prevent a dyno sleeping, but its also a waste of resources.
8
- //
9
- // Note this mechanism has been superceded by the session_timeout.js stimulus controller.
10
- //
11
-
12
- <% if Renalware.config.session_expiry_use_previous_mechansim %>
13
- $(document).ready(function() {
14
- var login_path ="<%= Renalware::Engine.routes.url_helpers.new_user_session_path %>";
15
- var defaultPollFreq = <%= Renalware.config.session_timeout_polling_frequency.to_i %>;
16
- var frequency_s = defaultPollFreq;
17
-
18
- // This is a global window function so that we can call it directly from capybara tests to
19
- // bypass having to wait for the session polling interval to tick over.
20
- window.sessionTimeoutCheck = function(){
21
- if(window.location.pathname != login_path) {
22
- Rails.ajax({
23
- type: "GET",
24
- url: "<%= Renalware::Engine.routes.url_helpers.check_session_expired_path %>",
25
- dataType: "html",
26
- error: function(responseText, status, xhr) {
27
- if (xhr.status == 401) {
28
- window.location.reload()
29
- }
30
- }
31
- });
32
- }
33
- };
34
-
35
- setInterval(window.sessionTimeoutCheck, (frequency_s * 1000));
36
- });
37
- <% end %>
@@ -1,3 +0,0 @@
1
- article
2
- header
3
- h1= title
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Renalware
4
- module System
5
- # Experimental ActionView component
6
- class AdminMenuComponent < ApplicationComponent
7
- end
8
- end
9
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_dependency "renalware/reporting"
4
-
5
- module Renalware
6
- module Reporting
7
- # Preview all emails at http://localhost:3000/rails/mailers
8
- class ReportPreview < ActionMailer::Preview
9
- def daily_summary
10
- Reporting::ReportMailer.daily_summary
11
- end
12
- end
13
- end
14
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_dependency "renalware/reporting"
4
-
5
- module Renalware
6
- module UKRDC
7
- # Preview all emails at http://localhost:3000/rails/mailers
8
- class SumaryPreview < ActionMailer::Preview
9
- def daily_summary
10
- summary = ExportSummary.new(
11
- archive_folder: "/var/ukrdc/test",
12
- num_changed_patients: 10,
13
- milliseconds_taken: 123.0,
14
- results: { sent: 1, unsent: 2 }
15
- )
16
- UKRDC::SummaryMailer.export_summary(summary: summary)
17
- end
18
- end
19
- end
20
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Renalware
4
- # Preview all emails at http://localhost:3000/rails/mailers
5
- class Admin::UserMailerPreview < ActionMailer::Preview
6
- def approval
7
- user = User.first
8
- Admin::UserMailer.approval(user)
9
- end
10
-
11
- def unexpiry
12
- user = User.first
13
- Admin::UserMailer.unexpiry(user)
14
- end
15
- end
16
- end
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Renalware
4
- class Failure < ServiceResult
5
- end
6
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Renalware
4
- class MonthPeriod
5
- attr_reader :month, :year, :start, :finish
6
-
7
- def initialize(month:, year:)
8
- @month = month
9
- @year = year
10
- @start = Time.new(year, month, 1, 0, 0, 0)
11
- @finish = start.end_of_month.end_of_day
12
- end
13
-
14
- def to_range
15
- start..finish
16
- end
17
- end
18
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Renalware
4
- class ServiceResult
5
- attr_reader :object
6
-
7
- def initialize(object)
8
- @object = object
9
- end
10
-
11
- def success?
12
- false
13
- end
14
-
15
- def failure?
16
- !success?
17
- end
18
- end
19
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Renalware
4
- class Success < ServiceResult
5
- def success?
6
- true
7
- end
8
- end
9
- end
@@ -1,59 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Renalware
4
- class WeekPeriod
5
- attr_reader :year, :week_number, :date_on_first_day_of_week
6
-
7
- def self.from_date(date)
8
- date = date.to_date
9
- new(week_number: date.cweek, year: date.cwyear)
10
- end
11
-
12
- def initialize(week_number:, year:)
13
- @week_number = week_number.to_i
14
- @year = year.to_i
15
- validate_week_number
16
- validate_year
17
- @date_on_first_day_of_week = Date.commercial(@year, @week_number)
18
- end
19
-
20
- def next
21
- self.class.from_date(date_on_first_day_of_week + 1.week)
22
- end
23
-
24
- def previous
25
- self.class.from_date(date_on_first_day_of_week - 1.week)
26
- end
27
-
28
- def to_a
29
- [week_number, year]
30
- end
31
-
32
- def to_s
33
- "#{I18n.l(date_on_first_day_of_week, format: :long)} " \
34
- "to #{I18n.l(last_day_of_week, format: :long)}"
35
- end
36
-
37
- # The date of last day of the week (a Sunday)
38
- def last_day_of_week
39
- @last_day_of_week ||= (date_on_first_day_of_week + 1.week - 1.minute).to_date
40
- end
41
-
42
- def validate_week_number
43
- if week_number < 1 || week_number > 53
44
- raise(ArgumentError, "invalid date: week_number must be 1-53")
45
- end
46
- end
47
-
48
- def validate_year
49
- raise(ArgumentError, "invalid date year must be >= 2000") if year <= 2000
50
- end
51
-
52
- def to_h
53
- {
54
- year: year,
55
- week_number: week_number
56
- }
57
- end
58
- end
59
- end