Class: ConceptQL::GraphNodifier::DotOperator

Inherits:
Operators::Operator show all
Includes:
Behaviors::Dottable
Defined in:
lib/conceptql/graph_nodifier.rb

Constant Summary collapse

TYPES =
{
  # Conditions
  condition: :condition_occurrence,
  primary_diagnosis: :condition_occurrence,
  icd9: :condition_occurrence,
  icd10: :condition_occurrence,
  condition_type: :condition_occurrence,
  medcode: :condition_occurrence,

  # Procedures
  procedure: :procedure_occurrence,
  cpt: :procedure_occurrence,
  drg: :procedure_occurrence,
  hcpcs: :procedure_occurrence,
  icd9_procedure: :procedure_occurrence,
  procedure_cost: :procedure_cost,
  medcode_procedure: :procedure_occurrence,

  # Visits
  visit_occurrence: :visit_occurrence,
  place_of_service: :visit_occurrence,
  place_of_service_code: :visit_occurrence,

  # Person
  person: :person,
  gender: :person,
  race: :person,

  # Payer
  payer: :payer_plan_period,

  # Death
  death: :death,

  # Observation
  loinc: :observation,
  from_seer_visits: :observation,
  to_seer_visits: :observation,

  # Drug
  drug_exposure: :drug_exposure,
  rxnorm: :drug_exposure,
  drug_cost: :drug_cost,
  drug_type_concept_id: :drug_exposure,
  drug_type_concept: :drug_exposure,
  prodcode: :drug_exposure,

  # Date Operators
  date_range: :date,

  # Miscelaneous operators
  concept: :misc,
  vsac: :misc
}

Constants included from Behaviors::Dottable

Behaviors::Dottable::TYPE_COLORS

Constants inherited from Operators::Operator

Operators::Operator::COLUMNS

Instance Attribute Summary collapse

Attributes inherited from Operators::Operator

#arguments, #options, #upstreams

Instance Method Summary collapse

Methods included from Behaviors::Dottable

#graph_it, #graph_operator, #link_to, #my_count, #my_n, #operator_name, #operator_number, #reset_operator_number, #type_color

Methods inherited from Operators::Operator

#columns, #evaluate, #label, #select_it, #set_values, #sql, #stream

Methods included from Metadatable

#allows_many_upstreams, #allows_one_upstream, #argument, #category, #desc, #humanized_class_name, #inherited, #just_class_name, #option, #predominant_types, #preferred_name, #reset_categories, #to_metadata

Constructor Details

#initialize(name, values) ⇒ DotOperator

Returns a new instance of DotOperator.



65
66
67
68
# File 'lib/conceptql/graph_nodifier.rb', line 65

def initialize(name, values)
  @name = name.to_s
  super(values)
end

Instance Attribute Details

#valuesObject (readonly)

Returns the value of attribute values.



64
65
66
# File 'lib/conceptql/graph_nodifier.rb', line 64

def values
  @values
end

Instance Method Details

#display_nameObject



70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/conceptql/graph_nodifier.rb', line 70

def display_name
  @__display_name ||= begin
    output = @name.dup
    output += ": #{arguments.join(', ')}" unless arguments.empty?
    if output.length > 100
      parts = output.split
      output = parts.each_slice(output.length / parts.count).map do |subparts|
        subparts.join(' ')
      end.join ('\n')
    end
    output += "\n#{options.map{|k,v| "#{k}: #{v}"}.join("\n")}" unless options.nil? || options.empty?
    output
  end
end

#typesObject



85
86
87
88
# File 'lib/conceptql/graph_nodifier.rb', line 85

def types
  types = [TYPES[name.to_sym] || upstreams.map(&:types)].flatten.uniq
  types.empty? ? [:misc] : types
end