renalware-core 2.0.155 → 2.0.160

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/renalware/components/configuration.js +20 -0
  3. data/app/assets/javascripts/renalware/components/{dialogs.js.erb → dialogs.js} +2 -5
  4. data/app/assets/javascripts/renalware/components/{feed_only_inputs.js.erb → feed_only_inputs.js} +4 -4
  5. data/app/assets/javascripts/renalware/{core.js.erb → core.js} +0 -5
  6. data/app/assets/javascripts/renalware/rollup_compiled.css +42050 -42050
  7. data/app/assets/stylesheets/renalware/modules/_clinical.scss +13 -0
  8. data/app/components/renalware/admissions/active_consult_alert_component.html.slim +1 -1
  9. data/app/components/renalware/article_component.rb +1 -1
  10. data/app/components/renalware/letters/letters_in_progress_component.rb +1 -5
  11. data/app/components/renalware/letters/unread_electronic_ccs_component.rb +1 -4
  12. data/app/components/renalware/patients/bookmarks_component.rb +1 -5
  13. data/app/components/renalware/patients/messages_component.rb +2 -8
  14. data/app/components/renalware/pd/adequacy_results_component.rb +1 -1
  15. data/app/components/renalware/pd/pet_results_component.html.slim +1 -3
  16. data/app/components/renalware/surveys/eq5d_component.rb +1 -5
  17. data/app/components/renalware/surveys/pos_s_component.rb +1 -5
  18. data/app/components/renalware/system/admin_menu_component.rb +1 -4
  19. data/app/components/renalware/system/users_awaiting_approval_component.rb +1 -5
  20. data/app/controllers/renalware/api/token_authenticated_api_controller.rb +1 -1
  21. data/app/controllers/renalware/api/v1/medications/prescriptions_controller.rb +1 -1
  22. data/app/controllers/renalware/api/v1/patients/patients_controller.rb +1 -1
  23. data/app/controllers/renalware/events/events_controller.rb +0 -1
  24. data/app/controllers/renalware/pd/pet_results_controller.rb +1 -1
  25. data/{lib → app/documents}/document/attribute_initializer.rb +0 -0
  26. data/{lib → app/documents}/document/attribute_initializer/active_model.rb +0 -0
  27. data/{lib → app/documents}/document/attribute_initializer/base.rb +0 -0
  28. data/{lib → app/documents}/document/attribute_initializer/enum.rb +0 -0
  29. data/{lib → app/documents}/document/base.rb +0 -0
  30. data/{lib → app/documents}/document/embedded.rb +0 -0
  31. data/{lib → app/documents}/document/enum.rb +0 -0
  32. data/app/jobs/renalware/hd/generate_monthly_statistics.rb +1 -1
  33. data/app/jobs/renalware/hd/generate_monthly_statistics_for_patient_job.rb +1 -1
  34. data/app/jobs/renalware/letters/calculate_page_count_job.rb +0 -1
  35. data/app/jobs/renalware/letters/mailshots/create_mailshot_letters_job.rb +0 -1
  36. data/app/jobs/renalware/letters/printing/batch_print_job.rb +0 -1
  37. data/app/jobs/renalware/letters/save_rtf_letter_to_file_job.rb +1 -1
  38. data/app/mailers/renalware/letters/{delivery/errors.rb → delivery.rb} +2 -1
  39. data/app/mailers/renalware/letters/delivery/practice_mailer.rb +2 -2
  40. data/app/models/concerns/renalware/deviseable.rb +3 -3
  41. data/app/models/renalware/admissions/admission_query.rb +0 -1
  42. data/{lib → app/models}/renalware/automatic_age_calculator.rb +0 -0
  43. data/app/models/renalware/clinical/create_allergy.rb +4 -4
  44. data/app/models/renalware/clinics/create_clinic_visit.rb +4 -4
  45. data/app/models/renalware/clinics/current_observations.rb +3 -4
  46. data/app/models/renalware/events/create_event.rb +0 -1
  47. data/app/models/renalware/feeds/files/exceptions.rb +1 -0
  48. data/app/models/renalware/feeds/files/practice_memberships/import_csv.rb +0 -1
  49. data/app/models/renalware/feeds/files/primary_care_physicians/import_csv.rb +0 -1
  50. data/app/models/renalware/feeds/message_processor.rb +0 -1
  51. data/app/models/renalware/hd/prescription_administration.rb +6 -4
  52. data/app/models/renalware/hd/profiles_in_date_range_query.rb +1 -6
  53. data/app/models/renalware/hd/scheduling/diary_range.rb +1 -2
  54. data/app/models/renalware/hd/scheduling/find_or_create_diary_by_week_query.rb +1 -1
  55. data/app/models/renalware/hd/session_forms/batch.rb +0 -1
  56. data/app/models/renalware/hd/session_forms/batch_compile_pdfs.rb +0 -1
  57. data/app/models/renalware/hd/session_forms/batch_item.rb +0 -1
  58. data/app/models/renalware/hd/sessions/close_stale_open_sessions.rb +0 -1
  59. data/app/models/renalware/letters/approve_letter.rb +0 -1
  60. data/app/models/renalware/letters/complete_letter.rb +0 -1
  61. data/app/models/renalware/letters/delivery/delivery_policy.rb +0 -1
  62. data/app/models/renalware/letters/delivery/email_letter_to_practice.rb +0 -1
  63. data/app/models/renalware/letters/delivery/practice_email.rb +0 -1
  64. data/app/models/renalware/letters/html_renderer.rb +1 -1
  65. data/app/models/renalware/letters/letter_factory.rb +1 -1
  66. data/app/models/renalware/letters/part/recent_pathology_results.rb +0 -1
  67. data/app/models/renalware/letters/pathology_layout.rb +1 -1
  68. data/app/models/renalware/letters/pdf_renderer.rb +1 -1
  69. data/app/models/renalware/letters/printing/batch_compile_pdfs.rb +0 -1
  70. data/app/models/renalware/letters/printing/complete_batch.rb +0 -1
  71. data/app/models/renalware/letters/printing/pdf_combining.rb +0 -2
  72. data/app/models/renalware/letters/resolve_default_electronic_ccs.rb +0 -2
  73. data/app/models/renalware/letters/rtf_renderer.rb +3 -2
  74. data/app/models/renalware/modalities/change_patient_modality.rb +4 -4
  75. data/app/models/renalware/pathology.rb +1 -0
  76. data/app/models/renalware/pathology/adjust_observation.rb +0 -1
  77. data/app/models/renalware/pathology/message_listener.rb +1 -1
  78. data/app/models/renalware/pathology/observation.rb +1 -1
  79. data/app/models/renalware/pathology/observation_descriptions_by_code_query.rb +1 -1
  80. data/app/models/renalware/pathology/observations_grouped_by_date_query.rb +0 -1
  81. data/app/models/renalware/pathology/observations_grouped_by_date_table.rb +0 -1
  82. data/app/models/renalware/pathology/ordered_patient_query.rb +1 -1
  83. data/app/models/renalware/pathology/requests/request_params_factory.rb +0 -1
  84. data/app/models/renalware/patients/calculate_age.rb +0 -1
  85. data/app/models/renalware/patients/clear_patient_ukrdc_data.rb +0 -1
  86. data/app/models/renalware/patients/ingestion/update_master_patient_index.rb +0 -1
  87. data/app/models/renalware/patients/last_successful_practice_sync_date_query.rb +0 -2
  88. data/app/models/renalware/patients/primary_care_physician.rb +1 -0
  89. data/app/models/renalware/patients/sync_ods_job.rb +1 -1
  90. data/app/models/renalware/patients/sync_practices_via_api.rb +1 -1
  91. data/app/models/renalware/pd.rb +5 -0
  92. data/app/models/renalware/pd/{apd/exceptions.rb → apd.rb.dead} +0 -0
  93. data/app/models/renalware/pd/apd/available_overnight_volume.rb +0 -1
  94. data/app/models/renalware/pd/apd/regime_calculations.rb +1 -1
  95. data/app/models/renalware/pd/create_regime.rb +4 -4
  96. data/app/models/renalware/pd/regimes_in_date_range_query.rb +0 -2
  97. data/app/models/renalware/pd/revise_regime.rb +5 -5
  98. data/{lib → app/models}/renalware/remembered_preferences.rb +0 -0
  99. data/app/models/renalware/research/study_participants_query.rb +0 -1
  100. data/app/models/renalware/transplants/create_donor_stage.rb +4 -4
  101. data/app/models/renalware/transplants/registrations/wait_list_query.rb +1 -1
  102. data/app/models/renalware/ukrdc.rb +1 -0
  103. data/app/models/renalware/ukrdc/create_encrypted_patient_xml_files.rb +2 -2
  104. data/app/models/renalware/ukrdc/create_patient_xml_file.rb +1 -2
  105. data/app/models/renalware/ukrdc/export_summary.rb +0 -1
  106. data/app/models/renalware/ukrdc/housekeeping/remove_old_export_archive_folders.rb +0 -1
  107. data/app/models/renalware/ukrdc/incoming/file_list.rb +0 -2
  108. data/app/models/renalware/ukrdc/incoming/import_survey.rb +0 -1
  109. data/app/models/renalware/ukrdc/incoming/import_surveys.rb +0 -1
  110. data/app/models/renalware/ukrdc/incoming/xml_document.rb +0 -1
  111. data/app/models/renalware/ukrdc/pathology_observation_requests_query.rb +1 -2
  112. data/app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb +0 -1
  113. data/app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb +1 -1
  114. data/app/models/renalware/ukrdc/treatment_timeline/generator_factory.rb +1 -1
  115. data/app/models/renalware/ukrdc/treatment_timeline/hd/generator.rb +1 -1
  116. data/app/models/renalware/ukrdc/treatment_timeline/pd/generator.rb +0 -1
  117. data/app/models/renalware/ukrdc/treatment_timeline/pd/regime_decorator.rb +0 -1
  118. data/app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb +0 -1
  119. data/app/models/renalware/ukrdc/treatment_timeline/transplant/generator.rb +0 -1
  120. data/app/models/renalware/ukrdc/xml_renderer.rb +2 -2
  121. data/app/models/renalware/virology/vaccination.rb +5 -0
  122. data/app/presenters/renalware/accesses/dashboard_presenter.rb +0 -1
  123. data/app/presenters/renalware/clinical/header_presenter.rb +0 -1
  124. data/app/presenters/renalware/letters/letter_presenter.rb +1 -1
  125. data/app/presenters/renalware/letters/part_class_filter.rb +0 -1
  126. data/app/presenters/renalware/letters/practice_email_meta_data.rb +0 -1
  127. data/app/presenters/renalware/low_clearance/dashboard_presenter.rb +0 -1
  128. data/app/presenters/renalware/medications/prescription_presenter.rb +7 -0
  129. data/app/presenters/renalware/pathology/observations_diff.rb +0 -1
  130. data/app/presenters/renalware/renal/clinical_summary_presenter.rb +0 -1
  131. data/app/presenters/renalware/summary_part.rb +0 -2
  132. data/app/presenters/renalware/transplants/donor_dashboard_presenter.rb +0 -1
  133. data/app/presenters/renalware/transplants/recipient_dashboard_presenter.rb +0 -1
  134. data/app/presenters/renalware/ukrdc/transplant_operation_presenter.rb +0 -1
  135. data/app/presenters/renalware/user_session_presenter.rb +1 -3
  136. data/app/values/renalware/bmi.rb +0 -2
  137. data/app/views/renalware/letters/contacts/_new_person.html.slim +1 -1
  138. data/app/views/renalware/letters/contacts/_person_from_directory.html.slim +1 -1
  139. data/app/views/renalware/letters/formatted_letters/_letter.html.slim +13 -14
  140. data/app/views/renalware/letters/mailshots/mailshots/_form.html.slim +25 -21
  141. data/app/views/renalware/letters/parts/_allergies.html.slim +1 -1
  142. data/app/views/renalware/letters/parts/_problems.html.slim +1 -1
  143. data/app/views/renalware/letters/parts/_recent_pathology_results.html.slim +1 -1
  144. data/app/views/renalware/medications/prescriptions/_current.html.slim +1 -1
  145. data/app/views/renalware/medications/prescriptions/_current_hd.html.slim +1 -1
  146. data/app/views/renalware/medications/prescriptions/_prescription.html.slim +3 -1
  147. data/app/views/renalware/medications/prescriptions/_recently_stopped.html.slim +1 -1
  148. data/app/views/renalware/system/view_metadata/_columns_table.html.slim +2 -2
  149. data/app/views/renalware/virology/vaccinations/_cell.html.slim +1 -1
  150. data/app/views/renalware/virology/vaccinations/_inputs.html.slim +1 -0
  151. data/app/views/renalware/virology/vaccinations/_toggled_cell.html.slim +2 -0
  152. data/config/initializers/core_extensions.rb +1 -1
  153. data/config/initializers/inflections.rb +2 -0
  154. data/config/locales/renalware/virology/virology.en.yml +4 -0
  155. data/db/migrate/20201020155510_add_bmi_to_clinic_visits.rb +5 -2
  156. data/db/migrate/20201020171139_update_low_clearance_mdm_patients_view.rb +1 -1
  157. data/db/migrate/20201021153832_update_supportive_care_mdm_patients_view.rb +1 -1
  158. data/db/migrate/20201021154809_update_transplant_mdm_patients_view.rb +1 -1
  159. data/db/migrate/20201023092859_remove_unused_indexes.rb +1 -1
  160. data/db/migrate/20201105153422_update_medication_current_prescriptions_view.rb +7 -0
  161. data/db/migrate/20201112152752_update_pd_mdm_patients_view1.rb +7 -0
  162. data/db/views/medication_current_prescriptions_v01.sql +2 -1
  163. data/db/views/medication_current_prescriptions_v02.sql +30 -0
  164. data/db/views/pd_mdm_patients_v03.sql +50 -0
  165. data/db/views/reporting_anaemia_audit_v01.sql +0 -2
  166. data/lib/core_extensions/active_support/{duration.rb → duration_additions.rb} +0 -0
  167. data/lib/failure.rb +6 -0
  168. data/lib/gpg_encrypt_folder.rb +0 -2
  169. data/lib/month_period.rb +16 -0
  170. data/lib/renalware/configuration.rb +5 -6
  171. data/lib/renalware/version_number.rb +1 -1
  172. data/lib/service_result.rb +17 -0
  173. data/lib/sql/indexed_case_stmt.rb +1 -3
  174. data/lib/success.rb +9 -0
  175. data/lib/tasks/ukrdc.rake +1 -1
  176. data/lib/week_period.rb +57 -0
  177. data/spec/factories/events/events.rb +1 -2
  178. data/spec/factories/letters/letters.rb +4 -11
  179. data/spec/factories/medications/prescription_version.rb +1 -2
  180. data/spec/factories/patients/ethnicities.rb +1 -2
  181. data/spec/factories/pd/bag_types.rb +2 -2
  182. data/spec/factories/snippets/users.rb +1 -2
  183. data/spec/factories/transplants/recipient_followups.rb +1 -2
  184. data/spec/factories/virology/vaccinations.rb +1 -1
  185. data/{lib/test_support → spec/support}/ajax_helpers.rb +0 -0
  186. data/{lib/test_support → spec/support}/text_editor_helpers.rb +0 -0
  187. metadata +35 -37
  188. data/app/assets/javascripts/renalware/components/reporting.js.erb +0 -0
  189. data/app/assets/javascripts/renalware/components/session_timeout_redirect.js.erb +0 -37
  190. data/app/components/renalware/system/article_component.html.slim +0 -3
  191. data/app/components/renalware/system/article_component.rb +0 -9
  192. data/app/mailers/renalware/previews/report_preview.rb +0 -14
  193. data/app/mailers/renalware/previews/ukrdc_summary_preview.rb +0 -20
  194. data/app/mailers/renalware/previews/user_mailer_preview.rb +0 -16
  195. data/lib/renalware/failure.rb +0 -6
  196. data/lib/renalware/month_period.rb +0 -18
  197. data/lib/renalware/service_result.rb +0 -19
  198. data/lib/renalware/success.rb +0 -9
  199. data/lib/renalware/week_period.rb +0 -59
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/feeds"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Feeds
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/feeds"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Feeds
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/feeds"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Feeds
@@ -9,10 +9,12 @@ module Renalware
9
9
  acts_as_paranoid
