renalware-core 2.0.158 → 2.0.163

Sign up to get free protection for your applications and to get access to all the features.
Files changed (226) 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/javascripts/renalware/rollup_compiled.js +768 -201
  8. data/app/assets/stylesheets/renalware/modules/_clinical.scss +41 -0
  9. data/app/components/renalware/admissions/active_consult_alert_component.html.slim +1 -1
  10. data/app/components/renalware/article_component.rb +1 -1
  11. data/app/components/renalware/letters/letters_in_progress_component.rb +1 -5
  12. data/app/components/renalware/letters/unread_electronic_ccs_component.rb +1 -4
  13. data/app/components/renalware/medications/tabbed_prescriptions_list_component.html.slim +2 -2
  14. data/app/components/renalware/pathology/sparkline_component.html.slim +1 -1
  15. data/app/components/renalware/patients/bookmarks_component.rb +1 -5
  16. data/app/components/renalware/patients/messages_component.rb +1 -7
  17. data/app/components/renalware/pd/adequacy_results_component.rb +1 -1
  18. data/app/components/renalware/pd/pet_results_component.html.slim +5 -7
  19. data/app/components/renalware/surveys/eq5d_component.rb +1 -5
  20. data/app/components/renalware/surveys/pos_s_component.rb +1 -5
  21. data/app/components/renalware/system/admin_menu_component.rb +1 -4
  22. data/app/components/renalware/system/users_awaiting_approval_component.rb +1 -5
  23. data/app/controllers/renalware/api/token_authenticated_api_controller.rb +1 -1
  24. data/app/controllers/renalware/api/v1/medications/prescriptions_controller.rb +1 -1
  25. data/app/controllers/renalware/api/v1/patients/patients_controller.rb +1 -1
  26. data/app/controllers/renalware/events/events_controller.rb +0 -1
  27. data/app/controllers/renalware/pd/pet_results_controller.rb +1 -1
  28. data/{lib → app/documents}/document/attribute_initializer.rb +0 -0
  29. data/{lib → app/documents}/document/attribute_initializer/active_model.rb +0 -0
  30. data/{lib → app/documents}/document/attribute_initializer/base.rb +0 -0
  31. data/{lib → app/documents}/document/attribute_initializer/enum.rb +0 -0
  32. data/{lib → app/documents}/document/base.rb +0 -0
  33. data/{lib → app/documents}/document/embedded.rb +0 -0
  34. data/{lib → app/documents}/document/enum.rb +0 -0
  35. data/app/javascript/renalware/controllers/modal_controller.js +1 -1
  36. data/app/jobs/renalware/hd/generate_monthly_statistics.rb +1 -1
  37. data/app/jobs/renalware/hd/generate_monthly_statistics_for_patient_job.rb +1 -1
  38. data/app/jobs/renalware/letters/calculate_page_count_job.rb +0 -1
  39. data/app/jobs/renalware/letters/mailshots/create_mailshot_letters_job.rb +0 -1
  40. data/app/jobs/renalware/letters/printing/batch_print_job.rb +0 -1
  41. data/app/jobs/renalware/letters/save_rtf_letter_to_file_job.rb +1 -1
  42. data/app/mailers/renalware/letters/{delivery/errors.rb → delivery.rb} +2 -1
  43. data/app/mailers/renalware/letters/delivery/practice_mailer.rb +2 -2
  44. data/app/models/concerns/renalware/deviseable.rb +3 -3
  45. data/app/models/renalware/admissions/admission_query.rb +0 -1
  46. data/{lib → app/models}/renalware/automatic_age_calculator.rb +0 -0
  47. data/app/models/renalware/clinical/create_allergy.rb +4 -4
  48. data/app/models/renalware/clinics/create_clinic_visit.rb +4 -4
  49. data/app/models/renalware/clinics/current_observations.rb +3 -4
  50. data/app/models/renalware/events/alertable_events_query.rb +27 -0
  51. data/app/models/renalware/events/create_event.rb +0 -1
  52. data/app/models/renalware/events/event.rb +4 -0
  53. data/app/models/renalware/events/event_type_alert_trigger.rb +15 -0
  54. data/app/models/renalware/events/type.rb +7 -0
  55. data/app/models/renalware/feeds/files/exceptions.rb +1 -0
  56. data/app/models/renalware/feeds/files/practice_memberships/import_csv.rb +0 -1
  57. data/app/models/renalware/feeds/files/primary_care_physicians/import_csv.rb +0 -1
  58. data/app/models/renalware/feeds/message_processor.rb +0 -1
  59. data/app/models/renalware/hd/prescription_administration.rb +6 -4
  60. data/app/models/renalware/hd/profiles_in_date_range_query.rb +1 -6
  61. data/app/models/renalware/hd/scheduling/diary_range.rb +1 -2
  62. data/app/models/renalware/hd/scheduling/find_or_create_diary_by_week_query.rb +1 -1
  63. data/app/models/renalware/hd/session_forms/batch.rb +0 -1
  64. data/app/models/renalware/hd/session_forms/batch_compile_pdfs.rb +0 -1
  65. data/app/models/renalware/hd/session_forms/batch_item.rb +0 -1
  66. data/app/models/renalware/hd/sessions/close_stale_open_sessions.rb +0 -1
  67. data/app/models/renalware/letters/approve_letter.rb +0 -1
  68. data/app/models/renalware/letters/complete_letter.rb +0 -1
  69. data/app/models/renalware/letters/delivery/delivery_policy.rb +0 -1
  70. data/app/models/renalware/letters/delivery/email_letter_to_practice.rb +0 -1
  71. data/app/models/renalware/letters/delivery/practice_email.rb +0 -1
  72. data/app/models/renalware/letters/html_renderer.rb +1 -1
  73. data/app/models/renalware/letters/letter_factory.rb +1 -1
  74. data/app/models/renalware/letters/part/recent_pathology_results.rb +0 -1
  75. data/app/models/renalware/letters/pathology_layout.rb +1 -1
  76. data/app/models/renalware/letters/pdf_letter_cache.rb +1 -1
  77. data/app/models/renalware/letters/pdf_renderer.rb +1 -1
  78. data/app/models/renalware/letters/printing/batch_compile_pdfs.rb +0 -1
  79. data/app/models/renalware/letters/printing/complete_batch.rb +0 -1
  80. data/app/models/renalware/letters/printing/pdf_combining.rb +0 -2
  81. data/app/models/renalware/letters/resolve_default_electronic_ccs.rb +0 -2
  82. data/app/models/renalware/letters/rtf_renderer.rb +3 -2
  83. data/app/models/renalware/modalities/change_patient_modality.rb +4 -4
  84. data/app/models/renalware/pathology.rb +1 -0
  85. data/app/models/renalware/pathology/adjust_observation.rb +0 -1
  86. data/app/models/renalware/pathology/message_listener.rb +1 -1
  87. data/app/models/renalware/pathology/observation.rb +1 -1
  88. data/app/models/renalware/pathology/observation_descriptions_by_code_query.rb +1 -1
  89. data/app/models/renalware/pathology/observations_grouped_by_date_query.rb +0 -1
  90. data/app/models/renalware/pathology/observations_grouped_by_date_table.rb +0 -1
  91. data/app/models/renalware/pathology/ordered_patient_query.rb +1 -1
  92. data/app/models/renalware/pathology/requests/request_params_factory.rb +0 -1
  93. data/app/models/renalware/patients/calculate_age.rb +0 -1
  94. data/app/models/renalware/patients/clear_patient_ukrdc_data.rb +0 -1
  95. data/app/models/renalware/patients/ingestion/update_master_patient_index.rb +0 -1
  96. data/app/models/renalware/patients/last_successful_practice_sync_date_query.rb +0 -2
  97. data/app/models/renalware/patients/primary_care_physician.rb +1 -0
  98. data/app/models/renalware/patients/sync_ods_job.rb +1 -1
  99. data/app/models/renalware/patients/sync_practices_via_api.rb +1 -1
  100. data/app/models/renalware/pd.rb +5 -0
  101. data/app/models/renalware/pd/{apd/exceptions.rb → apd.rb.dead} +0 -0
  102. data/app/models/renalware/pd/apd/available_overnight_volume.rb +0 -1
  103. data/app/models/renalware/pd/apd/regime_calculations.rb +1 -1
  104. data/app/models/renalware/pd/create_regime.rb +4 -4
  105. data/app/models/renalware/pd/regimes_in_date_range_query.rb +0 -2
  106. data/app/models/renalware/pd/revise_regime.rb +5 -5
  107. data/{lib → app/models}/renalware/remembered_preferences.rb +0 -0
  108. data/app/models/renalware/research/study_participants_query.rb +0 -1
  109. data/app/models/renalware/transplants/create_donor_stage.rb +4 -4
  110. data/app/models/renalware/transplants/registrations/wait_list_query.rb +1 -1
  111. data/app/models/renalware/ukrdc.rb +1 -0
  112. data/app/models/renalware/ukrdc/create_encrypted_patient_xml_files.rb +2 -2
  113. data/app/models/renalware/ukrdc/create_patient_xml_file.rb +1 -2
  114. data/app/models/renalware/ukrdc/export_summary.rb +0 -1
  115. data/app/models/renalware/ukrdc/housekeeping/remove_old_export_archive_folders.rb +0 -1
  116. data/app/models/renalware/ukrdc/incoming/file_list.rb +0 -2
  117. data/app/models/renalware/ukrdc/incoming/import_survey.rb +0 -1
  118. data/app/models/renalware/ukrdc/incoming/import_surveys.rb +0 -1
  119. data/app/models/renalware/ukrdc/incoming/xml_document.rb +0 -1
  120. data/app/models/renalware/ukrdc/pathology_observation_requests_query.rb +1 -2
  121. data/app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb +0 -1
  122. data/app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb +1 -1
  123. data/app/models/renalware/ukrdc/treatment_timeline/generator_factory.rb +1 -1
  124. data/app/models/renalware/ukrdc/treatment_timeline/hd/generator.rb +1 -1
  125. data/app/models/renalware/ukrdc/treatment_timeline/pd/generator.rb +0 -1
  126. data/app/models/renalware/ukrdc/treatment_timeline/pd/regime_decorator.rb +0 -1
  127. data/app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb +0 -1
  128. data/app/models/renalware/ukrdc/treatment_timeline/transplant/generator.rb +0 -1
  129. data/app/models/renalware/ukrdc/xml_renderer.rb +2 -2
  130. data/app/models/renalware/virology/vaccination.rb +10 -2
  131. data/app/models/renalware/virology/vaccination_type.rb +16 -0
  132. data/app/presenters/renalware/accesses/dashboard_presenter.rb +0 -1
  133. data/app/presenters/renalware/clinical/header_presenter.rb +0 -1
  134. data/app/presenters/renalware/letters/letter_presenter.rb +1 -1
  135. data/app/presenters/renalware/letters/part_class_filter.rb +0 -1
  136. data/app/presenters/renalware/letters/practice_email_meta_data.rb +0 -1
  137. data/app/presenters/renalware/low_clearance/dashboard_presenter.rb +0 -1
  138. data/app/presenters/renalware/medications/prescription_presenter.rb +7 -0
  139. data/app/presenters/renalware/pathology/observations_diff.rb +0 -1
  140. data/app/presenters/renalware/renal/clinical_summary_presenter.rb +0 -1
  141. data/app/presenters/renalware/summary_part.rb +0 -2
  142. data/app/presenters/renalware/transplants/donor_dashboard_presenter.rb +0 -1
  143. data/app/presenters/renalware/transplants/recipient_dashboard_presenter.rb +0 -1
  144. data/app/presenters/renalware/ukrdc/transplant_operation_presenter.rb +0 -1
  145. data/app/presenters/renalware/user_session_presenter.rb +1 -3
  146. data/app/values/renalware/bmi.rb +0 -2
  147. data/app/views/renalware/admin/cache/show.html.slim +0 -36
  148. data/app/views/renalware/admin/playgrounds/show.html.slim +2 -2
  149. data/app/views/renalware/events/events/_alerts.html.slim +3 -0
  150. data/app/views/renalware/events/events/alert/_simple.html.slim +5 -0
  151. data/app/views/renalware/events/events/toggled_cell/_swab.html.slim +1 -1
  152. data/app/views/renalware/hd/dashboards/_page_actions.html.slim +4 -1
  153. data/app/views/renalware/hd/mdm_patients/_patient.html.slim +1 -1
  154. data/app/views/renalware/hd/prescription_administrations/_form.html.slim +2 -2
  155. data/app/views/renalware/hd/transmission_logs/index.html.slim +2 -1
  156. data/app/views/renalware/layouts/_patient.html.slim +1 -0
  157. data/app/views/renalware/letters/batches/_create.html.slim +2 -2
  158. data/app/views/renalware/letters/contacts/_new_person.html.slim +1 -1
  159. data/app/views/renalware/letters/contacts/_person_from_directory.html.slim +1 -1
  160. data/app/views/renalware/letters/formatted_letters/_letter.html.slim +13 -14
  161. data/app/views/renalware/letters/mailshots/mailshots/_form.html.slim +25 -21
  162. data/app/views/renalware/letters/parts/_allergies.html.slim +1 -1
  163. data/app/views/renalware/letters/parts/_problems.html.slim +1 -1
  164. data/app/views/renalware/letters/parts/_recent_pathology_results.html.slim +1 -1
  165. data/app/views/renalware/medications/home_delivery/events/_edit.html.slim +4 -4
  166. data/app/views/renalware/medications/prescriptions/_current.html.slim +1 -1
  167. data/app/views/renalware/medications/prescriptions/_current_hd.html.slim +1 -1
  168. data/app/views/renalware/medications/prescriptions/_form.html.slim +3 -3
  169. data/app/views/renalware/medications/prescriptions/_prescription.html.slim +3 -1
  170. data/app/views/renalware/medications/prescriptions/_recently_stopped.html.slim +1 -1
  171. data/app/views/renalware/system/downloads/index.html.slim +1 -1
  172. data/app/views/renalware/system/messages/_form.html.slim +1 -1
  173. data/app/views/renalware/system/view_metadata/_columns_table.html.slim +2 -2
  174. data/app/views/renalware/system/view_metadata/edit.html.slim +6 -6
  175. data/app/views/renalware/virology/vaccinations/_alert.html.slim +5 -0
  176. data/app/views/renalware/virology/vaccinations/_inputs.html.slim +2 -1
  177. data/app/views/renalware/virology/vaccinations/_toggled_cell.html.slim +1 -1
  178. data/config/initializers/core_extensions.rb +1 -1
  179. data/config/initializers/inflections.rb +2 -0
  180. data/config/locales/renalware/virology/virology.en.yml +2 -0
  181. data/db/migrate/20201105153422_update_medication_current_prescriptions_view.rb +7 -0
  182. data/db/migrate/20201112152752_update_pd_mdm_patients_view1.rb +7 -0
  183. data/db/migrate/20210105163944_create_virology_vaccination_types.rb +13 -0
  184. data/db/migrate/20210115181817_create_event_type_alert_triggers.rb +15 -0
  185. data/db/seeds/default/seeds.rb +1 -0
  186. data/db/seeds/default/virology/seeds.rb +3 -0
  187. data/db/seeds/default/virology/vaccination_types.rb +25 -0
  188. data/db/views/medication_current_prescriptions_v01.sql +2 -1
  189. data/db/views/medication_current_prescriptions_v02.sql +30 -0
  190. data/db/views/pd_mdm_patients_v03.sql +50 -0
  191. data/db/views/reporting_anaemia_audit_v01.sql +0 -2
  192. data/lib/core_extensions/active_support/{duration.rb → duration_additions.rb} +0 -0
  193. data/lib/failure.rb +6 -0
  194. data/lib/gpg_encrypt_folder.rb +0 -2
  195. data/lib/month_period.rb +16 -0
  196. data/lib/renalware/configuration.rb +5 -6
  197. data/lib/renalware/version_number.rb +1 -1
  198. data/lib/service_result.rb +17 -0
  199. data/lib/sql/indexed_case_stmt.rb +1 -3
  200. data/lib/success.rb +9 -0
  201. data/lib/tasks/ukrdc.rake +1 -1
  202. data/lib/week_period.rb +57 -0
  203. data/spec/factories/events/events.rb +1 -2
  204. data/spec/factories/letters/letters.rb +4 -11
  205. data/spec/factories/medications/prescription_version.rb +1 -2
  206. data/spec/factories/patients/ethnicities.rb +1 -2
  207. data/spec/factories/pd/bag_types.rb +2 -2
  208. data/spec/factories/snippets/users.rb +1 -2
  209. data/spec/factories/transplants/recipient_followups.rb +1 -2
  210. data/spec/factories/virology/vaccination_types.rb +8 -0
  211. data/spec/factories/virology/vaccinations.rb +1 -1
  212. data/{lib/test_support → spec/support}/ajax_helpers.rb +0 -0
  213. data/{lib/test_support → spec/support}/text_editor_helpers.rb +0 -0
  214. metadata +49 -40
  215. data/app/assets/javascripts/renalware/components/reporting.js.erb +0 -0
  216. data/app/assets/javascripts/renalware/components/session_timeout_redirect.js.erb +0 -37
  217. data/app/components/renalware/system/article_component.html.slim +0 -3
  218. data/app/components/renalware/system/article_component.rb +0 -9
  219. data/app/mailers/renalware/previews/report_preview.rb +0 -14
  220. data/app/mailers/renalware/previews/ukrdc_summary_preview.rb +0 -20
  221. data/app/mailers/renalware/previews/user_mailer_preview.rb +0 -16
  222. data/lib/renalware/failure.rb +0 -6
  223. data/lib/renalware/month_period.rb +0 -18
  224. data/lib/renalware/service_result.rb +0 -19
  225. data/lib/renalware/success.rb +0 -9
  226. data/lib/renalware/week_period.rb +0 -59
