renalware-core 2.0.159 → 2.0.164

Sign up to get free protection for your applications and to get access to all the features.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/renalware/rollup_compiled.js +768 -201
  3. data/app/assets/stylesheets/renalware/modules/_clinical.scss +28 -0
  4. data/app/components/renalware/article_component.rb +1 -1
  5. data/app/components/renalware/letters/letters_in_progress_component.rb +1 -5
  6. data/app/components/renalware/letters/unread_electronic_ccs_component.rb +1 -4
  7. data/app/components/renalware/medications/tabbed_prescriptions_list_component.html.slim +2 -2
  8. data/app/components/renalware/pathology/sparkline_component.html.slim +1 -1
  9. data/app/components/renalware/patients/bookmarks_component.rb +1 -5
  10. data/app/components/renalware/patients/messages_component.rb +1 -7
  11. data/app/components/renalware/pd/adequacy_results_component.rb +1 -1
  12. data/app/components/renalware/pd/pet_results_component.html.slim +4 -4
  13. data/app/components/renalware/surveys/eq5d_component.rb +1 -5
  14. data/app/components/renalware/surveys/pos_s_component.rb +1 -5
  15. data/app/components/renalware/system/admin_menu_component.rb +1 -4
  16. data/app/components/renalware/system/users_awaiting_approval_component.rb +1 -5
  17. data/app/controllers/renalware/api/token_authenticated_api_controller.rb +1 -1
  18. data/app/controllers/renalware/api/v1/medications/prescriptions_controller.rb +1 -1
  19. data/app/controllers/renalware/api/v1/patients/patients_controller.rb +1 -1
  20. data/app/controllers/renalware/events/events_controller.rb +0 -1
  21. data/{lib → app/documents}/document/attribute_initializer.rb +0 -0
  22. data/{lib → app/documents}/document/attribute_initializer/active_model.rb +0 -0
  23. data/{lib → app/documents}/document/attribute_initializer/base.rb +0 -0
  24. data/{lib → app/documents}/document/attribute_initializer/enum.rb +0 -0
  25. data/{lib → app/documents}/document/base.rb +0 -0
  26. data/{lib → app/documents}/document/embedded.rb +0 -0
  27. data/{lib → app/documents}/document/enum.rb +0 -0
  28. data/app/javascript/renalware/controllers/modal_controller.js +1 -1
  29. data/app/jobs/renalware/hd/generate_monthly_statistics.rb +1 -1
  30. data/app/jobs/renalware/hd/generate_monthly_statistics_for_patient_job.rb +1 -1
  31. data/app/jobs/renalware/letters/calculate_page_count_job.rb +0 -1
  32. data/app/jobs/renalware/letters/mailshots/create_mailshot_letters_job.rb +0 -1
  33. data/app/jobs/renalware/letters/printing/batch_print_job.rb +0 -1
  34. data/app/jobs/renalware/letters/save_rtf_letter_to_file_job.rb +1 -1
  35. data/app/mailers/renalware/letters/{delivery/errors.rb → delivery.rb} +2 -1
  36. data/app/mailers/renalware/letters/delivery/practice_mailer.rb +2 -2
  37. data/app/models/concerns/renalware/deviseable.rb +3 -3
  38. data/app/models/renalware/admissions/admission_query.rb +0 -1
  39. data/{lib → app/models}/renalware/automatic_age_calculator.rb +0 -0
  40. data/app/models/renalware/clinical/create_allergy.rb +4 -4
  41. data/app/models/renalware/clinics/create_clinic_visit.rb +4 -4
  42. data/app/models/renalware/clinics/current_observations.rb +3 -4
  43. data/app/models/renalware/events/alertable_events_query.rb +27 -0
  44. data/app/models/renalware/events/create_event.rb +0 -1
  45. data/app/models/renalware/events/event.rb +4 -0
  46. data/app/models/renalware/events/event_type_alert_trigger.rb +15 -0
  47. data/app/models/renalware/events/type.rb +7 -0
  48. data/app/models/renalware/feeds/files/exceptions.rb +1 -0
  49. data/app/models/renalware/feeds/files/practice_memberships/import_csv.rb +0 -1
  50. data/app/models/renalware/feeds/files/primary_care_physicians/import_csv.rb +0 -1
  51. data/app/models/renalware/feeds/message_processor.rb +0 -1
  52. data/app/models/renalware/hd/prescription_administration.rb +6 -4
  53. data/app/models/renalware/hd/profiles_in_date_range_query.rb +1 -6
  54. data/app/models/renalware/hd/scheduling/diary_range.rb +1 -2
  55. data/app/models/renalware/hd/scheduling/find_or_create_diary_by_week_query.rb +1 -1
  56. data/app/models/renalware/hd/session_forms/batch.rb +0 -1
  57. data/app/models/renalware/hd/session_forms/batch_compile_pdfs.rb +0 -1
  58. data/app/models/renalware/hd/session_forms/batch_item.rb +0 -1
  59. data/app/models/renalware/hd/sessions/close_stale_open_sessions.rb +0 -1
  60. data/app/models/renalware/letters/approve_letter.rb +0 -1
  61. data/app/models/renalware/letters/complete_letter.rb +0 -1
  62. data/app/models/renalware/letters/delivery/delivery_policy.rb +0 -1
  63. data/app/models/renalware/letters/delivery/email_letter_to_practice.rb +0 -1
  64. data/app/models/renalware/letters/delivery/practice_email.rb +0 -1
  65. data/app/models/renalware/letters/html_renderer.rb +1 -1
  66. data/app/models/renalware/letters/letter_factory.rb +1 -1
  67. data/app/models/renalware/letters/part/recent_pathology_results.rb +0 -1
  68. data/app/models/renalware/letters/pathology_layout.rb +1 -1
  69. data/app/models/renalware/letters/pdf_letter_cache.rb +1 -1
  70. data/app/models/renalware/letters/pdf_renderer.rb +1 -1
  71. data/app/models/renalware/letters/printing/batch_compile_pdfs.rb +0 -1
  72. data/app/models/renalware/letters/printing/complete_batch.rb +0 -1
  73. data/app/models/renalware/letters/printing/pdf_combining.rb +0 -2
  74. data/app/models/renalware/letters/resolve_default_electronic_ccs.rb +0 -2
  75. data/app/models/renalware/letters/rtf_renderer.rb +3 -2
  76. data/app/models/renalware/modalities/change_patient_modality.rb +4 -4
  77. data/app/models/renalware/pathology.rb +1 -0
  78. data/app/models/renalware/pathology/adjust_observation.rb +0 -1
  79. data/app/models/renalware/pathology/message_listener.rb +1 -1
  80. data/app/models/renalware/pathology/observation.rb +1 -1
  81. data/app/models/renalware/pathology/observation_descriptions_by_code_query.rb +1 -1
  82. data/app/models/renalware/pathology/observations_grouped_by_date_query.rb +0 -1
  83. data/app/models/renalware/pathology/observations_grouped_by_date_table.rb +0 -1
  84. data/app/models/renalware/pathology/ordered_patient_query.rb +1 -1
  85. data/app/models/renalware/pathology/requests/request_params_factory.rb +0 -1
  86. data/app/models/renalware/patients/calculate_age.rb +0 -1
  87. data/app/models/renalware/patients/clear_patient_ukrdc_data.rb +0 -1
  88. data/app/models/renalware/patients/ingestion/update_master_patient_index.rb +0 -1
  89. data/app/models/renalware/patients/last_successful_practice_sync_date_query.rb +0 -2
  90. data/app/models/renalware/patients/primary_care_physician.rb +1 -0
  91. data/app/models/renalware/patients/sync_ods_job.rb +1 -1
  92. data/app/models/renalware/patients/sync_practices_via_api.rb +1 -1
  93. data/app/models/renalware/pd.rb +5 -0
  94. data/app/models/renalware/pd/{apd/exceptions.rb → apd.rb.dead} +0 -0
  95. data/app/models/renalware/pd/apd/available_overnight_volume.rb +0 -1
  96. data/app/models/renalware/pd/apd/regime_calculations.rb +1 -1
  97. data/app/models/renalware/pd/create_regime.rb +4 -4
  98. data/app/models/renalware/pd/regimes_in_date_range_query.rb +0 -2
  99. data/app/models/renalware/pd/revise_regime.rb +5 -5
  100. data/{lib → app/models}/renalware/remembered_preferences.rb +0 -0
  101. data/app/models/renalware/research/study_participants_query.rb +0 -1
  102. data/app/models/renalware/transplants/create_donor_stage.rb +4 -4
  103. data/app/models/renalware/transplants/registrations/wait_list_query.rb +1 -1
  104. data/app/models/renalware/ukrdc.rb +1 -0
  105. data/app/models/renalware/ukrdc/create_encrypted_patient_xml_files.rb +2 -2
  106. data/app/models/renalware/ukrdc/create_patient_xml_file.rb +1 -2
  107. data/app/models/renalware/ukrdc/export_summary.rb +0 -1
  108. data/app/models/renalware/ukrdc/housekeeping/remove_old_export_archive_folders.rb +0 -1
  109. data/app/models/renalware/ukrdc/incoming/file_list.rb +0 -2
  110. data/app/models/renalware/ukrdc/incoming/import_survey.rb +0 -1
  111. data/app/models/renalware/ukrdc/incoming/import_surveys.rb +0 -1
  112. data/app/models/renalware/ukrdc/incoming/xml_document.rb +0 -1
  113. data/app/models/renalware/ukrdc/pathology_observation_requests_query.rb +1 -2
  114. data/app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb +0 -1
  115. data/app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb +1 -1
  116. data/app/models/renalware/ukrdc/treatment_timeline/generator_factory.rb +1 -1
  117. data/app/models/renalware/ukrdc/treatment_timeline/hd/generator.rb +1 -1
  118. data/app/models/renalware/ukrdc/treatment_timeline/pd/generator.rb +0 -1
  119. data/app/models/renalware/ukrdc/treatment_timeline/pd/regime_decorator.rb +0 -1
  120. data/app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb +0 -1
  121. data/app/models/renalware/ukrdc/treatment_timeline/transplant/generator.rb +0 -1
  122. data/app/models/renalware/ukrdc/xml_renderer.rb +2 -2
  123. data/app/models/renalware/virology/vaccination.rb +10 -2
  124. data/app/models/renalware/virology/vaccination_type.rb +16 -0
  125. data/app/presenters/renalware/accesses/dashboard_presenter.rb +0 -1
  126. data/app/presenters/renalware/clinical/header_presenter.rb +0 -1
  127. data/app/presenters/renalware/letters/letter_presenter.rb +1 -1
  128. data/app/presenters/renalware/letters/part_class_filter.rb +0 -1
  129. data/app/presenters/renalware/letters/practice_email_meta_data.rb +0 -1
  130. data/app/presenters/renalware/low_clearance/dashboard_presenter.rb +0 -1
  131. data/app/presenters/renalware/medications/prescription_presenter.rb +7 -0
  132. data/app/presenters/renalware/pathology/observations_diff.rb +0 -1
  133. data/app/presenters/renalware/renal/clinical_summary_presenter.rb +0 -1
  134. data/app/presenters/renalware/summary_part.rb +0 -2
  135. data/app/presenters/renalware/transplants/donor_dashboard_presenter.rb +0 -1
  136. data/app/presenters/renalware/transplants/recipient_dashboard_presenter.rb +0 -1
  137. data/app/presenters/renalware/ukrdc/transplant_operation_presenter.rb +0 -1
  138. data/app/values/renalware/bmi.rb +0 -2
  139. data/app/views/renalware/admin/cache/show.html.slim +0 -36
  140. data/app/views/renalware/admin/playgrounds/show.html.slim +2 -2
  141. data/app/views/renalware/events/events/_alerts.html.slim +3 -0
  142. data/app/views/renalware/events/events/alert/_simple.html.slim +5 -0
  143. data/app/views/renalware/events/events/toggled_cell/_swab.html.slim +1 -1
  144. data/app/views/renalware/hd/dashboards/_page_actions.html.slim +4 -1
  145. data/app/views/renalware/hd/mdm_patients/_patient.html.slim +1 -1
  146. data/app/views/renalware/hd/prescription_administrations/_form.html.slim +2 -2
  147. data/app/views/renalware/hd/transmission_logs/index.html.slim +2 -1
  148. data/app/views/renalware/layouts/_patient.html.slim +1 -0
  149. data/app/views/renalware/letters/batches/_create.html.slim +2 -2
  150. data/app/views/renalware/letters/contacts/_new_person.html.slim +1 -1
  151. data/app/views/renalware/letters/contacts/_person_from_directory.html.slim +1 -1
  152. data/app/views/renalware/letters/formatted_letters/_letter.html.slim +13 -14
  153. data/app/views/renalware/letters/parts/_allergies.html.slim +1 -1
  154. data/app/views/renalware/letters/parts/_problems.html.slim +1 -1
  155. data/app/views/renalware/letters/parts/_recent_pathology_results.html.slim +1 -1
  156. data/app/views/renalware/medications/home_delivery/events/_edit.html.slim +4 -4
  157. data/app/views/renalware/medications/prescriptions/_current.html.slim +1 -1
  158. data/app/views/renalware/medications/prescriptions/_current_hd.html.slim +1 -1
  159. data/app/views/renalware/medications/prescriptions/_form.html.slim +3 -3
  160. data/app/views/renalware/medications/prescriptions/_prescription.html.slim +3 -1
  161. data/app/views/renalware/medications/prescriptions/_recently_stopped.html.slim +1 -1
  162. data/app/views/renalware/system/downloads/index.html.slim +1 -1
  163. data/app/views/renalware/system/messages/_form.html.slim +1 -1
  164. data/app/views/renalware/system/view_metadata/edit.html.slim +6 -6
  165. data/app/views/renalware/virology/vaccinations/_alert.html.slim +5 -0
  166. data/app/views/renalware/virology/vaccinations/_inputs.html.slim +2 -1
  167. data/app/views/renalware/virology/vaccinations/_toggled_cell.html.slim +1 -1
  168. data/config/initializers/core_extensions.rb +1 -1
  169. data/config/initializers/inflections.rb +2 -0
  170. data/config/locales/renalware/virology/virology.en.yml +2 -0
  171. data/db/migrate/20210105163944_create_virology_vaccination_types.rb +13 -0
  172. data/db/migrate/20210115181817_create_event_type_alert_triggers.rb +15 -0
  173. data/db/seeds/default/seeds.rb +1 -0
  174. data/db/seeds/default/virology/seeds.rb +3 -0
  175. data/db/seeds/default/virology/vaccination_types.rb +25 -0
  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 -1
  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 +37 -31
  199. data/app/components/renalware/system/article_component.html.slim +0 -3
  200. data/app/components/renalware/system/article_component.rb +0 -9
  201. data/app/mailers/renalware/previews/report_preview.rb +0 -14
  202. data/app/mailers/renalware/previews/ukrdc_summary_preview.rb +0 -20
  203. data/app/mailers/renalware/previews/user_mailer_preview.rb +0 -16
  204. data/lib/renalware/failure.rb +0 -6
  205. data/lib/renalware/month_period.rb +0 -18
  206. data/lib/renalware/service_result.rb +0 -19
  207. data/lib/renalware/success.rb +0 -9
  208. data/lib/renalware/week_period.rb +0 -59
