renalware-core 2.0.128 → 2.0.129

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fcc25b7970b1a6a9a6033894090703cc9354b3ee10327537ecf42fdc80348950
4
- data.tar.gz: 28d5be9b91830c59bd3e9fd83ad8b20cfd8871cbcb34cdaaf30f93db5a746b86
3
+ metadata.gz: 156b1e1ab54f4596ebc2b14b72f0f82c1476191b8b0efbe035615136120ad49e
4
+ data.tar.gz: 05cc53cd4907c8545db2566f8ab8e33744821f50274b259212765b108a92c929
5
5
  SHA512:
6
- metadata.gz: cd5a41ec02111a2748f7602799b84fac3d780f01c85c9109a906eca19273008bbb551c0a231797d34a85a59f8f2dfeb6917bac6c68bd0c4a244e0db7ffeb3b2a
7
- data.tar.gz: dad6b4eb6d61d16fad025cabea2ef899cc579597dff259635c4e5027d29f98ba111fcfc428bd5930e239cf91f46bdc6312fd59ad22ee8827699dc642e51ca298
6
+ metadata.gz: 2c8b74079f3b0dcb8e7cc78ca57f01b8d81a5ca789c3f76f60c8bedac26cab9b5e78d57d2c41ac072c2acdf2adf528c1af653787ecf7548ded3abb4b8b90741c
7
+ data.tar.gz: c2e35bc6f3bf69085582d1905353b07a3e6d0f8fa20c6c180ea3d48d8d3910a125a71868302aee08ffcfe74c65fafc89dce41df30e217a7cdd486a061ce434da
@@ -33,7 +33,7 @@ module Renalware
33
33
  end
34
34
 
35
35
  def profile_params
36
- params.require(:low_clearance_profile).permit(document: {})
36
+ params.require(:low_clearance_profile).permit(:referrer_id, document: {})
37
37
  end
38
38
  end
39
39
  end
@@ -11,6 +11,8 @@ module Renalware
11
11
  attribute :dialysis_planned_on, Date
12
12
  attribute :predicted_esrf_date, Date
13
13
  attribute :referral_creatinine, Integer
14
+ # Note that referred_by is now used as 'Referred by notes' as we have a new referrer relation
15
+ # on the profile itself. We need to keep the document version around, so using for notes.
14
16
  attribute :referred_by, String
15
17
  attribute :education_status, Document::Enum
16
18
  attribute :referral_egfr, Decimal
@@ -10,6 +10,7 @@ module Renalware
10
10
  include Document::Base
11
11
  validates :patient, presence: true
12
12
  belongs_to :patient, touch: true
13
+ belongs_to :referrer
13
14
  has_document class_name: "Renalware::LowClearance::ProfileDocument"
14
15
  has_paper_trail class_name: "Renalware::LowClearance::Version",
15
16
  on: [:create, :update, :destroy]
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_dependency "renalware/low_clearance"
4
+ require "document/base"
5
+
6
+ module Renalware
7
+ module LowClearance
8
+ class Referrer < ApplicationRecord
9
+ validates :name, presence: true, uniqueness: true
10
+ scope :ordered, -> { order(name: :asc) }
11
+
12
+ def to_s
13
+ name
14
+ end
15
+ end
16
+ end
17
+ end
@@ -30,7 +30,6 @@ module Renalware
30
30
  # 1 2016-03-15 {"NA": "137", "TP": "74", "ALB": "48", "ALP": "71", ...
31
31
  # 1 2016-02-29 {"NA": "136", "TP": "78", "ALB": "47", "ALP": "71", ...
32
32
  #
33
- #
34
33
  class ObservationsGroupedByDateQuery
35
34
  attr_reader :patient, :observation_descriptions, :page, :limit
36
35
  alias current_page page
@@ -66,10 +65,24 @@ module Renalware
66
65
  Pathology::Observation.none
67
66
  end
68
67
 
68
+ # Returns path results grouped by day, and on each day, a hash results keyed by OBX code
69
+ # containing an array of [result, comment]. The array and data structure is designed to
70
+ # save space over the wire and in memory - we could have retuned an array of hashes with
71
+ # code, result, comment keys etc.
72
+ # Note in jsonb_object_agg the final ORDER BY is by ASC when you would think it would be
73
+ # by DESC seeing as how we want to the latest result. However ASC works and DESC does not
74
+ # and I am not not sure why yet.
75
+ #
76
+ # Example output:
77
+ #
78
+ # 2016-12-06, "{""NA"": [""139"", """"], ""EGFR"": [""83"", ""adjusted original: 77""]}"
79
+ # 2016-10-20, "{""FOL"": [""6.4"", """"]}"
80
+ # 2016-09-04, "{""TSH"": [""0.36"", """"]}"
81
+ # ...
69
82
  def to_sql
