renalware-core 2.0.0.pre.beta12 → 2.0.0.pre.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/app/assets/stylesheets/renalware/modules/_letters.scss +0 -1
- data/app/assets/stylesheets/renalware/modules/_pathology.scss +4 -0
- data/app/assets/stylesheets/renalware/partials/_beta_banner.scss +26 -0
- data/app/assets/stylesheets/renalware/partials/_errors.scss +4 -0
- data/app/controllers/renalware/admissions/consults_controller.rb +0 -7
- data/app/controllers/renalware/concerns/devise_controller_methods.rb +9 -9
- data/app/controllers/renalware/hd/mdm_controller.rb +2 -3
- data/app/controllers/renalware/hd/mdm_patients_controller.rb +7 -1
- data/app/controllers/renalware/letters/letters_controller.rb +1 -1
- data/app/controllers/renalware/letters/lists_controller.rb +13 -6
- data/app/controllers/renalware/mdm_controller.rb +1 -1
- data/app/controllers/renalware/mdm_patients_controller.rb +1 -1
- data/app/controllers/renalware/patients/bookmarks_controller.rb +1 -1
- data/app/controllers/renalware/patients/clinical_summaries_controller.rb +1 -1
- data/app/controllers/renalware/pd/mdm_controller.rb +2 -3
- data/app/controllers/renalware/pd/mdm_patients_controller.rb +2 -0
- data/app/controllers/renalware/renal/low_clearance/mdm_controller.rb +15 -0
- data/app/controllers/renalware/renal/low_clearance/mdm_patients_controller.rb +29 -0
- data/app/controllers/renalware/session_timeout_controller.rb +2 -0
- data/app/controllers/renalware/system/user_feedback_controller.rb +35 -0
- data/app/controllers/renalware/transplants/mdm_controller.rb +1 -3
- data/app/controllers/renalware/transplants/mdm_patients_controller.rb +2 -0
- data/app/helpers/renalware/application_helper.rb +1 -42
- data/app/helpers/renalware/clinic_helper.rb +3 -1
- data/app/helpers/renalware/infection_organisms_helper.rb +20 -0
- data/app/helpers/renalware/mdm_helper.rb +9 -7
- data/app/helpers/renalware/prescriptions_helper.rb +20 -0
- data/app/helpers/renalware/side_nav_helper.rb +0 -8
- data/app/jobs/application_job.rb +2 -0
- data/app/models/concerns/renalware/explicit_state_model.rb +2 -0
- data/app/models/concerns/renalware/patient_pathology_scopes.rb +39 -0
- data/app/models/concerns/renalware/personable.rb +3 -2
- data/app/models/renalware/clinics/appointment.rb +4 -4
- data/app/models/renalware/clinics/clinic_visit.rb +2 -2
- data/app/models/renalware/drugs/classification.rb +11 -0
- data/app/models/renalware/drugs/drug.rb +3 -3
- data/app/models/renalware/drugs/type.rb +2 -1
- data/app/models/renalware/hd/mdm_patients_query.rb +4 -9
- data/app/models/renalware/hd/session/closed.rb +10 -3
- data/app/models/renalware/hd/session.rb +2 -1
- data/app/models/renalware/hd/sessions/auditable_session_collection.rb +7 -7
- data/app/models/renalware/letters/archive.rb +1 -1
- data/app/models/renalware/letters/description.rb +1 -1
- data/app/models/renalware/letters/event/clinic_visit.rb +4 -0
- data/app/models/renalware/letters/letter_factory.rb +1 -0
- data/app/models/renalware/letters/part/allergies.rb +1 -1
- data/app/models/renalware/letters/part/prescriptions.rb +1 -1
- data/app/models/renalware/letters/part/problems.rb +1 -1
- data/app/models/renalware/letters/part/recent_pathology_results.rb +14 -12
- data/app/models/renalware/letters/part.rb +3 -2
- data/app/models/renalware/letters/recipient.rb +1 -1
- data/app/models/renalware/letters/signature.rb +3 -1
- data/app/models/renalware/pathology/current_observations_for_descriptions_query.rb +7 -4
- data/app/models/renalware/pathology/observations_for_descriptions_query.rb +1 -2
- data/app/models/renalware/patients/bookmark.rb +1 -1
- data/app/models/renalware/patients/patient_hospital_identifiers.rb +4 -4
- data/app/models/renalware/patients/practice.rb +3 -3
- data/app/models/renalware/patients/primary_care_physician.rb +2 -2
- data/app/models/renalware/renal/low_clearance/mdm_patients_query.rb +63 -0
- data/app/models/renalware/renal/low_clearance/modality_description.rb +13 -0
- data/app/models/renalware/renal/profile.rb +2 -0
- data/app/models/renalware/renal/registry/preflight_checks/deaths_query.rb +1 -1
- data/app/models/renalware/renal/version.rb +9 -0
- data/app/models/renalware/renal.rb +4 -0
- data/app/models/renalware/role.rb +4 -3
- data/app/models/renalware/roles_user.rb +6 -0
- data/app/models/renalware/system/user_feedback.rb +16 -0
- data/app/models/renalware/transplants/donor_modality_description.rb +3 -0
- data/app/models/renalware/transplants/recipient_modality_description.rb +3 -0
- data/app/models/renalware/user.rb +14 -9
- data/app/models/renalware.rb +2 -5
- data/app/policies/renalware/base_policy.rb +1 -1
- data/app/policies/renalware/system/user_feedback_policy.rb +8 -0
- data/app/presenters/renalware/hd/mdm_presenter.rb +2 -0
- data/app/presenters/renalware/hd/session_access_presenter.rb +1 -1
- data/app/presenters/renalware/hd/session_presenter.rb +4 -5
- data/app/presenters/renalware/hd/station_presenter.rb +1 -1
- data/app/presenters/renalware/letters/letter_presenter.rb +4 -2
- data/app/presenters/renalware/mdm_presenter.rb +3 -3
- data/app/presenters/renalware/pathology/observations_diff.rb +110 -0
- data/app/presenters/renalware/renal/clinical_summary_presenter.rb +32 -4
- data/app/presenters/renalware/renal/low_clearance/mdm_presenter.rb +14 -0
- data/app/views/renalware/accesses/assessments/show.html.slim +1 -1
- data/app/views/renalware/accesses/dashboards/show.html.slim +1 -1
- data/app/views/renalware/accesses/procedures/show.html.slim +1 -1
- data/app/views/renalware/accesses/profiles/_list.html.slim +1 -1
- data/app/views/renalware/accesses/profiles/show.html.slim +1 -1
- data/app/views/renalware/admissions/consults/_form.html.slim +12 -12
- data/app/views/renalware/admissions/requests/_create_request_link.html.slim +1 -1
- data/app/views/renalware/admissions/requests/_form.html.slim +1 -1
- data/app/views/renalware/clinical/allergies/_new.html.slim +3 -3
- data/app/views/renalware/clinical/allergy_statuses/_form.html.slim +3 -3
- data/app/views/renalware/clinical/dry_weights/{_row.html.slim → _dry_weight.html.slim} +0 -0
- data/app/views/renalware/clinical/dry_weights/_list.html.slim +1 -2
- data/app/views/renalware/clinical/dry_weights/index.html.slim +1 -2
- data/app/views/renalware/clinical/profiles/show.html.slim +1 -1
- data/app/views/renalware/events/types/index.html.slim +1 -1
- data/app/views/renalware/hd/diaries/show.pdf.slim +1 -0
- data/app/views/renalware/hd/diary_slots/_form.html.slim +10 -10
- data/app/views/renalware/hd/diary_slots/_tab.html.slim +4 -4
- data/app/views/renalware/hd/mdm/_sessions.html.slim +1 -1
- data/app/views/renalware/hd/mdm_patients/_table.html.slim +7 -8
- data/app/views/renalware/hd/ongoing_sessions/_table.html.slim +1 -2
- data/app/views/renalware/hd/sessions/_form.html.slim +2 -2
- data/app/views/renalware/hd/sessions/_list.html.slim +1 -1
- data/app/views/renalware/hd/sessions/_row.html.slim +1 -1
- data/app/views/renalware/hd/sessions/_session_nav.html.slim +1 -1
- data/app/views/renalware/hd/sessions/_table.html.slim +1 -1
- data/app/views/renalware/hd/sessions/closed/_row.html.slim +1 -1
- data/app/views/renalware/hd/sessions/open/_row.html.slim +1 -1
- data/app/views/renalware/hd/stations/edit.html.slim +1 -1
- data/app/views/renalware/hd/stations/index.html.slim +1 -1
- data/app/views/renalware/hd/stations/new.html.slim +1 -1
- data/app/views/renalware/layouts/_patient.html.slim +1 -1
- data/app/views/renalware/layouts/application.html.slim +3 -1
- data/app/views/renalware/letters/contacts/_new_person.html.slim +2 -2
- data/app/views/renalware/letters/contacts/_person_from_directory.html.slim +2 -2
- data/app/views/renalware/letters/formatted_letters/_letter.html.slim +3 -3
- data/app/views/renalware/letters/formatted_letters/show.html.slim +1 -1
- data/app/views/renalware/letters/formatted_letters/show.inlinepdf.slim +1 -1
- data/app/views/renalware/letters/formatted_letters/show.pdf.slim +1 -1
- data/app/views/renalware/letters/letters/_electronic_ccs.html.slim +1 -1
- data/app/views/renalware/letters/letters/_form.html.slim +5 -2
- data/app/views/renalware/letters/letters/_pathology.html.slim +26 -0
- data/app/views/renalware/letters/letters/_preview.html.slim +3 -3
- data/app/views/renalware/letters/letters/edit.html.slim +11 -12
- data/app/views/renalware/letters/letters/new.html.slim +1 -1
- data/app/views/renalware/letters/lists/_letter.html.slim +1 -2
- data/app/views/renalware/letters/lists/show.html.slim +13 -14
- data/app/views/renalware/letters/parts/_recent_pathology_results.html.slim +3 -8
- data/app/views/renalware/letters/shared/_electronic_cc_type_tabs.html.slim +3 -3
- data/app/views/renalware/mdm/_letters.html.slim +1 -1
- data/app/views/renalware/mdm/_measurements.html.slim +1 -1
- data/app/views/renalware/mdm_patients/_patient.html.slim +1 -1
- data/app/views/renalware/mdm_patients/_table.html.slim +11 -13
- data/app/views/renalware/messaging/internal/messages/_form.html.slim +7 -7
- data/app/views/renalware/messaging/internal/messages/_send_message_link.html.slim +1 -1
- data/app/views/renalware/messaging/internal/messages/_send_reply_link.html.slim +1 -1
- data/app/views/renalware/messaging/internal/receipts/_sent_receipt.html.slim +1 -1
- data/app/views/renalware/messaging/shared/_messages_type_tabs.html.slim +3 -3
- data/app/views/renalware/navigation/_branding.html.slim +1 -1
- data/app/views/renalware/navigation/_mdms.html.slim +1 -0
- data/app/views/renalware/pathology/observations/_diff.html.slim +22 -0
- data/app/views/renalware/patients/_layout.html.slim +1 -1
- data/app/views/renalware/patients/alerts/_create_alert_link.html.slim +1 -1
- data/app/views/renalware/patients/alerts/_form.html.slim +4 -4
- data/app/views/renalware/patients/alerts/_list.html.slim +1 -2
- data/app/views/renalware/patients/bookmarks/_delete.html.slim +1 -1
- data/app/views/renalware/patients/bookmarks/_new.html.slim +8 -8
- data/app/views/renalware/patients/clinical_summaries/_events.html.slim +6 -4
- data/app/views/renalware/patients/clinical_summaries/_letters.html.slim +6 -3
- data/app/views/renalware/patients/clinical_summaries/_prescriptions.html.slim +2 -2
- data/app/views/renalware/patients/clinical_summaries/_problems.html.slim +2 -2
- data/app/views/renalware/patients/clinical_summaries/show.html.slim +14 -4
- data/app/views/renalware/patients/patients/show.html.slim +1 -1
- data/app/views/renalware/patients/side_menu/_modalities.html.slim +2 -2
- data/app/views/renalware/patients/worries/_delete.html.slim +1 -1
- data/app/views/renalware/patients/worries/_new.html.slim +6 -6
- data/app/views/renalware/pd/dashboards/show.html.slim +1 -1
- data/app/views/renalware/pd/infection_organisms/_table.html.slim +3 -3
- data/app/views/renalware/pd/pet_adequacy_results/_form.html.slim +23 -23
- data/app/views/renalware/pd/regime_bags/_form.html.slim +5 -5
- data/app/views/renalware/pd/regime_bags/_regime_bag.html.slim +2 -2
- data/app/views/renalware/pd/regime_bags/_regime_bags.html.slim +1 -1
- data/app/views/renalware/pd/regimes/_current_regime.html.slim +1 -1
- data/app/views/renalware/problems/problems/index.html.slim +1 -1
- data/app/views/renalware/renal/low_clearance/mdm/_bottom.html.slim +3 -0
- data/app/views/renalware/renal/low_clearance/mdm/_low_clearance_profile.html.slim +4 -0
- data/app/views/renalware/renal/low_clearance/mdm/_top.html.slim +5 -0
- data/app/views/renalware/renal/low_clearance/mdm_patients/_filters.html.slim +9 -0
- data/app/views/renalware/renal/profiles/_mini.html.slim +1 -1
- data/app/views/renalware/reporting/audits/index.html.slim +1 -1
- data/app/views/renalware/research/study_participants/_form.html.slim +3 -3
- data/app/views/renalware/shared/_modal_close_link.html.slim +1 -1
- data/app/views/renalware/shared/documents/_blood_pressure_input.html.slim +1 -1
- data/app/views/renalware/snippets/snippets/_form.html.slim +4 -4
- data/app/views/renalware/snippets/snippets/_list.html.slim +3 -3
- data/app/views/renalware/snippets/snippets/_row.html.slim +2 -2
- data/app/views/renalware/snippets/snippets/_table.html.slim +7 -7
- data/app/views/renalware/snippets/snippets/edit.html.slim +1 -1
- data/app/views/renalware/snippets/snippets/new.html.slim +1 -1
- data/app/views/renalware/system/user_feedback/_banner.html.slim +9 -0
- data/app/views/renalware/system/user_feedback/new.html.slim +13 -0
- data/app/views/renalware/transplants/donor_dashboards/show.html.slim +2 -2
- data/app/views/renalware/transplants/recipient_dashboards/show.html.slim +2 -2
- data/config/initializers/inflections.rb +2 -0
- data/config/locales/custom.yml +7 -0
- data/config/locales/renalware/letters/letter.en.yml +2 -2
- data/config/locales/renalware/navigation/renal.en.yml +1 -0
- data/config/locales/renalware/renal/low_clearance.en.yml +15 -0
- data/config/permissions.yml +1 -0
- data/config/routes.rb +10 -0
- data/db/migrate/20171114120904_add_pathology_snapshot_to_letters.rb +5 -0
- data/db/migrate/20171123123712_add_id_to_roles_users.rb +5 -0
- data/db/migrate/20171123143534_add_pk_to_drug_types_drugs.rb +18 -0
- data/db/migrate/20171123154116_create_renal_versions.rb +14 -0
- data/db/migrate/20171128163543_add_more_missing_indexes.rb +16 -0
- data/db/migrate/20171206121652_add_loinc_code_to_observation_descriptions.rb +5 -0
- data/db/migrate/20171208211206_create_user_feedback.rb +10 -0
- data/db/migrate/20171211130716_remove_unused_patients_cols.rb +6 -0
- data/db/seeds/default/modalities/descriptions.rb +1 -0
- data/db/views/reporting_anaemia_audit_v01.sql +1 -1
- data/db/views/reporting_bone_audit_v01.sql +1 -1
- data/lib/renalware/configuration.rb +3 -0
- data/lib/renalware/version.rb +1 -1
- data/spec/factories/modalities/modality_descriptions.rb +3 -2
- data/spec/factories/renal/lcc_modality_description.rb +9 -0
- data/spec/factories/system/roles.rb +2 -2
- data/spec/factories/system/users.rb +3 -3
- data/spec/support/login_macros.rb +2 -2
- data/spec/support/roles_spec_helper.rb +1 -1
- metadata +35 -6
- data/app/models/renalware/patients/message_listener.rb +0 -31
- data/config/initializers/version.rb +0 -3
- data/spec/support/database_cleaner.rb +0 -16
@@ -1,6 +1,6 @@
|
|
1
1
|
/ We allow cross-module references in the UI but not in the controller hence:
|
2
2
|
- unit = Renalware::Hospitals::Unit.find(unit_id)
|
3
|
-
- breadcrumbs = [breadcrumb_for("
|
3
|
+
- breadcrumbs = [breadcrumb_for("HD Units", hospitals_units_path),
|
4
4
|
breadcrumb_for(unit.unit_code, edit_hospitals_unit_path(unit)),
|
5
5
|
breadcrumb_for("Stations", hd_unit_stations_path(unit))]
|
6
6
|
|
@@ -23,7 +23,7 @@
|
|
23
23
|
- if content_for?(:page_navigation)
|
24
24
|
.page-navigation= yield(:page_navigation)
|
25
25
|
- else
|
26
|
-
-unless local_assigns[:skip_top_navigation].present?
|
26
|
+
- unless local_assigns[:skip_top_navigation].present?
|
27
27
|
- partial = local_assigns[:navigation_partial] || "navigation"
|
28
28
|
|
29
29
|
/ Be sure to pass on any locals passed to us, along with the patient
|
@@ -21,7 +21,9 @@ html lang="en"
|
|
21
21
|
#modals-wrapper
|
22
22
|
.page
|
23
23
|
.sticky-top
|
24
|
-
- if
|
24
|
+
- if Renalware.config.display_feedback_banner
|
25
|
+
= render "renalware/system/user_feedback/banner"
|
26
|
+
- if content_for?(:top_navigation)
|
25
27
|
= yield :top_navigation
|
26
28
|
- else
|
27
29
|
= render "renalware/navigation/main"
|
@@ -23,9 +23,9 @@
|
|
23
23
|
.row
|
24
24
|
.large-12.columns
|
25
25
|
br
|
26
|
-
=f.submit t(".save"), class: "button"
|
26
|
+
= f.submit t(".save"), class: "button"
|
27
27
|
span= " or "
|
28
|
-
=link_to t(".cancel"),
|
28
|
+
= link_to t(".cancel"),
|
29
29
|
"#",
|
30
30
|
"aria-label" => "Close",
|
31
31
|
class: "reveal-modal-close"
|
@@ -16,9 +16,9 @@
|
|
16
16
|
.row
|
17
17
|
.large-12.columns
|
18
18
|
br
|
19
|
-
=f.submit t(".save"), class: "button"
|
19
|
+
= f.submit t(".save"), class: "button"
|
20
20
|
span= " or "
|
21
|
-
=link_to t(".cancel"),
|
21
|
+
= link_to t(".cancel"),
|
22
22
|
"#",
|
23
23
|
"aria-label" => "Close",
|
24
24
|
class: "reveal-modal-close"
|
@@ -263,13 +263,13 @@ scss:
|
|
263
263
|
.unit-block
|
264
264
|
.trust-name
|
265
265
|
p
|
266
|
-
=raw letter.letterhead.trust_name
|
266
|
+
= raw letter.letterhead.trust_name
|
267
267
|
/span.nhs-logo= inline_image_tag("renalware/NHS-Black.jpg", size: "82x33")
|
268
268
|
.trust-caption
|
269
269
|
p= letter.letterhead.trust_caption
|
270
270
|
|
271
271
|
.site-info-html
|
272
|
-
=raw letter.letterhead.site_info
|
272
|
+
= raw letter.letterhead.site_info
|
273
273
|
|
274
274
|
.body
|
275
275
|
.salutation
|
@@ -278,7 +278,7 @@ scss:
|
|
278
278
|
.patient-status
|
279
279
|
p= render "patient_summary", patient: letter.patient
|
280
280
|
|
281
|
-
= render letter.parts, patient: letter.patient
|
281
|
+
= render letter.parts, patient: letter.patient, letter: letter
|
282
282
|
|
283
283
|
.message
|
284
284
|
= letter.body&.html_safe
|
@@ -1,2 +1,2 @@
|
|
1
1
|
= content_tag(:div, class: "letter-wrapper #{letter.state}") do
|
2
|
-
=raw letter.content
|
2
|
+
= raw letter.content
|
@@ -1,2 +1,2 @@
|
|
1
1
|
= content_tag(:div, class: "letter-wrapper #{letter.state}") do
|
2
|
-
=raw letter.content
|
2
|
+
= raw letter.content
|
@@ -1,2 +1,2 @@
|
|
1
1
|
= content_tag(:div, class: "letter-wrapper #{letter.state}") do
|
2
|
-
=raw letter.content
|
2
|
+
= raw letter.content
|
@@ -1,6 +1,7 @@
|
|
1
1
|
ruby:
|
2
2
|
back_path = patient_letters_letters_path(patient)
|
3
|
-
|
3
|
+
letter = f.object
|
4
|
+
event = letter.event
|
4
5
|
|
5
6
|
.row.top
|
6
7
|
.medium-6.columns
|
@@ -35,6 +36,7 @@ ruby:
|
|
35
36
|
user_to_promote_to_top: current_user \
|
36
37
|
)
|
37
38
|
|
39
|
+
= render "pathology", letter: letter, f: f
|
38
40
|
= render "main_recipient", f: f, contacts: contacts, patient: patient
|
39
41
|
= render "additional_ccs", f: f, contacts: contacts, patient: patient
|
40
42
|
= render "electronic_ccs",
|
@@ -52,7 +54,7 @@ ruby:
|
|
52
54
|
= f.label :body
|
53
55
|
= snippets_modal_and_link_to_open_it(target_input_for_seleted_snippet: ".letter-body-editor")
|
54
56
|
|
55
|
-
-if event&.respond_to?(:notes)
|
57
|
+
- if event&.respond_to?(:notes)
|
56
58
|
= link_to "Insert #{event.class.name.demodulize.underscore.humanize.downcase} notes",
|
57
59
|
"/",
|
58
60
|
data: { notes: event.notes || "", target: ".letter-body-editor" },
|
@@ -71,3 +73,4 @@ ruby:
|
|
71
73
|
= f.button :submit
|
72
74
|
span= " or "
|
73
75
|
= link_to "cancel", back_path
|
76
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
ruby:
|
2
|
+
new_pathology_timestamp = Time.zone.now
|
3
|
+
diff = Renalware::Pathology::ObservationsDiff.new(
|
4
|
+
patient: letter.patient,
|
5
|
+
between_dates: [letter.pathology_timestamp, new_pathology_timestamp],
|
6
|
+
descriptions: Renalware::Letters::RelevantObservationDescription.all
|
7
|
+
)
|
8
|
+
|
9
|
+
- if letter.clinical?
|
10
|
+
article.letter-pathology
|
11
|
+
header
|
12
|
+
h2 Pathology
|
13
|
+
|
14
|
+
- if letter.new_record?
|
15
|
+
= f.input :pathology_timestamp, as: :hidden
|
16
|
+
- else
|
17
|
+
= f.input :pathology_timestamp,
|
18
|
+
collection: [ \
|
19
|
+
["Yes", Time.zone.now],
|
20
|
+
["No", letter.pathology_timestamp], \
|
21
|
+
], \
|
22
|
+
as: :inline_radio_buttons,
|
23
|
+
label: "Include pathology updates below"
|
24
|
+
|
25
|
+
|
26
|
+
= diff.to_html
|
@@ -2,7 +2,7 @@
|
|
2
2
|
.letter-preview-header
|
3
3
|
.row
|
4
4
|
.columns.large-6
|
5
|
-
p.unit-info=raw letter.letterhead.unit_info
|
5
|
+
p.unit-info= raw letter.letterhead.unit_info
|
6
6
|
|
7
7
|
p.letter-description-block
|
8
8
|
= l letter.issued_on
|
@@ -18,12 +18,12 @@
|
|
18
18
|
.columns.large-6
|
19
19
|
.letter-unit-block
|
20
20
|
p.trust-name
|
21
|
-
=raw letter.letterhead.trust_name
|
21
|
+
= raw letter.letterhead.trust_name
|
22
22
|
span.nhs-logo= image_tag("NHS-Black.jpg", size: "82x33")
|
23
23
|
p.trust-caption= letter.letterhead.trust_caption
|
24
24
|
|
25
25
|
.site-info-html
|
26
|
-
p=raw letter.letterhead.site_info
|
26
|
+
p= raw letter.letterhead.site_info
|
27
27
|
|
28
28
|
.letter-preview-body
|
29
29
|
.row
|
@@ -4,19 +4,18 @@
|
|
4
4
|
= within_patient_layout(title: "Edit Letter",
|
5
5
|
breadcrumbs: [breadcrumb_for("Letters", patient_letters_letters_path(patient))]) do
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
html: { id: "letter-form", autocomplete: "off" } do |f|
|
7
|
+
= simple_form_for letter,
|
8
|
+
url: patient_letters_letter_path(patient, letter),
|
9
|
+
as: :letter,
|
10
|
+
wrapper: "horizontal_form",
|
11
|
+
html: { id: "letter-form", autocomplete: "off" } do |f|
|
13
12
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
13
|
+
= render "form",
|
14
|
+
f: f,
|
15
|
+
patient: patient,
|
16
|
+
contact: contact,
|
17
|
+
contacts: contacts,
|
18
|
+
electronic_recipient_options: electronic_recipient_options
|
20
19
|
|
21
20
|
= render "add_contact",
|
22
21
|
patient: patient,
|
@@ -12,8 +12,7 @@ tr(class=letter.state.dasherize)
|
|
12
12
|
td.col-width-medium-with-ellipsis= letter.type
|
13
13
|
td.state
|
14
14
|
span= letter.state_description
|
15
|
-
td.full-name
|
16
|
-
= link_to letter.patient.full_name, patient_clinical_summary_path(letter.patient)
|
15
|
+
td.full-name= default_patient_link(letter.patient)
|
17
16
|
td= letter.patient.nhs_number
|
18
17
|
td= letter.enclosures&.truncate(6)
|
19
18
|
td= l letter.issued_on
|
@@ -1,7 +1,7 @@
|
|
1
1
|
= within_admin_layout(title: "Letters") do
|
2
2
|
|
3
3
|
.search-form.filters
|
4
|
-
= simple_form_for
|
4
|
+
= simple_form_for q,
|
5
5
|
as: :q,
|
6
6
|
url: letters_list_path,
|
7
7
|
html: { autocomplete: "off" },
|
@@ -12,9 +12,9 @@
|
|
12
12
|
.small-6.medium-3.large-2.columns
|
13
13
|
= f.input :state_eq, collection: state_options, label: "State"
|
14
14
|
.small-6.medium-3.large-2.columns
|
15
|
-
= f.input :author_id_eq, as: :user_picker, collection:
|
15
|
+
= f.input :author_id_eq, as: :user_picker, collection: authors, label: "Author"
|
16
16
|
.small-6.medium-3.large-2.columns
|
17
|
-
= f.input :created_by_id_eq, as: :user_picker, collection:
|
17
|
+
= f.input :created_by_id_eq, as: :user_picker, collection: typists, label: "Typist"
|
18
18
|
.small-12.medium-2.large-4.columns.actions.end
|
19
19
|
= f.submit t("helpers.submit.filter"), class: "button"
|
20
20
|
span= " or "
|
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
.row
|
24
24
|
.columns
|
25
|
-
=button_to "/", class: "button secondary" do
|
25
|
+
= button_to "/", class: "button secondary" do
|
26
26
|
i.fa.fa-print
|
27
27
|
| Print All
|
28
28
|
|
@@ -33,17 +33,16 @@
|
|
33
33
|
tr
|
34
34
|
th.noprint
|
35
35
|
th Type
|
36
|
-
th= sort_link([:renalware,
|
37
|
-
th.col-width-medium= sort_link([:renalware,
|
38
|
-
th.col-width-nhs-no= sort_link([:renalware,
|
39
|
-
th= sort_link([:renalware,
|
40
|
-
th.col-width-date = sort_link([:renalware,
|
41
|
-
th= sort_link([:renalware,
|
42
|
-
th= sort_link([:renalware,
|
36
|
+
th= sort_link([:renalware, q], :type, "State")
|
37
|
+
th.col-width-medium= sort_link([:renalware, q], :patient_family_name, "Patient")
|
38
|
+
th.col-width-nhs-no= sort_link([:renalware, q], :patient_nhs_number, "NHS No")
|
39
|
+
th= sort_link([:renalware, q], :enclosures, "Enc.")
|
40
|
+
th.col-width-date = sort_link([:renalware, q], :issued_on, "Date", default_order: :desc)
|
41
|
+
th= sort_link([:renalware, q], :author_family_name, "Author")
|
42
|
+
th= sort_link([:renalware, q], :created_by_family_name, "Typist")
|
43
43
|
th.col-width-small Recipient
|
44
44
|
th Description
|
45
45
|
tbody
|
46
|
-
|
47
|
-
= render "letter", letter: letter
|
46
|
+
= render partial: "letter", collection: letters
|
48
47
|
|
49
|
-
= paginate
|
48
|
+
= paginate letters
|
@@ -2,13 +2,8 @@
|
|
2
2
|
h3 Recent Investigations
|
3
3
|
|
4
4
|
- if recent_pathology_results.any?
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
- if observation.result.present?
|
9
|
-
span #{date}: #{description} #{observation.result};
|
10
|
-
- else
|
11
|
-
span #{description};
|
12
|
-
|
|
5
|
+
- recent_pathology_results.each do |observation|
|
6
|
+
span #{l(observation.observed_at&.to_date)}: #{observation.description.code} #{observation.result};
|
7
|
+
|
|
13
8
|
- else
|
14
9
|
p None
|
@@ -1,7 +1,7 @@
|
|
1
1
|
dl.sub-nav
|
2
2
|
dd
|
3
|
-
=link_to("Unread", unread_letters_electronic_receipts_path)
|
3
|
+
= link_to("Unread", unread_letters_electronic_receipts_path)
|
4
4
|
dd
|
5
|
-
=link_to("Read", read_letters_electronic_receipts_path)
|
5
|
+
= link_to("Read", read_letters_electronic_receipts_path)
|
6
6
|
dd
|
7
|
-
=link_to("Sent", sent_letters_electronic_receipts_path)
|
7
|
+
= link_to("Sent", sent_letters_electronic_receipts_path)
|
@@ -1,23 +1,21 @@
|
|
1
|
+
- path = [:renalware, presenter.q]
|
1
2
|
table#patients.mdm-patients.columns
|
2
3
|
thead
|
3
4
|
tr
|
4
|
-
th.col-width-large= sort_link(
|
5
|
-
th.col-width-nhs-no= t(".
|
5
|
+
th.col-width-large= sort_link(path, :family_name, t(".name"))
|
6
|
+
th.col-width-nhs-no= sort_link(path, :nhs_number, t(".hosp_no"))
|
6
7
|
th.col-width-reference-no= t(".hosp_no")
|
7
8
|
th.col-width-tiny= t(".sex")
|
8
9
|
th.col-width-tiny= t(".age")
|
9
|
-
th.col-width-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
th.col-width-
|
14
|
-
th.col-width-tiny= t(".cre")
|
15
|
-
th.col-width-date
|
16
|
-
= sort_link([:renalware, presenter.q], :patient_current_key_observation_set_cre_date, t(".cre_date"))
|
17
|
-
th.col-width-tiny= t(".mdrd")
|
10
|
+
th.col-width-small= t(".modality")
|
11
|
+
- %i(hgb ure cre).each do |code|
|
12
|
+
th.col-width-tiny= sort_link(path, code, t(".#{code}"))
|
13
|
+
th.col-width-date= sort_link(path, :"#{code}_date", t(".#{code}_date"))
|
14
|
+
th.col-width-tiny= sort_link(path, :mdrd, t(".mdrd"))
|
18
15
|
th.col-width-date= t(".esrf")
|
19
16
|
th.col-width-small
|
20
17
|
|
21
18
|
tbody
|
22
|
-
|
23
|
-
|
19
|
+
= render partial: "patient",
|
20
|
+
collection: presenter.patients,
|
21
|
+
locals: { view_proc: presenter.view_proc, q: presenter.q }
|
@@ -5,11 +5,11 @@
|
|
5
5
|
as: :internal_message,
|
6
6
|
url: messaging_internal_messages_path(patient_id: patient) do |f|
|
7
7
|
h2= t(".title")
|
8
|
-
=f.input :replying_to_message_id, as: :hidden
|
8
|
+
= f.input :replying_to_message_id, as: :hidden
|
9
9
|
|
10
10
|
/ NB the inline styling here prevents an initial flash and re-jiggle of dropdown content which
|
11
11
|
/ is subsequently hidden by select2 after 100 ms or so.
|
12
|
-
=f.input :recipient_ids,
|
12
|
+
= f.input :recipient_ids,
|
13
13
|
label: t(".recipient_ids"),
|
14
14
|
collection: recipient_options,
|
15
15
|
as: :grouped_select,
|
@@ -21,12 +21,12 @@
|
|
21
21
|
id: "message_recipient_ids",
|
22
22
|
multiple: "multiple",
|
23
23
|
style: "visibility: hidden; height: 2.5rem" }
|
24
|
-
=f.input :subject
|
25
|
-
=f.input :urgent, as: :boolean, boolean_style: :inline
|
26
|
-
=f.input :body, as: :text, input_html: { rows: 7 }
|
27
|
-
=f.submit "Send", class: :button
|
24
|
+
= f.input :subject
|
25
|
+
= f.input :urgent, as: :boolean, boolean_style: :inline
|
26
|
+
= f.input :body, as: :text, input_html: { rows: 7 }
|
27
|
+
= f.submit "Send", class: :button
|
28
28
|
span= " or "
|
29
|
-
=link_to t(".cancel"),
|
29
|
+
= link_to t(".cancel"),
|
30
30
|
"#",
|
31
31
|
"aria-label" => "Close",
|
32
32
|
class: "reveal-modal-close"
|
@@ -4,7 +4,7 @@
|
|
4
4
|
- url = new_messaging_internal_message_path(patient_id: patient, format: :html)
|
5
5
|
|
6
6
|
/ Link to launch the modal dialog
|
7
|
-
=link_to(url,
|
7
|
+
= link_to(url,
|
8
8
|
id: "send-patient-message",
|
9
9
|
data: { "reveal-id" => "send-message-modal", "reveal-ajax" => "true" }) do
|
10
10
|
i.fa.fa-link-annotation.fa-envelope
|
@@ -5,7 +5,7 @@
|
|
5
5
|
replying_to_message_id: replying_to_message_id,
|
6
6
|
format: :html)
|
7
7
|
/ Link to launch the modal dialog
|
8
|
-
=link_to(url,
|
8
|
+
= link_to(url,
|
9
9
|
data: { "reveal-id" => "send-message-modal", "reveal-ajax" => "true" },
|
10
10
|
class: "button secondary") do
|
11
11
|
i.fa.fa-link-annotation.fa-reply
|
@@ -2,7 +2,7 @@
|
|
2
2
|
- patient = Renalware::PatientPresenter.new(message.patient)
|
3
3
|
|
4
4
|
tr(class="#{ "urgent" if message.urgent?}" id=message.html_identifier)
|
5
|
-
td=l(message.sent_at)
|
5
|
+
td= l(message.sent_at)
|
6
6
|
td= default_patient_link(patient)
|
7
7
|
td= patient.nhs_number
|
8
8
|
td= message.patient.hospital_identifier
|
@@ -1,7 +1,7 @@
|
|
1
1
|
dl.sub-nav
|
2
2
|
dd
|
3
|
-
=link_to("Inbox", messaging_internal_inbox_path)
|
3
|
+
= link_to("Inbox", messaging_internal_inbox_path)
|
4
4
|
dd
|
5
|
-
=link_to("Read", messaging_internal_read_receipts_path)
|
5
|
+
= link_to("Read", messaging_internal_read_receipts_path)
|
6
6
|
dd
|
7
|
-
=link_to("Sent", messaging_internal_sent_messages_path)
|
7
|
+
= link_to("Sent", messaging_internal_sent_messages_path)
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/ Use by Pathology::ObservationsDiff renderer
|
2
|
+
table.table.pathology-observation-diff
|
3
|
+
thead
|
4
|
+
tr
|
5
|
+
th.col-width-tiny(rowspan=2) Code
|
6
|
+
th.col-width-medium(colspan=2) Used
|
7
|
+
th.col-width-medium(colspan=2) Newer
|
8
|
+
tr
|
9
|
+
th.col-width-tiny Result
|
10
|
+
th.col-width-datetime Date
|
11
|
+
th.col-width-tiny Result
|
12
|
+
th.col-width-datetime Date
|
13
|
+
|
14
|
+
tbody
|
15
|
+
- diffs.each do |code, arr|
|
16
|
+
tr
|
17
|
+
th= code
|
18
|
+
td
|
19
|
+
b= arr[0]&.result
|
20
|
+
td= l(arr[0]&.observed_at)
|
21
|
+
td= arr[1]&.result
|
22
|
+
td= l(arr[1]&.observed_at)
|
@@ -18,7 +18,7 @@
|
|
18
18
|
- if content_for?(:page_navigation)
|
19
19
|
.page-navigation= yield(:page_navigation)
|
20
20
|
- else
|
21
|
-
-unless local_assigns[:skip_top_navigation].present?
|
21
|
+
- unless local_assigns[:skip_top_navigation].present?
|
22
22
|
- partial = local_assigns[:navigation_partial] || "navigation"
|
23
23
|
|
24
24
|
/ Be sure to pass on any locals passed to us,
|
@@ -3,6 +3,6 @@
|
|
3
3
|
- url = new_patient_alert_path(patient_id: patient, format: :html)
|
4
4
|
|
5
5
|
/ Link to launch the modal dialog
|
6
|
-
=link_to(url, data: { "reveal-id" => "create-alert-modal", "reveal-ajax" => "true" }) do
|
6
|
+
= link_to(url, data: { "reveal-id" => "create-alert-modal", "reveal-ajax" => "true" }) do
|
7
7
|
i.fa.fa-link-annotation.fa-exclamation-circle
|
8
8
|
= link_text
|
@@ -4,11 +4,11 @@
|
|
4
4
|
remote: true,
|
5
5
|
url: patient_alerts_path(patient_id: patient) do |f|
|
6
6
|
h2= t(".title")
|
7
|
-
=f.input :urgent, as: :boolean, boolean_style: :inline
|
8
|
-
=f.input :notes, autofocus: true
|
9
|
-
=f.submit "Create alert", class: :button
|
7
|
+
= f.input :urgent, as: :boolean, boolean_style: :inline
|
8
|
+
= f.input :notes, autofocus: true
|
9
|
+
= f.submit "Create alert", class: :button
|
10
10
|
span= " or "
|
11
|
-
=link_to t(".cancel"),
|
11
|
+
= link_to t(".cancel"),
|
12
12
|
"#",
|
13
13
|
"aria-label" => "Close",
|
14
14
|
class: "reveal-modal-close"
|
@@ -5,16 +5,16 @@
|
|
5
5
|
|
6
6
|
/ The modal dialog
|
7
7
|
#add-patient-bookmark-modal.reveal-modal.medium(data-reveal)
|
8
|
-
=simple_form_for patient.bookmarks.new,
|
9
|
-
|
10
|
-
|
8
|
+
= simple_form_for patient.bookmarks.new,
|
9
|
+
html: { autocomplete: "off" },
|
10
|
+
url: patient_bookmarks_path(patient_id: patient) do |f|
|
11
11
|
h2= t(".title")
|
12
|
-
=f.input :urgent, as: :boolean, boolean_style: :inline
|
13
|
-
=f.input :tags, label: "Tags"
|
14
|
-
=f.input :notes, as: :text, input_html: { autofocus: :autofocus }
|
15
|
-
=f.submit t(".save"), class: :button
|
12
|
+
= f.input :urgent, as: :boolean, boolean_style: :inline
|
13
|
+
= f.input :tags, label: "Tags"
|
14
|
+
= f.input :notes, as: :text, input_html: { autofocus: :autofocus }
|
15
|
+
= f.submit t(".save"), class: :button
|
16
16
|
span= " or "
|
17
|
-
=link_to t(".cancel"),
|
17
|
+
= link_to t(".cancel"),
|
18
18
|
"#",
|
19
19
|
"aria-label" => "Close",
|
20
20
|
class: "reveal-modal-close"
|
@@ -1,9 +1,11 @@
|
|
1
1
|
article
|
2
2
|
header
|
3
|
-
h2
|
4
|
-
= link_to "Events (#{events.size})", patient_events_path(@patient)
|
3
|
+
h2= link_to "Events (#{current_events_count})", patient_events_path(patient)
|
5
4
|
|
6
|
-
|
7
|
-
|
5
|
+
ul
|
6
|
+
li= link_to new_patient_event_path(patient), class: "button" do
|
7
|
+
| Add
|
8
|
+
li= link_to patient_events_path(patient), class: "button" do
|
9
|
+
| View All
|
8
10
|
|
9
11
|
= render "renalware/events/events/table", events: events
|
@@ -1,9 +1,12 @@
|
|
1
1
|
article
|
2
2
|
header
|
3
3
|
h2
|
4
|
-
= link_to "Letters (#{
|
4
|
+
= link_to "Letters (#{letters_count})", patient_letters_letters_path(patient)
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
ul
|
7
|
+
li= link_to patient_letters_letters_path(patient), class: "button" do
|
8
|
+
| Draft letter
|
9
|
+
li= link_to patient_letters_letters_path(patient), class: "button" do
|
10
|
+
| View All
|
8
11
|
|
9
12
|
= render "renalware/letters/letters/table", letters: letters
|
@@ -2,9 +2,9 @@ article
|
|
2
2
|
header
|
3
3
|
h2
|
4
4
|
= link_to "Current Prescriptions (#{prescriptions.length})",
|
5
|
-
patient_prescriptions_path(
|
5
|
+
patient_prescriptions_path(patient)
|
6
6
|
|
7
|
-
= link_to patient_prescriptions_path(
|
7
|
+
= link_to patient_prescriptions_path(patient), class: "button" do
|
8
8
|
| Add
|
9
9
|
|
10
10
|
ul.no-bullet
|
@@ -1,9 +1,9 @@
|
|
1
1
|
article
|
2
2
|
header
|
3
3
|
h2
|
4
|
-
= link_to "Problems (#{problems.length})", patient_problems_path(
|
4
|
+
= link_to "Problems (#{problems.length})", patient_problems_path(patient)
|
5
5
|
|
6
|
-
= link_to patient_problems_path(
|
6
|
+
= link_to patient_problems_path(patient), class: "button" do
|
7
7
|
| Add
|
8
8
|
|
9
9
|
ul.no-bullet
|