10
10
 
11
11
  # Set to true by the parent hd_session if we are not signing off at this stage
12
- attr_accessor :skip_witness_validation
13
- attr_accessor :skip_administrator_validation
14
- attr_accessor :administered_by_password
15
- attr_accessor :witnessed_by_password
12
+ attr_accessor(
13
+ :skip_witness_validation,
14
+ :skip_administrator_validation,
15
+ :administered_by_password,
16
+ :witnessed_by_password
17
+ )
16
18
 
17
19
  belongs_to :hd_session, class_name: "HD::Session", touch: true
18
20
  belongs_to :prescription, class_name: "Medications::Prescription"
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "attr_extras"
4
-
5
3
  module Renalware
6
4
  module HD
7
5
  class ProfilesInDateRangeQuery
@@ -13,9 +11,6 @@ module Renalware
13
11
  # so for the start date of the profile we always use created_at and ignore prescribed_on,
14
12
  # even if it is present.
15
13
  def call
16
- # p " from #{from}"
17
- # p " to #{to}"
18
-
19
14
  # If to is nil it is because modality we are targetting is a current one.
20
15
  # We need a date for the from..to range to work so use a far future one.
21
16
  @to ||= Date.parse("3000-01-01")
@@ -24,7 +19,7 @@ module Renalware
24
19
  # we will have duplicate Treatments with odd state/end date ordering