@@ -1,5 +1,3 @@
1
-
2
- --explain analyze
3
1
  select
4
2
  modality_desc modality,
5
3
  count(e1.patient_id) patient_count,
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "service_result"
4
+
5
+ class Failure < ServiceResult
6
+ end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "attr_extras"
4
-
5
3
  # Shell out to gpg with a a command like this
6
4
  # gpg --armor --no-default-keyring --keyring keyring.gpg
7
5
  # --trust-model always -r 'renalware_test'
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ class MonthPeriod
4
+ attr_reader :month, :year, :start, :finish
5
+
6
+ def initialize(month:, year:)
7
+ @month = month
8
+ @year = year
9
+ @start = Time.new(year, month, 1, 0, 0, 0)
10
+ @finish = start.end_of_month.end_of_day
11
+ end
12
+
13
+ def to_range
14
+ start..finish
15
+ end
16
+ end
@@ -14,7 +14,6 @@
14
14
  # To access configuration settings use e.g.
15
15
  # Renalware.config.x
16
16
  #
17
- # rubocop:disable Metrics/ClassLength
18
17
  module Renalware
19
18
  class Configuration
20
19
  include ActiveSupport::Configurable
@@ -37,9 +36,6 @@ module Renalware
37
36
  config_accessor(:patient_hospital_identifiers) { {} }
