renalware-core 2.0.0.pre.rc6 → 2.0.0.pre.rc7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +0 -1
- data/app/controllers/renalware/events/investigations_controller.rb +10 -0
- data/app/controllers/renalware/transplants/donor_dashboards_controller.rb +1 -7
- data/app/controllers/renalware/transplants/recipient_dashboards_controller.rb +1 -21
- data/app/models/renalware/events/investigation.rb +31 -0
- data/app/models/renalware/feeds/hl7_message.rb +29 -34
- data/app/models/renalware/feeds/message_parser.rb +2 -1
- data/app/models/renalware/pathology/create_observation_requests.rb +25 -0
- data/app/models/renalware/pathology/message_listener.rb +7 -5
- data/app/models/renalware/pathology/{message_param_parser.rb → observation_requests_attributes_builder.rb} +31 -27
- data/app/models/renalware/patients/practice_search_query.rb +1 -1
- data/app/policies/renalware/events/investigation_policy.rb +8 -0
- data/app/presenters/renalware/pathology/observation_presenter.rb +1 -1
- data/app/presenters/renalware/transplants/consent_presenter.rb +1 -1
- data/app/presenters/renalware/transplants/donor_dashboard_presenter.rb +35 -0
- data/app/presenters/renalware/transplants/mdm_presenter.rb +2 -0
- data/app/presenters/renalware/transplants/patient_presenter.rb +2 -0
- data/app/presenters/renalware/transplants/recipient_dashboard_presenter.rb +39 -0
- data/app/presenters/renalware/transplants/wait_list_registration_presenter.rb +2 -0
- data/app/views/renalware/api/ukrdc/patients/_documents.xml.builder +12 -9
- data/app/views/renalware/api/ukrdc/patients/_sending_facility.xml.builder +4 -4
- data/app/views/renalware/api/ukrdc/patients/lab_orders/_lab_order.xml.builder +1 -1
- data/app/views/renalware/api/ukrdc/patients/lab_orders/_result_item.xml.builder +1 -1
- data/app/views/renalware/api/ukrdc/patients/show.xml.builder +1 -5
- data/app/views/renalware/events/events/_event.html.slim +7 -1
- data/app/views/renalware/events/events/_table.html.slim +2 -1
- data/app/views/renalware/events/events/cell/_investigation.html.slim +9 -0
- data/app/views/renalware/events/events/inputs/_investigation.html.slim +4 -0
- data/app/views/renalware/events/events/toggled_cell/_investigation.html.slim +11 -0
- data/app/views/renalware/events/investigations/_list.html.slim +12 -0
- data/app/views/renalware/events/investigations/edit.html.slim +13 -0
- data/app/views/renalware/transplants/donor_dashboards/show.html.slim +27 -20
- data/app/views/renalware/transplants/recipient_dashboards/_page_actions.html.slim +4 -0
- data/app/views/renalware/transplants/recipient_dashboards/show.html.slim +22 -17
- data/config/locales/renalware/events/investigation.en.yml +58 -0
- data/config/locales/renalware/transplants/donor_dashboard.en.yml +1 -0
- data/config/locales/renalware/transplants/recipient_dashboards.en.yml +1 -0
- data/config/routes.rb +5 -0
- data/db/migrate/20180119121243_create_trigger_to_preprocess_hl7_msg.rb +5 -3
- data/db/migrate/20180125201356_make_obs_set_trigger_change_updated_at.rb +191 -0
- data/db/migrate/20180126142314_add_uuid_to_letters.rb +6 -0
- data/db/seeds/default/events/event_types.csv +1 -0
- data/lib/renalware/configuration.rb +1 -0
- data/lib/renalware/version.rb +1 -1
- data/lib/test_support/text_editor_helpers.rb +6 -0
- data/spec/factories/events/events.rb +24 -1
- data/spec/factories/events/events_types.rb +17 -2
- data/spec/support/database_functions_spec_helper.rb +6 -0
- metadata +18 -4
- data/app/models/renalware/pathology/create_observations.rb +0 -22
data/config/routes.rb
CHANGED
@@ -308,6 +308,11 @@ Renalware::Engine.routes.draw do
|
|
308
308
|
controller: "events/swabs",
|
309
309
|
defaults: { slug: :swabs }
|
310
310
|
|
311
|
+
resources :investigations,
|
312
|
+
only: [:new, :create, :edit, :update],
|
313
|
+
controller: "events/investigations",
|
314
|
+
defaults: { slug: :investigations }
|
315
|
+
|
311
316
|
# Here we could enable new event by any other slug
|
312
317
|
# eg patient_new_specific_event(slug: "transplant_biopsies")
|
313
318
|
# get "events/:slug/new",
|
@@ -1,6 +1,8 @@
|
|
1
1
|
class CreateTriggerToPreprocessHL7Msg < ActiveRecord::Migration[5.1]
|
2
2
|
def up
|
3
|
-
|
3
|
+
# Note that we need to use a quoted heredoc ('SQL') here in order to preserve our
|
4
|
+
# SQL escaping e.g. E'\\S\\' which would otherwise be interpreted by Ruby as E'\S\'
|
5
|
+
sql = <<-'SQL'
|
4
6
|
/* Create a function for the trigger to call */
|
5
7
|
CREATE FUNCTION preprocess_hl7_message() RETURNS trigger AS
|
6
8
|
$body$
|
@@ -17,11 +19,11 @@ class CreateTriggerToPreprocessHL7Msg < ActiveRecord::Migration[5.1]
|
|
17
19
|
To get around this we need to convert instances of \S\ with another escape sequence eg «
|
18
20
|
and manually map this back to a ^ in the job handler ruby code.
|
19
21
|
|
20
|
-
So here, if this delayed_job is
|
22
|
+
So here, if this delayed_job is destined to be picked up by a Feed job handler
|
21
23
|
make sure we convert the Mirth escape sequence \S\ to \\S\\
|
22
24
|
*/
|
23
25
|
IF position('Feed' in NEW.handler) > 0 THEN
|
24
|
-
NEW.handler = replace(NEW.handler, '
|
26
|
+
NEW.handler = replace(NEW.handler, E'\\S\\', E'\\\\S\\\\');
|
25
27
|
END IF;
|
26
28
|
|
27
29
|
RETURN NEW;
|
@@ -0,0 +1,191 @@
|
|
1
|
+
class MakeObsSetTriggerChangeUpdatedAt < ActiveRecord::Migration[5.1]
|
2
|
+
def up
|
3
|
+
sql = <<-SQL
|
4
|
+
CREATE OR REPLACE FUNCTION update_current_observation_set_from_trigger() RETURNS TRIGGER AS $body$
|
5
|
+
-- TC 14/12/2017
|
6
|
+
-- This function is called by a trigger when a row is inserted or updated in
|
7
|
+
-- pathology_observations. Its purpose is to keep current_observation_sets up to date
|
8
|
+
-- with the latest observations for any patient.
|
9
|
+
-- The current_observation_sets table maintains a jsonb hash into which we insert or replace
|
10
|
+
-- the observation, keyed by OBX code.
|
11
|
+
-- e.g. .. {"HGB": { "result": 123.1, "observed_at": '2017-12-12-01:01:01'}, ..
|
12
|
+
DECLARE
|
13
|
+
a_patient_id bigint;
|
14
|
+
a_code text;
|
15
|
+
current_observed_at timestamp;
|
16
|
+
current_result text;
|
17
|
+
new_observed_at timestamp;
|
18
|
+
BEGIN
|
19
|
+
RAISE NOTICE 'TRIGGER called on %',TG_TABLE_NAME ;
|
20
|
+
|
21
|
+
/*
|
22
|
+
If inserting or updating, we _could_ assume the last observation to be inserted is
|
23
|
+
the most 'recent' one (with the latest observed_at date).
|
24
|
+
However the order of incoming messages is not guaranteed, so we have two options:
|
25
|
+
1. Refresh the entire current_observation_set for the patient
|
26
|
+
2. Check the current observed_at date in the jsonb and only update if we have a more
|
27
|
+
recent one
|
28
|
+
We have gone for 2.
|
29
|
+
*/
|
30
|
+
|
31
|
+
IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN
|
32
|
+
|
33
|
+
-- Note we could re-generate the entire current pathology for the patient using
|
34
|
+
-- select refresh_current_observation_set(a_patient_id);
|
35
|
+
-- which is safer but uses more resources, so avoiding this for now.
|
36
|
+
|
37
|
+
-- Find and store patient_id into local variable
|
38
|
+
select request.patient_id into a_patient_id
|
39
|
+
from pathology_observation_requests request
|
40
|
+
where request.id = NEW.request_id;
|
41
|
+
|
42
|
+
-- Find and store the obx code into local variable
|
43
|
+
select description.code into a_code
|
44
|
+
from pathology_observation_descriptions description
|
45
|
+
where description.id = NEW.description_id;
|
46
|
+
|
47
|
+
-- Important! Create the observation_set if it doesn't exist yet
|
48
|
+
-- ignore the error if the row already exists
|
49
|
+
insert into pathology_current_observation_sets (patient_id)
|
50
|
+
values (a_patient_id)
|
51
|
+
ON CONFLICT DO NOTHING;
|
52
|
+
|
53
|
+
-- We are going to compare the current and new observed_at dates
|
54
|
+
-- so need to cast them to a timestamp
|
55
|
+
select cast(New.observed_at as timestamp) into new_observed_at;
|
56
|
+
|
57
|
+
-- Get the most recent date and value for this observation
|
58
|
+
-- and store to variables.
|
59
|
+
select
|
60
|
+
cast(values -> a_code ->> 'observed_at' as timestamp),
|
61
|
+
values -> a_code ->> 'result'
|
62
|
+
into current_observed_at, current_result from
|
63
|
+
pathology_current_observation_sets
|
64
|
+
where patient_id = a_patient_id;
|
65
|
+
|
66
|
+
-- Output some info to helps us debug. This can be removed later.
|
67
|
+
RAISE NOTICE ' Request id % Patient id % Code %', NEW.request_id, a_patient_id, a_code;
|
68
|
+
RAISE NOTICE ' Last %: % at %', a_code, current_result, current_observed_at;
|
69
|
+
RAISE NOTICE ' New %: % at %', a_code, NEW.result, new_observed_at;
|
70
|
+
|
71
|
+
IF current_observed_at IS NULL OR new_observed_at >= current_observed_at THEN
|
72
|
+
-- The new pathology_observation row contain a more recent result that the old one.
|
73
|
+
-- (note there may not be an old one if the patient has neve had this obs before).
|
74
|
+
|
75
|
+
RAISE NOTICE ' Updating pathology_current_observation_sets..';
|
76
|
+
|
77
|
+
-- Update the values jsonb column with the new hash for this code, e.g.
|
78
|
+
-- .. {"HGB": { "result": 123.1, "observed_at": '2017-12-12-01:01:01'}, ..
|
79
|
+
-- Note the `set values` below actually reads in the jsonb, updates it,
|
80
|
+
-- and wites the whole thing back.
|
81
|
+
update pathology_current_observation_sets
|
82
|
+
set updated_at = CURRENT_TIMESTAMP,
|
83
|
+
values = jsonb_set(
|
84
|
+
values,
|
85
|
+
('{'||a_code||'}')::text[], -- defined in the fn path::text[]
|
86
|
+
jsonb_build_object('result', NEW.result, 'observed_at', new_observed_at),
|
87
|
+
true)
|
88
|
+
where patient_id = a_patient_id;
|
89
|
+
END IF;
|
90
|
+
END IF;
|
91
|
+
RETURN NULL ;
|
92
|
+
END $body$ LANGUAGE plpgsql VOLATILE COST 100;
|
93
|
+
-- End function
|
94
|
+
SQL
|
95
|
+
ActiveRecord::Base.connection.execute(sql)
|
96
|
+
end
|
97
|
+
|
98
|
+
def down
|
99
|
+
sql = <<-SQL
|
100
|
+
CREATE OR REPLACE FUNCTION update_current_observation_set_from_trigger() RETURNS TRIGGER AS $body$
|
101
|
+
-- TC 14/12/2017
|
102
|
+
-- This function is called by a trigger when a row is inserted or updated in
|
103
|
+
-- pathology_observations. Its purpose is to keep current_observation_sets up to date
|
104
|
+
-- with the latest observations for any patient.
|
105
|
+
-- The current_observation_sets table maintains a jsonb hash into which we insert or replace
|
106
|
+
-- the observation, keyed by OBX code.
|
107
|
+
-- e.g. .. {"HGB": { "result": 123.1, "observed_at": '2017-12-12-01:01:01'}, ..
|
108
|
+
DECLARE
|
109
|
+
a_patient_id bigint;
|
110
|
+
a_code text;
|
111
|
+
current_observed_at timestamp;
|
112
|
+
current_result text;
|
113
|
+
new_observed_at timestamp;
|
114
|
+
BEGIN
|
115
|
+
RAISE NOTICE 'TRIGGER called on %',TG_TABLE_NAME ;
|
116
|
+
|
117
|
+
/*
|
118
|
+
If inserting or updating, we _could_ assume the last observation to be inserted is
|
119
|
+
the most 'recent' one (with the latest observed_at date).
|
120
|
+
However the order of incoming messages is not guaranteed, so we have two options:
|
121
|
+
1. Refresh the entire current_observation_set for the patient
|
122
|
+
2. Check the current observed_at date in the jsonb and only update if we have a more
|
123
|
+
recent one
|
124
|
+
We have gone for 2.
|
125
|
+
*/
|
126
|
+
|
127
|
+
IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN
|
128
|
+
|
129
|
+
-- Note we could re-generate the entire current pathology for the patient using
|
130
|
+
-- select refresh_current_observation_set(a_patient_id);
|
131
|
+
-- which is safer but uses more resources, so avoiding this for now.
|
132
|
+
|
133
|
+
-- Find and store patient_id into local variable
|
134
|
+
select request.patient_id into a_patient_id
|
135
|
+
from pathology_observation_requests request
|
136
|
+
where request.id = NEW.request_id;
|
137
|
+
|
138
|
+
-- Find and store the obx code into local variable
|
139
|
+
select description.code into a_code
|
140
|
+
from pathology_observation_descriptions description
|
141
|
+
where description.id = NEW.description_id;
|
142
|
+
|
143
|
+
-- Important! Create the observation_set if it doesn exist yet
|
144
|
+
-- ignore the error id the row already exists
|
145
|
+
insert into pathology_current_observation_sets (patient_id)
|
146
|
+
values (a_patient_id)
|
147
|
+
ON CONFLICT DO NOTHING;
|
148
|
+
|
149
|
+
-- We are going to compare the current and new observed_at dates
|
150
|
+
-- so need to cast them to a timestamp
|
151
|
+
select cast(New.observed_at as timestamp) into new_observed_at;
|
152
|
+
|
153
|
+
-- Get the most recent date and value for this observation
|
154
|
+
-- and store to variables.
|
155
|
+
select
|
156
|
+
cast(values -> a_code ->> 'observed_at' as timestamp),
|
157
|
+
values -> a_code ->> 'result'
|
158
|
+
into current_observed_at, current_result from
|
159
|
+
pathology_current_observation_sets
|
160
|
+
where patient_id = a_patient_id;
|
161
|
+
|
162
|
+
-- Output some info to helps us debug. This can be removed later.
|
163
|
+
RAISE NOTICE ' Request id % Patient id % Code %', NEW.request_id, a_patient_id, a_code;
|
164
|
+
RAISE NOTICE ' Last %: % at %', a_code, current_result, current_observed_at;
|
165
|
+
RAISE NOTICE ' New %: % at %', a_code, NEW.result, new_observed_at;
|
166
|
+
|
167
|
+
IF current_observed_at IS NULL OR new_observed_at >= current_observed_at THEN
|
168
|
+
-- The new pathology_observation row contain a more recent result that the old one.
|
169
|
+
-- (note there may not be an old one if the patient has neve had this obs before).
|
170
|
+
|
171
|
+
RAISE NOTICE ' Updating pathology_current_observation_sets..';
|
172
|
+
|
173
|
+
-- Update the values jsonb column with the new hash for this code, e.g.
|
174
|
+
-- .. {"HGB": { "result": 123.1, "observed_at": '2017-12-12-01:01:01'}, ..
|
175
|
+
-- Note the `set values` below actually reads in the jsonb, updates it,
|
176
|
+
-- and wites the whole thing back.
|
177
|
+
update pathology_current_observation_sets
|
178
|
+
set values = jsonb_set(
|
179
|
+
values,
|
180
|
+
('{'||a_code||'}')::text[], -- defined in the fn path::text[]
|
181
|
+
jsonb_build_object('result', NEW.result, 'observed_at', new_observed_at),
|
182
|
+
true)
|
183
|
+
where patient_id = a_patient_id;
|
184
|
+
END IF;
|
185
|
+
END IF;
|
186
|
+
RETURN NULL ;
|
187
|
+
END $body$ LANGUAGE plpgsql VOLATILE COST 100;
|
188
|
+
SQL
|
189
|
+
ActiveRecord::Base.connection.execute(sql)
|
190
|
+
end
|
191
|
+
end
|
data/lib/renalware/version.rb
CHANGED
@@ -3,4 +3,10 @@ module TextEditorHelpers
|
|
3
3
|
def fill_in_trix_editor(id, value)
|
4
4
|
find(:xpath, "//*[@id='#{id}']", visible: false).set(value)
|
5
5
|
end
|
6
|
+
|
7
|
+
# A simplified version of the helper, requires JavaScript, and will end up
|
8
|
+
# having <div>value</div> in the trix-saved content, but that is normal
|
9
|
+
def fill_trix_editor(with:)
|
10
|
+
find("trix-editor").click.set(with)
|
11
|
+
end
|
6
12
|
end
|
@@ -2,7 +2,7 @@ FactoryBot.define do
|
|
2
2
|
factory :event, class: "Renalware::Events::Event" do
|
3
3
|
accountable
|
4
4
|
patient
|
5
|
-
event_type factory: :
|
5
|
+
event_type factory: :access_clinic_event_type
|
6
6
|
date_time { Time.zone.now }
|
7
7
|
description "Needs blood sample taken."
|
8
8
|
notes "Would like son to accompany them on clinic visit."
|
@@ -20,5 +20,28 @@ FactoryBot.define do
|
|
20
20
|
}
|
21
21
|
}
|
22
22
|
end
|
23
|
+
|
24
|
+
factory :investigation, class: "Renalware::Events::Investigation" do
|
25
|
+
event_type factory: :investigation_event_type
|
26
|
+
document {
|
27
|
+
{
|
28
|
+
modality: "other",
|
29
|
+
type: Renalware::Events::Investigation::Document.type.values.first,
|
30
|
+
result: "result"
|
31
|
+
}
|
32
|
+
}
|
33
|
+
|
34
|
+
trait :transplant_recipient do
|
35
|
+
before :create do |investigation|
|
36
|
+
investigation.document.modality = "transplant_recipient"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
trait :transplant_donor do
|
41
|
+
before :create do |investigation|
|
42
|
+
investigation.document.modality = "transplant_donor"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
23
46
|
end
|
24
47
|
end
|
@@ -1,6 +1,10 @@
|
|
1
1
|
FactoryBot.define do
|
2
|
-
factory :
|
3
|
-
name
|
2
|
+
factory :event_type, class: "Renalware::Events::Type" do
|
3
|
+
initialize_with { Renalware::Events::Type.find_or_create_by(name: name) }
|
4
|
+
|
5
|
+
factory :access_clinic_event_type do
|
6
|
+
name "Access--Clinic"
|
7
|
+
end
|
4
8
|
|
5
9
|
factory :swab_event_type do
|
6
10
|
name "Swab"
|
@@ -8,9 +12,20 @@ FactoryBot.define do
|
|
8
12
|
slug "swabs"
|
9
13
|
end
|
10
14
|
|
15
|
+
factory :biopsy_event_type do
|
16
|
+
name "Renal biopsy"
|
17
|
+
event_class_name "Renalware::Events::Biopsy"
|
18
|
+
end
|
19
|
+
|
11
20
|
factory :pd_line_change_event_type do
|
12
21
|
name "PD Line Change"
|
13
22
|
slug "pd_line_changes"
|
14
23
|
end
|
24
|
+
|
25
|
+
factory :investigation_event_type do
|
26
|
+
name "Investigation"
|
27
|
+
slug "investigations"
|
28
|
+
event_class_name "Renalware::Events::Investigation"
|
29
|
+
end
|
15
30
|
end
|
16
31
|
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.0.pre.
|
4
|
+
version: 2.0.0.pre.rc7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Airslie
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-01-
|
11
|
+
date: 2018-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -1037,6 +1037,7 @@ files:
|
|
1037
1037
|
- app/controllers/renalware/directory/people_controller.rb
|
1038
1038
|
- app/controllers/renalware/drugs/drugs_controller.rb
|
1039
1039
|
- app/controllers/renalware/events/events_controller.rb
|
1040
|
+
- app/controllers/renalware/events/investigations_controller.rb
|
1040
1041
|
- app/controllers/renalware/events/swabs_controller.rb
|
1041
1042
|
- app/controllers/renalware/events/types_controller.rb
|
1042
1043
|
- app/controllers/renalware/hd/base_controller.rb
|
@@ -1322,6 +1323,7 @@ files:
|
|
1322
1323
|
- app/models/renalware/events/biopsy.rb
|
1323
1324
|
- app/models/renalware/events/event.rb
|
1324
1325
|
- app/models/renalware/events/event_query.rb
|
1326
|
+
- app/models/renalware/events/investigation.rb
|
1325
1327
|
- app/models/renalware/events/line_change_event_query.rb
|
1326
1328
|
- app/models/renalware/events/patient_listener.rb
|
1327
1329
|
- app/models/renalware/events/simple.rb
|
@@ -1492,7 +1494,7 @@ files:
|
|
1492
1494
|
- app/models/renalware/pathology/all_observation_codes.rb
|
1493
1495
|
- app/models/renalware/pathology/clinic.rb
|
1494
1496
|
- app/models/renalware/pathology/consultant.rb
|
1495
|
-
- app/models/renalware/pathology/
|
1497
|
+
- app/models/renalware/pathology/create_observation_requests.rb
|
1496
1498
|
- app/models/renalware/pathology/current_key_observation_set.rb.dead
|
1497
1499
|
- app/models/renalware/pathology/current_observation.rb
|
1498
1500
|
- app/models/renalware/pathology/current_observation_set.rb
|
@@ -1501,7 +1503,6 @@ files:
|
|
1501
1503
|
- app/models/renalware/pathology/lab.rb
|
1502
1504
|
- app/models/renalware/pathology/measurement_unit.rb
|
1503
1505
|
- app/models/renalware/pathology/message_listener.rb
|
1504
|
-
- app/models/renalware/pathology/message_param_parser.rb
|
1505
1506
|
- app/models/renalware/pathology/observation.rb
|
1506
1507
|
- app/models/renalware/pathology/observation_date_range.rb
|
1507
1508
|
- app/models/renalware/pathology/observation_description.rb
|
@@ -1509,6 +1510,7 @@ files:
|
|
1509
1510
|
- app/models/renalware/pathology/observation_for_patient_observation_description_query.rb
|
1510
1511
|
- app/models/renalware/pathology/observation_for_patient_request_description_query.rb
|
1511
1512
|
- app/models/renalware/pathology/observation_request.rb
|
1513
|
+
- app/models/renalware/pathology/observation_requests_attributes_builder.rb
|
1512
1514
|
- app/models/renalware/pathology/observations_for_descriptions_query.rb
|
1513
1515
|
- app/models/renalware/pathology/observations_jsonb_serializer.rb
|
1514
1516
|
- app/models/renalware/pathology/observations_within_date_range_query.rb
|
@@ -1689,6 +1691,7 @@ files:
|
|
1689
1691
|
- app/policies/renalware/drugs/drug_policy.rb
|
1690
1692
|
- app/policies/renalware/events/biopsy_policy.rb
|
1691
1693
|
- app/policies/renalware/events/event_policy.rb
|
1694
|
+
- app/policies/renalware/events/investigation_policy.rb
|
1692
1695
|
- app/policies/renalware/events/simple_policy.rb
|
1693
1696
|
- app/policies/renalware/events/swab_policy.rb
|
1694
1697
|
- app/policies/renalware/feeds/file_policy.rb
|
@@ -1822,8 +1825,10 @@ files:
|
|
1822
1825
|
- app/presenters/renalware/system/users_presenter.rb
|
1823
1826
|
- app/presenters/renalware/time_of_day_presenter.rb
|
1824
1827
|
- app/presenters/renalware/transplants/consent_presenter.rb
|
1828
|
+
- app/presenters/renalware/transplants/donor_dashboard_presenter.rb
|
1825
1829
|
- app/presenters/renalware/transplants/mdm_presenter.rb
|
1826
1830
|
- app/presenters/renalware/transplants/patient_presenter.rb
|
1831
|
+
- app/presenters/renalware/transplants/recipient_dashboard_presenter.rb
|
1827
1832
|
- app/presenters/renalware/transplants/wait_list_registration_presenter.rb
|
1828
1833
|
- app/presenters/renalware/ukrdc/pathology_observation_presenter.rb
|
1829
1834
|
- app/presenters/renalware/ukrdc/patient_presenter.rb
|
@@ -2004,10 +2009,12 @@ files:
|
|
2004
2009
|
- app/views/renalware/events/events/_list.html.slim
|
2005
2010
|
- app/views/renalware/events/events/_table.html.slim
|
2006
2011
|
- app/views/renalware/events/events/cell/_biopsy.html.slim
|
2012
|
+
- app/views/renalware/events/events/cell/_investigation.html.slim
|
2007
2013
|
- app/views/renalware/events/events/cell/_simple.html.slim
|
2008
2014
|
- app/views/renalware/events/events/cell/_swab.html.slim
|
2009
2015
|
- app/views/renalware/events/events/index.html.slim
|
2010
2016
|
- app/views/renalware/events/events/inputs/_biopsy.html.slim
|
2017
|
+
- app/views/renalware/events/events/inputs/_investigation.html.slim
|
2011
2018
|
- app/views/renalware/events/events/inputs/_simple.html.slim
|
2012
2019
|
- app/views/renalware/events/events/inputs/_swab.html.slim
|
2013
2020
|
- app/views/renalware/events/events/new.html.slim
|
@@ -2016,8 +2023,11 @@ files:
|
|
2016
2023
|
- app/views/renalware/events/events/simple/_list.html.slim
|
2017
2024
|
- app/views/renalware/events/events/simple/_table.html.slim
|
2018
2025
|
- app/views/renalware/events/events/toggled_cell/_biopsy.html.slim
|
2026
|
+
- app/views/renalware/events/events/toggled_cell/_investigation.html.slim
|
2019
2027
|
- app/views/renalware/events/events/toggled_cell/_simple.html.slim
|
2020
2028
|
- app/views/renalware/events/events/toggled_cell/_swab.html.slim
|
2029
|
+
- app/views/renalware/events/investigations/_list.html.slim
|
2030
|
+
- app/views/renalware/events/investigations/edit.html.slim
|
2021
2031
|
- app/views/renalware/events/swabs/_list.html.slim
|
2022
2032
|
- app/views/renalware/events/swabs/edit.html.slim
|
2023
2033
|
- app/views/renalware/events/swabs/new.html.slim
|
@@ -2651,6 +2661,7 @@ files:
|
|
2651
2661
|
- config/locales/renalware/errors.en.yml
|
2652
2662
|
- config/locales/renalware/events/biopsy.en.yml
|
2653
2663
|
- config/locales/renalware/events/events.yml
|
2664
|
+
- config/locales/renalware/events/investigation.en.yml
|
2654
2665
|
- config/locales/renalware/events/swab.en.yml
|
2655
2666
|
- config/locales/renalware/feeds/file.en.yml
|
2656
2667
|
- config/locales/renalware/hd/accesses.en.yml
|
@@ -3055,6 +3066,8 @@ files:
|
|
3055
3066
|
- db/migrate/20180112151706_create_low_clearance_profiles.rb
|
3056
3067
|
- db/migrate/20180112151813_create_low_clearance_versions.rb
|
3057
3068
|
- db/migrate/20180119121243_create_trigger_to_preprocess_hl7_msg.rb
|
3069
|
+
- db/migrate/20180125201356_make_obs_set_trigger_change_updated_at.rb
|
3070
|
+
- db/migrate/20180126142314_add_uuid_to_letters.rb
|
3058
3071
|
- db/seeds.rb
|
3059
3072
|
- db/seeds/default/accesses/access_pd_catheter_insertion_techniques.csv
|
3060
3073
|
- db/seeds/default/accesses/access_pd_catheter_insertion_techniques.rb
|
@@ -3350,6 +3363,7 @@ files:
|
|
3350
3363
|
- spec/factories/transplants/registrations.rb
|
3351
3364
|
- spec/support/capybara.rb
|
3352
3365
|
- spec/support/capybara_helper.rb
|
3366
|
+
- spec/support/database_functions_spec_helper.rb
|
3353
3367
|
- spec/support/date_helpers.rb
|
3354
3368
|
- spec/support/devise_spec_helper.rb
|
3355
3369
|
- spec/support/drugs_spec_helper.rb
|