<commit_before># == Schema Information
#
# Table name: pacientes
#
#  id              :integer          not null, primary key
#  tipo            :string(255)
#  grado           :string(255)
#  estado          :string(255)
#  codigo_issfa    :string(255)
#  pertenece_a     :string(255)
#  unidad          :string(255)
#  parentesco      :string(255)
#  cliente_id      :integer
#  created_at      :datetime
#  updated_at      :datetime
#  n_hclinica      :integer
#  fecha_hclinica  :date
#  jefe_de_reparto :string(255)
#

class Paciente < ActiveRecord::Base
	belongs_to :cliente
	has_many :condicions
	has_many :turnos
	has_one :informacion_adicional_paciente
	accepts_nested_attributes_for :cliente, :informacion_adicional_paciente
	
	#callbacks
	before_validation :set_values

	#validation
	validates :tipo, :n_hclinica, :presence => true
  validates :cliente_id, :uniqueness =>  { :message => "Esta persona ya tiene una historia clinica" }
  validates :n_hclinica, :uniqueness =>  true

#methods
	def cliente_attributes=(attributes)
		if attributes['id'].present?
	    self.cliente = Cliente.find(attributes['id'])
	  end
	  super
	end

	def set_values
		self.fecha_hclinica = Time.now
	end

	def self.autocomplete(params)
    pacientes = Paciente.includes(:cliente).where("clientes.numero_de_identificacion like ?", "%#{params}%").references(:cliente)
    pacientes = pacientes.map do |paciente|
      {
        :id => paciente.id,
        :label => paciente.cliente.numero_de_identificacion + " / " + paciente.cliente.nombre,
        :value => paciente.cliente.numero_de_identificacion,
        :nombre => paciente.cliente.nombre,
        :cliente_id => paciente.cliente.id,
        :n_hclinica => paciente.n_hclinica
      }
    end
    pacientes 
  end<commit_msg>now find by name<commit_after># == Schema Information
#
# Table name: pacientes
#
#  id              :integer          not null, primary key
#  tipo            :string(255)
#  grado           :string(255)
#  estado          :string(255)
#  codigo_issfa    :string(255)
#  pertenece_a     :string(255)
#  unidad          :string(255)
#  parentesco      :string(255)
#  cliente_id      :integer
#  created_at      :datetime
#  updated_at      :datetime
#  n_hclinica      :integer
#  fecha_hclinica  :date
#  jefe_de_reparto :string(255)
#

class Paciente < ActiveRecord::Base
	belongs_to :cliente
	has_many :condicions
	has_many :turnos
	has_one :informacion_adicional_paciente
	accepts_nested_attributes_for :cliente, :informacion_adicional_paciente
	
	#callbacks
	before_validation :set_values

	#validation
	validates :tipo, :n_hclinica, :presence => true
  validates :cliente_id, :uniqueness =>  { :message => "Esta persona ya tiene una historia clinica" }
  validates :n_hclinica, :uniqueness =>  true

#methods
	def cliente_attributes=(attributes)
		if attributes['id'].present?
	    self.cliente = Cliente.find(attributes['id'])
	  end
	  super
	end

	def set_values
		self.fecha_hclinica = Time.now
	end

	def self.autocomplete(params)
    pacientes = Paciente.includes(:cliente).where("clientes.nombre like ?", "%#{params}%").references(:cliente)
    pacientes = pacientes.map do |paciente|
      {
        :id => paciente.id,
        :label => paciente.cliente.nombre + " / " + paciente.cliente.numero_de_identificacion,
        :value => paciente.cliente.nombre,
        :nombre => paciente.cliente.nombre,
        :cliente_id => paciente.cliente.id,
        :n_hclinica => paciente.n_hclinica
      }
    end
    pacientes 
  end
{'fraction_non_alphanumeric': 0.10703102761172786, 'fraction_numerical': 0.013663535439795047, 'mean_word_length': 3.233734939759036, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5682814', 'n_tokens_mistral': 1296, 'n_tokens_neox': 1217, 'n_words': 236}