renalware-core 2.0.156 → 2.0.161

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 (210) 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 +13 -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 +2 -8
  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/create_event.rb +0 -1
  51. data/app/models/renalware/feeds/files/exceptions.rb +1 -0
  52. data/app/models/renalware/feeds/files/practice_memberships/import_csv.rb +0 -1
  53. data/app/models/renalware/feeds/files/primary_care_physicians/import_csv.rb +0 -1
  54. data/app/models/renalware/feeds/message_processor.rb +0 -1
  55. data/app/models/renalware/hd/prescription_administration.rb +6 -4
  56. data/app/models/renalware/hd/profiles_in_date_range_query.rb +1 -6
  57. data/app/models/renalware/hd/scheduling/diary_range.rb +1 -2
  58. data/app/models/renalware/hd/scheduling/find_or_create_diary_by_week_query.rb +1 -1
  59. data/app/models/renalware/hd/session_forms/batch.rb +0 -1
  60. data/app/models/renalware/hd/session_forms/batch_compile_pdfs.rb +0 -1
  61. data/app/models/renalware/hd/session_forms/batch_item.rb +0 -1
  62. data/app/models/renalware/hd/sessions/close_stale_open_sessions.rb +0 -1
  63. data/app/models/renalware/letters/approve_letter.rb +0 -1
  64. data/app/models/renalware/letters/complete_letter.rb +0 -1
  65. data/app/models/renalware/letters/delivery/delivery_policy.rb +0 -1
  66. data/app/models/renalware/letters/delivery/email_letter_to_practice.rb +0 -1
  67. data/app/models/renalware/letters/delivery/practice_email.rb +0 -1
  68. data/app/models/renalware/letters/html_renderer.rb +1 -1
  69. data/app/models/renalware/letters/letter_factory.rb +1 -1
  70. data/app/models/renalware/letters/part/recent_pathology_results.rb +0 -1
  71. data/app/models/renalware/letters/pathology_layout.rb +1 -1
  72. data/app/models/renalware/letters/pdf_renderer.rb +1 -1
  73. data/app/models/renalware/letters/printing/batch_compile_pdfs.rb +0 -1
  74. data/app/models/renalware/letters/printing/complete_batch.rb +0 -1
  75. data/app/models/renalware/letters/printing/pdf_combining.rb +0 -2
  76. data/app/models/renalware/letters/resolve_default_electronic_ccs.rb +0 -2
  77. data/app/models/renalware/letters/rtf_renderer.rb +3 -2
  78. data/app/models/renalware/modalities/change_patient_modality.rb +4 -4
  79. data/app/models/renalware/pathology.rb +1 -0
  80. data/app/models/renalware/pathology/adjust_observation.rb +0 -1
  81. data/app/models/renalware/pathology/message_listener.rb +1 -1
  82. data/app/models/renalware/pathology/observation.rb +1 -1
  83. data/app/models/renalware/pathology/observation_descriptions_by_code_query.rb +1 -1
  84. data/app/models/renalware/pathology/observations_grouped_by_date_query.rb +0 -1
  85. data/app/models/renalware/pathology/observations_grouped_by_date_table.rb +0 -1
  86. data/app/models/renalware/pathology/ordered_patient_query.rb +1 -1
  87. data/app/models/renalware/pathology/requests/request_params_factory.rb +0 -1
  88. data/app/models/renalware/patients/calculate_age.rb +0 -1
  89. data/app/models/renalware/patients/clear_patient_ukrdc_data.rb +0 -1
  90. data/app/models/renalware/patients/ingestion/update_master_patient_index.rb +0 -1
  91. data/app/models/renalware/patients/last_successful_practice_sync_date_query.rb +0 -2
  92. data/app/models/renalware/patients/primary_care_physician.rb +1 -0
  93. data/app/models/renalware/patients/sync_ods_job.rb +1 -1
  94. data/app/models/renalware/patients/sync_practices_via_api.rb +1 -1
  95. data/app/models/renalware/pd.rb +5 -0
  96. data/app/models/renalware/pd/{apd/exceptions.rb → apd.rb.dead} +0 -0
  97. data/app/models/renalware/pd/apd/available_overnight_volume.rb +0 -1
  98. data/app/models/renalware/pd/apd/regime_calculations.rb +1 -1
  99. data/app/models/renalware/pd/create_regime.rb +4 -4
  100. data/app/models/renalware/pd/regimes_in_date_range_query.rb +0 -2
  101. data/app/models/renalware/pd/revise_regime.rb +5 -5
  102. data/{lib → app/models}/renalware/remembered_preferences.rb +0 -0
  103. data/app/models/renalware/research/study_participants_query.rb +0 -1
  104. data/app/models/renalware/transplants/create_donor_stage.rb +4 -4
  105. data/app/models/renalware/transplants/registrations/wait_list_query.rb +1 -1
  106. data/app/models/renalware/ukrdc.rb +1 -0
  107. data/app/models/renalware/ukrdc/create_encrypted_patient_xml_files.rb +2 -2
  108. data/app/models/renalware/ukrdc/create_patient_xml_file.rb +1 -2
  109. data/app/models/renalware/ukrdc/export_summary.rb +0 -1
  110. data/app/models/renalware/ukrdc/housekeeping/remove_old_export_archive_folders.rb +0 -1
  111. data/app/models/renalware/ukrdc/incoming/file_list.rb +0 -2
  112. data/app/models/renalware/ukrdc/incoming/import_survey.rb +0 -1
  113. data/app/models/renalware/ukrdc/incoming/import_surveys.rb +0 -1
  114. data/app/models/renalware/ukrdc/incoming/xml_document.rb +0 -1
  115. data/app/models/renalware/ukrdc/pathology_observation_requests_query.rb +1 -2
  116. data/app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb +0 -1
  117. data/app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb +1 -1
  118. data/app/models/renalware/ukrdc/treatment_timeline/generator_factory.rb +1 -1
  119. data/app/models/renalware/ukrdc/treatment_timeline/hd/generator.rb +1 -1
  120. data/app/models/renalware/ukrdc/treatment_timeline/pd/generator.rb +0 -1
  121. data/app/models/renalware/ukrdc/treatment_timeline/pd/regime_decorator.rb +0 -1
  122. data/app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb +0 -1
  123. data/app/models/renalware/ukrdc/treatment_timeline/transplant/generator.rb +0 -1
  124. data/app/models/renalware/ukrdc/xml_renderer.rb +2 -2
  125. data/app/models/renalware/virology/vaccination.rb +14 -1
  126. data/app/models/renalware/virology/vaccination_type.rb +16 -0
  127. data/app/presenters/renalware/accesses/dashboard_presenter.rb +0 -1
  128. data/app/presenters/renalware/clinical/header_presenter.rb +0 -1
  129. data/app/presenters/renalware/letters/letter_presenter.rb +1 -1
  130. data/app/presenters/renalware/letters/part_class_filter.rb +0 -1
  131. data/app/presenters/renalware/letters/practice_email_meta_data.rb +0 -1
  132. data/app/presenters/renalware/low_clearance/dashboard_presenter.rb +0 -1
  133. data/app/presenters/renalware/medications/prescription_presenter.rb +7 -0
  134. data/app/presenters/renalware/pathology/observations_diff.rb +0 -1
  135. data/app/presenters/renalware/renal/clinical_summary_presenter.rb +0 -1
  136. data/app/presenters/renalware/summary_part.rb +0 -2
  137. data/app/presenters/renalware/transplants/donor_dashboard_presenter.rb +0 -1
  138. data/app/presenters/renalware/transplants/recipient_dashboard_presenter.rb +0 -1
  139. data/app/presenters/renalware/ukrdc/transplant_operation_presenter.rb +0 -1
  140. data/app/presenters/renalware/user_session_presenter.rb +1 -3
  141. data/app/values/renalware/bmi.rb +0 -2
  142. data/app/views/renalware/admin/playgrounds/show.html.slim +2 -2
  143. data/app/views/renalware/hd/prescription_administrations/_form.html.slim +2 -2
  144. data/app/views/renalware/letters/contacts/_new_person.html.slim +1 -1
  145. data/app/views/renalware/letters/contacts/_person_from_directory.html.slim +1 -1
  146. data/app/views/renalware/letters/formatted_letters/_letter.html.slim +13 -14
  147. data/app/views/renalware/letters/mailshots/mailshots/_form.html.slim +25 -21
  148. data/app/views/renalware/letters/parts/_allergies.html.slim +1 -1
  149. data/app/views/renalware/letters/parts/_problems.html.slim +1 -1
  150. data/app/views/renalware/letters/parts/_recent_pathology_results.html.slim +1 -1
  151. data/app/views/renalware/medications/home_delivery/events/_edit.html.slim +4 -4
  152. data/app/views/renalware/medications/prescriptions/_current.html.slim +1 -1
  153. data/app/views/renalware/medications/prescriptions/_current_hd.html.slim +1 -1
  154. data/app/views/renalware/medications/prescriptions/_form.html.slim +3 -3
  155. data/app/views/renalware/medications/prescriptions/_prescription.html.slim +3 -1
  156. data/app/views/renalware/medications/prescriptions/_recently_stopped.html.slim +1 -1
  157. data/app/views/renalware/system/view_metadata/_columns_table.html.slim +2 -2
  158. data/app/views/renalware/system/view_metadata/edit.html.slim +6 -6
  159. data/app/views/renalware/virology/vaccinations/_cell.html.slim +1 -1
  160. data/app/views/renalware/virology/vaccinations/_inputs.html.slim +3 -1
  161. data/app/views/renalware/virology/vaccinations/_toggled_cell.html.slim +3 -1
  162. data/config/initializers/core_extensions.rb +1 -1
  163. data/config/initializers/inflections.rb +2 -0
  164. data/config/locales/renalware/virology/virology.en.yml +4 -0
  165. data/db/migrate/20201020155510_add_bmi_to_clinic_visits.rb +5 -2
  166. data/db/migrate/20201105153422_update_medication_current_prescriptions_view.rb +7 -0
  167. data/db/migrate/20201112152752_update_pd_mdm_patients_view1.rb +7 -0
  168. data/db/migrate/20210105163944_create_virology_vaccination_types.rb +13 -0
  169. data/db/seeds/default/seeds.rb +1 -0
  170. data/db/seeds/default/virology/seeds.rb +3 -0
  171. data/db/seeds/default/virology/vaccination_types.rb +25 -0
  172. data/db/views/medication_current_prescriptions_v01.sql +2 -1
  173. data/db/views/medication_current_prescriptions_v02.sql +30 -0
  174. data/db/views/pd_mdm_patients_v03.sql +50 -0
  175. data/db/views/reporting_anaemia_audit_v01.sql +0 -2
  176. data/lib/core_extensions/active_support/{duration.rb → duration_additions.rb} +0 -0
  177. data/lib/failure.rb +6 -0
  178. data/lib/gpg_encrypt_folder.rb +0 -2
  179. data/lib/month_period.rb +16 -0
  180. data/lib/renalware/configuration.rb +5 -6
  181. data/lib/renalware/version_number.rb +1 -1
  182. data/lib/service_result.rb +17 -0
  183. data/lib/sql/indexed_case_stmt.rb +1 -3
  184. data/lib/success.rb +9 -0
  185. data/lib/tasks/ukrdc.rake +1 -1
  186. data/lib/week_period.rb +57 -0
  187. data/spec/factories/events/events.rb +1 -2
  188. data/spec/factories/letters/letters.rb +4 -11
  189. data/spec/factories/medications/prescription_version.rb +1 -2
  190. data/spec/factories/patients/ethnicities.rb +1 -2
  191. data/spec/factories/pd/bag_types.rb +2 -2
  192. data/spec/factories/snippets/users.rb +1 -2
  193. data/spec/factories/transplants/recipient_followups.rb +1 -2
  194. data/spec/factories/virology/vaccination_types.rb +8 -0
  195. data/spec/factories/virology/vaccinations.rb +1 -1
  196. data/{lib/test_support → spec/support}/ajax_helpers.rb +0 -0
  197. data/{lib/test_support → spec/support}/text_editor_helpers.rb +0 -0
  198. metadata +41 -38
  199. data/app/assets/javascripts/renalware/components/reporting.js.erb +0 -0
  200. data/app/assets/javascripts/renalware/components/session_timeout_redirect.js.erb +0 -37
  201. data/app/components/renalware/system/article_component.html.slim +0 -3
  202. data/app/components/renalware/system/article_component.rb +0 -9
  203. data/app/mailers/renalware/previews/report_preview.rb +0 -14
  204. data/app/mailers/renalware/previews/ukrdc_summary_preview.rb +0 -20
  205. data/app/mailers/renalware/previews/user_mailer_preview.rb +0 -16
  206. data/lib/renalware/failure.rb +0 -6
  207. data/lib/renalware/month_period.rb +0 -18
  208. data/lib/renalware/service_result.rb +0 -19
  209. data/lib/renalware/success.rb +0 -9
  210. data/lib/renalware/week_period.rb +0 -59
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "renalware/feeds"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Patients
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "attr_extras"
4
-
5
3
  module Renalware
