Module: ModelUtils

Included in:
DdeClient::DdeService, DdeClient::MergingService
Defined in:
app/utils/model_utils.rb

Overview

This module contains utility methods for retrieving models

Instance Method Summary collapse

Instance Method Details

#concept(name) ⇒ Object

Retrieve concept by its name

Parameters:

name - A string repr of the concept name


9
10
11
# File 'app/utils/model_utils.rb', line 9

def concept(name)
  Concept.joins(:concept_names).where('concept_name.name = ?', name).first
end

#concept_id_to_name(id) ⇒ Object



23
24
25
26
27
28
# File 'app/utils/model_utils.rb', line 23

def concept_id_to_name(id)
  return nil if id.blank?

  concept = Concept.find_by_concept_id(id)
  concept&.fullname
end

#concept_name(name) ⇒ Object



13
14
15
# File 'app/utils/model_utils.rb', line 13

def concept_name(name)
  ConceptName.find_by(name: name)
end

#concept_name_to_id(name) ⇒ Object



17
18
19
20
21
# File 'app/utils/model_utils.rb', line 17

def concept_name_to_id(name)
  return nil if name.blank?

  concept_name(name)&.concept_id
end

#drug(name) ⇒ Object



59
60
61
# File 'app/utils/model_utils.rb', line 59

def drug(name)
  Drug.find_by_name(name)
end

#encounter_type(name) ⇒ Object



34
35
36
# File 'app/utils/model_utils.rb', line 34

def encounter_type(name)
  EncounterType.find_by name: name
end

#global_property(name) ⇒ Object



38
39
40
# File 'app/utils/model_utils.rb', line 38

def global_property(name)
  GlobalProperty.find_by property: name
end

#order_type(name) ⇒ Object



47
48
49
# File 'app/utils/model_utils.rb', line 47

def order_type(name)
  OrderType.find_by_name(name)
end

#patient_identifier_type(name) ⇒ Object



55
56
57
# File 'app/utils/model_utils.rb', line 55

def patient_identifier_type(name)
  PatientIdentifierType.find_by_name(name)
end

#report_type(name) ⇒ Object



51
52
53
# File 'app/utils/model_utils.rb', line 51

def report_type(name)
  ReportType.find_by_name(name)
end

#user_property(name, user_id: nil) ⇒ Object



42
43
44
45
# File 'app/utils/model_utils.rb', line 42

def user_property(name, user_id: nil)
  user_id ||= User.current.user_id
  UserProperty.find_by(user_id: user_id, property: name)
end

#visit_type(name) ⇒ Object



30
31
32
# File 'app/utils/model_utils.rb', line 30

def visit_type(name)
  VisitType.find_by_name(name)
end