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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/renalware/components/configuration.js +20 -0
- data/app/assets/javascripts/renalware/components/{dialogs.js.erb → dialogs.js} +2 -5
- data/app/assets/javascripts/renalware/components/{feed_only_inputs.js.erb → feed_only_inputs.js} +4 -4
- data/app/assets/javascripts/renalware/{core.js.erb → core.js} +0 -5
- data/app/assets/javascripts/renalware/rollup_compiled.css +42050 -42050
- data/app/assets/stylesheets/renalware/modules/_clinical.scss +13 -0
- data/app/components/renalware/admissions/active_consult_alert_component.html.slim +1 -1
- data/app/components/renalware/article_component.rb +1 -1
- data/app/components/renalware/letters/letters_in_progress_component.rb +1 -5
- data/app/components/renalware/letters/unread_electronic_ccs_component.rb +1 -4
- data/app/components/renalware/patients/bookmarks_component.rb +1 -5
- data/app/components/renalware/patients/messages_component.rb +2 -8
- data/app/components/renalware/pd/adequacy_results_component.rb +1 -1
- data/app/components/renalware/pd/pet_results_component.html.slim +1 -3
- data/app/components/renalware/surveys/eq5d_component.rb +1 -5
- data/app/components/renalware/surveys/pos_s_component.rb +1 -5
- data/app/components/renalware/system/admin_menu_component.rb +1 -4
- data/app/components/renalware/system/users_awaiting_approval_component.rb +1 -5
- data/app/controllers/renalware/api/token_authenticated_api_controller.rb +1 -1
- data/app/controllers/renalware/api/v1/medications/prescriptions_controller.rb +1 -1
- data/app/controllers/renalware/api/v1/patients/patients_controller.rb +1 -1
- data/app/controllers/renalware/events/events_controller.rb +0 -1
- data/app/controllers/renalware/pd/pet_results_controller.rb +1 -1
- data/{lib → app/documents}/document/attribute_initializer.rb +0 -0
- data/{lib → app/documents}/document/attribute_initializer/active_model.rb +0 -0
- data/{lib → app/documents}/document/attribute_initializer/base.rb +0 -0
- data/{lib → app/documents}/document/attribute_initializer/enum.rb +0 -0
- data/{lib → app/documents}/document/base.rb +0 -0
- data/{lib → app/documents}/document/embedded.rb +0 -0
- data/{lib → app/documents}/document/enum.rb +0 -0
- data/app/jobs/renalware/hd/generate_monthly_statistics.rb +1 -1
- data/app/jobs/renalware/hd/generate_monthly_statistics_for_patient_job.rb +1 -1
- data/app/jobs/renalware/letters/calculate_page_count_job.rb +0 -1
- data/app/jobs/renalware/letters/mailshots/create_mailshot_letters_job.rb +0 -1
- data/app/jobs/renalware/letters/printing/batch_print_job.rb +0 -1
- data/app/jobs/renalware/letters/save_rtf_letter_to_file_job.rb +1 -1
- data/app/mailers/renalware/letters/{delivery/errors.rb → delivery.rb} +2 -1
- data/app/mailers/renalware/letters/delivery/practice_mailer.rb +2 -2
- data/app/models/concerns/renalware/deviseable.rb +3 -3
- data/app/models/renalware/admissions/admission_query.rb +0 -1
- data/{lib → app/models}/renalware/automatic_age_calculator.rb +0 -0
- data/app/models/renalware/clinical/create_allergy.rb +4 -4
- data/app/models/renalware/clinics/create_clinic_visit.rb +4 -4
- data/app/models/renalware/clinics/current_observations.rb +3 -4
- data/app/models/renalware/events/create_event.rb +0 -1
- data/app/models/renalware/feeds/files/exceptions.rb +1 -0
- data/app/models/renalware/feeds/files/practice_memberships/import_csv.rb +0 -1
- data/app/models/renalware/feeds/files/primary_care_physicians/import_csv.rb +0 -1
- data/app/models/renalware/feeds/message_processor.rb +0 -1
- data/app/models/renalware/hd/prescription_administration.rb +6 -4
- data/app/models/renalware/hd/profiles_in_date_range_query.rb +1 -6
- data/app/models/renalware/hd/scheduling/diary_range.rb +1 -2
- data/app/models/renalware/hd/scheduling/find_or_create_diary_by_week_query.rb +1 -1
- data/app/models/renalware/hd/session_forms/batch.rb +0 -1
- data/app/models/renalware/hd/session_forms/batch_compile_pdfs.rb +0 -1
- data/app/models/renalware/hd/session_forms/batch_item.rb +0 -1
- data/app/models/renalware/hd/sessions/close_stale_open_sessions.rb +0 -1
- data/app/models/renalware/letters/approve_letter.rb +0 -1
- data/app/models/renalware/letters/complete_letter.rb +0 -1
- data/app/models/renalware/letters/delivery/delivery_policy.rb +0 -1
- data/app/models/renalware/letters/delivery/email_letter_to_practice.rb +0 -1
- data/app/models/renalware/letters/delivery/practice_email.rb +0 -1
- data/app/models/renalware/letters/html_renderer.rb +1 -1
- data/app/models/renalware/letters/letter_factory.rb +1 -1
- data/app/models/renalware/letters/part/recent_pathology_results.rb +0 -1
- data/app/models/renalware/letters/pathology_layout.rb +1 -1
- data/app/models/renalware/letters/pdf_renderer.rb +1 -1
- data/app/models/renalware/letters/printing/batch_compile_pdfs.rb +0 -1
- data/app/models/renalware/letters/printing/complete_batch.rb +0 -1
- data/app/models/renalware/letters/printing/pdf_combining.rb +0 -2
- data/app/models/renalware/letters/resolve_default_electronic_ccs.rb +0 -2
- data/app/models/renalware/letters/rtf_renderer.rb +3 -2
- data/app/models/renalware/modalities/change_patient_modality.rb +4 -4
- data/app/models/renalware/pathology.rb +1 -0
- data/app/models/renalware/pathology/adjust_observation.rb +0 -1
- data/app/models/renalware/pathology/message_listener.rb +1 -1
- data/app/models/renalware/pathology/observation.rb +1 -1
- data/app/models/renalware/pathology/observation_descriptions_by_code_query.rb +1 -1
- data/app/models/renalware/pathology/observations_grouped_by_date_query.rb +0 -1
- data/app/models/renalware/pathology/observations_grouped_by_date_table.rb +0 -1
- data/app/models/renalware/pathology/ordered_patient_query.rb +1 -1
- data/app/models/renalware/pathology/requests/request_params_factory.rb +0 -1
- data/app/models/renalware/patients/calculate_age.rb +0 -1
- data/app/models/renalware/patients/clear_patient_ukrdc_data.rb +0 -1
- data/app/models/renalware/patients/ingestion/update_master_patient_index.rb +0 -1
- data/app/models/renalware/patients/last_successful_practice_sync_date_query.rb +0 -2
- data/app/models/renalware/patients/primary_care_physician.rb +1 -0
- data/app/models/renalware/patients/sync_ods_job.rb +1 -1
- data/app/models/renalware/patients/sync_practices_via_api.rb +1 -1
- data/app/models/renalware/pd.rb +5 -0
- data/app/models/renalware/pd/{apd/exceptions.rb → apd.rb.dead} +0 -0
- data/app/models/renalware/pd/apd/available_overnight_volume.rb +0 -1
- data/app/models/renalware/pd/apd/regime_calculations.rb +1 -1
- data/app/models/renalware/pd/create_regime.rb +4 -4
- data/app/models/renalware/pd/regimes_in_date_range_query.rb +0 -2
- data/app/models/renalware/pd/revise_regime.rb +5 -5
- data/{lib → app/models}/renalware/remembered_preferences.rb +0 -0
- data/app/models/renalware/research/study_participants_query.rb +0 -1
- data/app/models/renalware/transplants/create_donor_stage.rb +4 -4
- data/app/models/renalware/transplants/registrations/wait_list_query.rb +1 -1
- data/app/models/renalware/ukrdc.rb +1 -0
- data/app/models/renalware/ukrdc/create_encrypted_patient_xml_files.rb +2 -2
- data/app/models/renalware/ukrdc/create_patient_xml_file.rb +1 -2
- data/app/models/renalware/ukrdc/export_summary.rb +0 -1
- data/app/models/renalware/ukrdc/housekeeping/remove_old_export_archive_folders.rb +0 -1
- data/app/models/renalware/ukrdc/incoming/file_list.rb +0 -2
- data/app/models/renalware/ukrdc/incoming/import_survey.rb +0 -1
- data/app/models/renalware/ukrdc/incoming/import_surveys.rb +0 -1
- data/app/models/renalware/ukrdc/incoming/xml_document.rb +0 -1
- data/app/models/renalware/ukrdc/pathology_observation_requests_query.rb +1 -2
- data/app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb +0 -1
- data/app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb +1 -1
- data/app/models/renalware/ukrdc/treatment_timeline/generator_factory.rb +1 -1
- data/app/models/renalware/ukrdc/treatment_timeline/hd/generator.rb +1 -1
- data/app/models/renalware/ukrdc/treatment_timeline/pd/generator.rb +0 -1
- data/app/models/renalware/ukrdc/treatment_timeline/pd/regime_decorator.rb +0 -1
- data/app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb +0 -1
- data/app/models/renalware/ukrdc/treatment_timeline/transplant/generator.rb +0 -1
- data/app/models/renalware/ukrdc/xml_renderer.rb +2 -2
- data/app/models/renalware/virology/vaccination.rb +5 -0
- data/app/presenters/renalware/accesses/dashboard_presenter.rb +0 -1
- data/app/presenters/renalware/clinical/header_presenter.rb +0 -1
- data/app/presenters/renalware/letters/letter_presenter.rb +1 -1
- data/app/presenters/renalware/letters/part_class_filter.rb +0 -1
- data/app/presenters/renalware/letters/practice_email_meta_data.rb +0 -1
- data/app/presenters/renalware/low_clearance/dashboard_presenter.rb +0 -1
- data/app/presenters/renalware/medications/prescription_presenter.rb +7 -0
- data/app/presenters/renalware/pathology/observations_diff.rb +0 -1
- data/app/presenters/renalware/renal/clinical_summary_presenter.rb +0 -1
- data/app/presenters/renalware/summary_part.rb +0 -2
- data/app/presenters/renalware/transplants/donor_dashboard_presenter.rb +0 -1
- data/app/presenters/renalware/transplants/recipient_dashboard_presenter.rb +0 -1
- data/app/presenters/renalware/ukrdc/transplant_operation_presenter.rb +0 -1
- data/app/presenters/renalware/user_session_presenter.rb +1 -3
- data/app/values/renalware/bmi.rb +0 -2
- data/app/views/renalware/letters/contacts/_new_person.html.slim +1 -1
- data/app/views/renalware/letters/contacts/_person_from_directory.html.slim +1 -1
- data/app/views/renalware/letters/formatted_letters/_letter.html.slim +13 -14
- data/app/views/renalware/letters/mailshots/mailshots/_form.html.slim +25 -21
- data/app/views/renalware/letters/parts/_allergies.html.slim +1 -1
- data/app/views/renalware/letters/parts/_problems.html.slim +1 -1
- data/app/views/renalware/letters/parts/_recent_pathology_results.html.slim +1 -1
- data/app/views/renalware/medications/prescriptions/_current.html.slim +1 -1
- data/app/views/renalware/medications/prescriptions/_current_hd.html.slim +1 -1
- data/app/views/renalware/medications/prescriptions/_prescription.html.slim +3 -1
- data/app/views/renalware/medications/prescriptions/_recently_stopped.html.slim +1 -1
- data/app/views/renalware/system/view_metadata/_columns_table.html.slim +2 -2
- data/app/views/renalware/virology/vaccinations/_cell.html.slim +1 -1
- data/app/views/renalware/virology/vaccinations/_inputs.html.slim +1 -0
- data/app/views/renalware/virology/vaccinations/_toggled_cell.html.slim +2 -0
- data/config/initializers/core_extensions.rb +1 -1
- data/config/initializers/inflections.rb +2 -0
- data/config/locales/renalware/virology/virology.en.yml +4 -0
- data/db/migrate/20201020155510_add_bmi_to_clinic_visits.rb +5 -2
- data/db/migrate/20201020171139_update_low_clearance_mdm_patients_view.rb +1 -1
- data/db/migrate/20201021153832_update_supportive_care_mdm_patients_view.rb +1 -1
- data/db/migrate/20201021154809_update_transplant_mdm_patients_view.rb +1 -1
- data/db/migrate/20201023092859_remove_unused_indexes.rb +1 -1
- data/db/migrate/20201105153422_update_medication_current_prescriptions_view.rb +7 -0
- data/db/migrate/20201112152752_update_pd_mdm_patients_view1.rb +7 -0
- data/db/views/medication_current_prescriptions_v01.sql +2 -1
- data/db/views/medication_current_prescriptions_v02.sql +30 -0
- data/db/views/pd_mdm_patients_v03.sql +50 -0
- data/db/views/reporting_anaemia_audit_v01.sql +0 -2
- data/lib/core_extensions/active_support/{duration.rb → duration_additions.rb} +0 -0
- data/lib/failure.rb +6 -0
- data/lib/gpg_encrypt_folder.rb +0 -2
- data/lib/month_period.rb +16 -0
- data/lib/renalware/configuration.rb +5 -6
- data/lib/renalware/version_number.rb +1 -1
- data/lib/service_result.rb +17 -0
- data/lib/sql/indexed_case_stmt.rb +1 -3
- data/lib/success.rb +9 -0
- data/lib/tasks/ukrdc.rake +1 -1
- data/lib/week_period.rb +57 -0
- data/spec/factories/events/events.rb +1 -2
- data/spec/factories/letters/letters.rb +4 -11
- data/spec/factories/medications/prescription_version.rb +1 -2
- data/spec/factories/patients/ethnicities.rb +1 -2
- data/spec/factories/pd/bag_types.rb +2 -2
- data/spec/factories/snippets/users.rb +1 -2
- data/spec/factories/transplants/recipient_followups.rb +1 -2
- data/spec/factories/virology/vaccinations.rb +1 -1
- data/{lib/test_support → spec/support}/ajax_helpers.rb +0 -0
- data/{lib/test_support → spec/support}/text_editor_helpers.rb +0 -0
- metadata +35 -37
- data/app/assets/javascripts/renalware/components/reporting.js.erb +0 -0
- data/app/assets/javascripts/renalware/components/session_timeout_redirect.js.erb +0 -37
- data/app/components/renalware/system/article_component.html.slim +0 -3
- data/app/components/renalware/system/article_component.rb +0 -9
- data/app/mailers/renalware/previews/report_preview.rb +0 -14
- data/app/mailers/renalware/previews/ukrdc_summary_preview.rb +0 -20
- data/app/mailers/renalware/previews/user_mailer_preview.rb +0 -16
- data/lib/renalware/failure.rb +0 -6
- data/lib/renalware/month_period.rb +0 -18
- data/lib/renalware/service_result.rb +0 -19
- data/lib/renalware/success.rb +0 -9
- data/lib/renalware/week_period.rb +0 -59
@@ -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
|
13
|
-
|
14
|
-
|
15
|
-
|
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(
|
22
|
+
.where.not(hd_profile_id: nil)
|
28
23
|
.pluck(:hd_profile_id)
|
29
24
|
HD::Profile
|
30
25
|
.with_deactivated
|
@@ -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
|
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
|
-
#
|
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?
|
@@ -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(
|
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::
|
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
|
@@ -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
|
-
|
5
|
-
|
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
|
-
::
|
53
|
+
::Success.new(new_modality)
|
54
54
|
else
|
55
|
-
::
|
55
|
+
::Failure.new(new_modality)
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
@@ -9,7 +9,7 @@ require_dependency "renalware/pathology"
|
|
9
9
|
module Renalware
|
10
10
|
module Pathology
|
11
11
|
class MessageListener
|
12
|
-
#
|
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(
|
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 =
|
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
|
@@ -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::
|
36
|
+
Renalware::Patients::SyncPracticesViaAPI.call(
|
37
37
|
dry_run: dry_run,
|
38
38
|
api_log: api_log
|
39
39
|
)
|