6
4
  module Patients
7
5
  class LastSuccessfulPracticeSyncDateQuery
@@ -57,6 +57,7 @@ module Renalware
57
57
  end
58
58
 
59
59
  class PrimaryCarePhysicianAddressAccessError < StandardError; end
60
+
60
61
  def current_address
61
62
  raise PrimaryCarePhysicianAddressAccessError,
62
63
  "primary_care_physician#current_address should not be called: "\
@@ -33,7 +33,7 @@ module Renalware
33
33
  # practices. On successive runs it will just find changes since the last run.
34
34
  def sync_practices(dry_run)
35
35
  Renalware::System::APILog.with_log("nhs_data_api", dry_run: dry_run) do |api_log|
36
- Renalware::Patients::SyncPracticesViaApi.call(
36
+ Renalware::Patients::SyncPracticesViaAPI.call(
37
37
  dry_run: dry_run,
38
38
  api_log: api_log
39
39
  )
@@ -7,7 +7,7 @@ module Renalware
7
7
  # Fetches pratice changes and additions from the NHS ODS API.
8
8
  # Called from a rake task.
9
9
  # See doc/ods.md
10
- class SyncPracticesViaApi
10
+ class SyncPracticesViaAPI
11
11
  def self.call(**args)
12
12
  new(**args).call
13
13
  end
@@ -39,5 +39,10 @@ module Renalware
39
39
  def self.configure
40
40
  yield config
41
41
  end
42
+
43
+ module APD
44
+ class NonUniqueOvernightVolumeError < StandardError
45
+ end
46
+ end
42
47
  end
43
48
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/pd"
4
- require_dependency "renalware/pd/apd/exceptions"
5
4
 
6
5
  module Renalware
7
6
  module PD
@@ -19,7 +19,7 @@ module Renalware
19
19
  calculated_overnight_volume,
20
20
  effective_last_fill_volume,
21
21
  effective_additional_manual_exchange_volume
22
- ].compact.inject(0, :+)
22
+ ].compact.sum
23
23
  vol == 0 ? nil : vol