@@ -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,12 +17,20 @@ 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
21
  attribute :drug, String
22
22
  validates :type, presence: true
23
23
 
24
24
  def to_s
25
- [type&.text, drug].reject(&:blank?).join(" - ")
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
26
34
  end
27
35
  end
28
36
  has_document
@@ -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
 
@@ -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
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/transplants"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Transplants
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/transplants"
4
- require "attr_extras"
5
4
 
6
5
  module Renalware
7
6
  module Transplants
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_dependency "renalware/transplants"
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
  # Value object representing Body Mass Index. Accepts only meters and kg
7
5
  #
@@ -42,39 +42,3 @@
42
42
  method: :delete,
43
43
  data: { confirm: "Are you sure you want to clear the PDF letter cache?\n" },
44
44
  class: "button alert"
45
-
46
- <label class="block">
47
- <span class="text-gray-700">Name</span>
48
- <input class="form-input mt-1 block w-full" placeholder="Jane Doe">
49
- </label>
50
-
51
- <div class="mt-4">
52
- <span class="text-gray-700">Account Type</span>
53
- <div class="mt-2">
54
- <label class="inline-flex items-center">
55
- <input type="radio" class="form-radio" name="accountType" value="personal">
56
- <span class="ml-2">Personal</span>
57
- </label>
58
- <label class="inline-flex items-center ml-6">
59
- <input type="radio" class="form-radio" name="accountType" value="busines">
60
- <span class="ml-2">Business</span>
61
- </label>
62
- </div>
63
- </div>
64
-
65
- <label class="block mt-4">
66
- <span class="text-gray-700">Requested Limit</span>
67
- <select class="form-select mt-1 block w-full">
68
- <option>$1,000</option>
69
- <option>$5,000</option>
70
- <option>$10,000</option>
71
- <option>$25,000</option>
72
- </select>
73
- </label>
74
-
75
- <div class="flex mt-6">
76
- <label class="flex items-center">
77
- <input type="checkbox" class="form-checkbox">
78
- <span class="ml-2">I agree to the <span class="underline">privacy policy</span></span>
79
- </label>
80
- </div>
@@ -34,7 +34,7 @@ css:
34
34
  url: pathology_chart_data_admin_playground_path,
