renalware-core 2.0.148 → 2.0.149
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/renalware/components/session_timeout_redirect.js.erb +26 -21
- data/app/assets/javascripts/renalware/core.js.erb +2 -0
- data/app/assets/javascripts/renalware/rollup_compiled.js +169 -0
- data/app/assets/stylesheets/renalware/partials/_simple_form.scss +2 -2
- data/app/components/renalware/hd/administer_prescription_dropdown_component.html.slim +1 -1
- data/app/controllers/renalware/base_controller.rb +3 -3
- data/app/controllers/renalware/session_timeout_controller.rb +20 -17
- data/app/javascript/renalware/controllers/session_controller.js +223 -0
- data/app/javascript/renalware/index.js +2 -0
- data/app/models/renalware/accesses/assessment.rb +5 -1
- data/app/models/renalware/accesses/procedure.rb +4 -1
- data/app/models/renalware/accesses/profile.rb +4 -1
- data/app/models/renalware/clinical/body_composition.rb +4 -1
- data/app/models/renalware/clinical/dry_weight.rb +4 -1
- data/app/models/renalware/clinics/clinic_visit.rb +5 -1
- data/app/models/renalware/hd/preference_set.rb +4 -1
- data/app/models/renalware/hd/profile.rb +5 -2
- data/app/models/renalware/hd/session.rb +4 -1
- data/app/models/renalware/low_clearance/profile.rb +5 -2
- data/app/models/renalware/medications/prescription.rb +4 -2
- data/app/models/renalware/pathology/code_group.rb +3 -1
- data/app/models/renalware/pathology/code_group_membership.rb +4 -1
- data/app/models/renalware/patient.rb +4 -1
- data/app/models/renalware/patients/worry.rb +5 -1
- data/app/models/renalware/problems/problem.rb +5 -1
- data/app/models/renalware/renal/aki_alert.rb +4 -1
- data/app/models/renalware/renal/profile.rb +4 -1
- data/app/models/renalware/transplants/donation.rb +4 -2
- data/app/models/renalware/transplants/donor_followup.rb +4 -2
- data/app/models/renalware/transplants/donor_operation.rb +4 -2
- data/app/models/renalware/transplants/donor_workup.rb +4 -2
- data/app/models/renalware/transplants/recipient_followup.rb +5 -2
- data/app/models/renalware/transplants/recipient_operation.rb +5 -2
- data/app/models/renalware/transplants/recipient_workup.rb +5 -2
- data/app/models/renalware/transplants/registration.rb +5 -2
- data/app/models/renalware/transplants/rejection_episode.rb +1 -1
- data/app/models/renalware/ukrdc/{batch_number.rb → batch.rb} +1 -1
- data/app/models/renalware/ukrdc/create_encrypted_patient_xml_files.rb +7 -10
- data/app/models/renalware/ukrdc/create_patient_xml_file.rb +3 -4
- data/app/models/renalware/ukrdc/housekeeping/remove_old_export_archive_folders.rb +3 -3
- data/app/models/renalware/ukrdc/housekeeping/remove_stale_files.rb +2 -2
- data/app/models/renalware/ukrdc/incoming/import_surveys.rb +1 -2
- data/app/models/renalware/ukrdc/transmission_log.rb +3 -2
- data/app/presenters/renalware/user_session_presenter.rb +44 -0
- data/app/views/renalware/admissions/consults/_form.html.slim +19 -18
- data/app/views/renalware/hd/prescription_administrations/_form.html.slim +1 -1
- data/app/views/renalware/hd/prescription_administrations/_row.html.slim +1 -1
- data/app/views/renalware/hd/prescription_administrations/new.js.erb +1 -1
- data/app/views/renalware/hd/protocols/_protocol.pdf.slim +39 -38
- data/app/views/renalware/hd/scheduling/diary_slots/_slot.html.slim +2 -1
- data/app/views/renalware/hd/witnesses/_form.html.slim +2 -2
- data/app/views/renalware/letters/contacts/_contact.html.slim +1 -1
- data/app/views/renalware/letters/letters/index.html.slim +4 -0
- data/app/views/renalware/medications/prescriptions/index.html.slim +1 -1
- data/app/views/renalware/navigation/_sign_out.html.slim +5 -1
- data/app/views/renalware/patients/patients/show/_primary_care_physician.html.slim +1 -1
- data/app/views/renalware/transplants/wait_lists/show.html.slim +1 -1
- data/config/initializers/paper_trail.rb +1 -1
- data/config/initializers/simple_form_wrappers.rb +14 -9
- data/config/routes/system.rb +2 -1
- data/db/migrate/20200408131217_associate_batch_with_ukrdc_transmission_log.rb +15 -0
- data/db/seeds/seeds_helper.rb +8 -2
- data/lib/renalware/configuration.rb +6 -0
- data/lib/renalware/engine.rb +2 -1
- data/lib/renalware/version.rb +1 -1
- data/spec/support/shared_examples/supersedable_examples.rb +2 -2
- metadata +22 -7
@@ -20,6 +20,7 @@ import SnippetsController from "./controllers/snippets_controller"
|
|
20
20
|
import LettersFormController from "./controllers/letters/form_controller"
|
21
21
|
import PrescriptionsController from "./controllers/medications/prescriptions_controller"
|
22
22
|
import ChartsController from "./controllers/charts_controller"
|
23
|
+
import SessionController from "./controllers/session_controller"
|
23
24
|
|
24
25
|
const application = Application.start()
|
25
26
|
application.register("toggle", ToggleController)
|
@@ -29,5 +30,6 @@ application.register("snippets", SnippetsController)
|
|
29
30
|
application.register("letters-form", LettersFormController)
|
30
31
|
application.register("prescriptions", PrescriptionsController)
|
31
32
|
application.register("charts", ChartsController)
|
33
|
+
application.register("session", SessionController)
|
32
34
|
|
33
35
|
window.Chartkick.use(window.Highcharts)
|
@@ -14,7 +14,11 @@ module Renalware
|
|
14
14
|
belongs_to :type, class_name: "Type"
|
15
15
|
|
16
16
|
has_document class_name: "Renalware::Accesses::AssessmentDocument"
|
17
|
-
|
17
|
+
|
18
|
+
has_paper_trail(
|
19
|
+
versions: { class_name: "Renalware::Accesses::Version" },
|
20
|
+
on: [:create, :update, :destroy]
|
21
|
+
)
|
18
22
|
|
19
23
|
scope :ordered, -> { order(performed_on: :desc) }
|
20
24
|
|
@@ -12,7 +12,10 @@ module Renalware
|
|
12
12
|
belongs_to :type, class_name: "Type"
|
13
13
|
belongs_to :pd_catheter_insertion_technique, class_name: "CatheterInsertionTechnique"
|
14
14
|
|
15
|
-
has_paper_trail
|
15
|
+
has_paper_trail(
|
16
|
+
versions: { class_name: "Renalware::Accesses::Version" },
|
17
|
+
on: [:create, :update, :destroy]
|
18
|
+
)
|
16
19
|
|
17
20
|
scope :ordered, -> { order(performed_on: :desc) }
|
18
21
|
|
@@ -11,7 +11,10 @@ module Renalware
|
|
11
11
|
belongs_to :patient, touch: true
|
12
12
|
belongs_to :type, class_name: "Type"
|
13
13
|
|
14
|
-
has_paper_trail
|
14
|
+
has_paper_trail(
|
15
|
+
versions: { class_name: "Renalware::Accesses::Version" },
|
16
|
+
on: [:create, :update, :destroy]
|
17
|
+
)
|
15
18
|
|
16
19
|
scope :ordered, -> { order(formed_on: :desc) }
|
17
20
|
scope :current, lambda {
|
@@ -19,7 +19,10 @@ module Renalware
|
|
19
19
|
belongs_to :assessor, class_name: "User", foreign_key: "assessor_id"
|
20
20
|
belongs_to :modality_description, class_name: "Modalities::Description"
|
21
21
|
|
22
|
-
has_paper_trail
|
22
|
+
has_paper_trail(
|
23
|
+
versions: { class_name: "Renalware::Clinical::Version" },
|
24
|
+
on: [:create, :update, :destroy]
|
25
|
+
)
|
23
26
|
|
24
27
|
scope :ordered, -> { order(assessed_on: :desc, created_at: :desc) }
|
25
28
|
|
@@ -12,7 +12,10 @@ module Renalware
|
|
12
12
|
belongs_to :patient, class_name: "Renalware::Clinical::Patient", touch: true
|
13
13
|
belongs_to :assessor, class_name: "User", foreign_key: "assessor_id"
|
14
14
|
|
15
|
-
has_paper_trail
|
15
|
+
has_paper_trail(
|
16
|
+
versions: { class_name: "Renalware::Clinical::Version" },
|
17
|
+
on: [:create, :update, :destroy]
|
18
|
+
)
|
16
19
|
|
17
20
|
scope :ordered, -> { order(assessed_on: :desc, created_at: :desc) }
|
18
21
|
|
@@ -7,7 +7,11 @@ module Renalware
|
|
7
7
|
module Clinics
|
8
8
|
class ClinicVisit < ApplicationRecord
|
9
9
|
self.table_name = :clinic_visits
|
10
|
-
|
10
|
+
|
11
|
+
has_paper_trail(
|
12
|
+
versions: { class_name: "Renalware::Clinics::Version" },
|
13
|
+
on: [:create, :update, :destroy]
|
14
|
+
)
|
11
15
|
|
12
16
|
include Accountable
|
13
17
|
include PatientScope
|
@@ -12,7 +12,10 @@ module Renalware
|
|
12
12
|
belongs_to :hospital_unit, class_name: "Hospitals::Unit"
|
13
13
|
belongs_to :schedule_definition, foreign_key: "schedule_definition_id"
|
14
14
|
|
15
|
-
has_paper_trail
|
15
|
+
has_paper_trail(
|
16
|
+
versions: { class_name: "Renalware::HD::Version" },
|
17
|
+
on: [:create, :update, :destroy]
|
18
|
+
)
|
16
19
|
|
17
20
|
validates :patient, presence: true
|
18
21
|
validates :entered_on, timeliness: { type: :date, allow_blank: true }
|
@@ -18,9 +18,12 @@ module Renalware
|
|
18
18
|
belongs_to :named_nurse, class_name: "User", foreign_key: "named_nurse_id"
|
19
19
|
belongs_to :transport_decider, class_name: "User", foreign_key: "transport_decider_id"
|
20
20
|
belongs_to :schedule_definition, foreign_key: "schedule_definition_id"
|
21
|
-
|
22
21
|
has_document class_name: "Renalware::HD::ProfileDocument"
|
23
|
-
|
22
|
+
|
23
|
+
has_paper_trail(
|
24
|
+
versions: { class_name: "Renalware::HD::Version" },
|
25
|
+
on: [:create, :update, :destroy]
|
26
|
+
)
|
24
27
|
|
25
28
|
validates :patient, presence: true
|
26
29
|
validates :prescriber, presence: true
|
@@ -32,7 +32,10 @@ module Renalware
|
|
32
32
|
dependent: :destroy
|
33
33
|
accepts_nested_attributes_for :prescription_administrations
|
34
34
|
|
35
|
-
has_paper_trail
|
35
|
+
has_paper_trail(
|
36
|
+
versions: { class_name: "Renalware::HD::Version" },
|
37
|
+
on: [:create, :update, :destroy]
|
38
|
+
)
|
36
39
|
|
37
40
|
before_create :assign_modality
|
38
41
|
before_save :compute_duration
|
@@ -12,8 +12,11 @@ module Renalware
|
|
12
12
|
belongs_to :patient, touch: true
|
13
13
|
belongs_to :referrer
|
14
14
|
has_document class_name: "Renalware::LowClearance::ProfileDocument"
|
15
|
-
|
16
|
-
|
15
|
+
|
16
|
+
has_paper_trail(
|
17
|
+
versions: { class_name: "Renalware::LowClearance::Version" },
|
18
|
+
on: [:create, :update, :destroy]
|
19
|
+
)
|
17
20
|
end
|
18
21
|
end
|
19
22
|
end
|
@@ -10,8 +10,10 @@ module Renalware
|
|
10
10
|
|
11
11
|
attr_accessor :drug_select
|
12
12
|
|
13
|
-
has_paper_trail
|
14
|
-
|
13
|
+
has_paper_trail(
|
14
|
+
versions: { class_name: "Renalware::Medications::PrescriptionVersion" },
|
15
|
+
on: [:create, :update]
|
16
|
+
)
|
15
17
|
|
16
18
|
belongs_to :patient, touch: true
|
17
19
|
|
@@ -30,10 +30,12 @@ module Renalware
|
|
30
30
|
# M.position_within_subgroup;
|
31
31
|
class CodeGroup < ApplicationRecord
|
32
32
|
include Accountable
|
33
|
+
|
33
34
|
has_paper_trail(
|
34
|
-
class_name: "Renalware::Pathology::Version",
|
35
|
+
versions: { class_name: "Renalware::Pathology::Version" },
|
35
36
|
on: [:create, :update, :destroy]
|
36
37
|
)
|
38
|
+
|
37
39
|
validates :name, presence: true, uniqueness: true
|
38
40
|
validates :description, presence: true
|
39
41
|
has_many(
|
@@ -11,7 +11,10 @@ module Renalware
|
|
11
11
|
# determines its order in the subgroup.
|
12
12
|
class CodeGroupMembership < ApplicationRecord
|
13
13
|
include Accountable
|
14
|
-
has_paper_trail
|
14
|
+
has_paper_trail(
|
15
|
+
versions: { class_name: "Renalware::Pathology::Version" },
|
16
|
+
on: [:create, :update, :destroy]
|
17
|
+
)
|
15
18
|
validates :position_within_subgroup, presence: true
|
16
19
|
validates :subgroup, presence: true
|
17
20
|
belongs_to :code_group
|
@@ -34,7 +34,10 @@ module Renalware
|
|
34
34
|
|
35
35
|
enumerize :marital_status, in: %i(married single divorced widowed)
|
36
36
|
|
37
|
-
has_paper_trail
|
37
|
+
has_paper_trail(
|
38
|
+
versions: { class_name: "Renalware::Patients::Version" },
|
39
|
+
on: [:create, :update, :destroy]
|
40
|
+
)
|
38
41
|
|
39
42
|
serialize :sex, Gender
|
40
43
|
|
@@ -6,7 +6,11 @@ module Renalware
|
|
6
6
|
module Patients
|
7
7
|
class Worry < ApplicationRecord
|
8
8
|
include Accountable
|
9
|
-
|
9
|
+
|
10
|
+
has_paper_trail(
|
11
|
+
versions: { class_name: "Renalware::Patients::Version" },
|
12
|
+
on: [:create, :update, :destroy]
|
13
|
+
)
|
10
14
|
|
11
15
|
belongs_to :patient,
|
12
16
|
class_name: "Renalware::Patient",
|
@@ -9,7 +9,11 @@ module Renalware
|
|
9
9
|
include Accountable
|
10
10
|
|
11
11
|
acts_as_paranoid
|
12
|
-
|
12
|
+
|
13
|
+
has_paper_trail(
|
14
|
+
versions: { class_name: "Renalware::Problems::Version" },
|
15
|
+
on: [:create, :update, :destroy]
|
16
|
+
)
|
13
17
|
|
14
18
|
belongs_to :patient, touch: true
|
15
19
|
has_many :notes, -> { ordered }, dependent: :destroy
|
@@ -18,7 +18,10 @@ module Renalware
|
|
18
18
|
scope :today, -> { where(created_at: Time.zone.today.all_day) }
|
19
19
|
scope :hotlist, -> { where(hotlist: true) }
|
20
20
|
|
21
|
-
has_paper_trail
|
21
|
+
has_paper_trail(
|
22
|
+
versions: { class_name: "Renalware::Renal::Version" },
|
23
|
+
on: [:create, :update, :destroy]
|
24
|
+
)
|
22
25
|
|
23
26
|
ransacker :created_at_casted do |_parent|
|
24
27
|
Arel.sql("date(renal_aki_alerts.created_at)")
|
@@ -9,7 +9,10 @@ module Renalware
|
|
9
9
|
include Document::Base
|
10
10
|
extend Enumerize
|
11
11
|
|
12
|
-
has_paper_trail
|
12
|
+
has_paper_trail(
|
13
|
+
versions: { class_name: "Renalware::Renal::Version" },
|
14
|
+
on: [:create, :update, :destroy]
|
15
|
+
)
|
13
16
|
|
14
17
|
belongs_to :patient, touch: true
|
15
18
|
belongs_to :prd_description
|
@@ -12,8 +12,10 @@ module Renalware
|
|
12
12
|
belongs_to :patient, touch: true
|
13
13
|
belongs_to :recipient, class_name: "Patient", foreign_key: "recipient_id", touch: true
|
14
14
|
|
15
|
-
has_paper_trail
|
16
|
-
|
15
|
+
has_paper_trail(
|
16
|
+
versions: { class_name: "Renalware::Transplants::Version" },
|
17
|
+
on: [:create, :update, :destroy]
|
18
|
+
)
|
17
19
|
|
18
20
|
scope :ordered, -> { order(created_at: :asc) }
|
19
21
|
scope :reversed, -> { order(created_at: :desc) }
|
@@ -11,8 +11,10 @@ module Renalware
|
|
11
11
|
foreign_key: "operation_id",
|
12
12
|
touch: true
|
13
13
|
|
14
|
-
has_paper_trail
|
15
|
-
|
14
|
+
has_paper_trail(
|
15
|
+
versions: { class_name: "Renalware::Transplants::Version" },
|
16
|
+
on: [:create, :update, :destroy]
|
17
|
+
)
|
16
18
|
|
17
19
|
validates :last_seen_on, timeliness: { type: :date, allow_blank: true }
|
18
20
|
validates :dead_on, timeliness: { type: :date, allow_blank: true }
|
@@ -19,8 +19,10 @@ module Renalware
|
|
19
19
|
scope :ordered, -> { order(performed_on: :asc) }
|
20
20
|
scope :reversed, -> { order(performed_on: :desc) }
|
21
21
|
|
22
|
-
has_paper_trail
|
23
|
-
|
22
|
+
has_paper_trail(
|
23
|
+
versions: { class_name: "Renalware::Transplants::Version" },
|
24
|
+
on: [:create, :update, :destroy]
|
25
|
+
)
|
24
26
|
has_document class_name: "Renalware::Transplants::DonorOperationDocument"
|
25
27
|
|
26
28
|
enumerize :kidney_side, in: %i(left right both)
|
@@ -11,8 +11,10 @@ module Renalware
|
|
11
11
|
|
12
12
|
belongs_to :patient, touch: true
|
13
13
|
|
14
|
-
has_paper_trail
|
15
|
-
|
14
|
+
has_paper_trail(
|
15
|
+
versions: { class_name: "Renalware::Transplants::Version" },
|
16
|
+
on: [:create, :update, :destroy]
|
17
|
+
)
|
16
18
|
has_document class_name: "Renalware::Transplants::DonorWorkupDocument"
|
17
19
|
end
|
18
20
|
end
|
@@ -28,8 +28,11 @@ module Renalware
|
|
28
28
|
reject_if: :all_blank,
|
29
29
|
allow_destroy: true
|
30
30
|
|
31
|
-
has_paper_trail
|
32
|
-
|
31
|
+
has_paper_trail(
|
32
|
+
versions: { class_name: "Renalware::Transplants::Version" },
|
33
|
+
on: [:create, :update, :destroy]
|
34
|
+
)
|
35
|
+
|
33
36
|
has_document class_name: "Renalware::Transplants::RecipientFollowupDocument"
|
34
37
|
|
35
38
|
validates :stent_removed_on, timeliness: { type: :date, allow_blank: true }
|
@@ -19,8 +19,11 @@ module Renalware
|
|
19
19
|
scope :reversed, -> { order(performed_on: :desc) }
|
20
20
|
scope :most_recent, -> { order(performed_on: :desc).first }
|
21
21
|
|
22
|
-
has_paper_trail
|
23
|
-
|
22
|
+
has_paper_trail(
|
23
|
+
versions: { class_name: "Renalware::Transplants::Version" },
|
24
|
+
on: [:create, :update, :destroy]
|
25
|
+
)
|
26
|
+
|
24
27
|
has_document class_name: "Renalware::Transplants::RecipientOperationDocument"
|
25
28
|
|
26
29
|
validates :performed_on, presence: true
|
@@ -12,8 +12,11 @@ module Renalware
|
|
12
12
|
|
13
13
|
belongs_to :patient, touch: true
|
14
14
|
|
15
|
-
has_paper_trail
|
16
|
-
|
15
|
+
has_paper_trail(
|
16
|
+
versions: { class_name: "Renalware::Transplants::Version" },
|
17
|
+
on: [:create, :update, :destroy]
|
18
|
+
)
|
19
|
+
|
17
20
|
has_document class_name: "Renalware::Transplants::RecipientWorkupDocument"
|
18
21
|
end
|
19
22
|
end
|
@@ -18,8 +18,11 @@ module Renalware
|
|
18
18
|
class_name: "RegistrationStatus",
|
19
19
|
foreign_key: "registration_id"
|
20
20
|
|
21
|
-
has_paper_trail
|
22
|
-
|
21
|
+
has_paper_trail(
|
22
|
+
versions: { class_name: "Renalware::Transplants::Version" },
|
23
|
+
on: [:create, :update, :destroy]
|
24
|
+
)
|
25
|
+
|
23
26
|
has_document class_name: "Renalware::Transplants::RegistrationDocument"
|
24
27
|
|
25
28
|
accepts_nested_attributes_for :statuses
|
@@ -7,7 +7,7 @@ module Renalware
|
|
7
7
|
class RejectionEpisode < ApplicationRecord
|
8
8
|
include Accountable
|
9
9
|
has_paper_trail(
|
10
|
-
class_name: "Renalware::Transplants::Version",
|
10
|
+
versions: { class_name: "Renalware::Transplants::Version" },
|
11
11
|
on: [:create, :update, :destroy]
|
12
12
|
)
|
13
13
|
belongs_to :followup, class_name: "RecipientFollowup", touch: true
|
@@ -16,9 +16,8 @@ module Renalware
|
|
16
16
|
:patient_ids,
|
17
17
|
:changed_since,
|
18
18
|
:logger,
|
19
|
-
:request_uuid,
|
20
19
|
:timestamp,
|
21
|
-
:
|
20
|
+
:batch,
|
22
21
|
:summary,
|
23
22
|
:force_send
|
24
23
|
)
|
@@ -27,16 +26,15 @@ module Renalware
|
|
27
26
|
@changed_since = Time.zone.parse(changed_since) if changed_since.present?
|
28
27
|
@patient_ids = Array(patient_ids)
|
29
28
|
@logger = logger || Rails.logger
|
30
|
-
@request_uuid = SecureRandom.uuid # helps group logs together
|
31
29
|
@timestamp = Time.zone.now.strftime("%Y%m%d%H%M%S%L")
|
32
|
-
@
|
30
|
+
@batch ||= Batch.next
|
33
31
|
@summary = ExportSummary.new
|
34
32
|
@force_send = force_send
|
35
33
|
end
|
36
34
|
|
37
35
|
# rubocop:disable Metrics/MethodLength
|
38
36
|
def call
|
39
|
-
logger.tagged(
|
37
|
+
logger.tagged(batch.number) do
|
40
38
|
summary.milliseconds_taken = Benchmark.ms do
|
41
39
|
create_patient_xml_files
|
42
40
|
encrypt_patient_xml_files
|
@@ -48,7 +46,7 @@ module Renalware
|
|
48
46
|
email_summary
|
49
47
|
end
|
50
48
|
rescue StandardError => e
|
51
|
-
# TODO: if fails before copying to outgoing then we should roll back
|
49
|
+
# TODO: if fails before copying to outgoing then we should roll back Batch
|
52
50
|
Engine.exception_notifier.notify(e)
|
53
51
|
raise e
|
54
52
|
end
|
@@ -60,7 +58,7 @@ module Renalware
|
|
60
58
|
@paths ||= begin
|
61
59
|
Paths.new(
|
62
60
|
timestamp: timestamp,
|
63
|
-
batch_number:
|
61
|
+
batch_number: batch.number,
|
64
62
|
working_path: config.ukrdc_working_path
|
65
63
|
)
|
66
64
|
end
|
@@ -112,8 +110,7 @@ module Renalware
|
|
112
110
|
patient: patient,
|
113
111
|
dir: paths.timestamped_xml_folder,
|
114
112
|
changes_since: changed_since,
|
115
|
-
|
116
|
-
batch_number: batch_number,
|
113
|
+
batch: batch,
|
117
114
|
logger: logger,
|
118
115
|
force_send: force_send,
|
119
116
|
schema: schema
|
@@ -169,7 +166,7 @@ module Renalware
|
|
169
166
|
end
|
170
167
|
|
171
168
|
def export_results
|
172
|
-
TransmissionLog.where(
|
169
|
+
TransmissionLog.where(batch_id: batch.id).group(:status).count(:status).to_h
|
173
170
|
end
|
174
171
|
|
175
172
|
def encrypt_patient_xml_files
|