renalware-core 2.0.44 → 2.0.45
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/stylesheets/renalware/application.scss +1 -0
- data/app/assets/stylesheets/renalware/modules/_clinical.scss +3 -1
- data/app/assets/stylesheets/renalware/modules/_patients.scss +0 -1
- data/app/assets/stylesheets/renalware/modules/_snippets.scss +3 -1
- data/app/assets/stylesheets/renalware/partials/_button.scss +6 -2
- data/app/assets/stylesheets/renalware/partials/_tables.scss +1 -1
- data/app/assets/stylesheets/renalware/partials/_tabs.scss +3 -1
- data/app/assets/stylesheets/renalware/table_pdf.scss +1 -1
- data/app/controllers/renalware/clinics/appointments_controller.rb +1 -3
- data/app/controllers/renalware/clinics/visits_controller.rb +2 -5
- data/app/controllers/renalware/patients/worryboard_controller.rb +2 -4
- data/app/controllers/renalware/renal/aki_alerts_controller.rb +2 -7
- data/app/documents/renalware/dated_confirmation.rb +1 -1
- data/app/documents/renalware/transplants/recipient_operation_document.rb +1 -1
- data/app/helpers/renalware/drugs_helper.rb +6 -3
- data/app/helpers/renalware/primary_care_physicians_helper.rb +3 -1
- data/app/jobs/refresh_materialized_view_job.rb +20 -0
- data/app/jobs/renalware/hd/generate_monthly_statistics.rb +3 -0
- data/app/mailers/renalware/previews/report_preview.rb +14 -0
- data/app/mailers/renalware/reporting/report_mailer.rb +57 -0
- data/app/models/concerns/renalware/broadcasting.rb +28 -4
- data/app/models/renalware/patients/worry_query.rb +0 -2
- data/app/models/renalware/renal/aki_alert_search_form.rb +1 -3
- data/app/models/renalware/ukrdc/send_patients.rb +25 -1
- data/app/models/renalware/ukrdc/transmission_log.rb +1 -1
- data/app/presenters/renalware/ukrdc/patient_presenter.rb +1 -1
- data/app/views/renalware/admin/users/index.html.slim +2 -2
- data/app/views/renalware/admissions/consults/index.html.slim +1 -1
- data/app/views/renalware/admissions/requests/_create_request_link.html.slim +1 -1
- data/app/views/renalware/admissions/requests/_request.html.slim +2 -2
- data/app/views/renalware/base/_modality_missing_warning.html.slim +1 -1
- data/app/views/renalware/clinical/allergies/_mini.html.slim +1 -1
- data/app/views/renalware/clinics/appointments/index.html.slim +3 -3
- data/app/views/renalware/hd/dashboards/_page_actions.html.slim +3 -3
- data/app/views/renalware/hd/diaries/edit.html.slim +2 -2
- data/app/views/renalware/hd/diaries/index.html.slim +1 -1
- data/app/views/renalware/hd/stations/_station.html.slim +1 -1
- data/app/views/renalware/letters/electronic_receipts/_table.html.slim +1 -1
- data/app/views/renalware/letters/lists/_letter.html.slim +1 -1
- data/app/views/renalware/low_clearance/dashboards/_page_actions.html.slim +2 -2
- data/app/views/renalware/mdm/_top_navigation.html.slim +1 -1
- data/app/views/renalware/medications/prescriptions/index.html.slim +1 -1
- data/app/views/renalware/messaging/internal/messages/_send_message_link.html.slim +1 -1
- data/app/views/renalware/messaging/internal/messages/_send_reply_link.html.slim +1 -1
- data/app/views/renalware/messaging/internal/receipts/_receipt.html.slim +1 -1
- data/app/views/renalware/navigation/_patient_search.html.slim +1 -1
- data/app/views/renalware/navigation/_user.html.slim +1 -1
- data/app/views/renalware/patients/_header.html.slim +2 -2
- data/app/views/renalware/patients/alerts/_alert.html.slim +2 -2
- data/app/views/renalware/patients/alerts/_create_alert_link.html.slim +1 -1
- data/app/views/renalware/patients/bookmarks/_delete.html.slim +5 -4
- data/app/views/renalware/patients/bookmarks/_new.html.slim +1 -1
- data/app/views/renalware/patients/patients/_patient.html.slim +2 -2
- data/app/views/renalware/patients/worries/_delete.html.slim +1 -1
- data/app/views/renalware/patients/worries/_new.html.slim +1 -1
- data/app/views/renalware/pd/dashboards/show/_page_actions.html.slim +4 -4
- data/app/views/renalware/pd/exit_site_infections/show.html.slim +1 -1
- data/app/views/renalware/pd/peritonitis_episodes/show.html.slim +1 -1
- data/app/views/renalware/problems/problems/_current_table.html.slim +1 -1
- data/app/views/renalware/renal/aki_alerts/index.html.slim +1 -1
- data/app/views/renalware/reporting/report_mailer/daily_summary.html.slim +14 -0
- data/app/views/renalware/reporting/report_mailer/daily_summary.text.erb +15 -0
- data/app/views/renalware/research/_alert.html.slim +2 -2
- data/app/views/renalware/shared/_modal_close_link.html.slim +1 -1
- data/app/views/renalware/snippets/snippets/_list.html.slim +2 -2
- data/app/views/renalware/snippets/snippets/_search_form.html.slim +1 -1
- data/app/views/renalware/transplants/live_donors/_filters.html.slim +1 -1
- data/app/views/renalware/transplants/recipient_dashboards/_modality_missing_warning.html.slim +1 -1
- data/app/views/renalware/transplants/recipient_dashboards/_page_actions.html.slim +1 -1
- data/config/gpg/renalware_test.gpg +0 -0
- data/config/initializers/ransack.rb +1 -1
- data/config/initializers/renalware.rb +20 -2
- data/config/locales/renalware/reporting/reporting_daily.en.yml +7 -0
- data/config/locales/renalware/virology/virology.en.yml +1 -0
- data/db/migrate/20180831134606_add_reporting_indexes.rb +13 -0
- data/db/migrate/20180831134926_create_daily_reports.rb +6 -0
- data/db/seeds/default/reporting/audits.yml +1 -2
- data/db/views/reporting_daily_letters_v01.sql +3 -0
- data/db/views/reporting_daily_pathology_v01.sql +16 -0
- data/lib/gpg_encrypt_folder.rb +74 -0
- data/lib/renalware/configuration.rb +5 -0
- data/lib/renalware/engine.rb +5 -4
- data/lib/renalware/version.rb +1 -1
- data/lib/tasks/audit.rake +5 -0
- data/lib/tasks/reporting.rake +9 -0
- metadata +43 -16
@@ -9,11 +9,11 @@
|
|
9
9
|
ul.tabs
|
10
10
|
li(class= "#{'active' if author == :me}")
|
11
11
|
= link_to snippets_path, remote: remote do
|
12
|
-
i.
|
12
|
+
i.fas.fa-user
|
13
13
|
| Mine
|
14
14
|
li(class= "#{'active' if author == :anyone}")
|
15
15
|
= link_to snippets_path(author: :anyone), remote: remote do
|
16
|
-
i.
|
16
|
+
i.fas.fa-users
|
17
17
|
| Everyone's
|
18
18
|
|
19
19
|
= render "search_form", search: search, author: author, remote: remote
|
Binary file
|
@@ -7,7 +7,7 @@ Ransack.configure do |config|
|
|
7
7
|
|
8
8
|
# Raise errors if a query contains an unknown predicate or attribute.
|
9
9
|
# Default is true (do not raise error on unknown conditions).
|
10
|
-
config.ignore_unknown_conditions = !Rails.env.development?
|
10
|
+
config.ignore_unknown_conditions = !(Rails.env.development? || Rails.env.test?)
|
11
11
|
|
12
12
|
# Globally display sort links without the order indicator arrow.
|
13
13
|
# Default is false (sort order indicators are displayed).
|
@@ -2,8 +2,26 @@
|
|
2
2
|
|
3
3
|
require_dependency "renalware"
|
4
4
|
|
5
|
-
# New subscription registry - previous implementation does not work across threads
|
6
|
-
|
5
|
+
# New subscription registry - previous implementation does not work across threads.
|
6
|
+
# Each key in the map (hash) is the name of a class that broadacasts/publishes messages.
|
7
|
+
# Entries in the array (value) for that key are classes which subscribe to events in the
|
8
|
+
# publishing class. If you want a subscriber to listen asynchronously for events via ActiveJob,
|
9
|
+
# use an Subscriber instance like so
|
10
|
+
# "Renalware::Modalities::ChangePatientModality" => [
|
11
|
+
# Renalware::Broadcasting::Subscriber.new("Renalware::Patients::DummyListener", async: true),
|
12
|
+
# ...
|
13
|
+
# ]
|
14
|
+
# TODO: Ideally we would like an API something like this:
|
15
|
+
# Renalware.configure do |config|
|
16
|
+
# config.broadcast_subscription_map.configure do |publishers|
|
17
|
+
# publishers[Renalware::Modalities::ChangePatientModality] do |publisher|
|
18
|
+
# publisher.add_subscriber(Renalware::X)
|
19
|
+
# publisher.add_subscriber(Renalware::y, async: true)
|
20
|
+
# end
|
21
|
+
# end
|
22
|
+
# end
|
23
|
+
# As it stands its a bit too easy for the exposed subscription map hash to be overwritten by a host
|
24
|
+
# application with confusing and undesirable outcomes.
|
7
25
|
Renalware.configure do |config|
|
8
26
|
config.broadcast_subscription_map = {
|
9
27
|
"Renalware::Modalities::ChangePatientModality" => [
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class AddReportingIndexes < ActiveRecord::Migration[5.1]
|
2
|
+
def up
|
3
|
+
connection.execute(<<-SQL)
|
4
|
+
CREATE INDEX pathology_observations_created_on ON pathology_observations USING btree ((created_at::date));
|
5
|
+
SQL
|
6
|
+
end
|
7
|
+
|
8
|
+
def down
|
9
|
+
connection.execute(<<-SQL)
|
10
|
+
DROP INDEX pathology_observations_created_on;
|
11
|
+
SQL
|
12
|
+
end
|
13
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
-
|
2
2
|
name: Main Authors
|
3
|
-
description: A list of authors with
|
3
|
+
description: A list of authors with statistics across the last 3 months of letters.
|
4
4
|
view_name: reporting_main_authors_audit
|
5
5
|
materialized: true
|
6
6
|
refresh_schedule: "1 0 * * *"
|
@@ -329,4 +329,3 @@
|
|
329
329
|
}
|
330
330
|
]
|
331
331
|
}
|
332
|
-
|
@@ -0,0 +1,16 @@
|
|
1
|
+
-- A pathology report to help identify any HL7/delayed_job issues
|
2
|
+
-- the name of the view (the filename here) is significant as we'll compile all reporting_daily_*
|
3
|
+
-- views into a daily digest email
|
4
|
+
select
|
5
|
+
(select count(*) from delayed_jobs) as delayed_jobs_total,
|
6
|
+
(select count(*) from delayed_jobs where attempts = 0) as delayed_jobs_unprocessed,
|
7
|
+
(select count(*) from delayed_jobs where last_error is not null and failed_at is null ) as delayed_jobs_retrying,
|
8
|
+
(select count(*) from delayed_jobs where last_error is not null and failed_at is null ) as delayed_jobs_failed,
|
9
|
+
(select max(created_at) from delayed_jobs) as delayed_jobs_latest_entry,
|
10
|
+
(select count(*) from delayed_jobs where created_at >= now()::date) as delayed_jobs_added_today,
|
11
|
+
(select jsonb_agg(query) from (select priority, count(*) from delayed_jobs group by priority ) query) as delayed_jobs_priority_counts,
|
12
|
+
(select count(*) from feed_messages) as feed_messages_total,
|
13
|
+
(select count(*) from feed_messages where created_at >= now()::date) as feed_messages_added_today,
|
14
|
+
(select max(created_at) from feed_messages) as feed_messages_added_latest_entry, -- will be slow, needs index on feed_messages.created_at
|
15
|
+
(select count(*) from pathology_observations where created_at::date >= now()::date) as pathology_observations_added_today,
|
16
|
+
(select max(observed_at) from pathology_observations) as pathology_observations_latest_observed_at;
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "attr_extras"
|
4
|
+
|
5
|
+
# Shell out to gpg with a a command like this
|
6
|
+
# gpg --armor --no-default-keyring --keyring keyring.gpg
|
7
|
+
# --trust-model always -r 'renalware_test'
|
8
|
+
# --output output.xml.enc
|
9
|
+
# --encrypt input.xml
|
10
|
+
#
|
11
|
+
# Note if you want to see a more verbose output you can add -vv but don't do this here
|
12
|
+
# as it outputs info to stderr and causes an error to be raised.
|
13
|
+
#
|
14
|
+
# Some options may be omitted optional depending on how GPG is set up however as we may use
|
15
|
+
# more than 1 GPG key on thie server, we are explicitly setting the
|
16
|
+
# Recipient may be optional e.g. --recipient 'patient view'
|
17
|
+
class GpgEncryptFolder
|
18
|
+
pattr_initialize [:folder!, :options!]
|
19
|
+
|
20
|
+
def call
|
21
|
+
Dir.glob(folder.join("xml", "*.xml")) do |file|
|
22
|
+
GpgEncryptFile.new(file: file, options: options).call
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
class GpgOptions
|
28
|
+
attr_reader_initialize [:recipient, :keyring, :homedir, :filename_transform]
|
29
|
+
end
|
30
|
+
|
31
|
+
class GpgEncryptFile
|
32
|
+
pattr_initialize [:file!, :options!]
|
33
|
+
|
34
|
+
def call
|
35
|
+
err = Open3.popen3(gpg_command) do |_stdin, _stdout, stderr|
|
36
|
+
stderr.read
|
37
|
+
end
|
38
|
+
raise "Error encrypting UKRDC files: #{err}" unless err.empty?
|
39
|
+
end
|
40
|
+
|
41
|
+
private
|
42
|
+
|
43
|
+
def gpg_command
|
44
|
+
GpgCommand.new(file: file, options: options).to_s
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
class GpgCommand
|
49
|
+
pattr_initialize [:file!, :options!]
|
50
|
+
|
51
|
+
def to_s
|
52
|
+
"gpg --armor --no-default-keyring --trust-model always "\
|
53
|
+
"#{keyring} #{homedir} #{recipient} "\
|
54
|
+
"-o #{encrypted_filename} "\
|
55
|
+
"--encrypt #{file}"
|
56
|
+
end
|
57
|
+
|
58
|
+
def recipient
|
59
|
+
options.recipient && "--recipient #{options.recipient}"
|
60
|
+
end
|
61
|
+
|
62
|
+
def homedir
|
63
|
+
options.homedir && "--homedir #{options.homedir}"
|
64
|
+
end
|
65
|
+
|
66
|
+
def keyring
|
67
|
+
"--keyring #{options.keyring}"
|
68
|
+
end
|
69
|
+
|
70
|
+
# Calls a proc to transform the in file name into an out file name
|
71
|
+
def encrypted_filename
|
72
|
+
options.filename_transform.call(file)
|
73
|
+
end
|
74
|
+
end
|
@@ -56,6 +56,11 @@ module Renalware
|
|
56
56
|
config_accessor(:ukrdc_default_changes_since_date) {
|
57
57
|
Date.parse(ENV.fetch("UKRDC_DEFAULT_CHANGES_SINCE_DATE", "2018-01-01"))
|
58
58
|
}
|
59
|
+
config_accessor(:ukrdc_gpg_recipient) { ENV.fetch("UKRDC_GPG_RECIPIENT", "renalware_test") }
|
60
|
+
config_accessor(:ukrdc_gpg_homedir) { ENV["UKRDC_GPG_HOMEDIR"] }
|
61
|
+
config_accessor(:ukrdc_gpg_keyring) do
|
62
|
+
ENV.fetch("UKRDC_GPG_KEYRING", Engine.root.join("config", "gpg", "renalware_test.gpg"))
|
63
|
+
end
|
59
64
|
|
60
65
|
# We override this in some tests as a means of getting wicked_Pdf to generate an HTML version
|
61
66
|
# of the PDF so we can examine its content
|
data/lib/renalware/engine.rb
CHANGED
@@ -18,7 +18,7 @@ require "dotenv-rails"
|
|
18
18
|
require "dumb_delegator"
|
19
19
|
require "email_validator"
|
20
20
|
require "enumerize"
|
21
|
-
require "font-awesome-
|
21
|
+
require "font-awesome-sass"
|
22
22
|
require "foundation-rails"
|
23
23
|
require "friendly_id"
|
24
24
|
require "hashdiff"
|
@@ -51,6 +51,7 @@ require "validates_timeliness"
|
|
51
51
|
require "virtus"
|
52
52
|
require "wicked_pdf"
|
53
53
|
require "wisper"
|
54
|
+
require "wisper/activejob"
|
54
55
|
require "rails-assets-foundation-datepicker"
|
55
56
|
require "rails-assets-select2"
|
56
57
|
if ENV["RAILS_ENV"] == "development"
|
@@ -79,9 +80,9 @@ module Renalware
|
|
79
80
|
config.autoload_paths += Dir["#{config.root}/lib/**/"]
|
80
81
|
config.autoload_paths += %W(#{config.root}/app/validators/concerns)
|
81
82
|
|
82
|
-
config.generators do |
|
83
|
-
|
84
|
-
|
83
|
+
config.generators do |gens|
|
84
|
+
gens.test_framework :rspec
|
85
|
+
gens.fixture_replacement :factory_girl, dir: "../../spec/factories"
|
85
86
|
end
|
86
87
|
|
87
88
|
initializer :add_locales do |app|
|
data/lib/renalware/version.rb
CHANGED
data/lib/tasks/audit.rake
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
begin
|
2
4
|
namespace :audit do
|
3
5
|
desc <<-DESC
|
@@ -23,6 +25,9 @@ begin
|
|
23
25
|
month: ENV["month"],
|
24
26
|
year: ENV["year"]
|
25
27
|
).call
|
28
|
+
|
29
|
+
# Refresh the materialized view which will aggregate the monthly hd_patient_statistics data
|
30
|
+
RefreshMaterializedViewJob.perform_later(view_name: "renalware.reporting_hd_overall_audit")
|
26
31
|
end
|
27
32
|
end
|
28
33
|
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
namespace :reporting do
|
4
|
+
desc "Send a daily system report email to confguired recpients"
|
5
|
+
task send_daily_summary_email: :environment do
|
6
|
+
recipents = Array(ENV.fetch("DAILY_REPORT_EMAIL_RECIPIENTS", "dev@airslie.com").split(","))
|
7
|
+
Renalware::Reporting::ReportMailer.daily_summary(to: recipents)
|
8
|
+
end
|
9
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: renalware-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.45
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Airslie
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_type
|
@@ -212,14 +212,14 @@ dependencies:
|
|
212
212
|
requirements:
|
213
213
|
- - "~>"
|
214
214
|
- !ruby/object:Gem::Version
|
215
|
-
version: 4.
|
215
|
+
version: 4.5.0
|
216
216
|
type: :runtime
|
217
217
|
prerelease: false
|
218
218
|
version_requirements: !ruby/object:Gem::Requirement
|
219
219
|
requirements:
|
220
220
|
- - "~>"
|
221
221
|
- !ruby/object:Gem::Version
|
222
|
-
version: 4.
|
222
|
+
version: 4.5.0
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
224
|
name: dotenv-rails
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -277,19 +277,19 @@ dependencies:
|
|
277
277
|
- !ruby/object:Gem::Version
|
278
278
|
version: 2.2.2
|
279
279
|
- !ruby/object:Gem::Dependency
|
280
|
-
name: font-awesome-
|
280
|
+
name: font-awesome-sass
|
281
281
|
requirement: !ruby/object:Gem::Requirement
|
282
282
|
requirements:
|
283
283
|
- - "~>"
|
284
284
|
- !ruby/object:Gem::Version
|
285
|
-
version:
|
285
|
+
version: 5.3.1
|
286
286
|
type: :runtime
|
287
287
|
prerelease: false
|
288
288
|
version_requirements: !ruby/object:Gem::Requirement
|
289
289
|
requirements:
|
290
290
|
- - "~>"
|
291
291
|
- !ruby/object:Gem::Version
|
292
|
-
version:
|
292
|
+
version: 5.3.1
|
293
293
|
- !ruby/object:Gem::Dependency
|
294
294
|
name: foundation-rails
|
295
295
|
requirement: !ruby/object:Gem::Requirement
|
@@ -548,14 +548,14 @@ dependencies:
|
|
548
548
|
requirements:
|
549
549
|
- - "~>"
|
550
550
|
- !ruby/object:Gem::Version
|
551
|
-
version: 1.
|
551
|
+
version: 1.1.3
|
552
552
|
type: :runtime
|
553
553
|
prerelease: false
|
554
554
|
version_requirements: !ruby/object:Gem::Requirement
|
555
555
|
requirements:
|
556
556
|
- - "~>"
|
557
557
|
- !ruby/object:Gem::Version
|
558
|
-
version: 1.
|
558
|
+
version: 1.1.3
|
559
559
|
- !ruby/object:Gem::Dependency
|
560
560
|
name: puma
|
561
561
|
requirement: !ruby/object:Gem::Requirement
|
@@ -576,14 +576,14 @@ dependencies:
|
|
576
576
|
requirements:
|
577
577
|
- - "~>"
|
578
578
|
- !ruby/object:Gem::Version
|
579
|
-
version:
|
579
|
+
version: 2.0.0
|
580
580
|
type: :runtime
|
581
581
|
prerelease: false
|
582
582
|
version_requirements: !ruby/object:Gem::Requirement
|
583
583
|
requirements:
|
584
584
|
- - "~>"
|
585
585
|
- !ruby/object:Gem::Version
|
586
|
-
version:
|
586
|
+
version: 2.0.0
|
587
587
|
- !ruby/object:Gem::Dependency
|
588
588
|
name: rack-attack
|
589
589
|
requirement: !ruby/object:Gem::Requirement
|
@@ -646,14 +646,14 @@ dependencies:
|
|
646
646
|
requirements:
|
647
647
|
- - "~>"
|
648
648
|
- !ruby/object:Gem::Version
|
649
|
-
version:
|
649
|
+
version: 2.0.1
|
650
650
|
type: :runtime
|
651
651
|
prerelease: false
|
652
652
|
version_requirements: !ruby/object:Gem::Requirement
|
653
653
|
requirements:
|
654
654
|
- - "~>"
|
655
655
|
- !ruby/object:Gem::Version
|
656
|
-
version:
|
656
|
+
version: 2.0.1
|
657
657
|
- !ruby/object:Gem::Dependency
|
658
658
|
name: record_tag_helper
|
659
659
|
requirement: !ruby/object:Gem::Requirement
|
@@ -683,19 +683,19 @@ dependencies:
|
|
683
683
|
- !ruby/object:Gem::Version
|
684
684
|
version: 1.2.0
|
685
685
|
- !ruby/object:Gem::Dependency
|
686
|
-
name:
|
686
|
+
name: sassc-rails
|
687
687
|
requirement: !ruby/object:Gem::Requirement
|
688
688
|
requirements:
|
689
689
|
- - "~>"
|
690
690
|
- !ruby/object:Gem::Version
|
691
|
-
version:
|
691
|
+
version: 1.3.0
|
692
692
|
type: :runtime
|
693
693
|
prerelease: false
|
694
694
|
version_requirements: !ruby/object:Gem::Requirement
|
695
695
|
requirements:
|
696
696
|
- - "~>"
|
697
697
|
- !ruby/object:Gem::Version
|
698
|
-
version:
|
698
|
+
version: 1.3.0
|
699
699
|
- !ruby/object:Gem::Dependency
|
700
700
|
name: scenic
|
701
701
|
requirement: !ruby/object:Gem::Requirement
|
@@ -864,6 +864,20 @@ dependencies:
|
|
864
864
|
- - "~>"
|
865
865
|
- !ruby/object:Gem::Version
|
866
866
|
version: 2.0.0
|
867
|
+
- !ruby/object:Gem::Dependency
|
868
|
+
name: wisper-activejob
|
869
|
+
requirement: !ruby/object:Gem::Requirement
|
870
|
+
requirements:
|
871
|
+
- - "~>"
|
872
|
+
- !ruby/object:Gem::Version
|
873
|
+
version: 1.0.0
|
874
|
+
type: :runtime
|
875
|
+
prerelease: false
|
876
|
+
version_requirements: !ruby/object:Gem::Requirement
|
877
|
+
requirements:
|
878
|
+
- - "~>"
|
879
|
+
- !ruby/object:Gem::Version
|
880
|
+
version: 1.0.0
|
867
881
|
- !ruby/object:Gem::Dependency
|
868
882
|
name: wkhtmltopdf-binary
|
869
883
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1284,6 +1298,7 @@ files:
|
|
1284
1298
|
- app/jobs/application_job.rb
|
1285
1299
|
- app/jobs/feed_job.rb
|
1286
1300
|
- app/jobs/hl7_message_example.yml
|
1301
|
+
- app/jobs/refresh_materialized_view_job.rb
|
1287
1302
|
- app/jobs/renalware/hd/generate_monthly_statistics.rb
|
1288
1303
|
- app/jobs/renalware/hd/generate_monthly_statistics_for_patient_job.rb
|
1289
1304
|
- app/jobs/renalware/hd/update_rolling_patient_statistics_job.rb
|
@@ -1292,7 +1307,9 @@ files:
|
|
1292
1307
|
- app/mailers/renalware/admin/user_mailer.rb
|
1293
1308
|
- app/mailers/renalware/letters/delivery/errors.rb
|
1294
1309
|
- app/mailers/renalware/letters/delivery/practice_mailer.rb
|
1310
|
+
- app/mailers/renalware/previews/report_preview.rb
|
1295
1311
|
- app/mailers/renalware/previews/user_mailer_preview.rb
|
1312
|
+
- app/mailers/renalware/reporting/report_mailer.rb
|
1296
1313
|
- app/models/application_record.rb
|
1297
1314
|
- app/models/concerns/renalware/accountable.rb
|
1298
1315
|
- app/models/concerns/renalware/broadcasting.rb
|
@@ -2602,6 +2619,8 @@ files:
|
|
2602
2619
|
- app/views/renalware/reporting/audits/edit.html.slim
|
2603
2620
|
- app/views/renalware/reporting/audits/index.html.slim
|
2604
2621
|
- app/views/renalware/reporting/audits/show.html.slim
|
2622
|
+
- app/views/renalware/reporting/report_mailer/daily_summary.html.slim
|
2623
|
+
- app/views/renalware/reporting/report_mailer/daily_summary.text.erb
|
2605
2624
|
- app/views/renalware/research/_alert.html.slim
|
2606
2625
|
- app/views/renalware/research/_alerts.html.slim
|
2607
2626
|
- app/views/renalware/research/studies/_form.html.slim
|
@@ -2761,6 +2780,7 @@ files:
|
|
2761
2780
|
- config/autoprefixer.yml
|
2762
2781
|
- config/cable.yml
|
2763
2782
|
- config/cucumber.yml
|
2783
|
+
- config/gpg/renalware_test.gpg
|
2764
2784
|
- config/initializers/ahoy.rb
|
2765
2785
|
- config/initializers/backtrace_silencers.rb
|
2766
2786
|
- config/initializers/client_side_validations.rb
|
@@ -2867,6 +2887,7 @@ files:
|
|
2867
2887
|
- config/locales/renalware/renal/profile.en.yml
|
2868
2888
|
- config/locales/renalware/renal/registry.en.yml
|
2869
2889
|
- config/locales/renalware/reporting/audit.en.yml
|
2890
|
+
- config/locales/renalware/reporting/reporting_daily.en.yml
|
2870
2891
|
- config/locales/renalware/research/study_participant.en.yml
|
2871
2892
|
- config/locales/renalware/shared.yml
|
2872
2893
|
- config/locales/renalware/snippets/snippets.en.yml
|
@@ -3308,6 +3329,8 @@ files:
|
|
3308
3329
|
- db/migrate/20180803131157_add_uuid_to_hd_transmission_logs.rb
|
3309
3330
|
- db/migrate/20180814103916_create_index_on_lower_patient_family_name.rb
|
3310
3331
|
- db/migrate/20180815144429_update_hd_overall_audit_to_version_8.rb
|
3332
|
+
- db/migrate/20180831134606_add_reporting_indexes.rb
|
3333
|
+
- db/migrate/20180831134926_create_daily_reports.rb
|
3311
3334
|
- db/seeds.rb
|
3312
3335
|
- db/seeds/default/accesses/access_pd_catheter_insertion_techniques.csv
|
3313
3336
|
- db/seeds/default/accesses/access_pd_catheter_insertion_techniques.rb
|
@@ -3407,6 +3430,8 @@ files:
|
|
3407
3430
|
- db/views/patient_summaries_v06.sql
|
3408
3431
|
- db/views/reporting_anaemia_audit_v01.sql
|
3409
3432
|
- db/views/reporting_bone_audit_v01.sql
|
3433
|
+
- db/views/reporting_daily_letters_v01.sql
|
3434
|
+
- db/views/reporting_daily_pathology_v01.sql
|
3410
3435
|
- db/views/reporting_hd_blood_pressures_audit_v01.sql
|
3411
3436
|
- db/views/reporting_hd_overall_audit_v01.sql
|
3412
3437
|
- db/views/reporting_hd_overall_audit_v02.sql
|
@@ -3442,6 +3467,7 @@ files:
|
|
3442
3467
|
- lib/dropdown_button_item.rb
|
3443
3468
|
- lib/duration_calculator.rb
|
3444
3469
|
- lib/git_commit_sha.rb
|
3470
|
+
- lib/gpg_encrypt_folder.rb
|
3445
3471
|
- lib/hash_collection.rb
|
3446
3472
|
- lib/inline_image.rb
|
3447
3473
|
- lib/numeric_inclusion_validator.rb
|
@@ -3468,6 +3494,7 @@ files:
|
|
3468
3494
|
- lib/tasks/feeds/files.rake
|
3469
3495
|
- lib/tasks/hd.rake
|
3470
3496
|
- lib/tasks/pathology.rake
|
3497
|
+
- lib/tasks/reporting.rake
|
3471
3498
|
- lib/tasks/ukrdc.rake
|
3472
3499
|
- lib/templates/slim/scaffold/_form.html.slim
|
3473
3500
|
- lib/test_support/ajax_helpers.rb
|