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,31 @@
1
+ #encoding: utf-8
2
+
3
+ agendamentos = JSON.parse(open("#{Rails.root}/db/seeds/agendamentos.json").read)
4
+ agendamentos_incompativeis = []
5
+ pacientes = Paciente.all
6
+
7
+ agendamentos['VEVENT'].each do |a|
8
+ if (DateTime.parse(a['DTSTART']) >= DateTime.now.beginning_of_day)
9
+ agendamentos_incompativeis << a
10
+
11
+ pacientes.each do |p|
12
+
13
+ a['SUMMARY'].gsub!(/\//,'')
14
+ a['SUMMARY'].scan(/([^0-9]+)([0-9]+)/) { |nome, numero|
15
+
16
+ if (
17
+ (((!nome.nil? && !p.nome.nil?) && (nome != "" && p.nome != "")) && (nome.downcase.gsub(/[^a-z]/, '') == p.nome.downcase.gsub(/[^a-z]/, ''))) || (((!numero.nil? && !p.registro.nil?) && (numero != "" && p.registro != "")) && (numero.gsub(/\D/, '') == p.registro.gsub(/\D/, ''))) || (((!numero.nil? && !p.telefone.nil?) && (numero != "" && p.telefone != "")) && (numero.gsub(/\D/, '') == p.telefone.gsub(/\D/, ''))) || (((!numero.nil? && !p.celular.nil?) && (numero != "" && p.celular != "")) && (numero.gsub(/\D/, '') == p.celular.gsub(/\D/, '')))
18
+ )
19
+
20
+ Agendamento.create!(profissional_id: 1, paciente_id: p.id, data: DateTime.parse(a['DTSTART']).strftime('%d/%m/%Y %H:%M'), turno_id: 1, unidade_saude_id: 1, atendido: false)
21
+
22
+ agendamentos_incompativeis.delete(a)
23
+ end
24
+ }
25
+ end
26
+ end
27
+ end
28
+
29
+ File.open("public/agendamentos_incompativeis.json","w") do |f|
30
+ f.write(JSON.pretty_generate(agendamentos_incompativeis))
31
+ end
@@ -0,0 +1,32 @@
1
+ #encoding: utf-8
2
+
3
+ agendamentos_import = JSON.parse(open("#{Rails.root}/db/seeds/agendamentos.json").read)
4
+
5
+ pacientes = Paciente.all
6
+
7
+ agendamentos_import['VEVENT'].each do |a|
8
+
9
+ if (DateTime.parse(a['DTSTART']).strftime('%H:%M:%S') >= "12:00:00")
10
+
11
+ pacientes.each do |p|
12
+
13
+ a['SUMMARY'].gsub!(/\//,'')
14
+ a['SUMMARY'].scan(/([^0-9]+)([0-9]+)/) { |nome, numero|
15
+
16
+ if (
17
+ (((!nome.nil? && !p.nome.nil?) && (nome != "" && p.nome != "")) && (nome.downcase.gsub(/[^a-z]/, '') == p.nome.downcase.gsub(/[^a-z]/, ''))) || (((!numero.nil? && !p.registro.nil?) && (numero != "" && p.registro != "")) && (numero.gsub(/\D/, '') == p.registro.gsub(/\D/, ''))) || (((!numero.nil? && !p.telefone.nil?) && (numero != "" && p.telefone != "")) && (numero.gsub(/\D/, '') == p.telefone.gsub(/\D/, ''))) || (((!numero.nil? && !p.celular.nil?) && (numero != "" && p.celular != "")) && (numero.gsub(/\D/, '') == p.celular.gsub(/\D/, '')))
18
+ )
19
+
20
+ agendamento = Agendamento.find_by_paciente_id(p.id)
21
+ puts agendamento
22
+
23
+ if !agendamento.nil? && agendamento.data == a['DTSTART'].to_date
24
+ print agendamento.data
25
+ print a['DTSTART'].to_time
26
+ agendamento.update_attributes!(turno_id: 2)
27
+ end
28
+ end
29
+ }
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,2 @@
1
+ Use this README file to introduce your application and point to useful places in the API for learning more.
2
+ Run "rake doc:app" to generate API documentation for your models, controllers, helpers, and libraries.
Binary file
data/doc/erd.pdf ADDED
Binary file
@@ -0,0 +1,25 @@
1
+ version: '2'
2
+ services:
3
+ db:
4
+ image: mysql
5
+ ports:
6
+ - "3306:3306"
7
+ environment:
8
+ - "MYSQL_ROOT_PASSWORD=secret"
9
+ - "MYSQL_DATABASE=telepediatria"
10
+ web:
11
+ build: .
12
+ command: bundle exec rails s -p 3000 -b '0.0.0.0'
13
+ volumes:
14
+ - .:/app
15
+ ports:
16
+ - "3000:3000"
17
+ depends_on:
18
+ - db
19
+ external_links:
20
+ - teleconsultoria_web_1:teleconsultoria
21
+
22
+ networks:
23
+ default:
24
+ external:
25
+ name: teleconsultoria_default
@@ -0,0 +1,17 @@
1
+ # language: pt
2
+
3
+ Funcionalidade: Gerenciamento de pacientes
4
+
5
+ Contexto: Autenticação
6
+ Dado que o usuário está autenticado
7
+
8
+ Cenário: Cadastro bem sucedido
9
+ Dado que o usuário acesse a página de cadastro de pacientes
10
+ Quando o usuário preencher os campos do formulário de cadastro de pacientes
11
+ E clicar em "Enviar"
12
+ Então deve ver a mensagem "Paciente cadastrado com sucesso!"
13
+
14
+ Cenário: Cadastro mal sucedido
15
+ Dado que o usuário acesse a página de cadastro de pacientes
16
+ Quando clicar em "Enviar"
17
+ Então deve ver a mensagem "Campo obrigatório!"
File without changes
@@ -0,0 +1,16 @@
1
+ E(/^clicar em "(.*?)"$/) do |botao|
2
+ find_button(botao).click
3
+ end
4
+
5
+ Então(/^deve ver a mensagem "(.*?)"$/) do |mensagem|
6
+ page.has_content?(mensagem)
7
+ end
8
+
9
+ Dado(/^que o usuário está autenticado/) do
10
+ visit new_session_path
11
+ fill_in 'username', with: 'jalerson.lima'
12
+ fill_in 'password', with: '123mudar'
13
+ within("form#login_form") do
14
+ click_button 'Enviar'
15
+ end
16
+ end
@@ -0,0 +1,33 @@
1
+ Dado(/^que o usuário acesse a página de cadastro de pacientes$/) do
2
+ visit new_paciente_path
3
+ end
4
+
5
+ Quando(/^o usuário preencher os campos do formulário de cadastro de pacientes$/) do
6
+ @paciente = build(:paciente)
7
+
8
+ # Identificação
9
+ fill_in 'paciente_registro', with: @paciente.registro
10
+ fill_in 'paciente_numero_cartao_sus', with: @paciente.numero_cartao_sus
11
+ fill_in 'paciente_nome', with: @paciente.nome
12
+ choose 'paciente_sexo_' + @paciente.sexo.to_s
13
+ fill_in 'paciente_rg', with: @paciente.rg
14
+ fill_in 'paciente_cpf', with: @paciente.cpf
15
+ fill_in 'paciente_data_nascimento', with: @paciente.data_nascimento
16
+ fill_in 'paciente_nome_pai', with: @paciente.nome_pai
17
+ fill_in 'paciente_nome_mae', with: @paciente.nome_mae
18
+
19
+ # Antropometria
20
+ fill_in 'paciente_peso_inicial', with: @paciente.peso_inicial
21
+ fill_in 'paciente_estatura_inicial', with: @paciente.peso_inicial
22
+
23
+ # Endereço/Contatos
24
+ fill_in 'paciente_endereco', with: @paciente.endereco
25
+ fill_in 'paciente_numero', with: @paciente.numero
26
+ fill_in 'paciente_complemento', with: @paciente.complemento
27
+ fill_in 'paciente_cidade', with: @paciente.cidade
28
+ fill_in 'paciente_cep', with: @paciente.cep
29
+ fill_in 'paciente_telefone', with: @paciente.telefone
30
+ fill_in 'paciente_celular', with: @paciente.celular
31
+ fill_in 'paciente_descricao_triagem', with: @paciente.descricao_triagem
32
+ select Paciente::REFERENCIAS[@paciente.referencia][0], from: 'paciente_referencia'
33
+ end
@@ -0,0 +1,59 @@
1
+ # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
2
+ # It is recommended to regenerate this file in the future when you upgrade to a
3
+ # newer version of cucumber-rails. Consider adding your own code to a new file
4
+ # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5
+ # files.
6
+
7
+ require 'cucumber/rails'
8
+
9
+ # Capybara defaults to CSS3 selectors rather than XPath.
10
+ # If you'd prefer to use XPath, just uncomment this line and adjust any
11
+ # selectors in your step definitions to use the XPath syntax.
12
+ # Capybara.default_selector = :xpath
13
+
14
+ # By default, any exception happening in your Rails application will bubble up
15
+ # to Cucumber so that your scenario will fail. This is a different from how
16
+ # your application behaves in the production environment, where an error page will
17
+ # be rendered instead.
18
+ #
19
+ # Sometimes we want to override this default behaviour and allow Rails to rescue
20
+ # exceptions and display an error page (just like when the app is running in production).
21
+ # Typical scenarios where you want to do this is when you test your error pages.
22
+ # There are two ways to allow Rails to rescue exceptions:
23
+ #
24
+ # 1) Tag your scenario (or feature) with @allow-rescue
25
+ #
26
+ # 2) Set the value below to true. Beware that doing this globally is not
27
+ # recommended as it will mask a lot of errors for you!
28
+ #
29
+ ActionController::Base.allow_rescue = false
30
+
31
+ # Remove/comment out the lines below if your app doesn't have a database.
32
+ # For some databases (like MongoDB and CouchDB) you may need to use :truncation instead.
33
+ begin
34
+ DatabaseCleaner.strategy = :transaction
35
+ rescue NameError
36
+ raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
37
+ end
38
+
39
+ # You may also want to configure DatabaseCleaner to use different strategies for certain features and scenarios.
40
+ # See the DatabaseCleaner documentation for details. Example:
41
+ #
42
+ # Before('@no-txn,@selenium,@culerity,@celerity,@javascript') do
43
+ # # { :except => [:widgets] } may not do what you expect here
44
+ # # as Cucumber::Rails::Database.javascript_strategy overrides
45
+ # # this setting.
46
+ # DatabaseCleaner.strategy = :truncation
47
+ # end
48
+ #
49
+ # Before('~@no-txn', '~@selenium', '~@culerity', '~@celerity', '~@javascript') do
50
+ # DatabaseCleaner.strategy = :transaction
51
+ # end
52
+ #
53
+
54
+ # Possible values are :truncation and :transaction
55
+ # The :transaction strategy is faster, but might give you threading problems.
56
+ # See https://github.com/cucumber/cucumber-rails/blob/master/features/choose_javascript_database_strategy.feature
57
+ Cucumber::Rails::Database.javascript_strategy = :truncation
58
+
59
+ World(FactoryGirl::Syntax::Methods)
@@ -0,0 +1,27 @@
1
+ Faker::Config.locale = 'pt-BR'
2
+
3
+ FactoryGirl.define do
4
+ factory :paciente do
5
+ registro Faker::Number.number(10)
6
+ nome Faker::Name.name
7
+ sexo 1
8
+ rg Faker::Number.number(10)
9
+ cpf Faker::CPF.pretty
10
+ telefone Faker::PhoneNumber.phone_number
11
+ celular Faker::PhoneNumber.cell_phone
12
+ data_nascimento Faker::Date.between(10.year.ago, 1.year.ago)
13
+ endereco Faker::Address.street_address
14
+ numero Faker::Number.number(5)
15
+ complemento Faker::Address.secondary_address
16
+ estado Faker::Address.state
17
+ cidade Faker::Address.city
18
+ cep Faker::Address.postcode
19
+ nome_pai Faker::Name.name
20
+ nome_mae Faker::Name.name
21
+ numero_cartao_sus Faker::Number.number(10)
22
+ peso_inicial Faker::Number.between(10, 30)
23
+ estatura_inicial Faker::Number.decimal(2)
24
+ descricao_triagem Faker::Lorem.sentence
25
+ referencia Faker::Number.between(0, 1)
26
+ end
27
+ end
@@ -0,0 +1,131 @@
1
+ # encoding: utf-8
2
+
3
+ print "Inserindo recursos... "
4
+ supervisao = Recurso.create(:titulo => "Supervisão", :descricao => "Permite a um médico visualizar as consultas de outros médicos.", :chave => "supervisao")
5
+ painel_supervisao = Recurso.create(:titulo => "Painel do Supervisor", :descricao => "Permite visualizar o Painel do Supervisor.", :chave => "supervisao:painel")
6
+ puts "concluído!"
7
+
8
+ print "Inserindo perfis... "
9
+ aluno = Perfil.create(:nome => "Aluno")
10
+ medico = Perfil.create(:nome => "Médico")
11
+ supervisor = Perfil.create(:nome => "Supervisor")
12
+ administrador = Perfil.create(:nome => "Administrador")
13
+ puts "concluído!"
14
+
15
+ print "Inserindo permissões... "
16
+ Permissao.create(:perfil => supervisor, :recurso => supervisao)
17
+ Permissao.create(:perfil => supervisor, :recurso => painel_supervisao)
18
+ puts "concluído!"
19
+
20
+ print "Inserindo especialidades... "
21
+ endo_pediatrica = Especialidade.create(:nome => 'Endocrinologia Pediátrica')
22
+ puts "concluído!"
23
+
24
+ print "Inserindo formações... "
25
+ especialista = Formacao.create(:nome => 'Especialista')
26
+ especializando = Formacao.create(:nome => 'Especializando')
27
+ aluno = Formacao.create(:nome => 'Aluno')
28
+ puts "concluído!"
29
+
30
+ print "Inserindo profissionais... "
31
+ usuario = Usuario.create(:username => "ricardo.arrais", :password => "123mudar")
32
+ usuario.perfis << administrador
33
+ usuario.perfis << supervisor
34
+ arrais = Profissional.create(:registro => '123', :nome => 'Ricardo Arrais', :sexo => 0, :especialidade => endo_pediatrica, :formacao => especialista, :usuario => usuario, :email => 'rifarrais@gmail.com')
35
+
36
+ usuario = Usuario.create(:username => "jalerson.lima", :password => "123mudar")
37
+ usuario.perfis << administrador
38
+ jalerson = Profissional.create(:registro => '456', :nome => 'Jalerson Lima', :sexo => 0, :especialidade => endo_pediatrica, :formacao => especializando, :usuario => usuario, :email => 'jalerson.lima@lais.huol.ufrn.br')
39
+
40
+ usuario = Usuario.create(:username => "jailton.carlos", :password => "123mudar")
41
+ usuario.perfis << administrador
42
+ jailton = Profissional.create(:registro => '789', :nome => 'Jailton Carlos', :sexo => 0, :especialidade => endo_pediatrica, :formacao => especializando, :usuario => usuario, :email => 'jailton.paiva@lais.huol.ufrn.br')
43
+
44
+ usuario = Usuario.create(:username => "viviane.jaime", :password => "vivi123")
45
+ usuario.perfis << supervisor
46
+ viviane = Profissional.create(:registro => '6216-RN', :nome => 'Viviane Cassia Barrionuevo Jaime', :sexo => 1, :especialidade => endo_pediatrica, :formacao => especialista, :usuario => usuario, :email => 'jeffevivi@yahoo.com.br', :telefone => '(84) 2010-1664', :celular => '(84) 9653-3104', :endereco => 'Avenida Silvio Pedrosa 314 ap 201 Residencial Porto Salinas', :cidade => 'Natal', :estado => 'RN', :numero => '314')
47
+
48
+ usuario = Usuario.create(:username => "jenner.azevedo", :password => "jenner123")
49
+ usuario.perfis << supervisor
50
+ jenner = Profissional.create(:registro => '4791-RN', :nome => 'Jenner Christian Veríssimo de Azevedo', :sexo => 0, :especialidade => endo_pediatrica, :formacao => especialista, :usuario => usuario, :email => 'jennerazevedo@hotmail.com', :telefone => '(84) 3342-9846', :celular => '(84) 9991-9006', :endereco => 'Avenida das Américas', :cep => '59158-150', :cidade => 'Parnamirim', :estado => 'RN', :complemento => '1722 Condominio Green Club', :numero => 'casa 85')
51
+
52
+ usuario = Usuario.create(:username => "camila.paiva", :password => "camila123")
53
+ usuario.perfis << medico
54
+ camila = Profissional.create(:registro => '6086-RN', :nome => 'Camila Paiva Matos Lima', :sexo => 1, :especialidade => endo_pediatrica, :formacao => especialista, :usuario => usuario, :email => 'camilapaivamatos@hotmail.com', :telefone => '(84) 2226-1926', :celular => '(84) 9655-5665', :endereco => 'Rua Pastor Gambino Bretaz', :cep => '59082-010', :cidade => 'Natal', :estado => 'RN', :complemento => 'apto 201B', :numero => '1419')
55
+
56
+ usuario = Usuario.create(:username => "iluska.medeiros", :password => "iluska123")
57
+ usuario.perfis << medico
58
+ iluska = Profissional.create(:registro => '7203-RN', :nome => 'Iluska Almeida Carneiro Martins de Medeiros', :sexo => 1, :especialidade => endo_pediatrica, :formacao => especialista, :usuario => usuario, :email => 'iluska_martins@hotmail.com', :telefone => '(84) 3342-9846', :celular => '(84) 9954-4717', :endereco => 'Rua São João', :cep => '59022-390', :cidade => 'Natal', :estado => 'RN', :complemento => 'apto 401A', :numero => '1233')
59
+
60
+ usuario = Usuario.create(:username => "patricia.albernaz", :password => "patricia123")
61
+ usuario.perfis << medico
62
+ patricia = Profissional.create(:registro => '6457-RN', :nome => 'Patricia Lizandro Albernaz', :sexo => 1, :especialidade => endo_pediatrica, :formacao => especialista, :usuario => usuario, :email => 'p.lizandro@yahoo.com.br', :telefone => '(84) 3342-9846', :celular => '(84) 9659-9978', :endereco => 'Romualdo Galvão', :cidade => 'Natal', :estado => 'RN', :numero => '1160')
63
+
64
+ usuario = Usuario.create(:username => "adriana.queiroga", :password => "adriana123")
65
+ usuario.perfis << medico
66
+ adriana = Profissional.create(:registro => '7226-RN', :nome => 'Maria Adriana de Queiroga', :sexo => 1, :especialidade => endo_pediatrica, :formacao => especialista, :usuario => usuario, :email => 'adriana-queiroga@hotmail.com', :telefone => '(84) 3342-9846', :celular => '(83) 9823-0200', :endereco => 'Ferro Cardoso', :cidade => 'Natal', :estado => 'RN', :complemento => 'apto 1202B', :numero => '148')
67
+
68
+ puts "concluído!"
69
+
70
+ print "Inserindo tipos de diabetes... "
71
+ TipoDiabete.create(:nome => 'Diabetes Mellitus Tipo 1')
72
+ TipoDiabete.create(:nome => 'Diabetes Mellitus Tipo 2')
73
+ TipoDiabete.create(:nome => 'Diabetes Mody')
74
+ TipoDiabete.create(:nome => 'Diabetes Gestacional')
75
+ TipoDiabete.create(:nome => 'Outras formas')
76
+ puts "concluído!"
77
+
78
+ print "Inserindo tipos de exames... "
79
+ TipoExame.create(:nome => "Glico Hemoglobina (HPLC)", :especialidade => endo_pediatrica)
80
+ TipoExame.create(:nome => "Glico Hemoglobina (Eletroforese simples)", :especialidade => endo_pediatrica)
81
+ TipoExame.create(:nome => "Colesterol Total (CT)", :especialidade => endo_pediatrica)
82
+ TipoExame.create(:nome => "HDL", :especialidade => endo_pediatrica)
83
+ TipoExame.create(:nome => "LDL", :especialidade => endo_pediatrica)
84
+ TipoExame.create(:nome => "VLDL", :especialidade => endo_pediatrica)
85
+ TipoExame.create(:nome => "TG", :especialidade => endo_pediatrica)
86
+ TipoExame.create(:nome => "Fundoscopia", :especialidade => endo_pediatrica)
87
+ TipoExame.create(:nome => "Microalbuminúria", :especialidade => endo_pediatrica)
88
+ TipoExame.create(:nome => "T4 livre", :especialidade => endo_pediatrica)
89
+ TipoExame.create(:nome => "TSH", :especialidade => endo_pediatrica)
90
+ TipoExame.create(:nome => "Cortisol", :especialidade => endo_pediatrica)
91
+ TipoExame.create(:nome => "Anti-gliadina", :especialidade => endo_pediatrica)
92
+ TipoExame.create(:nome => "Anti-endomísio", :especialidade => endo_pediatrica)
93
+ TipoExame.create(:nome => "Anti-transglutaminase", :especialidade => endo_pediatrica)
94
+ puts "concluído!"
95
+
96
+ print "Inserindo tipos de insulina... "
97
+ TipoInsulina.create(:nome => "Basais - Determir")
98
+ TipoInsulina.create(:nome => "Basais - Glargina")
99
+ TipoInsulina.create(:nome => "Basais - NPH")
100
+ TipoInsulina.create(:nome => "Ação Rápida - Aspart")
101
+ TipoInsulina.create(:nome => "Ação Rápida - Glulisina")
102
+ TipoInsulina.create(:nome => "Ação Rápida - Lispro")
103
+ TipoInsulina.create(:nome => "Ação Rápida - Regular")
104
+ puts "concluído!"
105
+
106
+ print "Inserindo estados brasileiros... "
107
+ rn = Estado.create(:nome => 'Rio Grande do Norte', :sigla => 'RN', :codigo => 24)
108
+ puts "concluído!"
109
+
110
+ print "Inserindo cidades... "
111
+ natal = Cidade.create(:nome => 'Natal', :estado => rn, :codigo_ibge => 240810)
112
+ puts "concluído!"
113
+
114
+ print "Inserindo unidades de saúde... "
115
+ hosped = UnidadeSaude.create(:nome => 'HOSPED/HUOL', :endereco => "Rua General Gustavo Cordeiro de Farias, s/n – Petrópolis – Natal – RN", :telefones => "(84) 3342-5238/3342-5203", :cidade => natal)
116
+ puts "concluído!"
117
+
118
+ arrais.unidades_saude << hosped
119
+ jalerson.unidades_saude << hosped
120
+ jailton.unidades_saude << hosped
121
+ viviane.unidades_saude << hosped
122
+ jenner.unidades_saude << hosped
123
+ camila.unidades_saude << hosped
124
+ iluska.unidades_saude << hosped
125
+ patricia.unidades_saude << hosped
126
+ adriana.unidades_saude << hosped
127
+
128
+ print "Inserindo concentrações de insulina... "
129
+ Concentracao.create(:nome => "Frasco", :capacidade => 100)
130
+ Concentracao.create(:nome => "Refil", :capacidade => 300)
131
+ puts "concluído!"
@@ -0,0 +1,20 @@
1
+ module APIAuthentication
2
+ def autenticar_token
3
+ return verificar_token || nao_autorizado
4
+ end
5
+
6
+ def verificar_token
7
+ authenticate_or_request_with_http_token do |token, options|
8
+ if Token.verificar(token)
9
+ @api_user = Token.find_by_codigo(token).usuario
10
+ return true
11
+ end
12
+ return false
13
+ end
14
+ end
15
+
16
+ def nao_autorizado
17
+ self.headers['WWW-Authenticate'] = 'Token realm="Application"'
18
+ render json: 'Bad credentials', status: 401
19
+ end
20
+ end
File without changes
@@ -0,0 +1,50 @@
1
+ # encoding: utf-8
2
+
3
+ # This module is included in your application controller which makes
4
+ # several methods available to all controllers and views. Here's a
5
+ # common example you might add to your application layout file.
6
+ #
7
+ # <% if logged_in? %>
8
+ # Welcome <%=h current_user.username %>! Not you?
9
+ # <%= link_to "Log out", logout_path %>
10
+ # <% else %>
11
+ # <%= link_to "Sign up", signup_path %> or
12
+ # <%= link_to "log in", login_path %>.
13
+ # <% end %>
14
+ #
15
+ # You can also restrict unregistered users from accessing a controller using
16
+ # a before filter. For example.
17
+ #
18
+ # before_action :login_required, :except => [:index, :show]
19
+ module Authentication
20
+ def self.included(controller)
21
+ controller.send :helper_method, :current_user, :logged_in?, :redirect_to_target_or_default
22
+ #controller.filter_parameter_logging :password
23
+ end
24
+
25
+ def current_user
26
+ @current_user ||= Usuario.find(session[:user_id]) if session[:user_id]
27
+ end
28
+
29
+ def logged_in?
30
+ current_user
31
+ end
32
+
33
+ def login_required
34
+ unless logged_in?
35
+ store_target_location
36
+ redirect_to login_url
37
+ end
38
+ end
39
+
40
+ def redirect_to_target_or_default(default)
41
+ redirect_to(session[:return_to] || default)
42
+ session[:return_to] = nil
43
+ end
44
+
45
+ private
46
+
47
+ def store_target_location
48
+ session[:return_to] = request.url
49
+ end
50
+ end