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
@@ -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
 
@@ -18,7 +18,12 @@ module Renalware
18
18
 
19
19
  class Document < Document::Embedded
20
20
  attribute :type, ::Document::Enum # See i18n for options
21
+ attribute :drug, String
21
22
  validates :type, presence: true
23
+
24
+ def to_s
25
+ [type&.text, drug].reject(&:blank?).join(" - ")
26
+ end
22
27
  end
23
28
  has_document
24
29
  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
 
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "renalware/letters"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Letters
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/letters"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Letters
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/low_clearance"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module LowClearance
@@ -47,6 +47,13 @@ module Renalware
47
47
  ].compact.join(" - ")
48
48
  end
49
49
 
50
+ def provider_suffix
51
+ case __getobj__.provider&.to_s
52
+ when "gp" then "GP"
53
+ when "hospital", "home_delivery" then "HOSP"
54
+ end
55
+ end
56
+
50
57
  private
51
58
 
52
59
  def translated_dose_unit
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "attr_extras"
4
3
  require_dependency "renalware/pathology"
5
4
 
6
5
  # Compares two hashes of pathology observations (OBXs).
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/renal"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Renal
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "attr_extras"
4
-
5
3
  module Renalware
6
4
  # A base class for Summary presenters in other name-spaces. SummaryParts can be composed into
7
5
  # reporting dashboards or summary pages. The Clinical Summary for instance comprises an array