class Iamspe::Common::Gone
Classe de textos de Evasão
Public Class Methods
Source
# File lib/iamspe/common/gone.rb 12 def initialize 13 # Inicializar TTY::Prompt 14 @prompt = TTY::Prompt.new 15 # Compilar texto de "output" 16 @out = "# Em tempo #\nPaciente acima, #{stuff}.\nEvasão?" 17 end
Inicializador
Public Instance Methods
Source
# File lib/iamspe/common/gone.rb 20 def to_s 21 Clipboard.copy(@out) 22 @out.prepend "<< Texto copiado! >>\n\n" 23 end
Converter em String, no caso sendo o texto de “output”
Private Instance Methods
Source
# File lib/iamspe/common/gone.rb 80 def active_search 81 foo = @prompt.yes?('Foi feita Busca Ativa do paciente?') do |q| 82 q.positive 'S' 83 q.negative 'n' 84 end 85 'não é localizado na unidade' unless foo 86 87 'para o qual solicito auxílio da equipe de Apoio Médico para Busca Ativa nas dependências do PS, não é encontrado na unidade' 88 end
Questionar se houve busca ativa
Source
# File lib/iamspe/common/gone.rb 42 def last_eval 43 foo = @prompt.no?('Evasão retroativa?') do |q| 44 q.positive 's' 45 q.negative 'N' 46 end 47 return '' if foo 48 49 date = @prompt.ask('Que dia foi a última avaliação?') do |q| 50 q.required true 51 end 52 time = @prompt.ask('Que horas?') do |q| 53 q.required true 54 end 55 "com último atendimento em #{parse_time(date, 56 :date)} às #{parse_time(time, 57 :time)} e sem novas reavaliações desde então" 58 end
Questionar se a evasão é retroativa
Source
# File lib/iamspe/common/gone.rb 61 def missing_labs 62 foo = @prompt.no?('Houve solicitação de exames?') do |q| 63 q.positive 's' 64 q.negative 'N' 65 end 66 return '' if foo 67 68 done = @prompt.no?('Tais exames foram colhidos?') do |q| 69 q.positive 's' 70 q.negative 'N' 71 end 72 if done 73 'para o qual houve solicitação de exames no último atendimento, sendo que paciente não colheu nenhum destes' 74 else 75 'para o qual houve solicitação de exames no último atendimento, com coleta já realizada' 76 end 77 end
Questionar se exames laboratoriais pendentes
Source
# File lib/iamspe/common/gone.rb 91 def parse_time(time, format) 92 time = Time.parse time 93 format = format == :date ? '%d/%m/%Y' : '%kh%M' 94 time.strftime(format) 95 end
Obter tempo em formato configurado para região
Source
# File lib/iamspe/common/gone.rb 28 def stuff 29 back = [] 30 # Último atendimento 31 back << last_eval 32 # Exames 33 back << missing_labs 34 # Busca ativa 35 back << active_search 36 # Compilar tudo 37 back.reject!(&:empty?) 38 back.join(', ') 39 end
Agregar dados relevantes de evasão e sobre último atendimento