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,209 @@
1
+ <% content_for :header do %>
2
+ <div class="page-header main-p">
3
+ <div class="container">
4
+ <h1><i class="fa fa-calendar"></i> Agendamentos</h1>
5
+ </div>
6
+ </div>
7
+ <% end %>
8
+
9
+ <% content_for :head do %>
10
+ <%= javascript_include_tag "fullcalendar/fullcalendar.js" %>
11
+ <%= stylesheet_link_tag 'fullcalendar/fullcalendar.css' %>
12
+ <%= javascript_include_tag "fullcalendar/locales/pt-br.js" %>
13
+
14
+ <script type="text/javascript">
15
+
16
+ jQuery(function($){
17
+ $(".help-inline").hide();
18
+ $(".has-error").removeClass("has-error");
19
+ });
20
+
21
+ function selecionar_data() {
22
+ $("#calendarModal").modal().on('shown', function (){
23
+ $('#calendar').fullCalendar('render');
24
+ });
25
+ };
26
+
27
+ function validar_agendamento() {
28
+ validates = true;
29
+ $(".has-error").removeClass("has-error");
30
+ $(".help-inline").hide();
31
+
32
+ if($("#agendamento_unidade_saude_id").val() == "") {
33
+ $("#unidade_saude_required").parents("div.form-group").addClass("has-error");
34
+ $("#unidade_saude_required").show();
35
+ validates = false;
36
+ }
37
+
38
+ if($("#agendamento_data").val() == "") {
39
+ $("#data_required").parents("div.form-group").addClass("has-error");
40
+ $("#data_required").show();
41
+ validates = false;
42
+ } else {
43
+ if(!validar_data($("#agendamento_data").val())) {
44
+ $("#data_invalida").parents("div.form-group").addClass("has-error");
45
+ $("#data_invalida").show();
46
+ validates = false;
47
+ }
48
+ }
49
+
50
+ if($("#agendamento_turno_id").val() == "") {
51
+ $("#turno_required").parents("div.form-group").addClass("has-error");
52
+ $("#turno_required").show();
53
+ validates = false;
54
+ }
55
+
56
+ return validates;
57
+ }
58
+ </script>
59
+
60
+ <% end %>
61
+
62
+ <p class="with-top-margin">Os campos marcados com * são obrigatórios.</p>
63
+
64
+ <div class="row">
65
+ <div class="col-md-6">
66
+ <%= form_for @agendamento, :url => agendamentos_path, :html => {:class => "form-horizontal" } do |f| %>
67
+ <div class="form-group with-no-margin">
68
+ <%= f.label :unidade_saude_id, 'Unidade de Saúde *', :class => 'control-label' %>
69
+ <div class="controls">
70
+ <%= f.select :unidade_saude_id, options_from_collection_for_select(current_user.autenticavel.unidades_saude, 'id', 'nome'), { :prompt => 'Selecione' }, :class => 'form-control' %> <span id="unidade_saude_required" class="help-inline">Selecione uma unidade de saúde!</span>
71
+ </div>
72
+ </div>
73
+
74
+ <div class="form-group with-no-margin">
75
+ <%= f.label :data, 'Data *', :class => 'control-label' %>
76
+ <div class="controls">
77
+ <%= f.text_field :data, :class => 'form-control', :onclick => "selecionar_data()" %> <span id="data_required" class="help-inline">Digite uma data!</span> <span id="data_invalida" class="help-inline">Data inválida!</span>
78
+ </div>
79
+ </div>
80
+
81
+ <div class="form-group with-no-margin">
82
+ <%= f.label :turno_id, 'Turno *', :class => 'control-label' %>
83
+ <div class="controls">
84
+ <%= f.select :turno_id, Turno.select, { :prompt => 'Selecione' }, :class => 'form-control' %> <span id="turno_required" class="help-inline">Selecione um turno!</span>
85
+ </div>
86
+ </div>
87
+
88
+ <div class="form-actions with-top-margin">
89
+ <%= f.hidden_field :atendido, :value => false %>
90
+ <%= f.hidden_field :profissional_id, :value => current_user.autenticavel.id %>
91
+ <%= f.hidden_field :paciente_id, :value => @paciente.id %>
92
+ <button id="consulta_agendamento_btn" class="btn btn-primary" onclick="return validar_agendamento()"><i class="glyphicon glyphicon-ok"></i> Enviar</button>
93
+ </div>
94
+ <% end %>
95
+ </div>
96
+ <div class="col-md-6">
97
+ <div class="panel panel-success">
98
+ <div class="panel-heading"><h3 class="panel-title">Paciente</h3></div>
99
+ <div class="panel-body">
100
+ <p>
101
+ <b>Nome:</b> <%= @paciente.nome %><br>
102
+ <b>Idade:</b> <%= @paciente.idade %><br>
103
+ <b>Endereço:</b> <%= @paciente.endereco %><br>
104
+ <b>Telefone:</b> <%= @paciente.telefone %><br>
105
+ <b>Hipótese(s) diagnóstica(s)/CID:</b><br>
106
+ <ul>
107
+ <% @paciente.cids.each do |cid| %>
108
+ <li><%= cid %></li>
109
+ <% end %>
110
+ <% if @paciente.quadro.present? and @paciente.quadro.hipotese_diagnostica.present? %>
111
+ <li><%= @paciente.quadro.hipotese_diagnostica %></li>
112
+ <% end %>
113
+ </ul>
114
+ </p>
115
+ </div>
116
+ </div>
117
+ </div>
118
+ </div>
119
+ <div id="calendarModal" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
120
+ <div class="modal-dialog modal-lg">
121
+ <div class="modal-content">
122
+ <div class="modal-body">
123
+ <div class="row">
124
+ <div class="col-md-12 col-lg-12">
125
+ <div id="calendar"></div>
126
+ </div>
127
+ </div>
128
+ </div>
129
+ <div class="modal-footer">
130
+ <p style="float: left">* Clique em um dia do calendário para selecionar a data</p>
131
+ <button id="cancelar" class="btn btn-success" data-dismiss="modal" aria-hidden="true">Cancelar</button>
132
+ <button id="agendamento_data_select" class="btn btn-primary" data-dismiss="modal" aria-hidden="true">Selecionar</button>
133
+ </div>
134
+ </div>
135
+ </div>
136
+ </div>
137
+
138
+ <script>
139
+
140
+ $(document).ready(function() {
141
+ var today = new Date();
142
+
143
+ $("#calendar").fullCalendar({
144
+
145
+ header: {
146
+ left: "prev,next today",
147
+ center: "title",
148
+ right: "agendaDay, agendaWeek, month"
149
+ },
150
+ defaultView: "month",
151
+ editable: true,
152
+ slotMinutes: 15,
153
+ allDaySlot: false,
154
+ events: "/agendamentos.json",
155
+ timeFormat: " ",
156
+ businessHours: true,
157
+ start: "06:00",
158
+ end: "22:00",
159
+ dragOpacity: "0.5",
160
+
161
+ dayClick: function(date, jsEvent, view) {
162
+ if ((this).is(".fc-state-highlight")) {
163
+ $(".fc-state-highlight").removeClass("fc-today");
164
+ }
165
+ else {
166
+ $(".fc-state-highlight").addClass("fc-today");
167
+ }
168
+
169
+ if ((this).is("agendamento-date-selected")) {
170
+ $(".fc-day.fc-widget-content").removeClass("agendamento-date-selected");
171
+ }
172
+ else {
173
+ $(".fc-day.fc-widget-content").removeClass("agendamento-date-selected");
174
+ $(this).addClass("agendamento-date-selected");
175
+ }
176
+
177
+ $("#agendamento_data_select").click(function(){
178
+ $('#agendamento_data').val(date.format('DD/MM/YYYY'));
179
+ });
180
+ },
181
+
182
+ eventClick: function(calEvent, jsEvent, view) {
183
+ var data = calEvent.start.format("YYYY-MM-DD");
184
+ var $element = $('.fc-day.fc-widget-content[data-date='+data+']');
185
+
186
+ if ($element.is("agendamento-date-selected")) {
187
+ $(".fc-day.fc-widget-content").removeClass("agendamento-date-selected");
188
+ }
189
+ else {
190
+ $(".fc-day.fc-widget-content").removeClass("agendamento-date-selected");
191
+ $element.addClass("agendamento-date-selected");
192
+ }
193
+
194
+ if ($element.is(".fc-state-highlight")) {
195
+ $(".fc-state-highlight").removeClass("fc-today");
196
+ }
197
+ else {
198
+ $(".fc-state-highlight").addClass("fc-today");
199
+ }
200
+
201
+ $("#agendamento_data_select").click(function(){
202
+ $('#agendamento_data').val(calEvent.start.format('DD/MM/YYYY'));
203
+ });
204
+ }
205
+
206
+ });
207
+ });
208
+
209
+ </script>
@@ -0,0 +1,59 @@
1
+ <% content_for :header do %>
2
+ <div class="page-header main-p">
3
+ <div class="container">
4
+ <h1><i class="fa fa-calendar"></i> Agendamentos</h1>
5
+ </div>
6
+ </div>
7
+ <% end %>
8
+
9
+ <div class="panel panel-success with-top-margin">
10
+ <div class="panel-heading"><h6 class="panel-title">Ações</h6></div>
11
+ <ul class="nav nav-pills">
12
+ <li><a href="<%= agendamentos_path %>"><i class="glyphicon glyphicon-calendar"></i> Voltar</a></li>
13
+ <li><a href="<%= edit_agendamento_path(@agendamento) %>"><i class="glyphicon glyphicon-edit"></i> Editar Agendamento</a></li>
14
+ <li><a href="<%= destroy_agendamento_path(@agendamento) %>"><i class="glyphicon glyphicon-remove"></i> Excluir Agendamento</a></li>
15
+ </ul>
16
+ </div>
17
+
18
+ <div class="row">
19
+ <div class="col-md-6">
20
+ <div class="panel panel-success">
21
+ <div class="panel-heading"><h3 class="panel-title">Agendamento</h3></div>
22
+ <div class="panel-body">
23
+ <p>
24
+ <b>Data:</b> <%= @agendamento.data.strftime("%d/%m/%Y") %><br>
25
+ <b>Médico:</b> <%= @agendamento.profissional.nome %><br>
26
+ <b>Unidade de saúde:</b> <%= @agendamento.unidade_saude.nome %><br>
27
+ <b>Turno:</b>
28
+ <% if @agendamento.turno.present? %>
29
+ <%= @agendamento.turno.nome %>
30
+ <% else %>
31
+ Não consta
32
+ <% end %>
33
+ </p>
34
+ </div>
35
+ </div>
36
+ </div>
37
+ <div class="col-md-6">
38
+ <div class="panel panel-success">
39
+ <div class="panel-heading"><h3 class="panel-title">Paciente</h3></div>
40
+ <div class="panel-body">
41
+ <p>
42
+ <b>Nome:</b> <%= link_to @agendamento.paciente.nome, @agendamento.paciente %><br>
43
+ <b>Idade:</b> <%= @agendamento.paciente.idade %><br>
44
+ <b>Endereço:</b> <%= @agendamento.paciente.endereco %><br>
45
+ <b>Telefone:</b> <%= @agendamento.paciente.telefone %><br>
46
+ <b>Hipótese(s) diagnóstica(s)/CID:</b><br>
47
+ <ul>
48
+ <% @agendamento.paciente.cids.each do |cid| %>
49
+ <li><%= cid %></li>
50
+ <% end %>
51
+ <% if @agendamento.paciente.quadro.hipotese_diagnostica.present? %>
52
+ <li><%= @agendamento.paciente.quadro.hipotese_diagnostica %></li>
53
+ <% end %>
54
+ </ul>
55
+ </p>
56
+ </div>
57
+ </div>
58
+ </div>
59
+ </div>
@@ -0,0 +1,17 @@
1
+ <%= form_for(@aluno) do |f| %>
2
+ <% if @aluno.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(@aluno.errors.count, "error") %> prohibited this aluno from being saved:</h2>
5
+
6
+ <ul>
7
+ <% @aluno.errors.full_messages.each do |msg| %>
8
+ <li><%= msg %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="actions">
15
+ <%= f.submit %>
16
+ </div>
17
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing aluno</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Show', @aluno %> |
6
+ <%= link_to 'Back', alunos_path %>
@@ -0,0 +1,21 @@
1
+ <h1>Listing alunos</h1>
2
+
3
+ <table>
4
+ <tr>
5
+ <th></th>
6
+ <th></th>
7
+ <th></th>
8
+ </tr>
9
+
10
+ <% @alunos.each do |aluno| %>
11
+ <tr>
12
+ <td><%= link_to 'Show', aluno %></td>
13
+ <td><%= link_to 'Edit', edit_aluno_path(aluno) %></td>
14
+ <td><%= link_to 'Destroy', aluno, confirm: 'Are you sure?', method: :delete %></td>
15
+ </tr>
16
+ <% end %>
17
+ </table>
18
+
19
+ <br />
20
+
21
+ <%= link_to 'New Aluno', new_aluno_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New aluno</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Back', alunos_path %>
@@ -0,0 +1,5 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+
4
+ <%= link_to 'Edit', edit_aluno_path(@aluno) %> |
5
+ <%= link_to 'Back', alunos_path %>
@@ -0,0 +1,452 @@
1
+ <%= content_for :titulo do %>
2
+ <h1><i class="fa fa-code" aria-hidden="true"></i></i> Manual da API</h1>
3
+ <% end %>
4
+
5
+ <h2>Modelos</h2>
6
+
7
+ <p>Os campos marcados com * são obrigatórios. Os campos marcados com (RO) são Read-Only.</p>
8
+
9
+ <div class="panel panel-primary">
10
+ <div class="panel-heading">Teleconsultoria</div>
11
+ <div class="panel-body">
12
+ <dl class="dl-horizontal">
13
+ <dt>id (RO)</dt><dd>chave primária</dd>
14
+ <dt>especialidade_id *</dt>
15
+ <dd>
16
+ id da especialidade da teleconsultoria (área). Possíveis valores:
17
+ <ul>
18
+ <li>1 - Endocrinologia Pediátrica</li>
19
+ <li>5 - Pediatria Geral</li>
20
+ </ul>
21
+ </dd>
22
+ <dt>paciente_id</dt><dd>id do paciente que motivou a teleconsultoria</dd>
23
+ <dt>consulta_id</dt><dd>id da consulta que motivou a teleconsultoria</dd>
24
+ <dt>solicitante_id (RO)</dt><dd>id do usuário que solicitou (abriu) a teleconsultoria</dd>
25
+ <dt>teleconsultor_id</dt><dd>id do usuário que está atendendo/atendeu a teleconsultoria</dd>
26
+ <dt>situacao</dt>
27
+ <dd>
28
+ situação da teleconsultoria
29
+ <ul>
30
+ <li>0 - Nova (padrão)</li>
31
+ <li>1 - Em atendimento</li>
32
+ <li>2 - Finalizada</li>
33
+ </ul>
34
+ </dd>
35
+ </dl>
36
+ </div>
37
+ </div>
38
+
39
+ <div class="panel panel-primary">
40
+ <div class="panel-heading">Mensagem</div>
41
+ <div class="panel-body">
42
+ <dl class="dl-horizontal">
43
+ <dt>id (RO)</dt><dd>chave primária</dd>
44
+ <dt>corpo *</dt><dd>corpo da mensagem</dd>
45
+ <dt>autor_id (RO)</dt><dd>id do usuário que escreveu a mensagem</dd>
46
+ <dt>teleconsultoria_id *</dt><dd>id da teleconsultoria a qual a mensagem está vinculada</dd>
47
+ <dt>tipo</dt><dd>campo opcional que indica o tipo de mensagem. Possíveis valores: 'texto' (padrão), 'imagem' ou 'audio'</dd>
48
+ <dt>arquivo_file_name</dt><dd>nome do arquivo</dd>
49
+ <dt>arquivo_content_type</dt><dd>tipo de conteúdo do arquivo</dd>
50
+ <dt>arquivo_file_size</dt><dd>tamanho do arquivo</dd>
51
+ <dt>arquivo_updated_at</dt><dd>última atualização do arquivo</dd>
52
+ </dl>
53
+ <p>Os arquivos enviados ficam disponíveis em: <pre>/system/mensagens/arquivos/&lt;mensagem_id&gt;/&lt;nome_do_arquivo&gt;</pre></p>
54
+ </div>
55
+ </div>
56
+
57
+ <div class="panel panel-primary">
58
+ <div class="panel-heading">Paciente</div>
59
+ <div class="panel-body">
60
+ <dl class="dl-horizontal">
61
+ <dt>id</dt><dd>chave primária</dd>
62
+ <dt>registro</dt><dd>registro hospitalar</dd>
63
+ <dt>nome</dt><dd>nome do paciente</dd>
64
+ <dt>sexo</dt><dd>sexo do paciente (0 - masculino; 1 - feminino)</dd>
65
+ <dt>data_nascimento</dt><dd>data de nascimento</dd>
66
+ <dt>cidade</dt><dd>cidade onde reside</dd>
67
+ </dl>
68
+ <p>O detalhamento do paciente pode ser acessado em: <pre>https://<%= 'treinamento' if Rails.env.treinamento? %>telepediatria.telessaude.ufrn.br/pacientes/&lt;id&gt;</pre></p>
69
+ </div>
70
+ </div>
71
+
72
+ <div class="panel panel-primary">
73
+ <div class="panel-heading">Consulta</div>
74
+ <div class="panel-body">
75
+ <dl class="dl-horizontal">
76
+ <dt>id</dt><dd>chave primária</dd>
77
+ <dt>queixa_atual_detalhamento</dt><dd>queixa atual/detalhamento</dd>
78
+ <dt>created_at</dt><dd>data em que a consulta foi realizada</dd>
79
+ </dl>
80
+ <p>O detalhamento da consulta pode ser acessado em: <pre>https://<%= 'treinamento' if Rails.env.treinamento? %>telepediatria.telessaude.ufrn.br/pacientes/&lt;paciente_id&gt;/consultas/&lt;id&gt;</pre></p>
81
+ </div>
82
+ </div>
83
+
84
+ <h2>Serviços</h2>
85
+
86
+ <h3>Autenticação</h3>
87
+
88
+ <div class="panel panel-primary">
89
+ <div class="panel-heading">Autenticar Usuário</div>
90
+ <div class="panel-body">
91
+ <dl class="dl-horizontal">
92
+ <dt>Endereço</dt><dd>/api/autenticar</dd>
93
+ <dt>Método</dt><dd>GET</dd>
94
+ <dt>Parâm. obrigatórios</dt>
95
+ <dd>
96
+ <ul>
97
+ <li><strong>username</strong>: nome de usuário</li>
98
+ <li><strong>password</strong>: senha do usuário</li>
99
+ </ul>
100
+ </dd>
101
+ <dt>Formato da resposta</dt><dd>JSON</dd>
102
+ <dt>Possíveis respostas</dt>
103
+ <dd>
104
+ <ul>
105
+ <li><strong>HTTP Status Code:</strong> 200 - <strong>JSON {</strong> dados do usuário autenticado com os perfis, dados profissionais e o token <strong>}</strong></li>
106
+ <li><strong>HTTP Status Code:</strong> 400 - <strong>JSON {</strong> <strong>cause:</strong> 'username_required' - o nome de usuário não foi fornecido <strong>}</strong></li>
107
+ <li><strong>HTTP Status Code:</strong> 400 - <strong>JSON {</strong> <strong>cause:</strong> 'password_required' - a senha não foi fornecida <strong>}</strong></li>
108
+ <li><strong>HTTP Status Code:</strong> 401 - <strong>JSON {</strong> <strong>cause:</strong> 'user_not_found' - nome de usuário e/ou senha não encontrado(s) <strong>}</strong></li>
109
+ <li><strong>HTTP Status Code:</strong> 401 - <strong>JSON {</strong> <strong>cause:</strong> 'user_disabled' - conta de usuário desabilitada <strong>}</strong></li>
110
+ </ul>
111
+ </dd>
112
+ </dl>
113
+ </div>
114
+ </div>
115
+
116
+ <div class="alert alert-warning" role="alert">
117
+ <p><strong><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> Atenção:</strong> Todos os serviços descritos abaixo só podem ser acessados mediante token fornecido pelo serviço de autenticação. O token deve ser fornecido no cabeçalho da requisição da seguinte forma:<br></p>
118
+ <p><pre>Authorization: Token token=&lt;token&gt;</pre></p>
119
+ </div>
120
+
121
+ <h3>Teleconsultoria</h3>
122
+
123
+ <div class="panel panel-primary">
124
+ <div class="panel-heading">Listar Teleconsultorias</div>
125
+ <div class="panel-body">
126
+ <p>Se o usuário for um supervisor, retorna todas as teleconsultorias atendidas/em atendimento por ele, além daquelas sem teleconsultor; caso contrário, retorna as teleconsultorias solicitadas pelo próprio usuário.</p>
127
+ <dl class="dl-horizontal">
128
+ <dt>Endereço</dt><dd>/api/teleconsultorias</dd>
129
+ <dt>Método</dt><dd>GET</dd>
130
+ <dt>Parâm. opcionais</dt>
131
+ <dd>
132
+ <ul>
133
+ <li>
134
+ <strong>especialidade_id</strong>: filtra os resultados de acordo com a especialidade (área) das teleconsultorias
135
+ <ul>
136
+ <li>1 - Endocrinologia Pediátrica</li>
137
+ <li>5 - Pediatria Geral</li>
138
+ </ul>
139
+ </li>
140
+ <li><strong>situacao</strong>: filtra os resultados de acordo com a situação (0 - nova; 1 - em atendimento; 2 - finalizada)</li>
141
+ <li>
142
+ <strong>include</strong>: lista com os nomes das associações, separados por vírgula, que devem acompanhar os objetos da listagem de teleconsultorias. Possíveis valores:
143
+ <ul>
144
+ <li><strong>especialidade</strong>: as teleconsultorias retornadas serão acompanhadas de suas especialidades</li>
145
+ <li><strong>solicitante</strong>: as teleconsultorias retornadas serão acompanhadas dos usuários que as solicitaram</li>
146
+ <li><strong>teleconsultor</strong>: as teleconsultorias retornadas serão acompanhadas dos teleconsultores responsáveis</li>
147
+ <li><strong>mensagens</strong>: as teleconsultorias retornadas serão acompanhadas das mensagens</li>
148
+ </ul>
149
+ </li>
150
+ </ul>
151
+ </dd>
152
+ <dt>Resposta</dt><dd>Array de objetos Teleconsultoria</dd>
153
+ <dt>Formato da resposta</dt><dd>JSON</dd>
154
+ </dl>
155
+ </div>
156
+ </div>
157
+
158
+ <div class="panel panel-primary">
159
+ <div class="panel-heading">Detalhar Teleconsultoria</div>
160
+ <div class="panel-body">
161
+ <p>Só pode ser acessado pelo solicitante da teleconsultoria, ou pelo teleconsultor que está atendendo a teleconsultoria, ou por qualquer teleconsultor quando a teleconsultoria for nova.</p>
162
+ <dl class="dl-horizontal">
163
+ <dt>Endereço</dt><dd>/api/teleconsultorias/&lt;id&gt;</dd>
164
+ <dt>Método</dt><dd>GET</dd>
165
+ <dt>Parâm. opcionais</dt>
166
+ <dd>
167
+ <ul>
168
+ <li>
169
+ <strong>include</strong>: lista com os nomes das associações, separados por vírgula, que devem acompanhar os objetos da listagem de teleconsultorias. Possíveis valores:
170
+ <ul>
171
+ <li><strong>especialidade</strong>: as teleconsultorias retornadas serão acompanhadas de suas especialidades</li>
172
+ <li><strong>solicitante</strong>: as teleconsultorias retornadas serão acompanhadas dos usuários que as solicitaram</li>
173
+ <li><strong>teleconsultor</strong>: as teleconsultorias retornadas serão acompanhadas dos teleconsultores responsáveis</li>
174
+ <li><strong>mensagens</strong>: as teleconsultorias retornadas serão acompanhadas das mensagens</li>
175
+ </ul>
176
+ </li>
177
+ </ul>
178
+ </dd>
179
+ <dt>Possíveis respostas</dt>
180
+ <dd>
181
+ <ul>
182
+ <li><strong>HTTP Status Code:</strong> 200 - <strong>JSON {</strong> dados da teleconsultoria<strong> }</strong></li>
183
+ <li><strong>HTTP Status Code:</strong> 400 - <strong>JSON {</strong> <strong>cause:</strong> 'not_found' - nenhuma teleconsultoria encontrada com o id fornecido <strong>}</strong></li>
184
+ <li><strong>HTTP Status Code:</strong> 401 - <strong>JSON {</strong> <strong>cause:</strong> 'unauthorized' - o usuário não é solicitante e nem teleconsultor da teleconsultoria <strong>}</strong></li>
185
+ </ul>
186
+ </dd>
187
+ <dt>Formato da resposta</dt><dd>JSON</dd>
188
+ </dl>
189
+ </div>
190
+ </div>
191
+
192
+ <div class="panel panel-primary">
193
+ <div class="panel-heading">Cadastrar Teleconsultoria</div>
194
+ <div class="panel-body">
195
+ <dl class="dl-horizontal">
196
+ <dt>Endereço</dt><dd>/api/teleconsultorias</dd>
197
+ <dt>Método</dt><dd>POST</dd>
198
+ <dt>Parâm. obrigatórios</dt>
199
+ <dd>
200
+ <ul>
201
+ <li>
202
+ <strong>teleconsultoria[especialidade_id]</strong>: id da especialidade da teleconsultoria (área)
203
+ <ul>
204
+ <li>1 - Endocrinologia Pediátrica</li>
205
+ <li>5 - Pediatria Geral</li>
206
+ </ul>
207
+ </li>
208
+ </ul>
209
+ </dd>
210
+ <dt>Possíveis respostas</dt>
211
+ <dd>
212
+ <ul>
213
+ <li><strong>HTTP Status Code:</strong> 201 - <strong>JSON {</strong> dados da teleconsultoria persistida <strong>}</strong></li>
214
+ <li><strong>HTTP Status Code:</strong> 400 - <strong>JSON {</strong> <strong>cause:</strong> aponta os problemas ocorridos <strong>}</strong></li>
215
+ </ul>
216
+ </dd>
217
+ <dt>Formato da resposta</dt><dd>JSON</dd>
218
+ </dl>
219
+ </div>
220
+ </div>
221
+
222
+ <div class="panel panel-primary">
223
+ <div class="panel-heading">Atualizar Teleconsultoria</div>
224
+ <div class="panel-body">
225
+ <p>Atualizações só podem ser feitas pelo solicitante ou pelo teleconsultor.</p>
226
+ <dl class="dl-horizontal">
227
+ <dt>Endereço</dt><dd>/api/teleconsultorias/&lt;id&gt;</dd>
228
+ <dt>Método</dt><dd>PUT</dd>
229
+ <dt>Parâm. opcionais</dt>
230
+ <dd>
231
+ <ul>
232
+ <li>
233
+ <strong>teleconsultoria[especialidade_id]</strong>: id da especialidade da teleconsultoria (área)
234
+ <ul>
235
+ <li>1 - Endocrinologia Pediátrica</li>
236
+ <li>5 - Pediatria Geral</li>
237
+ </ul>
238
+ </li>
239
+ <li><strong>teleconsultoria[situacao]</strong>: situação da teleconsultoria (0 - Nova; 1 - Em atendimento; 2 - Finalizada)</li>
240
+ </ul>
241
+ </dd>
242
+ <dt>Possíveis respostas</dt>
243
+ <dd>
244
+ <ul>
245
+ <li><strong>HTTP Status Code:</strong> 200 - <strong>JSON {</strong> dados da teleconsultoria atualizada <strong>}</strong></li>
246
+ <li><strong>HTTP Status Code:</strong> 400 - <strong>JSON {</strong> <strong>cause:</strong> aponta os problemas ocorridos <strong>}</strong></li>
247
+ <li><strong>HTTP Status Code:</strong> 400 - <strong>JSON {</strong> <strong>cause:</strong> 'not_found' - nenhuma teleconsultoria encontrada com o id fornecido <strong>}</strong></li>
248
+ <li><strong>HTTP Status Code:</strong> 401 - <strong>JSON {</strong> <strong>cause:</strong> 'unauthorized' - o usuário não é solicitante e nem teleconsultor da teleconsultoria <strong>}</strong></li>
249
+ </ul>
250
+ </dd>
251
+ <dt>Formato da resposta</dt><dd>JSON</dd>
252
+ </dl>
253
+ </div>
254
+ </div>
255
+
256
+ <div class="panel panel-primary">
257
+ <div class="panel-heading">Excluir Teleconsultoria</div>
258
+ <div class="panel-body">
259
+ <p>Exclusões só podem ser feitas pelo solicitante ou pelo teleconsultor.</p>
260
+ <dl class="dl-horizontal">
261
+ <dt>Endereço</dt><dd>/api/teleconsultorias/&lt;id&gt;</dd>
262
+ <dt>Método</dt><dd>DELETE</dd>
263
+ <dt>Possíveis respostas</dt>
264
+ <dd>
265
+ <ul>
266
+ <li><strong>HTTP Status Code:</strong> 200 - <strong>JSON {</strong> 'success' - teleconsultoria excluída com sucesso <strong>}</strong></li>
267
+ <li><strong>HTTP Status Code:</strong> 400 - <strong>JSON {</strong> <strong>cause:</strong> 'not_found' - nenhuma teleconsultoria encontrada com o id fornecido <strong>}</strong></li>
268
+ <li><strong>HTTP Status Code:</strong> 401 - <strong>JSON {</strong> <strong>cause:</strong> 'unauthorized' - o usuário não é solicitante e nem teleconsultor da teleconsultoria <strong>}</strong></li>
269
+ </ul>
270
+ </dd>
271
+ <dt>Formato da resposta</dt><dd>JSON</dd>
272
+ </dl>
273
+ </div>
274
+ </div>
275
+
276
+ <h3>Mensagens</h3>
277
+
278
+ <div class="panel panel-primary">
279
+ <div class="panel-heading">Listar Mensagens</div>
280
+ <div class="panel-body">
281
+ <p>As mensagens de uma teleconsultoria só podem ser listadas pelo solicitante da teleconsultoria, pelo teleconsultor ou por qualquer teleconsultor quando a teleconsultoria for nova.</p>
282
+ <dl class="dl-horizontal">
283
+ <dt>Endereço</dt><dd>/api/teleconsultorias/&lt;id&gt;/mensagens</dd>
284
+ <dt>Método</dt><dd>GET</dd>
285
+ <dt>Parâm. opcionais</dt>
286
+ <dd>
287
+ <ul>
288
+ <li>
289
+ <strong>include</strong>: lista com os nomes das associações, separados por vírgula, que devem acompanhar os objetos da listagem de teleconsultorias. Possíveis valores:
290
+ <ul>
291
+ <li><strong>teleconsultoria</strong>: as mensagens retornadas serão acompanhadas de suas respectivas teleconsultorias</li>
292
+ <li><strong>autor</strong>: as mensagens retornadas serão acompanhadas dos usuários que as escreveram</li>
293
+ </ul>
294
+ </li>
295
+ </ul>
296
+ </dd>
297
+ <dt>Possíveis respostas</dt>
298
+ <dd>
299
+ <ul>
300
+ <li><strong>HTTP Status Code:</strong> 200 - <strong>JSON {</strong> array de objetos <strong>}</strong></li>
301
+ <li><strong>HTTP Status Code:</strong> 401 - <strong>JSON {</strong> <strong>cause:</strong> 'unauthorized' - o usuário não é solicitante e nem teleconsultor da teleconsultoria <strong>}</strong></li>
302
+ </ul>
303
+ </dd>
304
+ <dt>Formato da resposta</dt><dd>JSON</dd>
305
+ </dl>
306
+ </div>
307
+ </div>
308
+
309
+ <div class="panel panel-primary">
310
+ <div class="panel-heading">Detalhar Mensagem</div>
311
+ <div class="panel-body">
312
+ <dl class="dl-horizontal">
313
+ <dt>Endereço</dt><dd>/api/teleconsultorias/&lt;teleconsultoria_id&gt;/mensagens/&lt;mensagem_id&gt;</dd>
314
+ <dt>Método</dt><dd>GET</dd>
315
+ <dt>Parâm. opcionais</dt>
316
+ <dd>
317
+ <ul>
318
+ <li>
319
+ <strong>include</strong>: lista com os nomes das associações, separados por vírgula, que devem acompanhar os objetos da listagem de teleconsultorias. Possíveis valores:
320
+ <ul>
321
+ <li><strong>teleconsultoria</strong>: as mensagens retornadas serão acompanhadas de suas respectivas teleconsultorias</li>
322
+ <li><strong>autor</strong>: as mensagens retornadas serão acompanhadas dos usuários que as escreveram</li>
323
+ </ul>
324
+ </li>
325
+ </ul>
326
+ </dd>
327
+ <dt>Possíveis respostas</dt>
328
+ <dd>
329
+ <ul>
330
+ <li><strong>HTTP Status Code:</strong> 200 - <strong>JSON {</strong> dados do objeto <strong>}</strong></li>
331
+ <li><strong>HTTP Status Code:</strong> 400 - <strong>JSON {</strong> <strong>cause:</strong> 'not_found' - nenhuma mensagem encontrada com o id fornecido <strong>}</strong></li>
332
+ <li><strong>HTTP Status Code:</strong> 401 - <strong>JSON {</strong> <strong>cause:</strong> 'unauthorized' - o usuário não é solicitante e nem teleconsultor da teleconsultoria <strong>}</strong></li>
333
+ </ul>
334
+ </dd>
335
+ <dt>Formato da resposta</dt><dd>JSON</dd>
336
+ </dl>
337
+ </div>
338
+ </div>
339
+
340
+ <div class="panel panel-primary">
341
+ <div class="panel-heading">Cadastrar de Mensagem</div>
342
+ <div class="panel-body">
343
+ <dl class="dl-horizontal">
344
+ <dt>Endereço</dt><dd>/api/teleconsultorias/&lt;id&gt;/mensagens</dd>
345
+ <dt>Método</dt><dd>POST</dd>
346
+ <dt>Parâm. obrigatórios</dt>
347
+ <dd>
348
+ <ul>
349
+ <li><strong>mensagem[corpo]</strong>: corpo da mensagem</li>
350
+ <li><strong>mensagem[teleconsultoria_id]</strong>: id da teleconsultoria da mensagem</li>
351
+ </ul>
352
+ </dd>
353
+ <dt>Parâm. opcionais</dt>
354
+ <dd>
355
+ <ul>
356
+ <li><strong>mensagem[tipo]</strong>: campo opcional que indica o tipo de mensagem. Possíveis valores: 'texto' (padrão), 'imagem' ou 'audio'</li>
357
+ <li><strong>mensagem[arquivo]</strong>: arquivo anexado à mensagem</li>
358
+ </ul>
359
+ </dd>
360
+ <dt>Possíveis respostas</dt>
361
+ <dd>
362
+ <ul>
363
+ <li><strong>HTTP Status Code:</strong> 201 - <strong>JSON {</strong> dados da mensagem persistida <strong>}</strong></li>
364
+ <li><strong>HTTP Status Code:</strong> 400 - <strong>JSON {</strong> <strong>cause:</strong> aponta os problemas ocorridos <strong>}</strong></li>
365
+ <li><strong>HTTP Status Code:</strong> 401 - <strong>JSON {</strong> <strong>cause:</strong> 'unauthorized' - o usuário não é solicitante e nem teleconsultor da teleconsultoria <strong>}</strong></li>
366
+ </ul>
367
+ </dd>
368
+ <dt>Formato da resposta</dt><dd>JSON</dd>
369
+ </dl>
370
+ </div>
371
+ </div>
372
+
373
+ <div class="panel panel-primary">
374
+ <div class="panel-heading">Atualizar Mensagem</div>
375
+ <div class="panel-body">
376
+ <dl class="dl-horizontal">
377
+ <dt>Endereço</dt><dd>/api/teleconsultorias/&lt;teleconsultoria_id&gt;/mensagens/&lt;id&gt;</dd>
378
+ <dt>Método</dt><dd>PUT</dd>
379
+ <dt>Parâm. obrigatórios</dt>
380
+ <dd>
381
+ <ul>
382
+ <li><strong>mensagem[corpo]</strong>: corpo da mensagem</li>
383
+ <li><strong>mensagem[teleconsultoria_id]</strong>: id da teleconsultoria da mensagem</li>
384
+ </ul>
385
+ </dd>
386
+ <dt>Parâm. opcionais</dt>
387
+ <dd>
388
+ <ul>
389
+ <li><strong>mensagem[tipo]</strong>: campo opcional que indica o tipo de mensagem. Possíveis valores: 'texto' (padrão), 'imagem' ou 'audio'</li>
390
+ <li><strong>mensagem[arquivo]</strong>: arquivo anexado à mensagem</li>
391
+ </ul>
392
+ </dd>
393
+ <dt>Possíveis respostas</dt>
394
+ <dd>
395
+ <ul>
396
+ <li><strong>HTTP Status Code:</strong> 200 - <strong>JSON {</strong> dados da mensagem atualizada <strong>}</strong></li>
397
+ <li><strong>HTTP Status Code:</strong> 400 - <strong>JSON {</strong> <strong>cause:</strong> aponta os problemas ocorridos <strong>}</strong></li>
398
+ <li><strong>HTTP Status Code:</strong> 400 - <strong>JSON {</strong> <strong>cause:</strong> 'not_found' - nenhuma mensagem encontrada com o id fornecido <strong>}</strong></li>
399
+ <li><strong>HTTP Status Code:</strong> 401 - <strong>JSON {</strong> <strong>cause:</strong> 'unauthorized' - o usuário não é solicitante e nem teleconsultor da teleconsultoria <strong>}</strong></li>
400
+ <li><strong>HTTP Status Code:</strong> 401 - <strong>JSON {</strong> <strong>cause:</strong> 'unauthorized' - o usuário não é o autor da mensagem <strong>}</strong></li>
401
+ </ul>
402
+ </dd>
403
+ <dt>Formato da resposta</dt><dd>JSON</dd>
404
+ </dl>
405
+ </div>
406
+ </div>
407
+
408
+ <div class="panel panel-primary">
409
+ <div class="panel-heading">Excluir Mensagem</div>
410
+ <div class="panel-body">
411
+ <dl class="dl-horizontal">
412
+ <dt>Endereço</dt><dd>/api/teleconsultorias/&lt;teleconsultoria_id&gt;/mensagens/&lt;id&gt;</dd>
413
+ <dt>Método</dt><dd>DELETE</dd>
414
+ <dt>Possíveis respostas</dt>
415
+ <dd>
416
+ <ul>
417
+ <li><strong>HTTP Status Code:</strong> 200 - <strong>JSON {</strong> 'success' - mensagem excluída com sucesso <strong>}</strong></li>
418
+ <li><strong>HTTP Status Code:</strong> 400 - <strong>JSON {</strong> <strong>cause:</strong> 'not_found' - nenhuma mensagem encontrada com o id fornecido <strong>}</strong></li>
419
+ <li><strong>HTTP Status Code:</strong> 401 - <strong>JSON {</strong> <strong>cause:</strong> 'unauthorized' - o usuário não é solicitante e nem teleconsultor da teleconsultoria <strong>}</strong></li>
420
+ <li><strong>HTTP Status Code:</strong> 401 - <strong>JSON {</strong> <strong>cause:</strong> 'unauthorized' - o usuário não é o autor da mensagem <strong>}</strong></li>
421
+ </ul>
422
+ </dd>
423
+ <dt>Formato da resposta</dt><dd>JSON</dd>
424
+ </dl>
425
+ </div>
426
+ </div>
427
+
428
+ <h3>Pacientes</h3>
429
+
430
+ <div class="panel panel-primary">
431
+ <div class="panel-heading">Listar Pacientes</div>
432
+ <div class="panel-body">
433
+ <dl class="dl-horizontal">
434
+ <dt>Endereço</dt><dd>/api/pacientes</dd>
435
+ <dt>Método</dt><dd>GET</dd>
436
+ <dt>Parâm. obrigatórios</dt>
437
+ <dd>
438
+ <ul>
439
+ <li><strong>nome</strong>: filtra os resultados de acordo com o nome do paciente</li>
440
+ </ul>
441
+ </dd>
442
+ <dt>Possíveis respostas</dt>
443
+ <dd>
444
+ <ul>
445
+ <li><strong>HTTP Status Code:</strong> 200 - <strong>JSON {</strong> Array de objetos Paciente <strong>}</strong></li>
446
+ <li><strong>HTTP Status Code:</strong> 400 - <strong>JSON {</strong> <strong>cause:</strong> 'nome_required' - parâmetro 'nome' obrigatório <strong>}</strong></li>
447
+ </ul>
448
+ </dd>
449
+ <dt>Formato da resposta</dt><dd>JSON</dd>
450
+ </dl>
451
+ </div>
452
+ </div>