38
37
  config_accessor(:session_timeout_polling_frequency) { 1.minute }
39
38
  config_accessor(:session_register_user_user_activity_after) { 2.minutes }
40
- config_accessor(:session_expiry_use_previous_mechansim) {
41
- ENV["SESSION_EXPIRY_USE_PREVIOUS_MECHANSIM"] == "true"
42
- }
43
39
  config_accessor(:duration_of_last_url_memory_after_session_expiry) { 30.minutes }
44
40
  config_accessor(:broadcast_subscription_map) { {} }
45
41
  config_accessor(:include_sunday_on_hd_diaries) { false }
@@ -140,6 +136,9 @@ module Renalware
140
136
  # Note that the standard HL7 PID admin sex values are not adhered to here. For reference
141
137
  # they are:
142
138
  # F Female, M Male, O Other, U Unknown, A Ambiguous, N Not applicable
139
+ # Note
140
+ # - NS = Not Stated
141
+ # - NK = Not Known
143
142
  config_accessor(:hl7_pid_sex_map) do
144
143
  {
145
144
  "MALE" => "M",
@@ -148,7 +147,8 @@ module Renalware
148
147
  "UNKNOWN" => "NK",
149
148
  "NOTKNOWN" => "NK",
150
149
  "AMBIGUOUS" => "NS",
151
- "NOT APPLICABLE" => "NS"
150
+ "NOT APPLICABLE" => "NS",
151
+ "BOTH" => "NS"
152
152
  }.freeze