70
83
  <<-SQL.squish
71
84
  select obs_req.patient_id, cast(observed_at as date) as observed_on,
72
- jsonb_object_agg(obs_desc.code, ARRAY[obs.result, obs.comment]) results
85
+ jsonb_object_agg(obs_desc.code, ARRAY[obs.result, obs.comment] order by observed_at asc) results
73
86
  from pathology_observations obs
74
87
  inner join pathology_observation_requests obs_req on obs.request_id = obs_req.id
75
88
  inner join pathology_observation_descriptions obs_desc on obs.description_id = obs_desc.id
@@ -37,7 +37,7 @@ tbody.hd-session-row(class=[session.state, stripe_class])
37
37
  td.nowrap= session.after_measurement_for(:bm_stix)
38
38
  td.nowrap= session.after_measurement_for(:blood_pressure)
39
39
  td.print-only= session.signed_off_by
40
- tr
40
+ tr.noprint
41
41
  td(colspan=20)
42
42
  .quick-preview
43
43
  = definition_list_for(session, size: :large) do |list|
@@ -2,7 +2,7 @@ thead
2
2
  / - 20.times do
3
3
  / colgroup
4
4
  tr
5
- th
5
+ th.noprint
6
6
  th.noprint.col-width-small(rowspan=3)
7
7
  th.col-width-date(rowspan=3 valign="top")= t(".date")
8
8
  th.col-width-small= t(".site")
@@ -19,6 +19,8 @@
19
19
  dd= document.predicted_esrf_date
20
20
  dt= t(".referral_creatinine")
21
21
  dd= document.referral_creatinine
22
+ dt= t(".referrer")
23
+ dd= profile.referrer
22
24
  dt= t(".referred_by")
23
25
  dd= document.referred_by
24
26
  dt= t(".education_status")
@@ -13,6 +13,7 @@
13
13
  method: :put,
14
14
  wrapper: "horizontal_form" do |f|
15
15
 
16
+
16
17
  = f.simple_fields_for :document, profile.document do |flc|
17
18
  = flc.input :first_seen_on, as: :date_picker, wrapper: :horizontal_datepicker
18
19
  = flc.input :dialysis_plan, wrapper: :horizontal_medium
@@ -20,6 +21,13 @@
20
21
  = flc.input :predicted_esrf_date, as: :date_picker, wrapper: :horizontal_datepicker
21
22
  = flc.input :referral_creatinine, wrapper: :horizontal_tiny
22
23
  = flc.input :referral_egfr, wrapper: :horizontal_tiny
24
+
25
+ = f.input :referrer_id,
26
+ wrapper: :horizontal_medium,
27
+ collection: Renalware::LowClearance::Referrer.ordered,
28
+ label: "Referred by"
29
+
30
+ = f.simple_fields_for :document, profile.document do |flc|
23
31
  = flc.input :referred_by, wrapper: :horizontal_medium
24
32
  = flc.input :education_status, wrapper: :horizontal_tiny
25
33
  = flc.input :education_type, wrapper: :horizontal_tiny
@@ -9,7 +9,9 @@ en:
9
9
  dialysis_planned_on: Dialysis plan date
10
10
  predicted_esrf_date: Predicted ESRF date
11
11
  referral_creatinine: Referral CRE
12
- referred_by: Referred by
12
+ referrer: Referred by
13
+ referrer_id: Referred by
14
+ referred_by: Referred by notes
13
15
  education_status: Education status
14
16
  referral_egfr: Referral eGFR
15
17
  education_type: Education type
@@ -30,7 +32,7 @@ en:
30
32
  predicted_esrf_date: Predicted ESRF date
31
33
  referral_creatinine: Referral CRE
32
34
  referral_egfr: Referral eGFR
33
- referred_by: Referred by
35
+ referred_by: Referred by notes
34
36
  education_status: Education status
35
37
  education_type: Education type
36
38
  attended_on: Date attended educ.