25
20
  used_profiles_ids = UKRDC::Treatment
26
21
  .where(patient: patient)
27
- .where("hd_profile_id is not null")
22
+ .where.not(hd_profile_id: nil)
28
23
  .pluck(:hd_profile_id)
29
24
  HD::Profile
30
25
  .with_deactivated
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "renalware/hd"
4
- require "renalware/week_period"
5
- require "attr_extras"
4
+ require "week_period"
6
5
 
7
6
  module Renalware
8
7
  module HD
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/hd"
4
- require "renalware/week_period"
4
+ require "week_period"
5
5
  ##
6
6
  # Returns a hospital unit's diary for the requested week (passed to #new as a WeekPeriod
7
7
  # value object).
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "attr_extras"
4
3
  require_dependency "renalware/hd"
5
4
 
6
5
  module Renalware
@@ -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 HD
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "attr_extras"
4
3
  require_dependency "renalware/hd"
5
4
 
6
5
  module Renalware
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/hd"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module HD
@@ -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/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 "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 "renalware/letters"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Letters
@@ -5,7 +5,7 @@ module Renalware
5
5
  # Note we cannot use a partial layout with render_to_string as it will always expect
6
6
  # the location to be in views/layouts and its not possible in Rails 5.1 to specify
7
7
  # another or absolute path