24
24
  end
25
25
 
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/pd"
4
- require_dependency "renalware/success"
5
- require_dependency "renalware/failure"
4
+ require "success"
5
+ require "failure"
6
6
 
7
7
  module Renalware
8
8
  module PD
@@ -14,9 +14,9 @@ module Renalware
14
14
  def call(by:, params:)
15
15
  regime = patient.pd_regimes.new(params)
16
16
  if regime.valid? && save_regime(regime, by)
17
- ::Renalware::Success.new(regime)
17
+ ::Success.new(regime)
18
18
  else
19
- ::Renalware::Failure.new(regime)
19
+ ::Failure.new(regime)
20
20
  end
21
21
  end
22
22
 
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "attr_extras"
4
-
5
3
  module Renalware
6
4
  module PD
7
5
  class RegimesInDateRangeQuery
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/pd"
4
- require_dependency "renalware/success"
5
- require_dependency "renalware/failure"
4
+ require "success"
5
+ require "failure"
6
6
 
7
7
  module Renalware
8
8
  module PD
@@ -14,13 +14,13 @@ module Renalware
14
14
  def call(by:, params:)
15
15
  Regime.transaction do
16
16
  regime.assign_attributes(params)
17
- return ::Renalware::Success.new(regime) unless regime.anything_changed?
17
+ return ::Success.new(regime) unless regime.anything_changed?
18
18
  unless regime.valid?