@@ -0,0 +1,21 @@
1
+ class CreateLowClearanceReferrers < ActiveRecord::Migration[5.2]
2
+ def change
3
+ within_renalware_schema do
4
+ create_table :low_clearance_referrers do |t|
5
+ t.string :name, null: false, index: { unique: true }
6
+ t.boolean :hidden, null: false, default: false
7
+ t.timestamps null: false
8
+ end
9
+
10
+ add_reference(
11
+ :low_clearance_profiles,
12
+ :referrer,
13
+ references: :low_clearance_referrers,
14
+ index: true,
15
+ null: true
16
+ )
17
+
18
+ add_foreign_key :low_clearance_profiles, :low_clearance_referrers, column: :referrer_id
19
+ end
20
+ end
21
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Renalware
4
- VERSION = "2.0.128"
4
+ VERSION = "2.0.129"
5
5
  end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../page_object"
4
+
5
+ module Pages
6
+ module LowClearance
7
+ class ProfilePage < Pages::PageObject
8
+ pattr_initialize :patient
9
+
10
+ def add_or_edit
11
+ visit patient_low_clearance_dashboard_path(patient)
12
+
13
+ within ".page-actions" do
14
+ click_on "Add"
15
+ click_on "Profile"
16
+ end
17
+ end
18
+
19
+ def save
20
+ within ".form-actions" do
21
+ find('input[name="commit"]').click
22
+ end
23
+ end
24
+
25
+ def referred_by=(value)
26
+ select value, from: "Referred by"
27
+ end
28
+
29
+ def referred_by_notes=(value)
30
+ fill_in "Referred by notes", with: value
31
+ end
32
+
33
+ def date_first_seen=(value)
34
+ fill_in "Date first seen", with: value
35
+ end
36
+
37
+ def dialysis_plan=(value)
38
+ select value, from: "Dialysis plan"
39
+ end
40
+
41
+ def dialysis_plan_date=(value)
42
+ fill_in "Dialysis plan date", with: value
43
+ end
44
+
45
+ def predicted_esrf_date=(value)
46
+ fill_in "Predicted ESRF date", with: value
47
+ end
48
+
49
+ def referral_cre=(value)
50
+ fill_in "Referral CRE", with: value
51
+ end
52
+
53
+ def referral_efgr=(value)
54
+ fill_in "Referral eGFR", with: value
55
+ end
56
+
57
+ def education_status=(value)
58
+ select value, from: "Education status"
59
+ end
60
+
61
+ def education_type=(value)
62
+ select value, from: "Education type"
63
+ end
64
+
65
+ def date_attending=(value)
66
+ fill_in "Date attended educ.", with: value
67
+ end
68
+ end
69
+ end
70
+ 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.128
4
+ version: 2.0.129
5
5
  platform: ruby
6
6
  authors:
7
7
  - Airslie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-11 00:00:00.000000000 Z
11
+ date: 2019-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionview-component
@@ -1658,6 +1658,7 @@ files:
1658
1658
  - app/models/renalware/low_clearance/modality_description.rb
1659
1659
  - app/models/renalware/low_clearance/patient.rb
1660
1660
  - app/models/renalware/low_clearance/profile.rb
1661
+ - app/models/renalware/low_clearance/referrer.rb
1661
1662
  - app/models/renalware/low_clearance/version.rb
1662
1663
  - app/models/renalware/medications.rb
1663
1664
  - app/models/renalware/medications/dose_unit.rb
@@ -3723,6 +3724,7 @@ files:
3723
3724
  - db/migrate/20191205185835_update_survey_views.rb
3724
3725
  - db/migrate/20191209160151_add_patient_question_text_to_survey_responses.rb
3725
3726
  - db/migrate/20191209163151_update_survey_views_to_allow_free_text.rb
3727
+ - db/migrate/20191213094611_create_low_clearance_referrers.rb
3726
3728
  - db/seeds.rb
3727
3729
  - db/seeds/default/accesses/access_pd_catheter_insertion_techniques.csv
3728
3730
  - db/seeds/default/accesses/access_pd_catheter_insertion_techniques.rb
@@ -4087,6 +4089,7 @@ files:
4087
4089
  - spec/support/pages/clinical/profile_page.rb
4088
4090
  - spec/support/pages/letters/form.rb
4089
4091
  - spec/support/pages/letters/patient_letters.rb
4092
+ - spec/support/pages/low_clearance/profile_page.rb
4090
4093
  - spec/support/pages/medications/prescription_fom.rb
4091
4094
  - spec/support/pages/page_object.rb
4092
4095
  - spec/support/pathology_spec_helper.rb