8
- class HTMLRenderer
8
+ class HtmlRenderer
9
9
  def call(letter)
10
10
  context = LettersController.new
11
11
  context.render_to_string_with_wicked_pdf(
@@ -54,7 +54,7 @@ module Renalware
54
54
  Letter::Draft.new(params.merge!(type: Letter::Draft.name, patient: patient))
55
55
  end
56
56
 
57
- # note both practice and gp need to be present before we can send to the pcp - we'll use the
57
+ # NOTE: both practice and gp need to be present before we can send to the pcp - we'll use the
58
58
  # practice address but the GP's name as the salutation.
59
59
  def include_primary_care_physician_as_default_main_recipient
60
60
  return if letter.main_recipient.present?
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "renalware/letters/part"
4
- require "attr_extras"
5
4
 
6
5
  # When rendered, the template in `to_partial_path` will be used, and our Part object here will be
7
6
  # available in the partial as `recent_pathology_results`.
@@ -11,7 +11,7 @@ module Renalware
11
11
  def each_group
12
12
  Pathology::ObservationDescription
13
13
  .select(:id, :code, :letter_group, :letter_order)
14
- .where("letter_group is not null")
14
+ .where.not(letter_group: nil)
15
15
  .order("letter_group asc, letter_order asc")
16
16
  .group_by(&:letter_group)
17
17
  .each do |group_number, descriptions|
@@ -2,7 +2,7 @@
2
2
 
3
3
  #
4
4
  # Render a Letter to PDF. Try and get it from the cachefirst
5
- # Lean on Letters::HTMLRenderer which already renders the letter to html via
5
+ # Lean on Letters::HtmlRenderer which already renders the letter to html via
6
6
  # LetterPresenter#content.
7
7
  #
8
8
  module Renalware
@@ -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/letters"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Letters
@@ -2,8 +2,6 @@
2
2
 
3
3
  require_dependency "renalware/letters"
4
4
 
5
- require "attr_extras"
6
-
7
5
  module Renalware
8
6
  module Letters
9
7
  module Printing
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "attr_extras"
4
-
5
3
  module Renalware
6
4
  module Letters
7
5
  # This class is responsible for collating the complete set of default electronic ccs for a new
@@ -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
@@ -36,10 +35,12 @@ module Renalware
36
35
  temp_html_file.unlink # allows garbage collection and temp file removal
37
36
  end
38
37
 
38
+ # Use windows line endings (CRLF) rather than linux (LF).
39
+ # This solves a problem at Barts exporting RTFs to send to GPs
39
40
  def rtf_content_converted_from(html_temp_file)
40
41
  rtf_template = File.join(Engine.root, "lib", "pandoc", "templates", "default.rtf")
41
42
  options = { template: rtf_template }
42
- PandocRuby.html([html_temp_file.path], options, :standalone).to_rtf
43
+ PandocRuby.html([html_temp_file.path], options, :standalone).to_rtf("--eol=crlf")
43
44
  end
44
45
 
45
46
  def html_with_images_stripped
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/modalities"
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 Modalities
@@ -50,9 +50,9 @@ module Renalware
50
50
  if new_modality.valid?
51
51
  make_new_modality_the_current_one(new_modality)
52
52
  broadcast_modality_change_event_to_any_listeners(new_modality)
53
- ::Renalware::Success.new(new_modality)
53
+ ::Success.new(new_modality)
54
54
  else
55
- ::Renalware::Failure.new(new_modality)
55
+ ::Failure.new(new_modality)
56
56
  end
57
57
  end
58
58
 
@@ -21,6 +21,7 @@ module Renalware
21
21
  end
22
22
 
23
23
  class MissingRequestDescriptionError < StandardError; end
24
+
24
25
  class MissingObservationDescriptionError < StandardError; end
25
26
  end
26
27
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/pathology"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Pathology
@@ -9,7 +9,7 @@ require_dependency "renalware/pathology"
9
9
  module Renalware
10
10
  module Pathology
11
11
  class MessageListener
12
- # Note: We are already inside a transaction here
12
+ # NOTE: We are already inside a transaction here
13
13
  def oru_message_arrived(hl7_message:, **)
14
14
  pathology_params = parse_pathology_params(hl7_message)
15
15
  create_observation_requests_and_their_child_observations_from(pathology_params)
@@ -19,7 +19,7 @@ module Renalware
19
19
 
20
20
  scope :ordered, -> { order(observed_at: :desc) }
21
21
  scope :for_description, ->(description) { where(description: description) }
22
- scope :having_a_loinc_code, -> { joins(:description).where("loinc_code is not null") }
22
+ scope :having_a_loinc_code, -> { joins(:description).where.not(loinc_code: nil) }
23
23
 
24
24
  def observed_on
25
25
  observed_at.to_date
@@ -28,7 +28,7 @@ module Renalware
28
28
  # ...
29
29
  # ]
30
30
  def call
31
- stmt = SQL::IndexedCaseStmt.new(:code, @codes) # Generate a CASE statement for ordering
31
+ stmt = Sql::IndexedCaseStmt.new(:code, @codes) # Generate a CASE statement for ordering
32
32
  records = @relation.where(code: @codes).order(stmt.generate)
33
33
  verify_all_records_found(records)
34
34
  records
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/pathology"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Pathology
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/pathology"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Pathology
@@ -19,7 +19,7 @@ module Renalware
19
19
  private
20
20
 
21
21
  def ids_index
22
- ::SQL::IndexedCaseStmt.new("patients.id", @patient_ids).generate
22
+ ::Sql::IndexedCaseStmt.new("patients.id", @patient_ids).generate
23
23
  end
24
24
  end
25
25
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/pathology"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Pathology
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/patients"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Patients
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/patients"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Patients
@@ -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