19
- return ::Renalware::Failure.new(regime.with_bag_destruction_marks_removed)
19
+ return ::Failure.new(regime.with_bag_destruction_marks_removed)
20
20
  end
21
21
 
22
22
  new_regime = revise_regime(by: by)
23
- ::Renalware::Success.new(new_regime)
23
+ ::Success.new(new_regime)
24
24
  end
25
25
  end
26
26
 
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/research"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Research
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/transplants"
4
- require_dependency "renalware/success"
5
- require_dependency "renalware/failure"
4
+ require "success"
5
+ require "failure"
6
6
 
7
7
  # Service object responsible for creating a new DonorStage and terminated the previous one
8
8
  # if found.
@@ -19,9 +19,9 @@ module Renalware
19
19
  terminate_current_stage if current_stage.present?
20
20
  stage = build_new_stage
21
21
  if stage.save
22
- ::Renalware::Success.new(stage)
22
+ ::Success.new(stage)
23
23
  else
24
- ::Renalware::Failure.new(stage)
24
+ ::Failure.new(stage)
25
25
  end
26
26
  end
27
27
  end
@@ -93,7 +93,7 @@ module Renalware
93
93
  when :suspended
94
94
  { current_status_in: :suspended }
95
95
  when :active_and_suspended
96
- # note: array must be embedded in another array as mentioned here:
96
+ # NOTE: array must be embedded in another array as mentioned here:
97
97
  # https://github.com/activerecord-hackery/ransack#using-scopesclass-methods
