omniauth-sabia 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (985) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +40 -0
  3. data/Dockerfile +13 -0
  4. data/Gemfile +64 -0
  5. data/Gemfile.lock +315 -0
  6. data/README.rdoc +261 -0
  7. data/Rakefile +7 -0
  8. data/app.docker +13 -0
  9. data/app/assets/images/calc.png +0 -0
  10. data/app/assets/images/dds.png +0 -0
  11. data/app/assets/images/diabetes.png +0 -0
  12. data/app/assets/images/disturbiosadrenais.png +0 -0
  13. data/app/assets/images/disturbioscrescimento.png +0 -0
  14. data/app/assets/images/disturbiospuberais.png +0 -0
  15. data/app/assets/images/disturbiostireoidianos.png +0 -0
  16. data/app/assets/images/emblema.png +0 -0
  17. data/app/assets/images/geral.png +0 -0
  18. data/app/assets/images/huol_logo.png +0 -0
  19. data/app/assets/images/lais_logo.png +0 -0
  20. data/app/assets/images/logo.jpg +0 -0
  21. data/app/assets/images/miscelanea.png +0 -0
  22. data/app/assets/images/obesidadedislipidemias.png +0 -0
  23. data/app/assets/images/pdf.png +0 -0
  24. data/app/assets/images/pesquisa.png +0 -0
  25. data/app/assets/images/print.png +0 -0
  26. data/app/assets/images/select2/select2-spinner.gif +0 -0
  27. data/app/assets/images/select2/select2.png +0 -0
  28. data/app/assets/images/select2/select2x2.png +0 -0
  29. data/app/assets/images/uep-ufrn.JPG +0 -0
  30. data/app/assets/images/ufrn.jpg +0 -0
  31. data/app/assets/images/ufrn_logo.png +0 -0
  32. data/app/assets/javascripts/application.js +302 -0
  33. data/app/assets/javascripts/bootstrap/bootstrap.min.js +6 -0
  34. data/app/assets/javascripts/datepicker/bootstrap-datepicker.js +1671 -0
  35. data/app/assets/javascripts/datepicker/locales/bootstrap-datepicker.pt-BR.js +15 -0
  36. data/app/assets/javascripts/fullcalendar/fullcalendar.js +11898 -0
  37. data/app/assets/javascripts/fullcalendar/locales/pt-br.js +1 -0
  38. data/app/assets/javascripts/jquery-1.10.0.min.js +6 -0
  39. data/app/assets/javascripts/jquery-ui/jquery.maskedinput.min.js +7 -0
  40. data/app/assets/javascripts/jquery.onerror.js +33 -0
  41. data/app/assets/javascripts/moment.min.js +7 -0
  42. data/app/assets/javascripts/select2/select2.min.js +23 -0
  43. data/app/assets/javascripts/select2/select2_locale_pt-BR.js +18 -0
  44. data/app/assets/stylesheets/application.css +442 -0
  45. data/app/assets/stylesheets/bootstrap/bootstrap.min.css +7 -0
  46. data/app/assets/stylesheets/bootstrap/font-awesome.min.css +4 -0
  47. data/app/assets/stylesheets/bootstrap/font/FontAwesome.otf +0 -0
  48. data/app/assets/stylesheets/bootstrap/font/fontawesome-webfont.eot +0 -0
  49. data/app/assets/stylesheets/bootstrap/font/fontawesome-webfont.svg +655 -0
  50. data/app/assets/stylesheets/bootstrap/font/fontawesome-webfont.ttf +0 -0
  51. data/app/assets/stylesheets/bootstrap/font/fontawesome-webfont.woff +0 -0
  52. data/app/assets/stylesheets/bootstrap/font/fontawesome-webfont.woff2 +0 -0
  53. data/app/assets/stylesheets/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  54. data/app/assets/stylesheets/bootstrap/fonts/glyphicons-halflings-regular.svg +229 -0
  55. data/app/assets/stylesheets/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  56. data/app/assets/stylesheets/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  57. data/app/assets/stylesheets/bootstrap/subnav.css +143 -0
  58. data/app/assets/stylesheets/datepicker/datepicker3.css +790 -0
  59. data/app/assets/stylesheets/fonts/glyphicons-halflings-regular.eot +0 -0
  60. data/app/assets/stylesheets/fonts/glyphicons-halflings-regular.svg +229 -0
  61. data/app/assets/stylesheets/fonts/glyphicons-halflings-regular.ttf +0 -0
  62. data/app/assets/stylesheets/fonts/glyphicons-halflings-regular.woff +0 -0
  63. data/app/assets/stylesheets/fonts/texgyreadventor-regular-webfont.eot +0 -0
  64. data/app/assets/stylesheets/fonts/texgyreadventor-regular-webfont.svg +1410 -0
  65. data/app/assets/stylesheets/fonts/texgyreadventor-regular-webfont.ttf +0 -0
  66. data/app/assets/stylesheets/fonts/texgyreadventor-regular-webfont.woff +0 -0
  67. data/app/assets/stylesheets/fullcalendar/fullcalendar.css +1142 -0
  68. data/app/assets/stylesheets/pagination.css +0 -0
  69. data/app/assets/stylesheets/patologias.css.scss +3 -0
  70. data/app/assets/stylesheets/pdf.css +59 -0
  71. data/app/assets/stylesheets/select2/select2.bootstrap.css +87 -0
  72. data/app/assets/stylesheets/select2/select2.css +692 -0
  73. data/app/controllers/admin/cid_controller.rb +9 -0
  74. data/app/controllers/admin/medicos_controller.rb +67 -0
  75. data/app/controllers/admin/patologias_controller.rb +47 -0
  76. data/app/controllers/admin/relatorios_controller.rb +286 -0
  77. data/app/controllers/admin/tipo_exames_controller.rb +82 -0
  78. data/app/controllers/admin/unidades_saude_controller.rb +85 -0
  79. data/app/controllers/admin_controller.rb +17 -0
  80. data/app/controllers/agendamentos_controller.rb +101 -0
  81. data/app/controllers/alunos_controller.rb +88 -0
  82. data/app/controllers/api/consultas_controller.rb +13 -0
  83. data/app/controllers/api/mensagens_controller.rb +102 -0
  84. data/app/controllers/api/pacientes_controller.rb +15 -0
  85. data/app/controllers/api/teleconsultorias_controller.rb +19 -0
  86. data/app/controllers/api_controller.rb +31 -0
  87. data/app/controllers/application_controller.rb +24 -0
  88. data/app/controllers/assistencia_social/pacientes_controller.rb +37 -0
  89. data/app/controllers/cids_controller.rb +16 -0
  90. data/app/controllers/consultas_controller.rb +227 -0
  91. data/app/controllers/conta_controller.rb +22 -0
  92. data/app/controllers/doses_controller.rb +94 -0
  93. data/app/controllers/especialidades_controller.rb +91 -0
  94. data/app/controllers/exames_controller.rb +110 -0
  95. data/app/controllers/formacoes_controller.rb +91 -0
  96. data/app/controllers/impressos_controller.rb +97 -0
  97. data/app/controllers/medicacoes_controller.rb +89 -0
  98. data/app/controllers/mensagens_controller.rb +73 -0
  99. data/app/controllers/modelos_impressos_controller.rb +75 -0
  100. data/app/controllers/modulos_controller.rb +9 -0
  101. data/app/controllers/pacientes_controller.rb +175 -0
  102. data/app/controllers/padroes_oms_controller.rb +68 -0
  103. data/app/controllers/paginas_controller.rb +6 -0
  104. data/app/controllers/painel_controller.rb +30 -0
  105. data/app/controllers/percentis_controller.rb +92 -0
  106. data/app/controllers/profissionais_controller.rb +102 -0
  107. data/app/controllers/quadros_controller.rb +95 -0
  108. data/app/controllers/reavaliacoes_controller.rb +99 -0
  109. data/app/controllers/redefinir_senha_controller.rb +34 -0
  110. data/app/controllers/respostas_controller.rb +99 -0
  111. data/app/controllers/sessions_controller.rb +49 -0
  112. data/app/controllers/supervisao/pesquisas_controller.rb +170 -0
  113. data/app/controllers/supervisao_controller.rb +9 -0
  114. data/app/controllers/teleconsultorias_controller.rb +110 -0
  115. data/app/controllers/tipo_diabetes_controller.rb +85 -0
  116. data/app/controllers/tipo_exames_controller.rb +24 -0
  117. data/app/controllers/tipos_profissionais_controller.rb +85 -0
  118. data/app/controllers/unidades_saude_controller.rb +79 -0
  119. data/app/helpers/admin/cid_helper.rb +2 -0
  120. data/app/helpers/admin/medicos_helper.rb +2 -0
  121. data/app/helpers/admin/relatorios_helper.rb +13 -0
  122. data/app/helpers/admin/tipo_exames_helper.rb +2 -0
  123. data/app/helpers/admin/unidades_saude_helper.rb +2 -0
  124. data/app/helpers/admin_helper.rb +2 -0
  125. data/app/helpers/agendamentos_helper.rb +2 -0
  126. data/app/helpers/alunos_helper.rb +2 -0
  127. data/app/helpers/api/consultas_helper.rb +2 -0
  128. data/app/helpers/api/pacientes_helper.rb +2 -0
  129. data/app/helpers/application_helper.rb +103 -0
  130. data/app/helpers/assistencia_social/pacientes_helper.rb +2 -0
  131. data/app/helpers/cids_helper.rb +2 -0
  132. data/app/helpers/consultas_helper.rb +148 -0
  133. data/app/helpers/conta_helper.rb +2 -0
  134. data/app/helpers/doses_helper.rb +2 -0
  135. data/app/helpers/especialidades_helper.rb +2 -0
  136. data/app/helpers/exames_helper.rb +2 -0
  137. data/app/helpers/formacoes_helper.rb +2 -0
  138. data/app/helpers/impressos_helper.rb +2 -0
  139. data/app/helpers/medicacoes_helper.rb +2 -0
  140. data/app/helpers/mensagens_helper.rb +2 -0
  141. data/app/helpers/modelos_impressos_helper.rb +2 -0
  142. data/app/helpers/pacientes_helper.rb +2 -0
  143. data/app/helpers/padroes_oms_helper.rb +2 -0
  144. data/app/helpers/paginas_helper.rb +2 -0
  145. data/app/helpers/painel_helper.rb +2 -0
  146. data/app/helpers/patologias_helper.rb +2 -0
  147. data/app/helpers/percentis_helper.rb +2 -0
  148. data/app/helpers/profissionais_helper.rb +10 -0
  149. data/app/helpers/quadros_helper.rb +2 -0
  150. data/app/helpers/reavaliacoes_helper.rb +2 -0
  151. data/app/helpers/respostas_helper.rb +2 -0
  152. data/app/helpers/sessions_helper.rb +2 -0
  153. data/app/helpers/supervisao/pesquisas_helper.rb +2 -0
  154. data/app/helpers/supervisao_helper.rb +2 -0
  155. data/app/helpers/teleconsultorias_helper.rb +2 -0
  156. data/app/helpers/tipo_diabetes_helper.rb +2 -0
  157. data/app/helpers/tipos_exames_helper.rb +2 -0
  158. data/app/helpers/tipos_profissionais_helper.rb +2 -0
  159. data/app/helpers/unidades_saude_helper.rb +2 -0
  160. data/app/mailers/administracao_mailer.rb +6 -0
  161. data/app/mailers/application_mailer.rb +4 -0
  162. data/app/mailers/client_side_mailer.rb +27 -0
  163. data/app/mailers/duvidas_clinicas_mailer.rb +17 -0
  164. data/app/mailers/redefinir_senha_mailer.rb +10 -0
  165. data/app/mailers/supervisao_mailer.rb +11 -0
  166. data/app/models/agendamento.rb +16 -0
  167. data/app/models/aluno.rb +5 -0
  168. data/app/models/application_record.rb +3 -0
  169. data/app/models/cid.rb +14 -0
  170. data/app/models/cidade.rb +9 -0
  171. data/app/models/concentracao.rb +3 -0
  172. data/app/models/consulta.rb +102 -0
  173. data/app/models/consulta_autosave.rb +15 -0
  174. data/app/models/diagnostico.rb +4 -0
  175. data/app/models/dica.rb +2 -0
  176. data/app/models/dose.rb +15 -0
  177. data/app/models/dose_administrada.rb +16 -0
  178. data/app/models/dose_vacina.rb +4 -0
  179. data/app/models/especialidade.rb +10 -0
  180. data/app/models/estado.rb +2 -0
  181. data/app/models/exame.rb +13 -0
  182. data/app/models/formacao.rb +10 -0
  183. data/app/models/hipotese.rb +4 -0
  184. data/app/models/impresso.rb +16 -0
  185. data/app/models/marco.rb +3 -0
  186. data/app/models/marco_atingido.rb +4 -0
  187. data/app/models/medicacao.rb +32 -0
  188. data/app/models/mensagem.rb +37 -0
  189. data/app/models/modelo_impresso.rb +120 -0
  190. data/app/models/modulo.rb +20 -0
  191. data/app/models/paciente.rb +146 -0
  192. data/app/models/paciente_hosped.rb +2 -0
  193. data/app/models/padrao_oms_dias.rb +2 -0
  194. data/app/models/padrao_oms_meses.rb +2 -0
  195. data/app/models/patologia.rb +5 -0
  196. data/app/models/percentil.rb +53 -0
  197. data/app/models/perfil.rb +28 -0
  198. data/app/models/permissao.rb +4 -0
  199. data/app/models/profissional.rb +74 -0
  200. data/app/models/quadro.rb +36 -0
  201. data/app/models/reavaliacao.rb +22 -0
  202. data/app/models/recurso.rb +4 -0
  203. data/app/models/resposta.rb +4 -0
  204. data/app/models/teleconsultoria.rb +23 -0
  205. data/app/models/tipo_diabete.rb +9 -0
  206. data/app/models/tipo_exame.rb +37 -0
  207. data/app/models/tipo_insulina.rb +9 -0
  208. data/app/models/tipo_parto.rb +9 -0
  209. data/app/models/tipo_profissional.rb +10 -0
  210. data/app/models/token.rb +37 -0
  211. data/app/models/turno.rb +10 -0
  212. data/app/models/unidade_saude.rb +17 -0
  213. data/app/models/usuario.rb +69 -0
  214. data/app/models/vacina.rb +3 -0
  215. data/app/views/admin/cid/index.html.erb +62 -0
  216. data/app/views/admin/index.html.erb +17 -0
  217. data/app/views/admin/medicos/edit.html.erb +361 -0
  218. data/app/views/admin/medicos/index.html.erb +96 -0
  219. data/app/views/admin/medicos/new.html.erb +370 -0
  220. data/app/views/admin/medicos/show.html.erb +191 -0
  221. data/app/views/admin/patologias/edit.html.erb +90 -0
  222. data/app/views/admin/patologias/index.html.erb +81 -0
  223. data/app/views/admin/patologias/new.html.erb +90 -0
  224. data/app/views/admin/patologias/show.html.erb +34 -0
  225. data/app/views/admin/relatorios/ano_municipio.pdf.erb +19 -0
  226. data/app/views/admin/relatorios/ano_patologia.pdf.erb +19 -0
  227. data/app/views/admin/relatorios/index.html.erb +3 -0
  228. data/app/views/admin/relatorios/mes_ano.pdf.erb +24 -0
  229. data/app/views/admin/relatorios/patologia_mes_ano.pdf.erb +23 -0
  230. data/app/views/admin/tipo_exames/edit.html.erb +52 -0
  231. data/app/views/admin/tipo_exames/index.html.erb +67 -0
  232. data/app/views/admin/tipo_exames/new.html.erb +52 -0
  233. data/app/views/admin/tipo_exames/transferencia.html.erb +53 -0
  234. data/app/views/admin/unidades_saude/_form.html.erb +127 -0
  235. data/app/views/admin/unidades_saude/edit.html.erb +24 -0
  236. data/app/views/admin/unidades_saude/index.html.erb +75 -0
  237. data/app/views/admin/unidades_saude/new.html.erb +24 -0
  238. data/app/views/admin/unidades_saude/show.html.erb +41 -0
  239. data/app/views/administracao_mailer/cadastrar.html.erb +16 -0
  240. data/app/views/agendamentos/_new_agendamento.html.erb +208 -0
  241. data/app/views/agendamentos/edit.html.erb +109 -0
  242. data/app/views/agendamentos/index.html.erb +205 -0
  243. data/app/views/agendamentos/new.html.erb +209 -0
  244. data/app/views/agendamentos/show.html.erb +59 -0
  245. data/app/views/alunos/_form.html.erb +17 -0
  246. data/app/views/alunos/edit.html.erb +6 -0
  247. data/app/views/alunos/index.html.erb +21 -0
  248. data/app/views/alunos/new.html.erb +5 -0
  249. data/app/views/alunos/show.html.erb +5 -0
  250. data/app/views/api/index.html.erb +452 -0
  251. data/app/views/assistencia_social/pacientes/index.html.erb +137 -0
  252. data/app/views/client_side_mailer/report_problem.html.erb +24 -0
  253. data/app/views/consultas/_dados_paciente.html.erb +116 -0
  254. data/app/views/consultas/_quadro_clinico_inicial.html.erb +294 -0
  255. data/app/views/consultas/edit.html.erb +196 -0
  256. data/app/views/consultas/edit/_avaliacao_inicial.html.erb +394 -0
  257. data/app/views/consultas/graficos.print.erb +18 -0
  258. data/app/views/consultas/index.html.erb +124 -0
  259. data/app/views/consultas/new.html.erb +452 -0
  260. data/app/views/consultas/new/_analise_dietetica.html.erb +70 -0
  261. data/app/views/consultas/new/_avaliacao_inicial.html.erb +391 -0
  262. data/app/views/consultas/new/_carregar_autosave.html.erb +374 -0
  263. data/app/views/consultas/new/_carregar_consulta_anterior.html.erb +35 -0
  264. data/app/views/consultas/new/_conclusoes.html.erb +93 -0
  265. data/app/views/consultas/new/_consultas.html.erb +24 -0
  266. data/app/views/consultas/new/_desenvolvimento_neuropsicomotor.html.erb +125 -0
  267. data/app/views/consultas/new/_exame_clinico.html.erb +126 -0
  268. data/app/views/consultas/new/_exames_periodicos.html.erb +213 -0
  269. data/app/views/consultas/new/_impressos.html.erb +324 -0
  270. data/app/views/consultas/new/_medicacoes.html.erb +18 -0
  271. data/app/views/consultas/new/_medicacoes_diabetes.html.erb +417 -0
  272. data/app/views/consultas/new/_medicacoes_doses.html.erb +10 -0
  273. data/app/views/consultas/new/_medicacoes_suplementacoes.html.erb +10 -0
  274. data/app/views/consultas/new/_vacinacao.html.erb +153 -0
  275. data/app/views/consultas/show.html.erb +104 -0
  276. data/app/views/consultas/show.pdf.erb +41 -0
  277. data/app/views/consultas/show/html/_analise_dietetica.html.erb +101 -0
  278. data/app/views/consultas/show/html/_avaliacao_inicial.html.erb +265 -0
  279. data/app/views/consultas/show/html/_conclusoes.html.erb +127 -0
  280. data/app/views/consultas/show/html/_desenvolvimento_neuropsicomotor.html.erb +79 -0
  281. data/app/views/consultas/show/html/_exame_clinico.html.erb +148 -0
  282. data/app/views/consultas/show/html/_exames_periodicos.html.erb +28 -0
  283. data/app/views/consultas/show/html/_impressos.html.erb +108 -0
  284. data/app/views/consultas/show/html/_medicacoes.html.erb +13 -0
  285. data/app/views/consultas/show/html/_medicacoes_diabetes.html.erb +145 -0
  286. data/app/views/consultas/show/html/_medicacoes_doses.html.erb +10 -0
  287. data/app/views/consultas/show/html/_medicacoes_suplementacoes.html.erb +10 -0
  288. data/app/views/consultas/show/html/_teleconsultoria.html.erb +58 -0
  289. data/app/views/consultas/show/html/_vacinacao.html.erb +70 -0
  290. data/app/views/consultas/show/pdf/_analise_dietetica.pdf.erb +42 -0
  291. data/app/views/consultas/show/pdf/_avaliacao_inicial.pdf.erb +166 -0
  292. data/app/views/consultas/show/pdf/_conclusoes.pdf.erb +28 -0
  293. data/app/views/consultas/show/pdf/_dados_paciente.pdf.erb +6 -0
  294. data/app/views/consultas/show/pdf/_desenvolvimento_neuropsicomotor.pdf.erb +51 -0
  295. data/app/views/consultas/show/pdf/_exame_clinico.pdf.erb +47 -0
  296. data/app/views/consultas/show/pdf/_exames_periodicos.pdf.erb +23 -0
  297. data/app/views/consultas/show/pdf/_medicacoes.pdf.erb +13 -0
  298. data/app/views/consultas/show/pdf/_medicacoes_diabetes.pdf.erb +86 -0
  299. data/app/views/consultas/show/pdf/_medicacoes_doses.pdf.erb +4 -0
  300. data/app/views/consultas/show/pdf/_medicacoes_suplementacoes.pdf.erb +4 -0
  301. data/app/views/consultas/show/pdf/_vacinacao.pdf.erb +74 -0
  302. data/app/views/conta/index.html.erb +264 -0
  303. data/app/views/doses/_form.html.erb +37 -0
  304. data/app/views/doses/edit.html.erb +6 -0
  305. data/app/views/doses/index.html.erb +31 -0
  306. data/app/views/doses/new.html.erb +5 -0
  307. data/app/views/doses/show.html.erb +30 -0
  308. data/app/views/duvidas_clinicas_mailer/nova_duvida.html.erb +12 -0
  309. data/app/views/duvidas_clinicas_mailer/nova_resposta.erb +12 -0
  310. data/app/views/especialidades/_form.html.erb +27 -0
  311. data/app/views/especialidades/edit.html.erb +6 -0
  312. data/app/views/especialidades/index.html.erb +21 -0
  313. data/app/views/especialidades/new.html.erb +5 -0
  314. data/app/views/especialidades/show.html.erb +7 -0
  315. data/app/views/exames/_form.html.erb +33 -0
  316. data/app/views/exames/edit.html.erb +6 -0
  317. data/app/views/exames/index.html.erb +30 -0
  318. data/app/views/exames/index.pdf.erb +31 -0
  319. data/app/views/exames/new.html.erb +5 -0
  320. data/app/views/exames/show.html.erb +25 -0
  321. data/app/views/formacoes/_form.html.erb +27 -0
  322. data/app/views/formacoes/edit.html.erb +6 -0
  323. data/app/views/formacoes/index.html.erb +21 -0
  324. data/app/views/formacoes/new.html.erb +5 -0
  325. data/app/views/formacoes/show.html.erb +8 -0
  326. data/app/views/impressos/edit.html.erb +74 -0
  327. data/app/views/impressos/index.html.erb +2 -0
  328. data/app/views/impressos/new.html.erb +72 -0
  329. data/app/views/impressos/show.html.erb +28 -0
  330. data/app/views/impressos/show.pdf.erb +3 -0
  331. data/app/views/layouts/application.html.erb +174 -0
  332. data/app/views/layouts/area_publica.html.erb +45 -0
  333. data/app/views/layouts/assistencia_social.html.erb +125 -0
  334. data/app/views/layouts/layout.pdf.erb +16 -0
  335. data/app/views/layouts/layout.print.erb +48 -0
  336. data/app/views/layouts/mailer.html.erb +8 -0
  337. data/app/views/layouts/mailer.text.erb +1 -0
  338. data/app/views/layouts/pdf-footer.html.erb +18 -0
  339. data/app/views/layouts/pdf-header.html.erb +13 -0
  340. data/app/views/layouts/relatorios/estatisticos/footer.html.erb +0 -0
  341. data/app/views/layouts/relatorios/estatisticos/header.html.erb +25 -0
  342. data/app/views/layouts/relatorios/estatisticos/layout.pdf.erb +16 -0
  343. data/app/views/layouts/sessions.html.erb +27 -0
  344. data/app/views/medicacoes/_form.html.erb +45 -0
  345. data/app/views/medicacoes/edit.html.erb +6 -0
  346. data/app/views/medicacoes/index.html.erb +35 -0
  347. data/app/views/medicacoes/new.html.erb +5 -0
  348. data/app/views/medicacoes/show.html.erb +40 -0
  349. data/app/views/mensagens/_form.html.erb +29 -0
  350. data/app/views/mensagens/edit.html.erb +6 -0
  351. data/app/views/mensagens/index.html.erb +27 -0
  352. data/app/views/mensagens/new.html.erb +5 -0
  353. data/app/views/mensagens/show.html.erb +20 -0
  354. data/app/views/modelos_impressos/_ajuda.html.erb +31 -0
  355. data/app/views/modelos_impressos/edit.html.erb +106 -0
  356. data/app/views/modelos_impressos/index.html.erb +84 -0
  357. data/app/views/modelos_impressos/new.html.erb +97 -0
  358. data/app/views/modelos_impressos/show.html.erb +36 -0
  359. data/app/views/modulos/index.html.erb +16 -0
  360. data/app/views/pacientes/_form.html.erb +136 -0
  361. data/app/views/pacientes/busca_avancada.html.erb +50 -0
  362. data/app/views/pacientes/edit.html.erb +20 -0
  363. data/app/views/pacientes/index.html.erb +149 -0
  364. data/app/views/pacientes/marcos_adiantados.pdf.erb +39 -0
  365. data/app/views/pacientes/marcos_atrasados.pdf.erb +35 -0
  366. data/app/views/pacientes/new.html.erb +20 -0
  367. data/app/views/pacientes/show.html.erb +126 -0
  368. data/app/views/pacientes/show/_agendamentos.html.erb +50 -0
  369. data/app/views/pacientes/show/_consultas.html.erb +39 -0
  370. data/app/views/pacientes/show/_dados_basicos.html.erb +166 -0
  371. data/app/views/pacientes/show/_dados_clinicos_legados.html.erb +58 -0
  372. data/app/views/pacientes/show/_exames.html.erb +31 -0
  373. data/app/views/pacientes/show/_impressos.html.erb +108 -0
  374. data/app/views/pacientes/show/_quadro_clinico_inicial.html.erb +294 -0
  375. data/app/views/pacientes/show/_reavaliacoes.html.erb +41 -0
  376. data/app/views/paginas/navegador_incompativel.html.erb +17 -0
  377. data/app/views/painel/index.html.erb +176 -0
  378. data/app/views/profissionais/_form.html.erb +65 -0
  379. data/app/views/profissionais/edit.html.erb +6 -0
  380. data/app/views/profissionais/index.html.erb +45 -0
  381. data/app/views/profissionais/new.html.erb +5 -0
  382. data/app/views/profissionais/show.html.erb +63 -0
  383. data/app/views/quadros/edit.html.erb +179 -0
  384. data/app/views/quadros/index.html.erb +37 -0
  385. data/app/views/quadros/new.html.erb +331 -0
  386. data/app/views/quadros/show.html.erb +313 -0
  387. data/app/views/quadros/show.pdf.erb +172 -0
  388. data/app/views/reavaliacoes/_form.html.erb +160 -0
  389. data/app/views/reavaliacoes/edit.html.erb +3 -0
  390. data/app/views/reavaliacoes/index.html.erb +31 -0
  391. data/app/views/reavaliacoes/new.html.erb +9 -0
  392. data/app/views/reavaliacoes/show.html.erb +107 -0
  393. data/app/views/reavaliacoes/show.pdf.erb +77 -0
  394. data/app/views/redefinir_senha/edit.html.erb +94 -0
  395. data/app/views/redefinir_senha_mailer/redefinicao.html.erb +11 -0
  396. data/app/views/respostas/_form.html.erb +29 -0
  397. data/app/views/respostas/edit.html.erb +6 -0
  398. data/app/views/respostas/index.html.erb +27 -0
  399. data/app/views/respostas/new.html.erb +5 -0
  400. data/app/views/respostas/show.html.erb +20 -0
  401. data/app/views/sessions/new.html.erb +123 -0
  402. data/app/views/supervisao/index.html.erb +10 -0
  403. data/app/views/supervisao/pesquisas/consultas.html.erb +50 -0
  404. data/app/views/supervisao/pesquisas/new.html.erb +612 -0
  405. data/app/views/supervisao/pesquisas/pacientes.html.erb +47 -0
  406. data/app/views/supervisao_mailer/cadastrar.html.erb +16 -0
  407. data/app/views/supervisao_mailer/notificar_duvida_clinica.html.erb +12 -0
  408. data/app/views/teleconsultorias/_form.html.erb +23 -0
  409. data/app/views/teleconsultorias/edit.html.erb +6 -0
  410. data/app/views/teleconsultorias/index.html.erb +34 -0
  411. data/app/views/teleconsultorias/new.html.erb +13 -0
  412. data/app/views/teleconsultorias/show.html.erb +5 -0
  413. data/app/views/tipo_diabetes/_form.html.erb +21 -0
  414. data/app/views/tipo_diabetes/edit.html.erb +6 -0
  415. data/app/views/tipo_diabetes/index.html.erb +23 -0
  416. data/app/views/tipo_diabetes/new.html.erb +5 -0
  417. data/app/views/tipo_diabetes/show.html.erb +10 -0
  418. data/app/views/tipo_exames/edit.html.erb +2 -0
  419. data/app/views/tipo_exames/index.html.erb +2 -0
  420. data/app/views/tipo_exames/new.html.erb +2 -0
  421. data/app/views/tipo_exames/show.html.erb +2 -0
  422. data/app/views/tipos_profissionais/_form.html.erb +21 -0
  423. data/app/views/tipos_profissionais/edit.html.erb +6 -0
  424. data/app/views/tipos_profissionais/index.html.erb +23 -0
  425. data/app/views/tipos_profissionais/new.html.erb +5 -0
  426. data/app/views/tipos_profissionais/show.html.erb +8 -0
  427. data/app/views/unidades_saude/_form.html.erb +21 -0
  428. data/app/views/unidades_saude/edit.html.erb +6 -0
  429. data/app/views/unidades_saude/index.html.erb +23 -0
  430. data/app/views/unidades_saude/new.html.erb +5 -0
  431. data/app/views/unidades_saude/show.html.erb +10 -0
  432. data/bin/bundle +3 -0
  433. data/bin/rails +4 -0
  434. data/bin/rake +4 -0
  435. data/bin/setup +34 -0
  436. data/bin/update +29 -0
  437. data/config.ru +4 -0
  438. data/config/application.rb +20 -0
  439. data/config/boot.rb +3 -0
  440. data/config/cable.yml +9 -0
  441. data/config/cucumber.yml +8 -0
  442. data/config/environment.rb +5 -0
  443. data/config/environments/development.rb +54 -0
  444. data/config/environments/production.rb +86 -0
  445. data/config/environments/test.rb +42 -0
  446. data/config/environments/treinamento.rb +86 -0
  447. data/config/initializers/active_record_belongs_to_required_by_default.rb +1 -0
  448. data/config/initializers/application_controller_renderer.rb +6 -0
  449. data/config/initializers/assets.rb +34 -0
  450. data/config/initializers/backtrace_silencers.rb +7 -0
  451. data/config/initializers/callback_terminator.rb +1 -0
  452. data/config/initializers/cookies_serializer.rb +5 -0
  453. data/config/initializers/factory_girl_config.rb +3 -0
  454. data/config/initializers/filter_parameter_logging.rb +4 -0
  455. data/config/initializers/inflections.rb +45 -0
  456. data/config/initializers/mime_types.rb +5 -0
  457. data/config/initializers/new_framework_defaults.rb +23 -0
  458. data/config/initializers/omniauth.rb +7 -0
  459. data/config/initializers/paper_trail.rb +1 -0
  460. data/config/initializers/secret_token.rb +9 -0
  461. data/config/initializers/session_store.rb +3 -0
  462. data/config/initializers/setup_mail.rb +9 -0
  463. data/config/initializers/simple_form.rb +165 -0
  464. data/config/initializers/simple_form_bootstrap.rb +149 -0
  465. data/config/initializers/wicked_pdf.rb +7 -0
  466. data/config/initializers/will_paginate_array_fix.rb +1 -0
  467. data/config/initializers/wrap_parameters.rb +14 -0
  468. data/config/locales/en.bootstrap.yml +17 -0
  469. data/config/locales/en.yml +23 -0
  470. data/config/locales/pt-BR.yml +217 -0
  471. data/config/locales/simple_form.en.yml +31 -0
  472. data/config/puma.rb +47 -0
  473. data/config/routes.rb +125 -0
  474. data/config/schedule.rb +24 -0
  475. data/config/spring.rb +6 -0
  476. data/data.docker +6 -0
  477. data/db/backup/config.rb +32 -0
  478. data/db/backup/models/mysql_backup.rb +84 -0
  479. data/db/migrate/20120604175906_create_pacientes.rb +34 -0
  480. data/db/migrate/20120604175958_create_especialidades.rb +9 -0
  481. data/db/migrate/20120604180437_create_tipos_profissionais.rb +9 -0
  482. data/db/migrate/20120604181253_create_profissionais.rb +24 -0
  483. data/db/migrate/20120604182754_create_agendamentos.rb +13 -0
  484. data/db/migrate/20120604185707_create_formacoes.rb +9 -0
  485. data/db/migrate/20120606191632_create_consultas.rb +57 -0
  486. data/db/migrate/20120606202227_create_usuarios.rb +13 -0
  487. data/db/migrate/20120607113309_create_quadros.rb +18 -0
  488. data/db/migrate/20120607120139_create_tipo_diabetes.rb +9 -0
  489. data/db/migrate/20120607185247_create_exames.rb +13 -0
  490. data/db/migrate/20120607185745_create_tipo_exames.rb +10 -0
  491. data/db/migrate/20120608133535_create_medicacoes.rb +15 -0
  492. data/db/migrate/20120608134843_create_doses.rb +18 -0
  493. data/db/migrate/20120608141134_create_tipo_insulinas.rb +9 -0
  494. data/db/migrate/20120618013135_create_unidades_saude.rb +12 -0
  495. data/db/migrate/20120622012230_create_reavaliacoes.rb +13 -0
  496. data/db/migrate/20120712213549_create_recursos.rb +11 -0
  497. data/db/migrate/20120712213726_create_perfis.rb +9 -0
  498. data/db/migrate/20120712213812_create_permissoes.rb +10 -0
  499. data/db/migrate/20120714015420_create_versions.rb +18 -0
  500. data/db/migrate/20120716225507_create_respostas.rb +11 -0
  501. data/db/migrate/20120717121640_create_padroes_oms_dias.rb +20 -0
  502. data/db/migrate/20120717150014_create_padroes_oms_meses.rb +22 -0
  503. data/db/migrate/20120731194538_create_profissionais_unidades_saude.rb +13 -0
  504. data/db/migrate/20120807193616_create_pacientes_hosped.rb +33 -0
  505. data/db/migrate/20120902231308_create_concentracoes.rb +10 -0
  506. data/db/migrate/20130127214243_create_modelos_receitas.rb +10 -0
  507. data/db/migrate/20130127214318_create_receitas.rb +12 -0
  508. data/db/migrate/20130329143219_create_perfis_usuarios.rb +11 -0
  509. data/db/migrate/20130530193921_add_peso_to_reavaliacoes.rb +9 -0
  510. data/db/migrate/20130531004631_add_medico_to_reavaliacoes.rb +9 -0
  511. data/db/migrate/20130531230024_add_cartao_sus_to_pacientes.rb +9 -0
  512. data/db/migrate/20130602230010_delete_modelo_from_receitas.rb +9 -0
  513. data/db/migrate/20131001190150_rename_perfil_aluno.rb +9 -0
  514. data/db/migrate/20140128162226_add_redefinirsenha_to_usuario.rb +8 -0
  515. data/db/migrate/20140204201145_add_resposta_vista_to_consulta.rb +6 -0
  516. data/db/migrate/20140218172542_insert_new_perfis.rb +11 -0
  517. data/db/migrate/20140218172554_insert_new_recurso.rb +9 -0
  518. data/db/migrate/20140218172603_insert_new_permissoes.rb +21 -0
  519. data/db/migrate/20140218205922_add_codigo_cnes_to_unidades_saude.rb +6 -0
  520. data/db/migrate/20140218212214_add_discutido_com_to_consulta.rb +5 -0
  521. data/db/migrate/20140321140331_create_modulos.rb +13 -0
  522. data/db/migrate/20140331132144_create_usuarios_modulos.rb +8 -0
  523. data/db/migrate/20140331132322_insert_new_modulo.rb +15 -0
  524. data/db/migrate/20140416105956_populate_patologias.rb +14 -0
  525. data/db/migrate/20140416112617_create_consultas_diabetes.rb +10 -0
  526. data/db/migrate/20140416113123_migrate_from_consultas_to_consultas_diabetes.rb +15 -0
  527. data/db/migrate/20140416113722_remove_columns_from_consultas.rb +9 -0
  528. data/db/migrate/20140416130543_insert_modulo_geral_to_modulos.rb +15 -0
  529. data/db/migrate/20140416131458_create_consultas_gerals.rb +9 -0
  530. data/db/migrate/20140421235340_add_modulo_id_to_agendamentos.rb +5 -0
  531. data/db/migrate/20140422001033_migrate_consultas_modulos_to_agendamentos.rb +21 -0
  532. data/db/migrate/20140422003735_add_modulo_id_to_consultas.rb +5 -0
  533. data/db/migrate/20140422004136_migrate_consultas_modulos_to_consultas.rb +23 -0
  534. data/db/migrate/20140422194237_rename_tipo_insulina_detemir.rb +15 -0
  535. data/db/migrate/20140422232713_populate_modulos_usuarios.rb +13 -0
  536. data/db/migrate/20140426192239_add_consulta_diabetes_id_to_medicacoes.rb +5 -0
  537. data/db/migrate/20140426193405_migrate_medicacoes_from_consulta_id_to_consulta_diabetes_id.rb +12 -0
  538. data/db/migrate/20140426215729_remove_consulta_id_from_medicacoes.rb +9 -0
  539. data/db/migrate/20140427001832_add_column_medicacoes_doses_to_consultas_gerals.rb +9 -0
  540. data/db/migrate/20140430030336_add_column_ordem_to_modulos.rb +9 -0
  541. data/db/migrate/20140430030622_define_ordem_modulos.rb +15 -0
  542. data/db/migrate/20140430133816_add_index_to_unidades_saude.rb +9 -0
  543. data/db/migrate/20140606171624_populate_modulos.rb +22 -0
  544. data/db/migrate/20140606174108_populate_patologias_to_modulos.rb +74 -0
  545. data/db/migrate/20140617210604_create_consultas_disturbioscrescimentos.rb +10 -0
  546. data/db/migrate/20140617210618_create_consultas_disturbiostireoidianos.rb +10 -0
  547. data/db/migrate/20140617210627_create_consultas_disturbiospuberais.rb +10 -0
  548. data/db/migrate/20140617210652_create_consultas_obesidadedislipidemias.rb +10 -0
  549. data/db/migrate/20140617210701_create_consultas_disturbiosadrenais.rb +10 -0
  550. data/db/migrate/20140617210707_create_consultas_dds.rb +10 -0
  551. data/db/migrate/20140617210716_create_consultas_miscelaneas.rb +10 -0
  552. data/db/migrate/20140618124153_rename_column_outra_forma_to_hipotese_diagnostica.rb +8 -0
  553. data/db/migrate/20140618124311_update_quadros.rb +11 -0
  554. data/db/migrate/20140618154110_add_modulo_id_to_quadro.rb +6 -0
  555. data/db/migrate/20140618154430_insert_data_into_modulo_id_at_quadros.rb +12 -0
  556. data/db/migrate/20140619125935_add_column_medicacoes_doses_to_consultas.rb +11 -0
  557. data/db/migrate/20140619132301_add_column_usuario_padrao_to_usuario.rb +5 -0
  558. data/db/migrate/20140619132434_create_alunos.rb +11 -0
  559. data/db/migrate/20140619193806_add_aluno_to_consulta.rb +6 -0
  560. data/db/migrate/20140619194153_add_unique_cpf_index_to_aluno.rb +5 -0
  561. data/db/migrate/20141219133938_create_tokens.rb +10 -0
  562. data/db/migrate/20141219133948_add_tokens.rb +12 -0
  563. data/db/migrate/20150215140918_create_consulta_autosaves.rb +12 -0
  564. data/db/migrate/20150217214135_alterar_nomes_modulos.rb +17 -0
  565. data/db/migrate/20150218114047_add_nomes_curtos_aos_modulos.rb +22 -0
  566. data/db/migrate/20150225022412_calcular_imc.rb +25 -0
  567. data/db/migrate/20150620210353_create_turnos.rb +10 -0
  568. data/db/migrate/20150620210451_add_turno_to_agendamentos.rb +5 -0
  569. data/db/migrate/20150620210759_add_turnos.rb +15 -0
  570. data/db/migrate/20150704002356_add_cnes_hosped.rb +9 -0
  571. data/db/migrate/20150704141144_add_cns_profissionais.rb +9 -0
  572. data/db/migrate/20150704213555_create_estados.rb +10 -0
  573. data/db/migrate/20150704215000_populate_estados.rb +37 -0
  574. data/db/migrate/20150704215905_create_cidades.rb +11 -0
  575. data/db/migrate/20150704215933_add_cidades_iniciais.rb +14 -0
  576. data/db/migrate/20150704230348_add_cidade_to_unidades_saude.rb +11 -0
  577. data/db/migrate/20150704230551_associate_cidades_unidades_saude.rb +14 -0
  578. data/db/migrate/20150704231859_update_dados_nova_caico.rb +11 -0
  579. data/db/migrate/20150708002211_add_codigo_estados.rb +9 -0
  580. data/db/migrate/20150708002409_populate_codigos_estados.rb +37 -0
  581. data/db/migrate/20150708003613_fix_codigos_cidades.rb +11 -0
  582. data/db/migrate/20150718191808_add_cid_ciap2_to_patologias.rb +11 -0
  583. data/db/migrate/20150718194818_add_cbo_to_profissionais.rb +5 -0
  584. data/db/migrate/20150802181337_create_cids.rb +10 -0
  585. data/db/migrate/20150802181408_populate_cids.rb +14243 -0
  586. data/db/migrate/20150802194134_create_diagnosticos.rb +10 -0
  587. data/db/migrate/20150803171312_create_hipoteses.rb +10 -0
  588. data/db/migrate/20150817002141_add_ativo_to_usuarios.rb +6 -0
  589. data/db/migrate/20150912172700_add_sono_to_consulta.rb +6 -0
  590. data/db/migrate/20150921173214_insert_assistente_social_into_perfis.rb +9 -0
  591. data/db/migrate/20151017141750_add_santa_cruz_to_cidades.rb +13 -0
  592. data/db/migrate/20151025200559_add_cabecalho_rodape_to_unidades_saude.rb +6 -0
  593. data/db/migrate/20151112003729_unificar_consultas.rb +129 -0
  594. data/db/migrate/20151112132030_associar_medicacoes_a_consultas.rb +28 -0
  595. data/db/migrate/20151121194508_add_sc_to_consultas.rb +5 -0
  596. data/db/migrate/20151121203337_add_acantose_to_consultas.rb +5 -0
  597. data/db/migrate/20151129205606_renomear_perfil_agendador.rb +15 -0
  598. data/db/migrate/20151129213429_add_recurso_painel.rb +12 -0
  599. data/db/migrate/20151129213440_add_recurso_pacientes.rb +12 -0
  600. data/db/migrate/20151129213450_add_recurso_consultas.rb +12 -0
  601. data/db/migrate/20151129214020_add_slug_to_perfis.rb +25 -0
  602. data/db/migrate/20151129215016_add_recurso_agendamentos.rb +12 -0
  603. data/db/migrate/20151129215118_conceder_permissoes.rb +40 -0
  604. data/db/migrate/20151129220444_add_recurso_realizar_consulta.rb +18 -0
  605. data/db/migrate/20151203003144_add_campos_pacientes.rb +10 -0
  606. data/db/migrate/20151207141439_unificar_quadros.rb +90 -0
  607. data/db/migrate/20151213152147_delete_campos_quadros.rb +9 -0
  608. data/db/migrate/20151230112200_add_campos_quadro_clinico_inicial.rb +93 -0
  609. data/db/migrate/20151230114801_create_tipo_partos.rb +9 -0
  610. data/db/migrate/20151230114826_add_tipos_partos.rb +11 -0
  611. data/db/migrate/20160105232035_rename_aleitamento_quadros.rb +5 -0
  612. data/db/migrate/20160207174548_create_marcos.rb +12 -0
  613. data/db/migrate/20160207175802_add_marcos_desenvolvimento.rb +54 -0
  614. data/db/migrate/20160207184107_create_marcos_atingidos.rb +12 -0
  615. data/db/migrate/20160215195926_create_vacinas.rb +10 -0
  616. data/db/migrate/20160215204936_create_doses_vacinas.rb +14 -0
  617. data/db/migrate/20160215204948_add_vacinas_doses.rb +69 -0
  618. data/db/migrate/20160221153015_create_doses_administradas.rb +12 -0
  619. data/db/migrate/20160228195102_abarcar_pediatria_geral.rb +20 -0
  620. data/db/migrate/20160228212607_delete_modulo_consultas.rb +9 -0
  621. data/db/migrate/20160228213050_delete_modulo_consultas_autosave.rb +9 -0
  622. data/db/migrate/20160312210832_add_circunferencia_abdominal.rb +5 -0
  623. data/db/migrate/20160312220545_create_percentis.rb +14 -0
  624. data/db/migrate/20160312220619_popular_percentis_ca.rb +184 -0
  625. data/db/migrate/20160318143102_add_suplementacoes_to_consultas.rb +5 -0
  626. data/db/migrate/20160318200501_rename_dentes.rb +9 -0
  627. data/db/migrate/20160325001139_remove_modulo_id_from_agendamentos.rb +9 -0
  628. data/db/migrate/20160328155220_create_dicas.rb +10 -0
  629. data/db/migrate/20160328155247_add_dica_circunferencia_abdominal.rb +11 -0
  630. data/db/migrate/20160410194636_popular_percentis_estatura.rb +3387 -0
  631. data/db/migrate/20160417162558_rename_receitas_to_impressos.rb +9 -0
  632. data/db/migrate/20160417171627_rename_modelos_receitas_to_modelos_impressos.rb +9 -0
  633. data/db/migrate/20160421162612_redefinir_fragmentos.rb +40 -0
  634. data/db/migrate/20160430154000_add_paciente_to_impressos.rb +9 -0
  635. data/db/migrate/20160430200534_associar_impressos_to_pacientes.rb +18 -0
  636. data/db/migrate/20160430200657_remover_coluna_consulta_em_impressos.rb +9 -0
  637. data/db/migrate/20160501230953_add_profissional_to_impressos.rb +9 -0
  638. data/db/migrate/20160503143335_alterar_especialidades.rb +42 -0
  639. data/db/migrate/20160503144422_create_teleconsultorias.rb +12 -0
  640. data/db/migrate/20160503150737_create_mensagens.rb +11 -0
  641. data/db/migrate/20160505165932_add_fields_to_tokens.rb +9 -0
  642. data/db/migrate/20160505170629_gerar_tokens_para_usuarios.rb +13 -0
  643. data/db/migrate/20160605215842_add_arquivo_to_mensagens.rb +11 -0
  644. data/db/migrate/20160730182728_add_paciente_consulta_to_teleconsultorias.rb +6 -0
  645. data/db/migrate/20160813135057_add_campos_vacinacao_desenvolvimento_to_consultas.rb +7 -0
  646. data/db/migrate/20160813141145_adaptar_novos_campos_consultas.rb +54 -0
  647. data/db/migrate/20160813142420_remover_campos_obsoletos_consultas.rb +11 -0
  648. data/db/migrate/20160813160917_renomear_campos_consultas.rb +11 -0
  649. data/db/migrate/20170524123533_add_foreign_keys_to_agendamentos.rb +15 -0
  650. data/db/migrate/20170524124120_add_foreign_keys_to_cidades.rb +9 -0
  651. data/db/migrate/20170524124417_add_foreign_keys_to_consulta_autosaves.rb +11 -0
  652. data/db/migrate/20170524124536_add_foreign_keys_to_consultas.rb +23 -0
  653. data/db/migrate/20170524131536_add_foreign_keys_to_diagnosticos.rb +15 -0
  654. data/db/migrate/20170524131856_add_foreign_keys_to_doses.rb +13 -0
  655. data/db/migrate/20170524132008_add_foreign_keys_to_doses_administradas.rb +11 -0
  656. data/db/migrate/20170524132049_add_foreign_keys_to_doses_vacinas.rb +9 -0
  657. data/db/migrate/20170524132140_add_foreign_keys_to_hipoteses.rb +11 -0
  658. data/db/migrate/20170524132219_add_foreign_keys_to_impressos.rb +11 -0
  659. data/db/migrate/20170524132307_add_foreign_keys_to_marcos_atingidos.rb +11 -0
  660. data/db/migrate/20170524132348_add_foreign_keys_to_medicacoes.rb +13 -0
  661. data/db/migrate/20170524132845_add_foreign_keys_to_patologias.rb +9 -0
  662. data/db/migrate/20170524132945_add_foreign_keys_to_perfis_usuarios.rb +11 -0
  663. data/db/migrate/20170524133040_add_foreign_keys_to_permissoes.rb +15 -0
  664. data/db/migrate/20170525102348_add_foreign_keys_to_profissionais.rb +11 -0
  665. data/db/migrate/20170525102825_add_foreign_keys_to_profissionais_unidades_saude.rb +15 -0
  666. data/db/migrate/20170525103012_add_foreign_keys_to_quadros.rb +13 -0
  667. data/db/migrate/20170525103102_add_foreign_keys_to_reavaliacoes.rb +15 -0
  668. data/db/migrate/20170525103414_add_foreign_keys_to_respostas.rb +11 -0
  669. data/db/migrate/20170525104429_add_foreign_keys_to_tipo_exames.rb +9 -0
  670. data/db/migrate/20170525104602_add_foreign_keys_to_tokens.rb +9 -0
  671. data/db/migrate/20170525104642_add_foreign_keys_to_unidades_saude.rb +9 -0
  672. data/db/migrate/20170529151633_add_not_null_to_agendamentos.rb +13 -0
  673. data/db/migrate/20170529155113_add_not_null_to_alunos.rb +15 -0
  674. data/db/migrate/20170529155217_add_not_null_to_cidades.rb +13 -0
  675. data/db/migrate/20170529155308_add_not_null_to_cids.rb +11 -0
  676. data/db/migrate/20170529155444_add_not_null_to_concentracoes.rb +11 -0
  677. data/db/migrate/20170529155542_add_not_null_to_consulta_autosaves.rb +13 -0
  678. data/db/migrate/20170529155705_add_not_null_to_diagnosticos.rb +9 -0
  679. data/db/migrate/20170529155912_add_not_null_to_dicas.rb +11 -0
  680. data/db/migrate/20170529160035_add_not_null_to_doses.rb +27 -0
  681. data/db/migrate/20170529160338_add_not_null_to_doses_administradas.rb +15 -0
  682. data/db/migrate/20170529160609_add_not_null_to_doses_vacinas.rb +13 -0
  683. data/db/migrate/20170529160753_add_not_null_to_especialidades.rb +9 -0
  684. data/db/migrate/20170529160838_add_not_null_to_estados.rb +11 -0
  685. data/db/migrate/20170529160929_add_not_null_to_exames.rb +17 -0
  686. data/db/migrate/20170529161048_add_not_null_to_feedbacks.rb +15 -0
  687. data/db/migrate/20170529161138_add_not_null_to_formacoes.rb +9 -0
  688. data/db/migrate/20170529161221_add_not_null_to_hipoteses.rb +11 -0
  689. data/db/migrate/20170529161308_add_not_null_to_impressos.rb +13 -0
  690. data/db/migrate/20170529161428_add_not_null_to_marcos.rb +15 -0
  691. data/db/migrate/20170529161535_add_not_null_to_marcos_atingidos.rb +15 -0
  692. data/db/migrate/20170529161637_add_not_null_to_medicacoes.rb +17 -0
  693. data/db/migrate/20170529161823_add_not_null_to_mensagens.rb +23 -0
  694. data/db/migrate/20170529161946_add_not_null_to_modelos_impressos.rb +11 -0
  695. data/db/migrate/20170529162037_add_not_null_to_modulos.rb +15 -0
  696. data/db/migrate/20170529162137_add_not_null_to_modulos_usuarios.rb +11 -0
  697. data/db/migrate/20170529162228_add_not_null_to_pacientes.rb +11 -0
  698. data/db/migrate/20170529162429_add_not_null_to_padroes_oms_dias.rb +31 -0
  699. data/db/migrate/20170529162642_add_not_null_to_padroes_oms_meses.rb +33 -0
  700. data/db/migrate/20170529162832_add_not_null_to_patologias.rb +11 -0
  701. data/db/migrate/20170529162918_add_not_null_to_percentis.rb +19 -0
  702. data/db/migrate/20170529163048_add_not_null_to_perfis.rb +11 -0
  703. data/db/migrate/20170529163141_add_not_null_to_perfis_usuarios.rb +11 -0
  704. data/db/migrate/20170529163238_add_not_null_to_permissoes.rb +11 -0
  705. data/db/migrate/20170529163321_add_not_null_to_profissionais.rb +35 -0
  706. data/db/migrate/20170529163541_add_not_null_to_profissionais_unidade_saude.rb +11 -0
  707. data/db/migrate/20170529163707_add_not_null_to_reavaliacoes.rb +15 -0
  708. data/db/migrate/20170529163847_add_not_null_to_recursos.rb +13 -0
  709. data/db/migrate/20170529163954_add_not_null_to_respostas.rb +13 -0
  710. data/db/migrate/20170529164223_add_not_null_to_tipo_diabetes.rb +9 -0
  711. data/db/migrate/20170529164310_add_not_null_to_tipo_exames.rb +11 -0
  712. data/db/migrate/20170529164405_add_not_null_to_tipo_insulinas.rb +9 -0
  713. data/db/migrate/20170529164448_add_not_null_to_tipo_partos.rb +9 -0
  714. data/db/migrate/20170529164527_add_not_null_to_tipos_profissionais.rb +9 -0
  715. data/db/migrate/20170529164641_add_not_null_to_tokens.rb +9 -0
  716. data/db/migrate/20170529164726_add_not_null_to_turnos.rb +11 -0
  717. data/db/migrate/20170529164807_add_not_null_to_unidades_saude.rb +13 -0
  718. data/db/migrate/20170529164903_add_not_null_to_usuarios.rb +21 -0
  719. data/db/migrate/20170529165019_add_not_null_to_vacinas.rb +11 -0
  720. data/db/migrate/20170606130311_drop_teleconsultorias_table.rb +14 -0
  721. data/db/migrate/20170606131217_create_teleconsultorias_table.rb +18 -0
  722. data/db/migrate/20170608112630_insert_new_recurso_teleconsultoria.rb +9 -0
  723. data/db/migrate/20170608112758_insert_new_permissao_teleconsultoria.rb +19 -0
  724. data/db/pacientes_hosped.sql +3795 -0
  725. data/db/padroes_oms_dias.sql +7430 -0
  726. data/db/padroes_oms_meses.sql +1159 -0
  727. data/db/schema.rb +834 -0
  728. data/db/seeds.rb +137 -0
  729. data/db/seeds/.DS_Store +0 -0
  730. data/db/seeds/agendamentos.json +37587 -0
  731. data/db/seeds/agendamentos_import.rb +31 -0
  732. data/db/seeds/correcao_horario.rb +32 -0
  733. data/doc/README_FOR_APP +2 -0
  734. data/doc/dicionario.odt +0 -0
  735. data/doc/erd.pdf +0 -0
  736. data/docker-compose.yml +25 -0
  737. data/features/paciente.feature +17 -0
  738. data/features/step_definitions/.gitkeep +0 -0
  739. data/features/step_definitions/generic_steps.rb +16 -0
  740. data/features/step_definitions/paciente_steps.rb +33 -0
  741. data/features/support/env.rb +59 -0
  742. data/features/support/factories.rb +27 -0
  743. data/features/support/seed.rb +131 -0
  744. data/lib/api_authentication.rb +20 -0
  745. data/lib/assets/.gitkeep +0 -0
  746. data/lib/authentication.rb +50 -0
  747. data/lib/calendario_agendamentos.rb +34 -0
  748. data/lib/sql_builder.rb +103 -0
  749. data/lib/tasks/.gitkeep +0 -0
  750. data/lib/tasks/agendamentos_correcao.rake +11 -0
  751. data/lib/tasks/agendamentos_import.rake +11 -0
  752. data/lib/tasks/cucumber.rake +76 -0
  753. data/lib/tasks/db.rake +24 -0
  754. data/lib/tasks/reload.rake +45 -0
  755. data/lib/templates/erb/scaffold/_form.html.erb +13 -0
  756. data/public/404.html +27 -0
  757. data/public/422.html +26 -0
  758. data/public/500.html +26 -0
  759. data/public/favicon.ico +0 -0
  760. data/public/robots.txt +5 -0
  761. data/script/cucumber +10 -0
  762. data/script/rails +6 -0
  763. data/script/rails.prej +2 -0
  764. data/test/fixtures/.gitkeep +0 -0
  765. data/test/fixtures/agendamentos.yml +11 -0
  766. data/test/fixtures/alunos.yml +11 -0
  767. data/test/fixtures/analises_dieteticas.yml +13 -0
  768. data/test/fixtures/cidades.yml +11 -0
  769. data/test/fixtures/cids.yml +9 -0
  770. data/test/fixtures/concentracoes.yml +9 -0
  771. data/test/fixtures/consulta_autosaves.yml +11 -0
  772. data/test/fixtures/consultas.yml +23 -0
  773. data/test/fixtures/consultas_dds.yml +11 -0
  774. data/test/fixtures/consultas_diabetes.yml +11 -0
  775. data/test/fixtures/consultas_disturbiosadrenais.yml +11 -0
  776. data/test/fixtures/consultas_disturbioscrescimentos.yml +11 -0
  777. data/test/fixtures/consultas_disturbiospuberais.yml +11 -0
  778. data/test/fixtures/consultas_disturbiostireoidianos.yml +11 -0
  779. data/test/fixtures/consultas_gerals.yml +11 -0
  780. data/test/fixtures/consultas_miscelaneas.yml +11 -0
  781. data/test/fixtures/consultas_obesidadedislipidemias.yml +11 -0
  782. data/test/fixtures/diagnosticos.yml +9 -0
  783. data/test/fixtures/dicas.yml +9 -0
  784. data/test/fixtures/doses.yml +15 -0
  785. data/test/fixtures/doses_administradas.yml +13 -0
  786. data/test/fixtures/doses_vacinas.yml +13 -0
  787. data/test/fixtures/especialidades.yml +7 -0
  788. data/test/fixtures/estados.yml +9 -0
  789. data/test/fixtures/exames.yml +15 -0
  790. data/test/fixtures/feedbacks.yml +13 -0
  791. data/test/fixtures/formacoes.yml +7 -0
  792. data/test/fixtures/hipoteses.yml +9 -0
  793. data/test/fixtures/impresso.yml +11 -0
  794. data/test/fixtures/marcos.yml +13 -0
  795. data/test/fixtures/marcos_atingidos.yml +11 -0
  796. data/test/fixtures/medicacoes.yml +19 -0
  797. data/test/fixtures/mensagens.yml +11 -0
  798. data/test/fixtures/modelos_impressos.yml +9 -0
  799. data/test/fixtures/modulos.yml +11 -0
  800. data/test/fixtures/pacientes.yml +37 -0
  801. data/test/fixtures/pacientes_hosped.yml +11 -0
  802. data/test/fixtures/padroes_oms_dias.yml +29 -0
  803. data/test/fixtures/padroes_oms_meses.yml +33 -0
  804. data/test/fixtures/patologia.yml +11 -0
  805. data/test/fixtures/percentis.yml +15 -0
  806. data/test/fixtures/perfis.yml +7 -0
  807. data/test/fixtures/permissoes.yml +9 -0
  808. data/test/fixtures/profissionais.yml +29 -0
  809. data/test/fixtures/quadros.yml +21 -0
  810. data/test/fixtures/reavaliacoes.yml +15 -0
  811. data/test/fixtures/recursos.yml +11 -0
  812. data/test/fixtures/respostas.yml +11 -0
  813. data/test/fixtures/teleconsultorias.yml +13 -0
  814. data/test/fixtures/tipo_diabetes.yml +7 -0
  815. data/test/fixtures/tipo_exames.yml +7 -0
  816. data/test/fixtures/tipo_insulinas.yml +7 -0
  817. data/test/fixtures/tipo_partos.yml +7 -0
  818. data/test/fixtures/tipos_profissionais.yml +7 -0
  819. data/test/fixtures/tokens.yml +9 -0
  820. data/test/fixtures/turnos.yml +9 -0
  821. data/test/fixtures/unidades_saude.yml +7 -0
  822. data/test/fixtures/usuarios.yml +11 -0
  823. data/test/fixtures/vacinas.yml +7 -0
  824. data/test/functional/.gitkeep +0 -0
  825. data/test/functional/admin/cid_controller_test.rb +9 -0
  826. data/test/functional/admin/medicos_controller_test.rb +24 -0
  827. data/test/functional/admin/relatorios_controller_test.rb +9 -0
  828. data/test/functional/admin/tipo_exames_controller_test.rb +7 -0
  829. data/test/functional/admin/unidades_saude_controller_test.rb +7 -0
  830. data/test/functional/admin_controller_test.rb +9 -0
  831. data/test/functional/administracao_mailer_test.rb +12 -0
  832. data/test/functional/agendamentos_controller_test.rb +49 -0
  833. data/test/functional/alunos_controller_test.rb +49 -0
  834. data/test/functional/analise_dieteticas_controller_test.rb +7 -0
  835. data/test/functional/api/consultas_controller_test.rb +7 -0
  836. data/test/functional/api/pacientes_controller_test.rb +7 -0
  837. data/test/functional/assistencia_social/pacientes_controller_test.rb +9 -0
  838. data/test/functional/cids_controller_test.rb +7 -0
  839. data/test/functional/client_side_mailer_test.rb +7 -0
  840. data/test/functional/consultas_controller_test.rb +49 -0
  841. data/test/functional/conta_controller_test.rb +7 -0
  842. data/test/functional/doses_controller_test.rb +49 -0
  843. data/test/functional/duvidas_clinicas_mailer_test.rb +7 -0
  844. data/test/functional/especialidades_controller_test.rb +49 -0
  845. data/test/functional/exames_controller_test.rb +49 -0
  846. data/test/functional/feedbacks_controller_test.rb +49 -0
  847. data/test/functional/formacoes_controller_test.rb +49 -0
  848. data/test/functional/impressos_controller_test.rb +14 -0
  849. data/test/functional/medicacoes_controller_test.rb +49 -0
  850. data/test/functional/mensagens_controller_test.rb +49 -0
  851. data/test/functional/modelos_impressos_controller_test.rb +19 -0
  852. data/test/functional/pacientes_controller_test.rb +49 -0
  853. data/test/functional/padroes_oms_controller_test.rb +7 -0
  854. data/test/functional/paginas_controller_test.rb +9 -0
  855. data/test/functional/painel_controller_test.rb +9 -0
  856. data/test/functional/patologias_controller_test.rb +7 -0
  857. data/test/functional/percentis_controller_test.rb +9 -0
  858. data/test/functional/profissionais_controller_test.rb +49 -0
  859. data/test/functional/quadros_controller_test.rb +49 -0
  860. data/test/functional/reavaliacoes_controller_test.rb +49 -0
  861. data/test/functional/respostas_controller_test.rb +49 -0
  862. data/test/functional/sessions_controller_test.rb +9 -0
  863. data/test/functional/supervisao/pesquisas_controller_test.rb +14 -0
  864. data/test/functional/supervisao_controller_test.rb +9 -0
  865. data/test/functional/supervisao_mailer_test.rb +7 -0
  866. data/test/functional/teleconsultorias_controller_test.rb +49 -0
  867. data/test/functional/tipo_diabetes_controller_test.rb +49 -0
  868. data/test/functional/tipos_exames_controller_test.rb +24 -0
  869. data/test/functional/tipos_profissionais_controller_test.rb +49 -0
  870. data/test/functional/unidades_saude_controller_test.rb +49 -0
  871. data/test/integration/.gitkeep +0 -0
  872. data/test/performance/browsing_test.rb +12 -0
  873. data/test/test_helper.rb +13 -0
  874. data/test/unit/.gitkeep +0 -0
  875. data/test/unit/agendamento_test.rb +7 -0
  876. data/test/unit/aluno_test.rb +7 -0
  877. data/test/unit/analise_dietetica_test.rb +7 -0
  878. data/test/unit/cid_test.rb +7 -0
  879. data/test/unit/cidade_test.rb +7 -0
  880. data/test/unit/concentracao_test.rb +7 -0
  881. data/test/unit/consulta_autosave_test.rb +7 -0
  882. data/test/unit/consulta_test.rb +7 -0
  883. data/test/unit/consultas_dds_test.rb +7 -0
  884. data/test/unit/consultas_diabetes_test.rb +7 -0
  885. data/test/unit/consultas_disturbiosadrenais_test.rb +7 -0
  886. data/test/unit/consultas_disturbioscrescimento_test.rb +7 -0
  887. data/test/unit/consultas_disturbiospuberais_test.rb +7 -0
  888. data/test/unit/consultas_disturbiostireoidianos_test.rb +7 -0
  889. data/test/unit/consultas_geral_test.rb +7 -0
  890. data/test/unit/consultas_miscelanea_test.rb +7 -0
  891. data/test/unit/consultas_obesidadedislipidemias_test.rb +7 -0
  892. data/test/unit/diagnostico_test.rb +7 -0
  893. data/test/unit/dica_test.rb +7 -0
  894. data/test/unit/dose_administrada_test.rb +7 -0
  895. data/test/unit/dose_test.rb +7 -0
  896. data/test/unit/dose_vacina_test.rb +7 -0
  897. data/test/unit/especialidade_test.rb +7 -0
  898. data/test/unit/estado_test.rb +7 -0
  899. data/test/unit/exame_test.rb +7 -0
  900. data/test/unit/feedback_test.rb +7 -0
  901. data/test/unit/formacao_test.rb +7 -0
  902. data/test/unit/helpers/admin/cid_helper_test.rb +4 -0
  903. data/test/unit/helpers/admin/medicos_helper_test.rb +4 -0
  904. data/test/unit/helpers/admin/relatorios_helper_test.rb +4 -0
  905. data/test/unit/helpers/admin/tipo_exames_helper_test.rb +4 -0
  906. data/test/unit/helpers/admin/unidades_saude_helper_test.rb +4 -0
  907. data/test/unit/helpers/admin_helper_test.rb +4 -0
  908. data/test/unit/helpers/agendamentos_helper_test.rb +4 -0
  909. data/test/unit/helpers/alunos_helper_test.rb +4 -0
  910. data/test/unit/helpers/analise_dieteticas_helper_test.rb +4 -0
  911. data/test/unit/helpers/api/consultas_helper_test.rb +4 -0
  912. data/test/unit/helpers/api/pacientes_helper_test.rb +4 -0
  913. data/test/unit/helpers/assistencia_social/pacientes_helper_test.rb +4 -0
  914. data/test/unit/helpers/cids_helper_test.rb +4 -0
  915. data/test/unit/helpers/consultas_helper_test.rb +4 -0
  916. data/test/unit/helpers/conta_helper_test.rb +4 -0
  917. data/test/unit/helpers/doses_helper_test.rb +4 -0
  918. data/test/unit/helpers/especialidades_helper_test.rb +4 -0
  919. data/test/unit/helpers/exames_helper_test.rb +4 -0
  920. data/test/unit/helpers/feedbacks_helper_test.rb +4 -0
  921. data/test/unit/helpers/formacoes_helper_test.rb +4 -0
  922. data/test/unit/helpers/impressos_helper_test.rb +4 -0
  923. data/test/unit/helpers/medicacoes_helper_test.rb +4 -0
  924. data/test/unit/helpers/mensagens_helper_test.rb +4 -0
  925. data/test/unit/helpers/modelos_impressos_helper_test.rb +4 -0
  926. data/test/unit/helpers/pacientes_helper_test.rb +4 -0
  927. data/test/unit/helpers/padroes_oms_helper_test.rb +4 -0
  928. data/test/unit/helpers/paginas_helper_test.rb +4 -0
  929. data/test/unit/helpers/painel_helper_test.rb +4 -0
  930. data/test/unit/helpers/patologias_helper_test.rb +4 -0
  931. data/test/unit/helpers/percentis_helper_test.rb +4 -0
  932. data/test/unit/helpers/profissionais_helper_test.rb +4 -0
  933. data/test/unit/helpers/quadros_helper_test.rb +4 -0
  934. data/test/unit/helpers/reavaliacoes_helper_test.rb +4 -0
  935. data/test/unit/helpers/respostas_helper_test.rb +4 -0
  936. data/test/unit/helpers/sessions_helper_test.rb +4 -0
  937. data/test/unit/helpers/supervisao/pesquisas_helper_test.rb +4 -0
  938. data/test/unit/helpers/supervisao_helper_test.rb +4 -0
  939. data/test/unit/helpers/teleconsultorias_helper_test.rb +4 -0
  940. data/test/unit/helpers/tipo_diabetes_helper_test.rb +4 -0
  941. data/test/unit/helpers/tipos_exames_helper_test.rb +4 -0
  942. data/test/unit/helpers/tipos_profissionais_helper_test.rb +4 -0
  943. data/test/unit/helpers/unidades_saude_helper_test.rb +4 -0
  944. data/test/unit/hipotese_test.rb +7 -0
  945. data/test/unit/impresso_test.rb +7 -0
  946. data/test/unit/marco_atingido_test.rb +7 -0
  947. data/test/unit/marco_test.rb +7 -0
  948. data/test/unit/medicacao_test.rb +7 -0
  949. data/test/unit/mensagem_test.rb +7 -0
  950. data/test/unit/modelo_impresso_test.rb +7 -0
  951. data/test/unit/modulo_test.rb +7 -0
  952. data/test/unit/paciente_hosped_test.rb +7 -0
  953. data/test/unit/paciente_test.rb +7 -0
  954. data/test/unit/padrao_oms_dias_test.rb +7 -0
  955. data/test/unit/padrao_oms_meses_test.rb +7 -0
  956. data/test/unit/patologia_test.rb +7 -0
  957. data/test/unit/percentil_test.rb +7 -0
  958. data/test/unit/perfil_test.rb +7 -0
  959. data/test/unit/permissao_test.rb +7 -0
  960. data/test/unit/profissional_test.rb +7 -0
  961. data/test/unit/quadro_test.rb +7 -0
  962. data/test/unit/reavaliacao_test.rb +7 -0
  963. data/test/unit/recurso_test.rb +7 -0
  964. data/test/unit/resposta_test.rb +7 -0
  965. data/test/unit/teleconsultoria_test.rb +7 -0
  966. data/test/unit/tipo_diabete_test.rb +7 -0
  967. data/test/unit/tipo_exame_test.rb +7 -0
  968. data/test/unit/tipo_insulina_test.rb +7 -0
  969. data/test/unit/tipo_parto_test.rb +7 -0
  970. data/test/unit/tipo_profissional_test.rb +7 -0
  971. data/test/unit/token_test.rb +7 -0
  972. data/test/unit/turno_test.rb +7 -0
  973. data/test/unit/unidade_saude_test.rb +7 -0
  974. data/test/unit/usuario_test.rb +7 -0
  975. data/test/unit/vacina_test.rb +7 -0
  976. data/vendor/assets/javascripts/.gitkeep +0 -0
  977. data/vendor/assets/stylesheets/.gitkeep +0 -0
  978. data/vendor/plugins/.gitkeep +0 -0
  979. data/vendor/plugins/omniauth-sabia/Gemfile +4 -0
  980. data/vendor/plugins/omniauth-sabia/README.md +26 -0
  981. data/vendor/plugins/omniauth-sabia/lib/omniauth-sabia.rb +2 -0
  982. data/vendor/plugins/omniauth-sabia/lib/omniauth-sabia/version.rb +5 -0
  983. data/vendor/plugins/omniauth-sabia/lib/omniauth/strategies/sabia.rb +50 -0
  984. data/vendor/plugins/omniauth-sabia/omniauth-sabia.gemspec +20 -0
  985. metadata +1066 -0
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8
2
+
3
+ class Impresso < ApplicationRecord
4
+ has_paper_trail
5
+
6
+ belongs_to :paciente
7
+ belongs_to :profissional
8
+
9
+ def self.generate_by_modelo(paciente, modelo)
10
+ impresso = Impresso.new
11
+ impresso.titulo = modelo.titulo
12
+ impresso.corpo = modelo.compilar_corpo(paciente, true)
13
+ return impresso
14
+ end
15
+
16
+ end
@@ -0,0 +1,3 @@
1
+ class Marco < ApplicationRecord
2
+ has_many :marcos_atingidos
3
+ end
@@ -0,0 +1,4 @@
1
+ class MarcoAtingido < ApplicationRecord
2
+ belongs_to :consulta
3
+ belongs_to :marco
4
+ end
@@ -0,0 +1,32 @@
1
+ class Medicacao < ApplicationRecord
2
+ has_paper_trail
3
+
4
+ has_many :doses
5
+ belongs_to :consulta
6
+
7
+ accepts_nested_attributes_for :doses, :allow_destroy => true
8
+
9
+ def total
10
+ total = 0
11
+ self.doses.each do |dose|
12
+ total += dose.total
13
+ end
14
+ return total
15
+ end
16
+
17
+ def dose_total_diaria
18
+ if self.consulta.peso
19
+ return self.total / self.consulta.peso
20
+ end
21
+ return 0
22
+ end
23
+
24
+ # Fator de sensibilidade
25
+ def fs
26
+ if self.total != 0
27
+ return 1800 / self.total
28
+ end
29
+ return 0
30
+ end
31
+
32
+ end
@@ -0,0 +1,37 @@
1
+ # encoding: utf-8
2
+
3
+ class Mensagem < ApplicationRecord
4
+ belongs_to :teleconsultoria
5
+ belongs_to :autor, :class_name => 'Profissional'
6
+
7
+ has_attached_file :arquivo,
8
+ :url => "/system/:class/:attachment/:id/:basename.:extension",
9
+ :path => ":rails_root/public/system/:class/:attachment/:id/:basename.:extension"
10
+
11
+ before_create :set_tipo, :atribuir_teleconsultor
12
+
13
+ validates :autor_id, :teleconsultoria_id, presence: true
14
+ validates :corpo, presence: true, if: "tipo == 'texto'"
15
+ validates :arquivo, presence: true, if: "tipo == 'imagem' or tipo == 'audio'"
16
+ validate :verificar_responsabilidade
17
+
18
+ private
19
+
20
+ def verificar_responsabilidade
21
+ if self.teleconsultoria.teleconsultor.present? and self.autor.usuario.perfil?('supervisor') and self.teleconsultoria.teleconsultor.id != self.autor.id
22
+ errors.add(:autor_id, "Você não é o teleconsultor dessa teleconsultoria")
23
+ end
24
+ end
25
+
26
+ def atribuir_teleconsultor
27
+ if self.teleconsultoria.teleconsultor.nil? and self.autor.usuario.perfil?('supervisor')
28
+ self.teleconsultoria.update_attributes(:teleconsultor_id => self.autor.id, :situacao => Teleconsultoria::SITUACOES[:em_atendimento])
29
+ end
30
+ end
31
+
32
+ def set_tipo
33
+ if self.tipo.blank?
34
+ self.tipo = 'texto'
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,120 @@
1
+ # encoding: utf-8
2
+
3
+ class ModeloImpresso < ApplicationRecord
4
+ validate :verificar_fragmentos
5
+
6
+ FRAGMENTOS = {
7
+ "%paciente_registro%" => "registro do HOSPED",
8
+ "%paciente_nome%" => "nome do paciente",
9
+ "%paciente_sexo%" => "sexo do paciente",
10
+ "%paciente_rg%" => "RG do paciente",
11
+ "%paciente_cpf%" => "CPF do paciente",
12
+ "%paciente_telefone%" => "telefone do paciente",
13
+ "%paciente_celular%" => "celular do paciente",
14
+ "%paciente_data_nascimento%" => "data de nascimento do paciente",
15
+ "%paciente_endereco%" => "endereço do paciente",
16
+ "%paciente_numero%" => "número residencial do paciente",
17
+ "%paciente_complemento%" => "complemento residencial do paciente",
18
+ "%paciente_cidade%" => "cidade do paciente",
19
+ "%paciente_cep%" => "CEP do paciente",
20
+ "%paciente_nome_pai%" => "nome do pai do paciente",
21
+ "%paciente_nome_mae%" => "nome da mãe do paciente",
22
+ "%paciente_numero_cartao_sus%" => "número do cartão do SUS",
23
+ "%consulta_peso%" => "peso",
24
+ "%consulta_estatura%" => "estatura",
25
+ "%consulta_imc%" => "IMC",
26
+ "%consulta_velocidade_crescimento%" => "velocidade de crescimento",
27
+ "%consulta_superficie_corporea%" => "superficie corpórea",
28
+ "%consulta_circunferencia_abdominal%" => "circunferência abdominal",
29
+ "%consulta_pic%" => "período inter-consultas",
30
+ "%consulta_queixa_atual_detalhamento%" => "queixa atual/detalhamento",
31
+ "%consulta_atividades_fisicas%" => "atividades físicas",
32
+ "%consulta_emocional_psicossocial_rendimento_escolar%" => "emocional/psicossocial/rendimento escolar",
33
+ "%consulta_sono%" => "sono",
34
+ "%consulta_cafe_manha_analise_dietetica%" => "café da manhã",
35
+ "%consulta_lanche_manha_analise_dietetica%" => "lanche da manhã",
36
+ "%consulta_almoco_analise_dietetica%" => "almoço",
37
+ "%consulta_lanche_tarde_analise_dietetica%" => "lanche da tarde",
38
+ "%consulta_jantar_analise_dietetica%" => "jantar",
39
+ "%consulta_lanche_noite_analise_dietetica%" => "lanche da noite",
40
+ "%consulta_intervalos_analise_dietetica%" => "intervalos (beliscadas)",
41
+ "%consulta_supervisao_analise_dietetica%" => "supervisão (análise dietética)",
42
+ "%consulta_problemas_encontrados_analise_dietetica%" => "problemas encontrados (análise dietética)",
43
+ "%consulta_medicacoes_doses%" => "medicações/doses",
44
+ "%consulta_medicacoes_suplementacoes%" => "suplementações",
45
+ "%consulta_tanner_genitalia_mama%" => "mama (Tanner)",
46
+ "%consulta_tanner_pilosidade_pubiana%" => "pilosidade pubiana (Tanner)",
47
+ "%consulta_exame_fisico_geral%" => "exame físico geral",
48
+ "%consulta_propedeutica_cardiovascular%" => "propedêutica cardiovascular",
49
+ "%consulta_propedeutica_pulmonar%" => "propedêutica pulmonar",
50
+ "%consulta_abdomen%" => "amdomen",
51
+ "%consulta_pressao_arterial_sistole%" => "pressão arterial sistólica",
52
+ "%consulta_pressao_arterial_diastole%" => "pressão arterial diastólica",
53
+ "%consulta_oroscopia%" => "oroscopia",
54
+ "%consulta_mobilidade_articular%" => "mobilidade articular",
55
+ "%consulta_tireoide%" => "tireóide",
56
+ "%consulta_lipodistrofia%" => "lipodistrofia",
57
+ "%consulta_pes%" => "pés",
58
+ "%consulta_pele_extremidades%" => "pede/extremidades",
59
+ "%consulta_desvios_fenotipicos%" => "desvios fenotípicos",
60
+ "%consulta_observacoes_exame_clinico%" => "observações (exame clínico)",
61
+ "%consulta_acantose%" => "acantose",
62
+ "%consulta_hipotese_diagnostica_conclusoes%" => "hipótese diagnósitca (conclusões)",
63
+ "%consulta_condutas%" => "condutas",
64
+ "%consulta_retorno%" => "retorno"
65
+ }
66
+
67
+ def verificar_fragmentos
68
+ fragmentos = Array.new
69
+ corpo = self.corpo
70
+ while fragmento = corpo[/%[a-zA-Z0-9]*%/]
71
+ fragmentos << fragmento
72
+ corpo = corpo.gsub(fragmento, "REMOVED");
73
+ end
74
+
75
+ fragmentos.each do |fragmento|
76
+ encontrado = false
77
+ FRAGMENTOS.each_key { |dado|
78
+ if fragmento == dado
79
+ encontrado = true
80
+ end
81
+ }
82
+ unless encontrado
83
+ #self.corpo = self.corpo.gsub(fragmento, display_error(fragmento))
84
+ errors.add(:corpo, "Verifique os fragmentos inexistentes")
85
+ end
86
+ end
87
+ end
88
+
89
+ def self.select
90
+ return self.all.collect { |modelo|
91
+ [ modelo.titulo, modelo.id ]
92
+ }
93
+ end
94
+
95
+ def compilar_corpo(paciente, display_alerts)
96
+ FRAGMENTOS.each_key do |fragmento_completo|
97
+ fragmento = fragmento_completo.gsub("%paciente_", "").gsub("%", "")
98
+ if paciente[fragmento].present?
99
+ self.corpo = self.corpo.gsub(fragmento_completo, paciente[fragmento].to_s)
100
+ else
101
+ if display_alerts
102
+ self.corpo = self.corpo.gsub(fragmento_completo, display_alert(fragmento_completo))
103
+ end
104
+ end
105
+ end
106
+
107
+ return self.corpo
108
+ end
109
+
110
+ private
111
+
112
+ def display_alert(fragmento)
113
+ return "<span style='background-color:Yellow;'>[ATENÇÃO: não consta o(a) #{FRAGMENTOS[fragmento]}]</span>"
114
+ end
115
+
116
+ def display_error(msg)
117
+ return "<span style='background-color:Red;'>[ERRO: #{msg} não existe]</span>"
118
+ end
119
+
120
+ end
@@ -0,0 +1,20 @@
1
+ class Modulo < ApplicationRecord
2
+ has_many :patologias
3
+ has_and_belongs_to_many :usuarios
4
+
5
+ validates_uniqueness_of :slug
6
+
7
+ def self.select
8
+ return self.order(:ordem).collect { |modulo|
9
+ [ modulo.nome, modulo.id ]
10
+ }
11
+ end
12
+
13
+ def self.habilitados
14
+ return self.where("slug != 'geral'")
15
+ end
16
+
17
+ def diabetes?
18
+ self.slug == 'diabetes'
19
+ end
20
+ end
@@ -0,0 +1,146 @@
1
+ # encoding: utf-8
2
+
3
+ class Paciente < ApplicationRecord
4
+ has_paper_trail
5
+
6
+ validates :nome, :sexo, :data_nascimento, :peso_inicial, :estatura_inicial, :imc_inicial, :superficie_corporea_inicial, :endereco, :numero, :estado, :cidade, :descricao_triagem, :referencia, presence: true
7
+
8
+ has_one :quadro
9
+ has_many :agendamentos
10
+ has_many :consultas
11
+ has_many :reavaliacoes, :through => :consultas
12
+ has_many :exames, :through => :consultas
13
+ has_many :impressos
14
+ has_many :cids, through: :consultas
15
+ has_many :marcos_atingidos, :through => :consultas
16
+ has_many :doses_administradas, :through => :consultas
17
+
18
+ REFERENCIAS = [["Referenciado para a origem", 1], ["Mantido no serviço", 2]]
19
+
20
+ def marcos_atrasados
21
+ marcos_atingidos = Hash.new
22
+ self.marcos_atingidos.each do |marco|
23
+ marcos_atingidos[marco.marco.id] = marco
24
+ end
25
+
26
+ marcos_nao_atingidos = Array.new
27
+ Marco.all.each do |marco|
28
+ unless marcos_atingidos.has_key?(marco.id)
29
+ marcos_nao_atingidos << marco
30
+ end
31
+ end
32
+
33
+ marcos_atrasados = Array.new
34
+ marcos_nao_atingidos.each do |marco|
35
+ if self.meses_vividos > marco.fim
36
+ marcos_atrasados << marco
37
+ end
38
+ end
39
+
40
+ return marcos_atrasados
41
+ end
42
+
43
+ def marcos_adiantados
44
+ marcos_adiantados = Array.new
45
+ self.marcos_atingidos.each do |marco|
46
+ if marco.idade < marco.marco.inicio
47
+ marcos_adiantados << marco
48
+ end
49
+ end
50
+
51
+ return marcos_adiantados
52
+ end
53
+
54
+ def designacao_referencia
55
+ REFERENCIAS.each do |referencia|
56
+ if referencia[1] == self.referencia
57
+ return referencia[0]
58
+ end
59
+ end
60
+ return nil
61
+ end
62
+
63
+ def self.select
64
+ return self.all.collect { |paciente|
65
+ [ paciente.nome, paciente.id ]
66
+ }
67
+ end
68
+
69
+ def nome_sexo
70
+ case self.sexo
71
+ when 0 then return "Masculino"
72
+ when 1 then return "Feminino"
73
+ else return "Não consta"
74
+ end
75
+ end
76
+
77
+ def masculino?
78
+ return self.sexo == 0
79
+ end
80
+
81
+ def idade
82
+ if self.data_nascimento == nil
83
+ return nil
84
+ end
85
+ now = Time.now.utc.to_date
86
+ return now.year - self.data_nascimento.year - (self.data_nascimento.to_date.change(:year => now.year) > now ? 1 : 0)
87
+ end
88
+
89
+ def idade_com_meses
90
+ if self.data_nascimento == nil
91
+ return nil
92
+ end
93
+ meses_vividos = self.meses_vividos
94
+ idade = meses_vividos / 12
95
+ meses = meses_vividos % 12
96
+ if idade > 0
97
+ return "#{idade} ano(s) e #{meses} mes(es)"
98
+ end
99
+ return "#{meses} mes(es)"
100
+ end
101
+
102
+ def dias_vividos
103
+ return Date.today.mjd - self.data_nascimento.mjd
104
+ end
105
+
106
+ def meses_vividos
107
+ return (Date.today.year * 12 + Date.today.month) - (self.data_nascimento.year * 12 + self.data_nascimento.month)
108
+ end
109
+
110
+ def idade_decimal
111
+ return self.meses_vividos.to_f / 12
112
+ end
113
+
114
+ def consultas_por_medico(medico_id)
115
+ return self.consultas.where(:profissional_id => medico_id)
116
+ end
117
+
118
+ def dados_pendentes?
119
+ pendencia = false
120
+ if self.data_nascimento == nil or self.data_nascimento == ""
121
+ pendencia = true
122
+ end
123
+ if self.sexo == nil
124
+ pendencia = true
125
+ end
126
+ if self.nome == "" or self.nome.include?("null")
127
+ pendencia = true
128
+ end
129
+ return pendencia
130
+ end
131
+
132
+ def tempo_duracao_dm
133
+ meses = (Date.today.year * 12 + Date.today.month) - (self.quadro.data_inicio.year * 12 + self.quadro.data_inicio.month)
134
+ if meses == 0
135
+ return "Menos de um mês"
136
+ end
137
+ anos = meses / 12
138
+ meses = meses - (anos * 12)
139
+ if anos > 0
140
+ return "#{anos} ano(s) e #{meses} mes(es)"
141
+ else
142
+ return "#{meses} mes(es)"
143
+ end
144
+ end
145
+
146
+ end
@@ -0,0 +1,2 @@
1
+ class PacienteHosped < ApplicationRecord
2
+ end
@@ -0,0 +1,2 @@
1
+ class PadraoOmsDias < ApplicationRecord
2
+ end
@@ -0,0 +1,2 @@
1
+ class PadraoOmsMeses < ApplicationRecord
2
+ end
@@ -0,0 +1,5 @@
1
+ class Patologia < ApplicationRecord
2
+ self.table_name = 'patologias'
3
+
4
+ belongs_to :modulo
5
+ end
@@ -0,0 +1,53 @@
1
+ class Percentil < ApplicationRecord
2
+ def self.calcular(paciente, valor, tipo)
3
+ resposta = Hash.new
4
+ idade = 0
5
+
6
+ if tipo == 'circunferencia_abdominal'
7
+ if paciente.meses_vividos < 60 or paciente.meses_vividos > 192
8
+ resposta[:status] = 'indisponivel'
9
+ return resposta
10
+ end
11
+ idade = paciente.meses_vividos
12
+ end
13
+
14
+ if tipo == 'estatura'
15
+ if paciente.meses_vividos > 240
16
+ resposta[:status] = 'indisponivel'
17
+ return resposta
18
+ end
19
+ idade = paciente.meses_vividos
20
+ end
21
+
22
+ percentis = self.where("sexo = #{paciente.sexo} and tipo = '#{tipo}' and idade <= #{idade}")
23
+
24
+ percentis.each do |percentil|
25
+ if percentil.valor == valor
26
+ resposta[:status] = 'exatamente'
27
+ resposta[:percentil] = percentil
28
+ return resposta
29
+ end
30
+ end
31
+
32
+ if valor < percentis.first.valor
33
+ resposta[:status] = 'abaixo'
34
+ resposta[:percentil] = percentis.first
35
+ return resposta
36
+ end
37
+
38
+ if valor > percentis.last.valor
39
+ resposta[:status] = 'acima'
40
+ resposta[:percentil] = percentis.last
41
+ return resposta
42
+ end
43
+
44
+ percentis.each_cons(2) { |percentil_anterior, percentil_atual|
45
+ if percentil_atual.valor > valor
46
+ resposta[:status] = 'entre'
47
+ resposta[:min] = percentil_anterior
48
+ resposta[:max] = percentil_atual
49
+ return resposta
50
+ end
51
+ }
52
+ end
53
+ end