35
35
  wrapper: nil,
36
36
  method: :get,
37
- data: { target: "charts.form", action: "ajax:success->charts#redisplay" }) do |f|
37
+ data: { "charts-target" => "form", action: "ajax:success->charts#redisplay" }) do |f|
38
38
 
39
39
  = f.input :patient_id,
40
40
  collection: [[form.patient_id, form.patient_id]],
@@ -52,7 +52,7 @@ css:
52
52
  include_blank: false
53
53
  = f.submit "Refresh", class: :button
54
54
 
55
- #chart1 style="height: 300px; width: 500px" data-target="charts.chart"
55
+ #chart1 style="height: 300px; width: 500px" data-charts-target="chart"
56
56
 
57
57
  / To test tailwindcss
58
58
  .max-w-sm.rounded.overflow-hidden.shadow-lg &nbsp;
@@ -0,0 +1,3 @@
1
+ - events = Renalware::Events::AlertableEventsQuery.call(patient: patient)
2
+ - events.each do |event|
3
+ = render event.to_alert_partial_path, event: event
@@ -0,0 +1,5 @@
1
+ / The default markup for an alertable event
2
+ li.patient-alert.event
3
+ i.fas.fa-exclamation-triangle
4
+ span.title= link_to event.description&.truncate(12), patient_events_path
5
+ span.date= l(event.date_time.to_date)
@@ -1,6 +1,6 @@
1
1
  - document = event.document