98
98
  { current_status_in: [%w(active suspended)] }
99
99
  when :working_up
@@ -5,6 +5,7 @@ require_dependency "renalware"
5
5
  module Renalware
6
6
  module UKRDC
7
7
  class SurveyNotFoundError < StandardError; end
8
+
8
9
  class QuestionNotFoundError < StandardError; end
9
10
 
10
11
  def self.table_name_prefix
@@ -11,7 +11,7 @@ module Renalware
11
11
  # which might for example be a symlink to an outgoing folder in /media/ukrdc which in turn
12
12
  # is mount on a remote share for example on an SFTP server.
13
13
  # rubocop:disable Metrics/ClassLength:
14
- class CreateEncryptedPatientXMLFiles
14
+ class CreateEncryptedPatientXmlFiles
15
15
  attr_reader(
16
16
  :patient_ids,
17
17
  :changed_since,
@@ -106,7 +106,7 @@ module Renalware
106
106
  # rubocop:enable Metrics/MethodLength, Metrics/AbcSize
107
107
 
108
108
  def create_xml_file(patient:, schema:)
109
- CreatePatientXMLFile.new(
109
+ CreatePatientXmlFile.new(
110
110
  patient: patient,
111
111
  dir: paths.timestamped_xml_folder,
112
112
  changes_since: changed_since,
@@ -1,11 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module UKRDC
8
- class CreatePatientXMLFile
7
+ class CreatePatientXmlFile
9
8
  pattr_initialize [
10
9
  :patient!,
11
10
  :dir!,
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module UKRDC
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module UKRDC
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "attr_extras"
4
-
5
3
  module Renalware
6
4
  module UKRDC
7
5
  module Incoming
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module UKRDC
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module UKRDC
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module UKRDC
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module UKRDC
@@ -18,7 +17,7 @@ module Renalware
18
17
  Pathology::ObservationRequest
19
18
  .where(id: Pathology::ObservationRequest.distinct_for_patient_id(patient_id))
20
19
  .where("requested_at >= ?", effective_changes_since)
21
- .where("loinc_code is not null")
20
+ .where("loinc_code is not null") # NOTE: fails using where.not(loinc_code: nil)
22
21
  .eager_load(
23
22
  :description,
24
23
  observations: { description: :measurement_unit }
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module UKRDC
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
4
+
5
5
  require "benchmark"
6
6
 
7
7
  module Renalware
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
4
+
5
5
  require "benchmark"
6
6
 
7
7
  module Renalware
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
4
+
5
5
  # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
6
6
  module Renalware
7
7
  module UKRDC
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module UKRDC
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module UKRDC
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module UKRDC
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/ukrdc"
4
- require "attr_extras"
5
4
 
6
5
  # QBL TXT Description
7
6
  # "20" "20" "Transplant ; Cadaver donor"
@@ -9,11 +9,11 @@ module Renalware
9
9
  DEFAULT_TEMPLATE = "/renalware/api/ukrdc/patients/show"
10
10
  attr_reader :template, :errors, :locals, :schema
11
11
 
12
- class Success < Renalware::Success
12
+ class Success < ::Success
13
13
  alias xml object
14
14
  end
15
15
 
16
- class Failure < Renalware::Failure
16
+ class Failure < ::Failure
17
17
  alias validation_errors object
18
18
  end
19
19
 
@@ -17,8 +17,21 @@ module Renalware
17
17
  end
18
18
 
19
19
  class Document < Document::Embedded
20
- attribute :type, ::Document::Enum # See i18n for options
20
+ attribute :type # This used to be a ::Document::Enum but now we load options from the db
21
+ attribute :drug, String
21
22
  validates :type, presence: true
23
+
24
+ def to_s
25
+ [type_name, drug].reject(&:blank?).join(" - ")
26
+ end
27
+
28
+ # Try and find the proper name for the vaccination type - we only store the vaccination
29
+ # type code in the jsonb document. If no match found just display the code eg 'hbv_booster'.
30
+ # The Type mighjt have been deleted (has a deleted_at date) but we still want to display the
31
+ # actual name depite this, we include deleted rows when searching.
32
+ def type_name
33
+ VaccinationType.with_deleted.find_by(code: type)&.name || type
34
+ end
22
35
  end
23
36
  has_document
24
37
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_dependency "renalware/virology"
4
+
5
+ module Renalware
6
+ module Virology
7
+ class VaccinationType < ApplicationRecord
8
+ validates :name, presence: true, uniqueness: true
9
+ validates :code, presence: true, uniqueness: true
10
+
11
+ acts_as_paranoid
12
+
13
+ scope :ordered, -> { order(position: :asc, name: :asc) }
14
+ end
15
+ end
16
+ end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/accesses"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Accesses
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Clinical
@@ -83,7 +83,7 @@ module Renalware
83
83
  if archived?
84
84
  archive.content
85
85
  else
86
- @content ||= HTMLRenderer.new.call(self)
86
+ @content ||= HtmlRenderer.new.call(self)
87
87
  end
88
88
  end
89
89