153
153
  end
154
154
  end
@@ -161,4 +161,3 @@ module Renalware
161
161
  yield config
162
162
  end
163
163
  end
164
- # rubocop:enable Metrics/ClassLength
@@ -5,6 +5,6 @@ module Renalware
5
5
  # to creat that class even though its not used. If we don't do this zeitwerk
6
6
  # complains that version.rb does export a constant called Version.
7
7
  class VersionNumber
8
- VERSION = "2.0.158"
8
+ VERSION = "2.0.163"
9
9
  end
10
10
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ServiceResult
4
+ attr_reader :object
5
+
6
+ def initialize(object)
7
+ @object = object
8
+ end
9
+
10
+ def success?
11
+ false
12
+ end
13
+
14
+ def failure?
15
+ !success?
16
+ end
17
+ end
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "attr_extras"
4
-
5
- module SQL
3
+ module Sql
6
4
  # Example:
7
5
  #
8
6
  # indexed_case_stmt(:code, "DT", "AC", "XY")
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "service_result"
4
+
5
+ class Success < ServiceResult
6
+ def success?
7
+ true
8
+ end
9
+ end
@@ -39,7 +39,7 @@ namespace :ukrdc do
39
39
  RubyProf.start
40
40
  end
41
41
  # Renalware::UKRDC::TreatmentTimeline::GenerateTreatments.call