2
2
  dl.dl-horizontal
3
3
  dt= attr_name(document, :location, suffix: ":")
4
- dd= document.location.present? ? document.location : t("unspecified")
4
+ dd= document.location.presence || t("unspecified")
5
5
  dt= attr_name(event, :notes, suffix: ":")
6
6
  dd== event.notes
@@ -1,7 +1,10 @@
1
1
  = link_to(patient_hd_mdm_path(patient), class: "button with-icon secondary") do
2
2
  i.fas.fa-users
3
3
  = t(".mdm")
4
- = link_to(patient_hd_protocol_path(patient), class: "button with-icon secondary", target: "_blank") do
4
+ = link_to(patient_hd_protocol_path(patient),
5
+ class: "button with-icon secondary",
6
+ target: "_blank",
7
+ rel: "noopener") do
5
8
  i.fas.fa-print
6
9
  = t(".protocol")
7
10
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  tr
6
6
  td.actions
7
- = link_to view_proc.call(patient), target: "_blank" do
7
+ = link_to view_proc.call(patient), target: "_blank", rel: "noopener" do
8
8
  i.fa.fa-external-link-square-alt
9
9
  | &nbsp;&nbsp;
10
10
  = t(".view")
@@ -16,7 +16,7 @@
16
16
 
17
17
  = fpa.input :prescription_id, as: :hidden
