renalware-core 2.0.55 → 2.0.56

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.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/renalware/admissions/requests_controller.rb +5 -1
  3. data/app/controllers/renalware/hd/sessions_controller.rb +5 -1
  4. data/app/controllers/renalware/problems/problems_controller.rb +2 -2
  5. data/app/models/concerns/renalware/feeds/job.rb +1 -1
  6. data/app/models/renalware/admissions/consult_query.rb +1 -0
  7. data/app/models/renalware/admissions/request.rb +1 -0
  8. data/app/models/renalware/hd/session.rb +9 -6
  9. data/app/models/renalware/ukrdc/batch_number.rb +9 -3
  10. data/app/models/renalware/ukrdc/create_encrypted_patient_xml_files.rb +14 -9
  11. data/app/models/renalware/ukrdc/create_patient_xml_file.rb +2 -11
  12. data/app/models/renalware/ukrdc/filename.rb +35 -0
  13. data/app/models/renalware/ukrdc/paths.rb +4 -3
  14. data/app/presenters/renalware/accesses/dashboard_presenter.rb +3 -3
  15. data/app/presenters/renalware/hd/dashboard_presenter.rb +1 -1
  16. data/app/presenters/renalware/hd/profile_presenter.rb +4 -1
  17. data/app/presenters/renalware/hd/session_presenter.rb +21 -1
  18. data/app/presenters/renalware/letters/letter_presenter.rb +1 -1
  19. data/app/views/renalware/admissions/requests/_request.html.slim +1 -2
  20. data/app/views/renalware/api/ukrdc/patients/_encounters.xml.builder +9 -9
  21. data/app/views/renalware/api/ukrdc/patients/_procedures.xml.builder +37 -0
  22. data/app/views/renalware/api/ukrdc/patients/procedures/_dialysis_session.xml.builder +43 -0
  23. data/app/views/renalware/api/ukrdc/patients/show.xml.builder +1 -0
  24. data/lib/gpg_encrypt_folder.rb +4 -4
  25. data/lib/renalware/version.rb +1 -1
  26. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 894fbb8d8d83ab547c7a25dec9e6d41eca0a9f9181bd55aef8ece1c65bc26523
4
- data.tar.gz: 468716265e6688e6d1e66fa3c6d606948531853285cacb9a1249914c02d6cb21
3
+ metadata.gz: b43e0abe941399d01e0ad556cd252275bee56352a1f93c36539047e23d494596
4
+ data.tar.gz: c01f1fb595e6349a0fe2cec92b9e1ece2051e46c3198bf4535206413a891dd4b
5
5
  SHA512:
6
- metadata.gz: 2c62a3d4fba4c48455a0882e1b7a3d4353b08a0c557858af1bc27f73387f63a24471d15b0915bf2246836b87b3d3f5478a37e8dc3b427d312ea56ef9a7e09cbc
7
- data.tar.gz: 34a24963e66f3d60d6776e63b4233b4ebd36eff7a35ac384f5640442e07e2f32841204503329eb1e8b51e5ca9c1b479b4ec3d7bd94489e88a0b4248c2a942a5e
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.ordered.all.page(page).per(per_page)
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.call.includes(:hospital_unit, :patient).page(page).per(per_page || 15)
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.with_created_by.ordered,
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.select{ |f| f.basename.to_s.match(pattern) }.first
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)
@@ -33,6 +33,7 @@ module Renalware
33
33
  .includes(
34
34
  :consult_site,
35
35
  :hospital_ward,
36
+ :created_by,
36
37
  patient: { current_modality: :description }
37
38
  )
38
39
  .order(created_at: :desc)
@@ -11,6 +11,7 @@ module Renalware
11
11
  acts_as_paranoid
12
12
 
13
13
  belongs_to :patient, touch: true
14
+ belongs_to :hospital_unit, class_name: "Hospitals::Unit"
14
15
  belongs_to :reason, class_name: "RequestReason"
15
16
 
16
17
  validates :patient_id, presence: true, uniqueness: true
@@ -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
- new_batcher_number = new
10
- new_batcher_number.save!
11
- new_batcher_number.id.to_s.rjust(6, "0")
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
- @paths = Paths.new(timestamp: @timestamp, working_path: config.ukrdc_working_path)
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
- # ActiveRecord::Base.transaction do
40
- @batch_number = BatchNumber.next
41
- summary.milliseconds_taken = Benchmark.ms do
42
- create_patient_xml_files
43
- encrypt_patient_xml_files
44
- copy_encrypted_xml_files_into_the_outgoing_folder
45
- paths.create_symlink_to_latest_timestamped_folder_so_it_is_easier_to_eyeball
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
- # end
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.to_param}"
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.ordered.map{ |definition| [definition.to_s, definition.id] }
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 unless notes
110
+ return if notes.blank?
91
111
 
92
112
  notes.truncate(100, omission: "&hellip;").html_safe
93
113
  end
@@ -85,7 +85,7 @@ module Renalware
85
85
  end
86
86
 
87
87
  def title
88
- "TBC"
88
+ pdf_stateless_filename
89
89
  end
90
90
 
91
91
  def pdf_filename
@@ -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= unit&.name
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
- 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
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
@@ -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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Renalware
4
- VERSION = "2.0.55"
4
+ VERSION = "2.0.56"
5
5
  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.55
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-26 00:00:00.000000000 Z
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