Class: Renalware::Renal::Registry::PreflightChecks::MissingESRFQuery
- Inherits:
-
Object
- Object
- Renalware::Renal::Registry::PreflightChecks::MissingESRFQuery
- Includes:
- ModalityScopes
- Defined in:
- app/models/renalware/renal/registry/preflight_checks/missing_esrf_query.rb
Overview
Finds patients with a current modality of HD, PD or Transplant, who have no ESRF date
Constant Summary collapse
- MODALITY_NAMES =
%w(HD PD Transplant).freeze
Instance Attribute Summary collapse
-
#query_params ⇒ Object
readonly
Returns the value of attribute query_params.
-
#relation ⇒ Object
readonly
Returns the value of attribute relation.
Class Method Summary collapse
Instance Method Summary collapse
- #call ⇒ Object
- #default_relation ⇒ Object
-
#initialize(relation: nil, query_params: {}) ⇒ MissingESRFQuery
constructor
A new instance of MissingESRFQuery.
- #search ⇒ Object
Methods included from ModalityScopes
#with_current_modality_matching, #with_current_modality_of_class
Constructor Details
#initialize(relation: nil, query_params: {}) ⇒ MissingESRFQuery
Returns a new instance of MissingESRFQuery.
16 17 18 19 20 |
# File 'app/models/renalware/renal/registry/preflight_checks/missing_esrf_query.rb', line 16 def initialize(relation: nil, query_params: {}) @relation = relation || default_relation @query_params = query_params @query_params[:s] = "modality_descriptions_name ASC" if @query_params[:s].blank? end |
Instance Attribute Details
#query_params ⇒ Object (readonly)
Returns the value of attribute query_params.
14 15 16 |
# File 'app/models/renalware/renal/registry/preflight_checks/missing_esrf_query.rb', line 14 def query_params @query_params end |
#relation ⇒ Object (readonly)
Returns the value of attribute relation.
14 15 16 |
# File 'app/models/renalware/renal/registry/preflight_checks/missing_esrf_query.rb', line 14 def relation @relation end |
Class Method Details
.missing_data_for(_patient) ⇒ Object
41 42 43 44 45 |
# File 'app/models/renalware/renal/registry/preflight_checks/missing_esrf_query.rb', line 41 def self.missing_data_for(_patient) [ :esrf ] end |
Instance Method Details
#call ⇒ Object
26 27 28 29 30 31 32 33 34 35 |
# File 'app/models/renalware/renal/registry/preflight_checks/missing_esrf_query.rb', line 26 def call search .result .extending(ModalityScopes) .preload(current_modality: [:description]) .merge(HD::Patient.with_profile) .eager_load(:profile) .with_current_modality_matching(MODALITY_NAMES) .where("renal_profiles.esrf_on IS NULL") end |
#default_relation ⇒ Object
22 23 24 |
# File 'app/models/renalware/renal/registry/preflight_checks/missing_esrf_query.rb', line 22 def default_relation Renalware::Renal::Patient.left_outer_joins(:profile) end |
#search ⇒ Object
37 38 39 |
# File 'app/models/renalware/renal/registry/preflight_checks/missing_esrf_query.rb', line 37 def search @search ||= relation.ransack(query_params) end |