18
18
 
19
- .hd-drug-administration(data-target="hd-prescription-administration.container")
19
+ .hd-drug-administration(data-hd-prescription-administration-target="container")
20
20
  .summary
21
21
  .hd-drug
22
22
  .hd-drug--name= prescription.drug_name
@@ -40,7 +40,7 @@
40
40
  label: false,
41
41
  input_html: { \
42
42
  data: { \
43
- target: "hd-prescription-administration.radio",
43
+ "hd-prescription-administration-target" => "radio",
44
44
  action: "change->hd-prescription-administration#toggleAdministered",
45
45
  } \
46
46
  }
@@ -30,7 +30,8 @@
30
30
  = link_to "...",
31
31
  hd_transmission_log_path(log, format: :xml),
32
32
  class: "button small_ellipsis_button",
33
- target: "_blank"
33
+ target: "_blank",
34
+ rel: "noopener"
34
35
  td
35
36
  span(title=log.filepath)
36
37
  - filename = log.filepath && Pathname(log.filepath).basename
@@ -17,6 +17,7 @@ nav.patient-side-nav.full-screenable
17
17
  ul
18
18
  = render "renalware/patients/alerts/list", patient: current_patient
19
19
  = render "renalware/research/alerts", patient: current_patient
20
+ = render "renalware/events/events/alerts", patient: current_patient
20
21
  = render "renalware/clinical/header", patient: current_patient