42
- Renalware::UKRDC::CreateEncryptedPatientXMLFiles.new(
42
+ Renalware::UKRDC::CreateEncryptedPatientXmlFiles.new(
43
43
  changed_since: ENV["changed_since"],
44
44
  patient_ids: ENV.fetch("patient_ids", "").split(",").map(&:to_i),
45
45
  force_send: ENV["force_send"] == "true"
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ class WeekPeriod
4
+ attr_reader :year, :week_number, :date_on_first_day_of_week
5
+
6
+ def self.from_date(date)
7
+ date = date.to_date
8
+ new(week_number: date.cweek, year: date.cwyear)
9
+ end
10
+
11
+ def initialize(week_number:, year:)
12
+ @week_number = week_number.to_i
13
+ @year = year.to_i
14
+ validate_week_number
15
+ validate_year
16
+ @date_on_first_day_of_week = Date.commercial(@year, @week_number)
17
+ end
18
+
19
+ def next
20
+ self.class.from_date(date_on_first_day_of_week + 1.week)
21
+ end
22
+
23
+ def previous
24
+ self.class.from_date(date_on_first_day_of_week - 1.week)
25
+ end
26
+
27
+ def to_a
28
+ [week_number, year]
29
+ end
30
+
31
+ def to_s
32
+ "#{I18n.l(date_on_first_day_of_week, format: :long)} " \
33
+ "to #{I18n.l(last_day_of_week, format: :long)}"
34
+ end
35
+
36
+ # The date of last day of the week (a Sunday)
37
+ def last_day_of_week
38
+ @last_day_of_week ||= (date_on_first_day_of_week + 1.week - 1.minute).to_date
39
+ end
40
+
41
+ def validate_week_number
42
+ if week_number < 1 || week_number > 53
43
+ raise(ArgumentError, "invalid date: week_number must be 1-53")
44
+ end
45
+ end
46
+
47
+ def validate_year
48
+ raise(ArgumentError, "invalid date year must be >= 2000") if year <= 2000
49
+ end
50
+
51
+ def to_h
52
+ {
53
+ year: year,
54
+ week_number: week_number
55
+ }
56
+ end
57
+ end
@@ -9,8 +9,7 @@ FactoryBot.define do
9
9
  description { "Needs blood sample taken." }
10
10
  notes { "Would like son to accompany them on clinic visit." }
11
11
 
12
- factory :simple_event, class: "Renalware::Events::Simple" do
13
- end
12
+ factory :simple_event, class: "Renalware::Events::Simple"
14
13
 
15
14
  factory :swab, class: "Renalware::Events::Swab" do
16
15
  event_type factory: :swab_event_type
@@ -12,16 +12,9 @@ FactoryBot.define do
12
12
 
13
13
  author { accountable_actor }
14
14
 
15
- factory :draft_letter, class: "Renalware::Letters::Letter::Draft" do
16
- end
17
-
18
- factory :pending_review_letter, class: "Renalware::Letters::Letter::PendingReview" do
19
- end
20
-
21
- factory :approved_letter, class: "Renalware::Letters::Letter::Approved" do
22
- end
23
-
24
- factory :completed_letter, class: "Renalware::Letters::Letter::Completed" do
25
- end
15
+ factory :draft_letter, class: "Renalware::Letters::Letter::Draft"
16
+ factory :pending_review_letter, class: "Renalware::Letters::Letter::PendingReview"
17
+ factory :approved_letter, class: "Renalware::Letters::Letter::Approved"
18
+ factory :completed_letter, class: "Renalware::Letters::Letter::Completed"
26
19
  end
27
20
  end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :prescription_version, class: "Renalware::Medications::PrescriptionVersion" do
5
- end
4
+ factory :prescription_version, class: "Renalware::Medications::PrescriptionVersion"
6
5
  end
@@ -5,7 +5,6 @@ FactoryBot.define do
5
5
  name { "White - British" }
6
6
  rr18_code { "A" }
7
7
 
8
- trait :white_british do
9
- end
8
+ trait :white_british
10
9
  end
11
10
  end
@@ -2,8 +2,8 @@
2
2
 
3
3
  FactoryBot.define do
4
4
  factory :bag_type, class: "Renalware::PD::BagType" do
5
- manufacturer { "Star Brand, Lucky Brand" }
6
- description { "Green–2.34" }
5
+ manufacturer { "BagManufacturer" }
6
+ description { "BagDescription" }
7
7
  glucose_content { 2.8 }
8
8
  glucose_strength { :medium }
9
9
  amino_acid { true }
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :snippets_user, class: "Renalware::Snippets::User", parent: :user do
5
- end
4
+ factory :snippets_user, class: "Renalware::Snippets::User", parent: :user
6
5
  end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :transplant_recipient_followup, class: "Renalware::Transplants::RecipientFollowup" do
5
- end
4
+ factory :transplant_recipient_followup, class: "Renalware::Transplants::RecipientFollowup"
6
5
  end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :vaccination_type, class: "Renalware::Virology::VaccinationType" do
5
+ code { "code" }
6
+ name { "name" }
7
+ end
8
+ end
@@ -3,6 +3,6 @@
3
3
  FactoryBot.define do
4
4
  factory :vaccination, class: "Renalware::Virology::Vaccination" do
5
5
  event_type factory: :vaccination_event_type
6
- document {}
6
+ document { {} }
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: renalware-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.158
4
+ version: 2.0.163
5
5
  platform: ruby
6
6
  authors:
7
7
  - Airslie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-30 00:00:00.000000000 Z
11
+ date: 2021-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord-import
@@ -310,14 +310,14 @@ dependencies:
310
310
  requirements:
311
311
  - - "~>"
312
312
  - !ruby/object:Gem::Version
313
- version: 2.3.1
313
+ version: 2.4.0
314
314
  type: :runtime
315
315
  prerelease: false
316
316
  version_requirements: !ruby/object:Gem::Requirement
317
317
  requirements:
318
318
  - - "~>"
319
319
  - !ruby/object:Gem::Version
320
- version: 2.3.1
320
+ version: 2.4.0
321
321
  - !ruby/object:Gem::Dependency
322
322
  name: font-awesome-sass
323
323
  requirement: !ruby/object:Gem::Requirement
@@ -664,14 +664,14 @@ dependencies:
664
664
  name: puma
665
665
  requirement: !ruby/object:Gem::Requirement
666
666
  requirements:
667
- - - "~>"
667
+ - - ">="
668
668
  - !ruby/object:Gem::Version
669
669
  version: '4.3'
670
670
  type: :runtime
671
671
  prerelease: false
672
672
  version_requirements: !ruby/object:Gem::Requirement
673
673
  requirements:
674
- - - "~>"
674
+ - - ">="
675
675
  - !ruby/object:Gem::Version
676
676
  version: '4.3'
677
677
  - !ruby/object:Gem::Dependency
@@ -854,14 +854,14 @@ dependencies:
854
854
  requirements:
855
855
  - - "~>"
856
856
  - !ruby/object:Gem::Version
857
- version: 2.0.5
857
+ version: '2.0'
858
858
  type: :runtime
859
859
  prerelease: false
860
860
  version_requirements: !ruby/object:Gem::Requirement
861
861
  requirements:
862
862
  - - "~>"
863
863
  - !ruby/object:Gem::Version
864
- version: 2.0.5
864
+ version: '2.0'
865
865
  - !ruby/object:Gem::Dependency
866
866
  name: slim-rails
867
867
  requirement: !ruby/object:Gem::Requirement
@@ -896,14 +896,14 @@ dependencies:
896
896
  requirements:
897
897
  - - '='
898
898
  - !ruby/object:Gem::Version
899
- version: 0.7.0
899
+ version: 0.8.0
900
900
  type: :runtime
901
901
  prerelease: false
902
902
  version_requirements: !ruby/object:Gem::Requirement
903
903
  requirements:
904
904
  - - '='
905
905
  - !ruby/object:Gem::Version
906
- version: 0.7.0
906
+ version: 0.8.0
907
907
  - !ruby/object:Gem::Dependency
908
908
  name: uglifier
909
909
  requirement: !ruby/object:Gem::Requirement
@@ -1105,11 +1105,12 @@ files:
1105
1105
  - app/assets/javascripts/renalware/components/behaviours.js
1106
1106
  - app/assets/javascripts/renalware/components/clipboard_setup.js
1107
1107
  - app/assets/javascripts/renalware/components/clockpicker.js
1108
+ - app/assets/javascripts/renalware/components/configuration.js
1108
1109
  - app/assets/javascripts/renalware/components/contacts.js
1109
- - app/assets/javascripts/renalware/components/dialogs.js.erb
1110
+ - app/assets/javascripts/renalware/components/dialogs.js
1110
1111
  - app/assets/javascripts/renalware/components/drugs.js
1111
1112
  - app/assets/javascripts/renalware/components/events.js
1112
- - app/assets/javascripts/renalware/components/feed_only_inputs.js.erb
1113
+ - app/assets/javascripts/renalware/components/feed_only_inputs.js
1113
1114
  - app/assets/javascripts/renalware/components/feeds.js
1114
1115
  - app/assets/javascripts/renalware/components/forms.js
1115
1116
  - app/assets/javascripts/renalware/components/full_screen.js
@@ -1132,16 +1133,14 @@ files:
1132
1133
  - app/assets/javascripts/renalware/components/primary_care_physicians.js
1133
1134
  - app/assets/javascripts/renalware/components/problems.js
1134
1135
  - app/assets/javascripts/renalware/components/renal.js
1135
- - app/assets/javascripts/renalware/components/reporting.js.erb
1136
1136
  - app/assets/javascripts/renalware/components/searchables.js
1137
1137
  - app/assets/javascripts/renalware/components/select2-ajax-search.js
1138
- - app/assets/javascripts/renalware/components/session_timeout_redirect.js.erb
1139
1138
  - app/assets/javascripts/renalware/components/sortable.js
1140
1139
  - app/assets/javascripts/renalware/components/table.js
1141
1140
  - app/assets/javascripts/renalware/components/tabs.js
1142
1141
  - app/assets/javascripts/renalware/components/toggler.js
1143
1142
  - app/assets/javascripts/renalware/components/transplants.js
1144
- - app/assets/javascripts/renalware/core.js.erb
1143
+ - app/assets/javascripts/renalware/core.js
1145
1144
  - app/assets/javascripts/renalware/rollup_compiled.css
1146
1145
  - app/assets/javascripts/renalware/rollup_compiled.js
1147
1146
  - app/assets/pdf/blank_page.pdf
@@ -1262,8 +1261,6 @@ files:
1262
1261
  - app/components/renalware/surveys/pos_s_component.rb
1263
1262
  - app/components/renalware/system/admin_menu_component.html.slim
1264
1263
  - app/components/renalware/system/admin_menu_component.rb
1265
- - app/components/renalware/system/article_component.html.slim
1266
- - app/components/renalware/system/article_component.rb
1267
1264
  - app/components/renalware/system/users_awaiting_approval_component.html.slim
1268
1265
  - app/components/renalware/system/users_awaiting_approval_component.rb
1269
1266
  - app/components/renalware/users/last_signin_component.html.slim
@@ -1459,6 +1456,13 @@ files:
1459
1456
  - app/controllers/renalware/virology/dashboards_controller.rb
1460
1457
  - app/controllers/renalware/virology/profiles_controller.rb
1461
1458
  - app/controllers/renalware/virology/vaccinations_controller.rb
1459
+ - app/documents/document/attribute_initializer.rb
1460
+ - app/documents/document/attribute_initializer/active_model.rb
1461
+ - app/documents/document/attribute_initializer/base.rb
1462
+ - app/documents/document/attribute_initializer/enum.rb
1463
+ - app/documents/document/base.rb
1464
+ - app/documents/document/embedded.rb
1465
+ - app/documents/document/enum.rb
1462
1466
  - app/documents/renalware/accesses/assessment_document.rb
1463
1467
  - app/documents/renalware/age.rb
1464
1468
  - app/documents/renalware/binary_marker.rb
@@ -1580,11 +1584,8 @@ files:
1580
1584
  - app/jobs/renalware/letters/save_rtf_letter_to_file_job.rb
1581
1585
  - app/jobs/renalware/reporting/refresh_audit_data_job.rb
1582
1586
  - app/mailers/renalware/admin/user_mailer.rb
1583
- - app/mailers/renalware/letters/delivery/errors.rb
1587
+ - app/mailers/renalware/letters/delivery.rb
1584
1588
  - app/mailers/renalware/letters/delivery/practice_mailer.rb
1585
- - app/mailers/renalware/previews/report_preview.rb
1586
- - app/mailers/renalware/previews/ukrdc_summary_preview.rb
1587
- - app/mailers/renalware/previews/user_mailer_preview.rb
1588
1589
  - app/mailers/renalware/reporting/report_mailer.rb
1589
1590
  - app/mailers/renalware/ukrdc/summary_mailer.rb
1590
1591
  - app/models/application_record.rb
@@ -1636,6 +1637,7 @@ files:
1636
1637
  - app/models/renalware/admissions/request_reason.rb
1637
1638
  - app/models/renalware/admissions/specialty.rb
1638
1639
  - app/models/renalware/api.rb
1640
+ - app/models/renalware/automatic_age_calculator.rb
1639
1641
  - app/models/renalware/clinical.rb
1640
1642
  - app/models/renalware/clinical/allergy.rb
1641
1643
  - app/models/renalware/clinical/allergy_status_form.rb
@@ -1675,12 +1677,14 @@ files:
1675
1677
  - app/models/renalware/drugs/type.rb
1676
1678
  - app/models/renalware/events.rb
1677
1679
  - app/models/renalware/events/advanced_care_plan.rb
1680
+ - app/models/renalware/events/alertable_events_query.rb
1678
1681
  - app/models/renalware/events/biopsy.rb
1679
1682
  - app/models/renalware/events/clinical_frailty_score.rb
1680
1683
  - app/models/renalware/events/create_event.rb
1681
1684
  - app/models/renalware/events/event.rb
1682
1685
  - app/models/renalware/events/event_list_query.rb
1683
1686
  - app/models/renalware/events/event_query.rb
1687
+ - app/models/renalware/events/event_type_alert_trigger.rb
1684
1688
  - app/models/renalware/events/investigation.rb
1685
1689
  - app/models/renalware/events/line_change_event_query.rb
1686
1690
  - app/models/renalware/events/lists/form.rb
@@ -2007,9 +2011,9 @@ files:
2007
2011
  - app/models/renalware/pd.rb
2008
2012
  - app/models/renalware/pd/adequacy_calculated_attributes.rb
2009
2013
  - app/models/renalware/pd/adequacy_result.rb
2014
+ - app/models/renalware/pd/apd.rb.dead
2010
2015
  - app/models/renalware/pd/apd/available_overnight_volume.rb
2011
2016
  - app/models/renalware/pd/apd/calculate_volumes.rb
2012
- - app/models/renalware/pd/apd/exceptions.rb
2013
2017
  - app/models/renalware/pd/apd/glucose_calculator.rb
2014
2018
  - app/models/renalware/pd/apd/non_tidal_regime_calculations.rb
2015
2019
  - app/models/renalware/pd/apd/regime_calculations.rb
@@ -2048,6 +2052,7 @@ files:
2048
2052
  - app/models/renalware/problems/note.rb
2049
2053
  - app/models/renalware/problems/problem.rb
2050
2054
  - app/models/renalware/problems/version.rb
2055
+ - app/models/renalware/remembered_preferences.rb
2051
2056
  - app/models/renalware/renal.rb
2052
2057
  - app/models/renalware/renal/aki_alert.rb
2053
2058
  - app/models/renalware/renal/aki_alert_action.rb
@@ -2202,6 +2207,7 @@ files:
2202
2207
  - app/models/renalware/virology/patient.rb
2203
2208
  - app/models/renalware/virology/profile.rb
2204
2209
  - app/models/renalware/virology/vaccination.rb
2210
+ - app/models/renalware/virology/vaccination_type.rb
2205
2211
  - app/models/renalware/virology/version.rb
2206
2212
  - app/models/renalware/zip_archive.rb
2207
2213
  - app/pdfs/renalware/events/event_pdf.rb
@@ -2569,12 +2575,14 @@ files:
2569
2575
  - app/views/renalware/events/clinical_frailty_score/_cell.html.slim
2570
2576
  - app/views/renalware/events/clinical_frailty_score/_inputs.html.slim
2571
2577
  - app/views/renalware/events/clinical_frailty_score/_toggled_cell.html.slim
2578
+ - app/views/renalware/events/events/_alerts.html.slim
2572
2579
  - app/views/renalware/events/events/_event.html.slim
2573
2580
  - app/views/renalware/events/events/_filters.html.slim
2574
2581
  - app/views/renalware/events/events/_form.html.slim
2575
2582
  - app/views/renalware/events/events/_list.html.slim
2576
2583
  - app/views/renalware/events/events/_summary_part.html.slim
2577
2584
  - app/views/renalware/events/events/_table.html.slim
2585
+ - app/views/renalware/events/events/alert/_simple.html.slim
2578
2586
  - app/views/renalware/events/events/cell/_biopsy.html.slim
2579
2587
  - app/views/renalware/events/events/cell/_investigation.html.slim
2580
2588
  - app/views/renalware/events/events/cell/_simple.html.slim
@@ -3322,6 +3330,7 @@ files:
3322
3330
  - app/views/renalware/virology/dashboards/show.html.slim
3323
3331
  - app/views/renalware/virology/profiles/_summary.html.slim
3324
3332
  - app/views/renalware/virology/profiles/edit.html.slim
3333
+ - app/views/renalware/virology/vaccinations/_alert.html.slim
3325
3334
  - app/views/renalware/virology/vaccinations/_cell.html.slim
3326
3335
  - app/views/renalware/virology/vaccinations/_inputs.html.slim
3327
3336
  - app/views/renalware/virology/vaccinations/_list.html.slim
@@ -4071,6 +4080,10 @@ files:
4071
4080
  - db/migrate/20201021153832_update_supportive_care_mdm_patients_view.rb
4072
4081
  - db/migrate/20201021154809_update_transplant_mdm_patients_view.rb
4073
4082
  - db/migrate/20201023092859_remove_unused_indexes.rb
4083
+ - db/migrate/20201105153422_update_medication_current_prescriptions_view.rb
4084
+ - db/migrate/20201112152752_update_pd_mdm_patients_view1.rb
4085
+ - db/migrate/20210105163944_create_virology_vaccination_types.rb
4086
+ - db/migrate/20210115181817_create_event_type_alert_triggers.rb
4074
4087
  - db/seeds.rb
4075
4088
  - db/seeds/default/accesses/access_pd_catheter_insertion_techniques.csv
4076
4089
  - db/seeds/default/accesses/access_pd_catheter_insertion_techniques.rb
@@ -4162,6 +4175,8 @@ files:
4162
4175
  - db/seeds/default/ukrdc/modality_codes.csv
4163
4176
  - db/seeds/default/ukrdc/modality_codes.rb
4164
4177
  - db/seeds/default/ukrdc/seeds.rb
4178
+ - db/seeds/default/virology/seeds.rb
4179
+ - db/seeds/default/virology/vaccination_types.rb
4165
4180
  - db/seeds/seeds_helper.rb
4166
4181
  - db/triggers/feed_messages_preprocessing_trigger_v01.sql
4167
4182
  - db/triggers/update_current_observation_set_trigger_v01.sql
@@ -4176,6 +4191,7 @@ files:
4176
4191
  - db/views/low_clearance_mdm_patients_v01.sql
4177
4192
  - db/views/low_clearance_mdm_patients_v02.sql
4178
4193
  - db/views/medication_current_prescriptions_v01.sql
4194
+ - db/views/medication_current_prescriptions_v02.sql
4179
4195
  - db/views/pathology_current_key_observation_sets_v01.sql
4180
4196
  - db/views/pathology_current_key_observation_sets_v02.sql
4181
4197
  - db/views/pathology_current_observations_v01.sql
@@ -4190,6 +4206,7 @@ files:
4190
4206
  - db/views/patient_summaries_v06.sql
4191
4207
  - db/views/pd_mdm_patients_v01.sql
4192
4208
  - db/views/pd_mdm_patients_v02.sql
4209
+ - db/views/pd_mdm_patients_v03.sql
4193
4210
  - db/views/pd_regime_for_modalities_v01.sql
4194
4211
  - db/views/reporting_anaemia_audit_v01.sql
4195
4212
  - db/views/reporting_bone_audit_v01.sql
@@ -4226,7 +4243,7 @@ files:
4226
4243
  - lib/breadcrumb.rb
4227
4244
  - lib/collection_presenter.rb
4228
4245
  - lib/core_extensions/active_record/migration_helpers.rb
4229
- - lib/core_extensions/active_support/duration.rb
4246
+ - lib/core_extensions/active_support/duration_additions.rb
4230
4247
  - lib/core_extensions/date.rb
4231
4248
  - lib/core_extensions/dumb_delegator.rb
4232
4249
  - lib/core_extensions/hash.rb
@@ -4234,35 +4251,25 @@ files:
4234
4251
  - lib/core_extensions/i18n/handle_blank_value.rb
4235
4252
  - lib/core_extensions/ox/element_additions.rb
4236
4253
  - lib/core_extensions/scenic.rb
4237
- - lib/document/attribute_initializer.rb
4238
- - lib/document/attribute_initializer/active_model.rb
4239
- - lib/document/attribute_initializer/base.rb
4240
- - lib/document/attribute_initializer/enum.rb
4241
- - lib/document/base.rb
4242
- - lib/document/embedded.rb
4243
- - lib/document/enum.rb
4244
4254
  - lib/dropdown_button_item.rb
4245
4255
  - lib/duration_calculator.rb
4256
+ - lib/failure.rb
4246
4257
  - lib/git_commit_sha.rb
4247
4258
  - lib/gpg_encrypt_folder.rb
4248
4259
  - lib/hash_collection.rb
4249
4260
  - lib/inline_image.rb
4261
+ - lib/month_period.rb
4250
4262
  - lib/numeric_inclusion_validator.rb
4251
4263
  - lib/pandoc/templates/default.rtf
4252
4264
  - lib/renalware.rb
4253
- - lib/renalware/automatic_age_calculator.rb
4254
4265
  - lib/renalware/configuration.rb
4255
4266
  - lib/renalware/engine.rb
4256
- - lib/renalware/failure.rb
4257
- - lib/renalware/month_period.rb
4258
- - lib/renalware/remembered_preferences.rb
4259
- - lib/renalware/service_result.rb
4260
- - lib/renalware/success.rb
4261
4267
  - lib/renalware/version_number.rb
4262
- - lib/renalware/week_period.rb
4268
+ - lib/service_result.rb
4263
4269
  - lib/smart_delegator.rb
4264
4270
  - lib/sql/indexed_case_stmt.rb
4265
4271
  - lib/subscription_registry.rb
4272
+ - lib/success.rb
4266
4273
  - lib/tasks/audit.rake
4267
4274
  - lib/tasks/bundler_audit.rake
4268
4275
  - lib/tasks/cucumber.rake
@@ -4279,8 +4286,7 @@ files:
4279
4286
  - lib/tasks/spec.rake
4280
4287
  - lib/tasks/ukrdc.rake
4281
4288
  - lib/templates/slim/scaffold/_form.html.slim
4282
- - lib/test_support/ajax_helpers.rb
4283
- - lib/test_support/text_editor_helpers.rb
4289
+ - lib/week_period.rb
4284
4290
  - spec/factories/accesses/assessments.rb
4285
4291
  - spec/factories/accesses/catheter_insertion_techniques.rb
4286
4292
  - spec/factories/accesses/patients.rb
@@ -4446,7 +4452,9 @@ files:
4446
4452
  - spec/factories/transplants/rejection_treatments.rb
4447
4453
  - spec/factories/ukrdc/modality_codes.rb
4448
4454
  - spec/factories/virology/patients.rb
4455
+ - spec/factories/virology/vaccination_types.rb
4449
4456
  - spec/factories/virology/vaccinations.rb
4457
+ - spec/support/ajax_helpers.rb
4450
4458
  - spec/support/capybara_helper.rb
4451
4459
  - spec/support/database_functions_spec_helper.rb
4452
4460
  - spec/support/date_helpers.rb
@@ -4470,6 +4478,7 @@ files:
4470
4478
  - spec/support/shared_examples/accountable_examples.rb
4471
4479
  - spec/support/shared_examples/paranoia_examples.rb
4472
4480
  - spec/support/shared_examples/supersedable_examples.rb
4481
+ - spec/support/text_editor_helpers.rb
4473
4482
  - spec/support/translations.rb
4474
4483
  - spec/support/travel.rb
4475
4484
  - spec/support/ukrdc_helpers.rb
@@ -4532,7 +4541,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
4532
4541
  - !ruby/object:Gem::Version
4533
4542
  version: '0'
4534
4543
  requirements: []
4535
- rubygems_version: 3.0.3
4544
+ rubygems_version: 3.1.4
4536
4545
  signing_key:
4537
4546
  specification_version: 4
4538
4547
  summary: Renalware core functionality as a mountable engine.