renalware-core 2.0.55 → 2.0.56
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/renalware/admissions/requests_controller.rb +5 -1
- data/app/controllers/renalware/hd/sessions_controller.rb +5 -1
- data/app/controllers/renalware/problems/problems_controller.rb +2 -2
- data/app/models/concerns/renalware/feeds/job.rb +1 -1
- data/app/models/renalware/admissions/consult_query.rb +1 -0
- data/app/models/renalware/admissions/request.rb +1 -0
- data/app/models/renalware/hd/session.rb +9 -6
- data/app/models/renalware/ukrdc/batch_number.rb +9 -3
- data/app/models/renalware/ukrdc/create_encrypted_patient_xml_files.rb +14 -9
- data/app/models/renalware/ukrdc/create_patient_xml_file.rb +2 -11
- data/app/models/renalware/ukrdc/filename.rb +35 -0
- data/app/models/renalware/ukrdc/paths.rb +4 -3
- data/app/presenters/renalware/accesses/dashboard_presenter.rb +3 -3
- data/app/presenters/renalware/hd/dashboard_presenter.rb +1 -1
- data/app/presenters/renalware/hd/profile_presenter.rb +4 -1
- data/app/presenters/renalware/hd/session_presenter.rb +21 -1
- data/app/presenters/renalware/letters/letter_presenter.rb +1 -1
- data/app/views/renalware/admissions/requests/_request.html.slim +1 -2
- data/app/views/renalware/api/ukrdc/patients/_encounters.xml.builder +9 -9
- data/app/views/renalware/api/ukrdc/patients/_procedures.xml.builder +37 -0
- data/app/views/renalware/api/ukrdc/patients/procedures/_dialysis_session.xml.builder +43 -0
- data/app/views/renalware/api/ukrdc/patients/show.xml.builder +1 -0
- data/lib/gpg_encrypt_folder.rb +4 -4
- data/lib/renalware/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b43e0abe941399d01e0ad556cd252275bee56352a1f93c36539047e23d494596
|
4
|
+
data.tar.gz: c01f1fb595e6349a0fe2cec92b9e1ece2051e46c3198bf4535206413a891dd4b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1a75fd73bab54706788485f5c2d5a05f325f23d055aff0832f4a8e482ccc691ad6d654c1f94c279e4a0dbd9504cf10d244d1b7153f3660caf6f512ea1f5ab12
|
7
|
+
data.tar.gz: 272ff58c7269f6c12fce46cf38bea2826d77ff188241218380cd0f62f9d0a71e6aeed60ff238a467ee5266eb5e80692cb69444358ec9c5a9f1c7da97e9bbcbc4
|
@@ -8,7 +8,11 @@ module Renalware
|
|
8
8
|
include Renalware::Concerns::Pageable
|
9
9
|
|
10
10
|
def index
|
11
|
-
requests = Request
|
11
|
+
requests = Request
|
12
|
+
.ordered
|
13
|
+
.includes(:patient, :reason, :created_by, :updated_by, :hospital_unit)
|
14
|
+
.all
|
15
|
+
.page(page).per(per_page)
|
12
16
|
authorize requests
|
13
17
|
render locals: { requests: requests }
|
14
18
|
end
|
@@ -13,7 +13,11 @@ module Renalware
|
|
13
13
|
|
14
14
|
def index
|
15
15
|
query = sessions_query
|
16
|
-
sessions = query
|
16
|
+
sessions = query
|
17
|
+
.call
|
18
|
+
.includes(:hospital_unit, :patient, :signed_on_by, :signed_off_by)
|
19
|
+
.page(page)
|
20
|
+
.per(per_page || 15)
|
17
21
|
authorize sessions
|
18
22
|
presenter = CollectionPresenter.new(sessions, SessionPresenter, view_context)
|
19
23
|
@q = query.search
|
@@ -8,13 +8,13 @@ module Renalware
|
|
8
8
|
authorize problems
|
9
9
|
render locals: {
|
10
10
|
patient: patient,
|
11
|
-
current_problems: problems.current.
|
11
|
+
current_problems: problems.current.with_updated_by.ordered,
|
12
12
|
archived_problems: problems.archived.with_created_by.ordered
|
13
13
|
}
|
14
14
|
end
|
15
15
|
|
16
16
|
def show
|
17
|
-
problem = patient.problems.with_archived.find(params[:id])
|
17
|
+
problem = patient.problems.with_archived.includes(versions: :item).find(params[:id])
|
18
18
|
notes = problem.notes.with_updated_by.ordered
|
19
19
|
authorize problem
|
20
20
|
render locals: {
|
@@ -19,7 +19,7 @@ module Renalware
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def find_file_in(files, pattern)
|
22
|
-
file = files.
|
22
|
+
file = files.detect{ |f| f.basename.to_s.match(pattern) }
|
23
23
|
if file.nil?
|
24
24
|
msg = "Zip file does not contain a file with name matching #{pattern}!"
|
25
25
|
log(msg)
|
@@ -54,21 +54,24 @@ module Renalware
|
|
54
54
|
datetime_at(end_time)
|
55
55
|
end
|
56
56
|
|
57
|
+
def compute_duration
|
58
|
+
return unless start_time_changed? || end_time_changed?
|
59
|
+
|
60
|
+
self.duration = DurationCalculator.in_minutes(start_time, end_time)
|
61
|
+
end
|
62
|
+
|
57
63
|
private
|
58
64
|
|
59
65
|
def datetime_at(time)
|
66
|
+
return if performed_on.blank?
|
67
|
+
return performed_on.to_time if start_time.blank?
|
68
|
+
|
60
69
|
Time.zone.parse("#{performed_on.strftime('%F')} #{time.strftime('%T')}")
|
61
70
|
end
|
62
71
|
|
63
72
|
def assign_modality
|
64
73
|
self.modality_description = patient.modality_description
|
65
74
|
end
|
66
|
-
|
67
|
-
def compute_duration
|
68
|
-
return unless start_time_changed? || end_time_changed?
|
69
|
-
|
70
|
-
self.duration = DurationCalculator.in_minutes(start_time, end_time)
|
71
|
-
end
|
72
75
|
end
|
73
76
|
end
|
74
77
|
end
|
@@ -6,9 +6,15 @@ module Renalware
|
|
6
6
|
module UKRDC
|
7
7
|
class BatchNumber < ApplicationRecord
|
8
8
|
def self.next
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
create!
|
10
|
+
end
|
11
|
+
|
12
|
+
def number
|
13
|
+
id.to_s.rjust(6, "0")
|
14
|
+
end
|
15
|
+
|
16
|
+
def to_s
|
17
|
+
number
|
12
18
|
end
|
13
19
|
end
|
14
20
|
end
|
@@ -29,22 +29,27 @@ module Renalware
|
|
29
29
|
@logger = logger || Rails.logger
|
30
30
|
@request_uuid = SecureRandom.uuid # helps group logs together
|
31
31
|
@timestamp = Time.zone.now.strftime("%Y%m%d%H%M%S%L")
|
32
|
-
|
32
|
+
|
33
33
|
@summary = ExportSummary.new
|
34
34
|
end
|
35
35
|
|
36
36
|
def call
|
37
37
|
logger.tagged(request_uuid) do
|
38
38
|
# Skipping transaction for now as worried about the quantity of rows and data invovled.
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
39
|
+
ActiveRecord::Base.transaction do
|
40
|
+
@batch_number = BatchNumber.next.number
|
41
|
+
@paths = Paths.new(
|
42
|
+
timestamp: timestamp,
|
43
|
+
batch_number: batch_number,
|
44
|
+
working_path: config.ukrdc_working_path
|
45
|
+
)
|
46
|
+
summary.milliseconds_taken = Benchmark.ms do
|
47
|
+
create_patient_xml_files
|
48
|
+
encrypt_patient_xml_files
|
49
|
+
copy_encrypted_xml_files_into_the_outgoing_folder
|
50
|
+
end
|
46
51
|
end
|
47
|
-
|
52
|
+
paths.create_symlink_to_latest_timestamped_folder_so_it_is_easier_to_eyeball
|
48
53
|
build_summary
|
49
54
|
print_summary
|
50
55
|
email_summary
|
@@ -20,7 +20,7 @@ module Renalware
|
|
20
20
|
def call
|
21
21
|
update_patient_to_indicated_we_checked_them_for_any_relevant_changes
|
22
22
|
UKRDC::TransmissionLog.with_logging(patient, request_uuid) do |log|
|
23
|
-
logger.info " Patient #{patient.
|
23
|
+
logger.info " Patient #{patient.ukrdc_external_id}"
|
24
24
|
xml_payload = build_payload(log)
|
25
25
|
if xml_payload_same_as_last_sent_payload?(xml_payload)
|
26
26
|
logger.info " skipping as no change in XML file"
|
@@ -98,19 +98,10 @@ module Renalware
|
|
98
98
|
end
|
99
99
|
|
100
100
|
def xml_filepath
|
101
|
+
xml_filename = Filename.new(patient: patient, batch_number: batch_number).to_s
|
101
102
|
File.join(dir, xml_filename)
|
102
103
|
end
|
103
104
|
|
104
|
-
def xml_filename
|
105
|
-
patient_identifier = patient.nhs_number || patient.local_patient_id
|
106
|
-
if patient_identifier.blank?
|
107
|
-
raise(ArgumentError, "Patient has no NHS number or local patient id")
|
108
|
-
end
|
109
|
-
|
110
|
-
site_code = Renalware.config.ukrdc_site_code # e.g. RJZ
|
111
|
-
"#{site_code}_#{batch_number}_#{patient_identifier.upcase}.xml"
|
112
|
-
end
|
113
|
-
|
114
105
|
class Payload
|
115
106
|
pattr_initialize :payload
|
116
107
|
delegate :to_s, to: :payload
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_dependency "renalware/ukrdc"
|
4
|
+
|
5
|
+
module Renalware
|
6
|
+
module UKRDC
|
7
|
+
# Formats a UKRDC patient XML filename
|
8
|
+
class Filename
|
9
|
+
pattr_initialize [:patient!, :batch_number!]
|
10
|
+
|
11
|
+
def to_s
|
12
|
+
"#{site_code}_#{batch_number}_#{sanitized_patient_identifier}.xml"
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def sanitized_patient_identifier
|
18
|
+
patient_identifier.strip.upcase
|
19
|
+
end
|
20
|
+
|
21
|
+
def site_code
|
22
|
+
Renalware.config.ukrdc_site_code # e.g. RJZ
|
23
|
+
end
|
24
|
+
|
25
|
+
# For an patient identifer to put in the filename (to make it easierto look up the patient)
|
26
|
+
# choose the NHS Number is there is one, falling back to local_patient_id(2,3,4) then
|
27
|
+
# ukrdc_external_id - the latter at least is guaranteed to be present.
|
28
|
+
def patient_identifier
|
29
|
+
return patient.nhs_number if patient.nhs_number.present?
|
30
|
+
|
31
|
+
patient.hospital_identifier&.id || patient.ukrdc_external_id
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -5,12 +5,13 @@ require_dependency "renalware/ukrdc"
|
|
5
5
|
module Renalware
|
6
6
|
module UKRDC
|
7
7
|
class Paths
|
8
|
-
attr_reader :timestamp, :working_path
|
8
|
+
attr_reader :timestamp, :batch_number, :working_path
|
9
9
|
|
10
|
-
def initialize(timestamp: nil, working_path:)
|
10
|
+
def initialize(timestamp: nil, batch_number:, working_path:)
|
11
11
|
raise(ArgumentError, "Invalid working_path") if working_path.blank?
|
12
12
|
|
13
13
|
@timestamp = timestamp
|
14
|
+
@batch_number = batch_number
|
14
15
|
@timestamp ||= Time.zone.now.strftime("%Y%m%d%H%M%S%L")
|
15
16
|
@working_path = Pathname(working_path)
|
16
17
|
create_folders
|
@@ -30,7 +31,7 @@ module Renalware
|
|
30
31
|
end
|
31
32
|
|
32
33
|
def timestamped_folder
|
33
|
-
@timestamped_folder ||= archive_folder.join(timestamp)
|
34
|
+
@timestamped_folder ||= archive_folder.join("#{batch_number}_#{timestamp}")
|
34
35
|
end
|
35
36
|
|
36
37
|
def timestamped_xml_folder
|
@@ -10,7 +10,7 @@ module Renalware
|
|
10
10
|
|
11
11
|
def profiles
|
12
12
|
@profiles ||= CollectionPresenter.new(
|
13
|
-
patient.profiles.past_and_future.ordered,
|
13
|
+
patient.profiles.past_and_future.ordered.includes(:type),
|
14
14
|
ProfilePresenter
|
15
15
|
)
|
16
16
|
end
|
@@ -24,14 +24,14 @@ module Renalware
|
|
24
24
|
|
25
25
|
def procedures
|
26
26
|
@procedures ||= CollectionPresenter.new(
|
27
|
-
patient.procedures.ordered,
|
27
|
+
patient.procedures.ordered.includes(:type),
|
28
28
|
ProcedurePresenter
|
29
29
|
)
|
30
30
|
end
|
31
31
|
|
32
32
|
def assessments
|
33
33
|
@assessments ||= CollectionPresenter.new(
|
34
|
-
patient.assessments.ordered,
|
34
|
+
patient.assessments.ordered.includes(:type),
|
35
35
|
AssessmentPresenter
|
36
36
|
)
|
37
37
|
end
|
@@ -47,7 +47,7 @@ module Renalware
|
|
47
47
|
|
48
48
|
def sessions
|
49
49
|
@sessions ||= begin
|
50
|
-
hd_sessions = Session.includes(:hospital_unit, :patient)
|
50
|
+
hd_sessions = Session.includes(:hospital_unit, :patient, :signed_on_by, :signed_off_by)
|
51
51
|
.for_patient(patient)
|
52
52
|
.limit(10).ordered
|
53
53
|
CollectionPresenter.new(hd_sessions, SessionPresenter, view_context)
|
@@ -69,7 +69,10 @@ module Renalware
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def schedule_definitions
|
72
|
-
ScheduleDefinition
|
72
|
+
ScheduleDefinition
|
73
|
+
.includes(:diurnal_period)
|
74
|
+
.ordered
|
75
|
+
.map{ |definition| [definition.to_s, definition.id] }
|
73
76
|
end
|
74
77
|
|
75
78
|
def last_update
|
@@ -8,6 +8,7 @@ module Renalware
|
|
8
8
|
:observations_before,
|
9
9
|
:observations_after,
|
10
10
|
:dialysis,
|
11
|
+
:complications,
|
11
12
|
to: :document, allow_nil: true
|
12
13
|
delegate :access_type,
|
13
14
|
:access_type_abbreviation,
|
@@ -27,6 +28,11 @@ module Renalware
|
|
27
28
|
:renal_registry_code,
|
28
29
|
to: :hospital_unit,
|
29
30
|
prefix: true, allow_nil: true
|
31
|
+
delegate :username, :to_s, to: :updated_by, prefix: true, allow_nil: true
|
32
|
+
delegate :sodium_content, to: :dialysate, allow_nil: true
|
33
|
+
delegate :had_intradialytic_hypotension,
|
34
|
+
to: :complications,
|
35
|
+
allow_nil: true
|
30
36
|
delegate :class, to: :__getobj__
|
31
37
|
|
32
38
|
def initialize(session, view_context = nil)
|
@@ -35,6 +41,10 @@ module Renalware
|
|
35
41
|
super(session)
|
36
42
|
end
|
37
43
|
|
44
|
+
def had_intradialytic_hypotension?
|
45
|
+
had_intradialytic_hypotension&.yes? ? "Y" : "N"
|
46
|
+
end
|
47
|
+
|
38
48
|
def state
|
39
49
|
self.class.to_s.demodulize.downcase
|
40
50
|
end
|
@@ -45,6 +55,10 @@ module Renalware
|
|
45
55
|
view_context.link_to(text, url)
|
46
56
|
end
|
47
57
|
|
58
|
+
def performed_on_date
|
59
|
+
__getobj__.performed_on
|
60
|
+
end
|
61
|
+
|
48
62
|
def start_time
|
49
63
|
::I18n.l(super, format: :time)
|
50
64
|
end
|
@@ -53,10 +67,16 @@ module Renalware
|
|
53
67
|
::I18n.l(super, format: :time)
|
54
68
|
end
|
55
69
|
|
70
|
+
# Returns duration as e.g. "02:01"
|
56
71
|
def duration
|
57
72
|
super && ::Renalware::Duration.from_minutes(super)
|
58
73
|
end
|
59
74
|
|
75
|
+
# Returns duration as e.g. 121 (minutes)
|
76
|
+
def duration_in_minutes
|
77
|
+
__getobj__.duration
|
78
|
+
end
|
79
|
+
|
60
80
|
def before_measurement_for(measurement)
|
61
81
|
observations_before.try(measurement.to_sym)
|
62
82
|
end
|
@@ -87,7 +107,7 @@ module Renalware
|
|
87
107
|
end
|
88
108
|
|
89
109
|
def truncated_notes
|
90
|
-
return
|
110
|
+
return if notes.blank?
|
91
111
|
|
92
112
|
notes.truncate(100, omission: "…").html_safe
|
93
113
|
end
|
@@ -1,6 +1,5 @@
|
|
1
1
|
ruby:
|
2
2
|
patient = request.patient
|
3
|
-
unit = Renalware::Hospitals::Unit.find_by(id: request.hospital_unit_id)
|
4
3
|
editing_history = "Created #{l(request.created_at)} by #{request.created_by}\n"\
|
5
4
|
"Updated #{l(request.updated_at)} by #{request.updated_by}"
|
6
5
|
= content_tag_for(:tr,
|
@@ -13,7 +12,7 @@ ruby:
|
|
13
12
|
td= default_patient_link(patient)
|
14
13
|
td= patient.nhs_number
|
15
14
|
td= patient.hospital_identifiers
|
16
|
-
td=
|
15
|
+
td= request.hospital_unit&.name
|
17
16
|
td.col-width-medium-with-ellipsis(title=request.notes)
|
18
17
|
= request.notes
|
19
18
|
td(title=editing_history)= l(request.created_at)
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
xml = builder
|
3
|
+
# xml = builder
|
4
4
|
|
5
|
-
xml.Encounters do
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
end
|
5
|
+
# xml.Encounters do
|
6
|
+
# patient.finished_hd_sessions.each do |session|
|
7
|
+
# render "renalware/api/ukrdc/patients/encounters/hd_session",
|
8
|
+
# builder: xml,
|
9
|
+
# patient: patient,
|
10
|
+
# session: Renalware::HD::SessionPresenter.new(session)
|
11
|
+
# end
|
12
|
+
# end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
xml = builder
|
4
|
+
|
5
|
+
xml.Procedures do
|
6
|
+
patient.finished_hd_sessions.each do |session|
|
7
|
+
render "renalware/api/ukrdc/patients/procedures/dialysis_session",
|
8
|
+
builder: xml,
|
9
|
+
patient: patient,
|
10
|
+
session: Renalware::HD::SessionPresenter.new(session)
|
11
|
+
end
|
12
|
+
# patient.prescriptions.each do |prescription|
|
13
|
+
# xml.Medication do
|
14
|
+
# xml.FromTime prescription.prescribed_on.to_datetime
|
15
|
+
# if prescription.terminated_or_marked_for_termination?
|
16
|
+
# xml.ToTime prescription.terminated_on&.to_datetime
|
17
|
+
# end
|
18
|
+
# xml.Route do
|
19
|
+
# xml.CodingStandard "RR22"
|
20
|
+
# xml.Code prescription.medication_route&.rr_code
|
21
|
+
# xml.Description prescription.medication_route&.name
|
22
|
+
# end
|
23
|
+
# xml.DrugProduct do
|
24
|
+
# xml.Generic prescription.drug
|
25
|
+
# # xml.Id do
|
26
|
+
# # xml.CodingStandard "DM+D"
|
27
|
+
# # xml.Code "dm + d code for the drug - coming soon"
|
28
|
+
# # xml.Description prescription.drug
|
29
|
+
# # end
|
30
|
+
# end
|
31
|
+
# xml.Frequency prescription.frequency
|
32
|
+
# xml.Comments prescription.notes
|
33
|
+
# # xml.DoseUoM
|
34
|
+
# # xml.Indication
|
35
|
+
# end
|
36
|
+
# end
|
37
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
xml = builder
|
4
|
+
|
5
|
+
xml.DialysisSession(
|
6
|
+
start: session.performed_on_date,
|
7
|
+
stop: session.performed_on_date
|
8
|
+
) do
|
9
|
+
|
10
|
+
xml.ProcedureType do
|
11
|
+
xml.CodingStandard "SNOMED"
|
12
|
+
xml.Code "19647005"
|
13
|
+
xml.Description "Plasma Exchange"
|
14
|
+
end
|
15
|
+
|
16
|
+
xml.Clinician do
|
17
|
+
xml.Description session.updated_by
|
18
|
+
end
|
19
|
+
|
20
|
+
xml.ProcedureTime session.start_datetime.to_datetime
|
21
|
+
|
22
|
+
xml.EnteredBy do
|
23
|
+
xml.CodingStandard "LOCAL"
|
24
|
+
xml.Code session.updated_by_username
|
25
|
+
xml.Description session.updated_by
|
26
|
+
end
|
27
|
+
|
28
|
+
xml.EnteredAt do
|
29
|
+
xml.Code session.hospital_unit_renal_registry_code
|
30
|
+
end
|
31
|
+
|
32
|
+
xml.ExternalId session.uuid
|
33
|
+
xml.Attributes do
|
34
|
+
xml.QHD19 session.had_intradialytic_hypotension?
|
35
|
+
xml.QHD20 session.access_type
|
36
|
+
xml.QHD21 session.access_side
|
37
|
+
xml.QHD22 "N" # Access in two sites simultaneously
|
38
|
+
xml.QHD30 session.blood_flow
|
39
|
+
xml.QHD31 session.duration_in_minutes # Time Dialysed in Minutes
|
40
|
+
xml.QHD32 session.sodium_content # Sodium in Dialysate
|
41
|
+
xml.QHD33 # Needling Method
|
42
|
+
end
|
43
|
+
end
|
@@ -21,6 +21,7 @@ xml.ukrdc(:PatientRecord, namespace_and_schema) do
|
|
21
21
|
render "allergies", builder: xml, patient: patient
|
22
22
|
render "diagnoses", builder: xml, patient: patient
|
23
23
|
render "medications", builder: xml, patient: patient
|
24
|
+
render "procedures", builder: xml, patient: patient
|
24
25
|
render "documents", builder: xml, patient: patient
|
25
26
|
render "encounters", builder: xml, patient: patient
|
26
27
|
render "program_memberships", builder: xml, patient: patient
|
data/lib/gpg_encrypt_folder.rb
CHANGED
@@ -40,13 +40,13 @@ class GpgEncryptFile
|
|
40
40
|
err = Open3.popen3(gpg_command) do |_stdin, _stdout, stderr|
|
41
41
|
stderr.read
|
42
42
|
end
|
43
|
-
raise "Error encrypting UKRDC files: #{err}" unless err.empty?
|
43
|
+
raise "Error encrypting UKRDC files: #{err}, #{gpg_command}" unless err.empty?
|
44
44
|
end
|
45
45
|
|
46
46
|
private
|
47
47
|
|
48
48
|
def gpg_command
|
49
|
-
GpgCommand.new(file: file, options: options).to_s
|
49
|
+
@gpg_command ||= GpgCommand.new(file: file, options: options).to_s
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
@@ -56,8 +56,8 @@ class GpgCommand
|
|
56
56
|
def to_s
|
57
57
|
"gpg --armor --no-default-keyring --trust-model always "\
|
58
58
|
"#{keyring} #{homedir} #{recipient} "\
|
59
|
-
"-o #{encrypted_filename} "\
|
60
|
-
"--encrypt #{file}"
|
59
|
+
"-o \"#{encrypted_filename}\" "\
|
60
|
+
"--encrypt \"#{file}\""
|
61
61
|
end
|
62
62
|
|
63
63
|
def recipient
|
data/lib/renalware/version.rb
CHANGED
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.56
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Airslie
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_type
|
@@ -1763,6 +1763,7 @@ files:
|
|
1763
1763
|
- app/models/renalware/ukrdc/create_encrypted_patient_xml_files.rb
|
1764
1764
|
- app/models/renalware/ukrdc/create_patient_xml_file.rb
|
1765
1765
|
- app/models/renalware/ukrdc/export_summary.rb
|
1766
|
+
- app/models/renalware/ukrdc/filename.rb
|
1766
1767
|
- app/models/renalware/ukrdc/paths.rb
|
1767
1768
|
- app/models/renalware/ukrdc/patients_query.rb
|
1768
1769
|
- app/models/renalware/ukrdc/transmission_log.rb
|
@@ -2043,6 +2044,7 @@ files:
|
|
2043
2044
|
- app/views/renalware/api/ukrdc/patients/_name.xml.builder
|
2044
2045
|
- app/views/renalware/api/ukrdc/patients/_observations.xml.builder
|
2045
2046
|
- app/views/renalware/api/ukrdc/patients/_patient.xml.builder
|
2047
|
+
- app/views/renalware/api/ukrdc/patients/_procedures.xml.builder
|
2046
2048
|
- app/views/renalware/api/ukrdc/patients/_program_memberships.xml.builder
|
2047
2049
|
- app/views/renalware/api/ukrdc/patients/_sending_facility.xml.builder
|
2048
2050
|
- app/views/renalware/api/ukrdc/patients/_social_histories.xml.builder
|
@@ -2054,6 +2056,7 @@ files:
|
|
2054
2056
|
- app/views/renalware/api/ukrdc/patients/observations/_blood_pressure.xml.builder
|
2055
2057
|
- app/views/renalware/api/ukrdc/patients/observations/_standing_blood_pressure.xml.builder
|
2056
2058
|
- app/views/renalware/api/ukrdc/patients/observations/_weight.xml.builder
|
2059
|
+
- app/views/renalware/api/ukrdc/patients/procedures/_dialysis_session.xml.builder
|
2057
2060
|
- app/views/renalware/api/ukrdc/patients/show.xml.builder
|
2058
2061
|
- app/views/renalware/api/v1/medications/prescriptions/index.json.jbuilder
|
2059
2062
|
- app/views/renalware/api/v1/patients/patients/index.json.jbuilder
|