21
22
  .row.collapse
22
23
  - if local_assigns[:title].present?
@@ -4,14 +4,14 @@
4
4
  .percent_complete
5
5
  .modal__body
6
6
  .content
7
- .batch_results_container(data={"poll-url" => renalware.letters_batch_status_path(batch)})
7
+ .batch_results_container(data={ "poll-url" => renalware.letters_batch_status_path(batch) })
8
8
  .preparing
9
9
  = image_tag("renalware/loading-gears-animation.gif", height: "116")
10
10
 
11
-
12
11
  .generated-batch-print-pdf-container(style="display:none")
13
12
  = link_to letters_batch_path(batch, format: :pdf),
14
13
  target: "_blank",
14
+ rel: "noopener",
15
15
  class: "print-batch-letter",
16
16
  data: { "modal-url" => new_letters_batch_completion_path(batch) } do
17
17
  i.far.fa-check-circle
@@ -10,7 +10,7 @@
10
10
  class: "button secondary",
11
11
  data: { behaviour: "toggle-section" }
12
12
  .right
13
- = f.submit t(".save"), class: "button"
13
+ = f.submit t(".save"), class: "button", data: { disable_with: false }
14
14
  ' or
15
15
  = link_to t(".cancel"),
16
16
  "#",
@@ -16,7 +16,7 @@
16
16
  .row
17
17
  .large-12.columns
18
18
  br
19
- = f.submit t(".save"), class: "button"
19
+ = f.submit t(".save"), class: "button", data: { disable_with: false }
20
20
  ' or
21
21
  = link_to t(".cancel"),
22
22
  "#",
@@ -4,6 +4,10 @@ scss:
4
4
  font-family: Helvetica, Arial;
5
5
  }
6
6
 
7
+ .subtitle {
8
+ font-size: .9rem;
9
+ }
10
+
7
11
  .addressee {
8
12
  width: 50%;
9
13
  float: left;
@@ -153,12 +157,11 @@ scss:
153
157
  }
154
158
 
155
159
  .allergies {
156
- margin-bottom: 1rem;
157
160
  float: left;
158
161
  clear: left;
159
162
  width: 50%;
160
163
 
161
- h3 {
164
+ h3, b {
162
165
  padding-right: 1rem;
163
166
  }
164
167
 
@@ -221,10 +224,9 @@ scss:
221
224
  }
222
225
 
223
226
  .message {
224
- margin-top: 30px;
225
- margin-bottom: 20px;
227
+ margin-top: 20px;
228
+ margin-bottom: 0px;
226
229
  clear: both;
227
-
228
230
  p {
229
231
  margin-bottom: 15px;
230
232
  }
@@ -235,9 +237,6 @@ scss:
235
237
  }
236
238
 
237
239
  .author-signature {
238
- .author-name {
239
- font-weight: bold;
240
- }
241
240
  margin-bottom: 20px;
242
241
  }
243
242
  }
@@ -320,10 +319,10 @@ scss:
320
319
  p= render "patient_summary", patient: letter.patient
321
320
 
322
321
  = render letter.parts, patient: letter.patient, letter: letter
323
-
324
- .message
325
- = letter.body&.html_safe
326
-
322
+ / empty small here is for RTF spacing
323
+ small &nbsp;
324
+ .message= letter.body&.html_safe
325
+ br
327
326
  p Yours sincerely
328
327
 
329
328
  .signature.nobreak
@@ -332,7 +331,7 @@ scss:
332
331
 
333
332
  .author-signature
334
333
  p
335
- span.author-name= letter.author.signature
334
+ b= letter.author.signature
336
335
  br
337
336
  = letter.author.professional_position
338
337
 
@@ -340,7 +339,7 @@ scss:
340
339
 
341
340
  .footer
342
341
  .ccs
343
- h3 cc:
342
+ b cc:
344
343
 
345
344
  ul.electronic
346
345
  - letter.electronic_cc_recipients.each do |user|
@@ -1,5 +1,5 @@
1
1
  .list.allergies
2
- h3 Allergies:
2
+ b.subtitle Allergies:
3
3
  - if allergies.any?
4
4
  ul
5
5
  - allergies.each do |allergy|