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
@@ -186,6 +186,19 @@ article.clinical-allergies {
186
186
  }
187
187
  }
188
188
 
189
+ &.active-consult {
190
+ background-color: $nhs-pink;
191
+
192
+ &:hover {
193
+ background-color: darken($nhs-pink, 7);
194
+ }
195
+
196
+ .title a,
197
+ i:before {
198
+ color: $white;
199
+ }
200
+ }
201
+
189
202
  &.research-study-participant {
190
203
  background-color: darken($nhs-green, 3);
191
204
  color: $white;
@@ -1,4 +1,4 @@
1
- li.patient-alert.bg-pink-200.text-gray-700
1
+ li.patient-alert.active-consult
2
2
  i.fas.fa-exclamation-triangle
3
3
  span.title
4
4
  = link_to "Active Consult", renalware.edit_admissions_consult_path(id: consult_id)
@@ -6,7 +6,7 @@ module Renalware
6
6
  # build more and more useful components. Other components can use this component
7
7
  # in their markup.
8
8
  class ArticleComponent < ApplicationComponent
9
- pattr_initialize [:title]
9
+ rattr_initialize [:title]
10
10
  with_content_areas :title_link, :actions
11
11
  end
12
12
  end
@@ -3,11 +3,7 @@
3
3
  module Renalware
4
4
  module Letters
5
5
  class LettersInProgressComponent < ApplicationComponent
6
- attr_reader :current_user
7
-
8
- def initialize(current_user:)
9
- @current_user = current_user
10
- end
6
+ pattr_initialize [:current_user!]
11
7
 
12
8
  # Note we want oldest letters ordered first here - elsewhere letters are newest first
13
9
  def letters_in_progress
@@ -4,11 +4,8 @@ module Renalware
4
4
  module Letters
5
5
  class UnreadElectronicCCsComponent < ApplicationComponent
6
6
  include Pundit::Helper
7
- attr_reader :current_user
8
7
 
9
- def initialize(current_user:)
10
- @current_user = current_user
11
- end
8
+ pattr_initialize [:current_user!]
12
9
 
13
10
  def unread_electronic_ccs
14
11
  @unread_electronic_ccs ||= begin
@@ -3,11 +3,7 @@
3
3
  module Renalware
4
4
  module Patients
5
5
  class BookmarksComponent < ApplicationComponent
6
- attr_reader :current_user
7
-
8
- def initialize(current_user:)
9
- @current_user = current_user
10
- end
6
+ pattr_initialize [:current_user!]
11
7
 
12
8
  def bookmarks
13
9
  @bookmarks ||= begin
@@ -8,13 +8,7 @@ module Renalware
8
8
  include Pagy::Frontend
9
9
  TITLE = "Messages"
10
10
 
11
- attr_reader :patient, :current_user
12
-
13
- def initialize(patient:, current_user:)
14
- @patient = patient
15
- @current_user = current_user
16
- super
17
- end
11
+ rattr_initialize [:patient!, :current_user!]
18
12
 
19
13
  def pagination
20
14
  load_messages unless @pagination
@@ -30,7 +24,7 @@ module Renalware
30
24
  if pagination.items < pagination.count
31
25
  "#{TITLE} (#{pagination.items} of #{pagination.count})"
32
26
  else
33
- "#{TITLE} (#{pagination.items})"
27
+ "#{TITLE} (#{pagination.count})"
34
28
  end
35
29
  end
36
30
 
@@ -9,7 +9,7 @@ module Renalware
9
9
  include Pagy::Backend
10
10
  include Pagy::Frontend
11
11
  include ToggleHelper
12
- pattr_initialize [:patient!, :current_user!]
12
+ rattr_initialize [:patient!, :current_user!]
13
13
  attr_reader :pagination
14
14
 
15
15
  TITLE = "Adequacy Results"
@@ -4,9 +4,6 @@
4
4
  header
5
5
  h2= title
6
6
 
7
-
8
-
9
- /.flex.flex-row-reverse
10
7
  .flex.justify-end
11
8
 
12
9
  .inline-flex
@@ -22,6 +19,7 @@
22
19
 
23
20
  = link_to "Show all", renalware.patient_pd_pet_results_path(patient), remote: true, class: "float-none button flex-initial secondary"
24
21
  = link_to "Add", renalware.new_patient_pd_pet_result_path(patient), class: "float-none button flex-initial"
22
+
25
23
  div#pet-results-table data-target="tabs.panel"
26
24
 
27
25
  = render "renalware/pd/pet_results/table",
@@ -5,11 +5,7 @@ require_dependency "renalware/surveys"
5
5
  module Renalware
6
6
  module Surveys
7
7
  class EQ5DComponent < ApplicationComponent
8
- attr_reader :patient
9
-
10
- def initialize(patient:)
11
- @patient = patient
12
- end
8
+ rattr_initialize [:patient!]
13
9
 
14
10
  def rows
15
11
  @rows ||= EQ5DPivotedResponse.where(patient_id: patient.id)
@@ -7,11 +7,7 @@ module Renalware
7
7
  class POSSComponent < ApplicationComponent
8
8
  include ToggleHelper
9
9
 
10
- attr_reader :patient
11
-
12
- def initialize(patient:)
13
- @patient = patient
14
- end
10
+ rattr_initialize [:patient!]
15
11
 
16
12
  # Backed by a SQL view
17
13
  def rows
@@ -5,11 +5,8 @@ module Renalware
5
5
  # Experimental ActionView component
6
6
  class AdminMenuComponent < ApplicationComponent
7
7
  include Renalware::UsersHelper
8
- attr_reader :current_user
9
8
 
10
- def initialize(current_user:)
11
- @current_user = current_user
12
- end
9
+ rattr_initialize [:current_user!]
13
10
 
14
11
  def admin_menu_item(*args)
15
12
  return unless
@@ -3,11 +3,7 @@
3
3
  module Renalware
4
4
  module System
5
5
  class UsersAwaitingApprovalComponent < ApplicationComponent
6
- attr_reader :current_user
7
-
8
- def initialize(current_user:)
9
- @current_user = current_user
10
- end
6
+ rattr_initialize [:current_user!]
11
7
 
12
8
  def users_needing_approval_count
13
9
  @users_needing_approval_count ||= User.unapproved.count
@@ -7,7 +7,7 @@ require "devise"
7
7
 
8
8
  module Renalware
9
9
  module API
10
- class TokenAuthenticatedApiController < ApplicationController
10
+ class TokenAuthenticatedAPIController < ApplicationController
11
11
  before_action :authenticate_user_from_token!
12
12
  before_action :authenticate_user! # fallback
13
13
 
@@ -7,7 +7,7 @@ module Renalware
7
7
  module API
8
8
  module V1
9
9
  module Medications
10
- class PrescriptionsController < TokenAuthenticatedApiController
10
+ class PrescriptionsController < TokenAuthenticatedAPIController
11
11
  def index
12
12
  render locals: {
13
13
  patient: patient,
@@ -7,7 +7,7 @@ module Renalware
7
7
  module API
8
8
  module V1
9
9
  module Patients
10
- class PatientsController < TokenAuthenticatedApiController
10
+ class PatientsController < TokenAuthenticatedAPIController
11
11
  include Concerns::Pageable
12
12
 
13
13
  def show
@@ -2,7 +2,6 @@
2
2
 
3
3
  # rubocop:disable Metrics/ClassLength
4
4
  require_dependency "renalware/events"
5
- require "attr_extras"
6
5
 
7
6
  module Renalware
8
7
  module Events
@@ -4,7 +4,7 @@ require_dependency "renalware/pd"
4
4
 
5
5
  module Renalware
6
6
  module PD
7
- class PETResultsController < BaseController
7
+ class PETResultsController < PD::BaseController
8
8
  def new
9
9
  pet = PETResult.new(
10
10
  patient: patient,
File without changes
File without changes
@@ -16,7 +16,7 @@ module Renalware
16
16
  def initialize(month: nil, year: nil)
17
17
  validate_args(month: month, year: year)
18
18
 
19
- @period = Renalware::MonthPeriod.new(
19
+ @period = MonthPeriod.new(
20
20
  month: (month || default_month).to_i,
21
21
  year: (year || default_year).to_i
22
22
  )
@@ -10,7 +10,7 @@ module Renalware
10
10
 
11
11
  # :reek:UtilityFunction
12
12
  def perform(patient:, month:, year:)
13
- period = Renalware::MonthPeriod.new(month: month, year: year)
13
+ period = MonthPeriod.new(month: month, year: year)
14
14
  GenerateMonthlyStatisticsForPatient.new(patient: patient, period: period).call
15
15
  end
16
16
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  require_dependency "renalware/letters"
4
4
  require "pdf/reader"
5
- require "attr_extras"
6
5
 
7
6
  module Renalware
8
7
  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
@@ -7,7 +7,7 @@ module Renalware
7
7
  module Letters
8
8
  # Used for example in a host app like renalware-blt to generate an RTF letter for saving to
9
9
  # the electronic public register, aka EPR/CRS.
10
- class SaveRtfLetterToFileJob < ApplicationJob
10
+ class SaveRTFLetterToFileJob < ApplicationJob
11
11
  queue_as :rtf_generation
12
12
  queue_with_priority 1
13
13
 
@@ -5,7 +5,8 @@ require_dependency "renalware/letters"
5
5
  module Renalware
6
6
  module Letters
7
7
  module Delivery
8
- class LetterIsNotApprovedOrCompletedError < StandardError; end
8
+ # Test fail with the error class definition here
9
+ # class LetterIsNotApprovedOrCompletedError < StandardError; end
9
10
  end
10
11
  end
11
12
  end
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/letters"
4
- require "attr_extras"
5
- require_relative "./errors"
6
4
 
7
5
  module Renalware
8
6
  module Letters
9
7
  module Delivery
8
+ class LetterIsNotApprovedOrCompletedError < StandardError; end
9
+
10
10
  # Note PracticeMailer not the best name as we use this mailer to send a letter to any
11
11
  # recipient (practices, hospital secretaries etc)
12
12
  class PracticeMailer < ApplicationMailer
@@ -22,10 +22,10 @@ module Renalware
22
22
  end
23
23
 
24
24
  def inactive_message
25
- if !approved?
26
- :not_approved
27
- else
25
+ if approved?
28
26
  super
27
+ else
28
+ :not_approved
29
29
  end
30
30
  end
31
31
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/admissions"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Admissions
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/clinical"
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 Clinical
@@ -17,9 +17,9 @@ module Renalware
17
17
  yield allergy if block_given?
18
18
  if allergy.valid?
19
19
  save_allergy(allergy)
20
- ::Renalware::Success.new(allergy)
20
+ ::Success.new(allergy)
21
21
  else
22
- ::Renalware::Failure.new(allergy)
22
+ ::Failure.new(allergy)
23
23
  end
24
24
  end
25
25
 
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/clinics"
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 Clinics
@@ -22,9 +22,9 @@ module Renalware
22
22
  visit = patient.clinic_visits.new(params)
23
23
  objects = OpenStruct.new(clinic_visit: visit, appointment: appointment)
24
24
  if visit.save && update_appointment_with(visit.id)
25
- return ::Renalware::Success.new(objects)
25
+ return ::Success.new(objects)
26
26
  else
27
- return ::Renalware::Failure.new(objects)
27
+ return ::Failure.new(objects)
28
28
  end
29
29
  end
30
30
  end
@@ -1,11 +1,10 @@
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 Clinics
8
- # TODO: Move this to a view?
7
+ # TODO: Unused?
9
8
  class CurrentObservations
10
9
  NULL_DATE = nil
11
10
  pattr_initialize :patient
@@ -17,7 +16,7 @@ module Renalware
17
16
  @weight ||= begin
18
17
  result = ClinicVisit
19
18
  .most_recent_for_patient(patient)
20
- .where("weight is not null")
19
+ .where.not(weight: nil)
21
20
  .pluck(:date, :weight).first || []
22
21
 
23
22
  Observation.new(result.first, result.last)
@@ -29,7 +28,7 @@ module Renalware
29
28
  @height ||= begin
30
29
  result = ClinicVisit
31
30
  .most_recent_for_patient(patient)
32
- .where("height is not null")
31
+ .where.not(height: nil)
33
32
  .pluck(:date, :height).first || []
34
33
 
35
34
  Observation.new(result.first, result.last)
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/events"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Events
@@ -7,6 +7,7 @@ module Renalware
7
7
  module Files
8
8
  class Exceptions
9
9
  class FileNotFoundError < StandardError; end
10
+
10
11
  class UnexpectedCSVFormatError < StandardError; end
11
12
  end
12
13
  end