/coc

Sistema de gerenciamento para ótica, desenvolvido em React

Primary LanguageJavaScript

COC

Sistema voltado para o gerenciamento de cadastro de pacientes e criação de fichas e prescrições de forma digital.

Detalhamento de rotas do servidor

POST - Cadastro de usuários:

O cadastro é uma rota secreta, que não deve ser acessada por nenhum usuário, por isso possui um password secreto que é enviado pelo headers da aplicação.

Recurso: /privileges

Headers: Authorization": privileges

{
  "id": "admin",
  "password": "secret",
  "type": 1
}

POST - Login:

Recurso: /login

{
  "id": "admin",
  "password": "secret"
}

POST - Cadastro de pacientes:

É necessário enviar no headers da aplicação, o id do usuário logado como forma de segurança.

Recurso: /patients

Headers: Authorization": admin

{
  "nome": "Jose",
  "cpf": "111.111.222-98",
  "rg": "9222545",
  "data_nascimento": "09/01/1996",
  "idade": 30,
  "reg": "Nao sei",
  "rua": "Rua dos beco",
  "numero": 99,
  "bairro": "Nao tem",
  "nome_pai": "Zezin",
  "nome_mae": "Zefinha",
  "telefone": "81999999999",
  "email": "teste@teste.com",
  "profissao": "Predrero",
  "convenio": "SUS",
  "antecedentes_pessoais": "Ele bebia cana"
}

GET - Busca de todos os pacientes:

Recurso: /patients-all

Headers: Authorization: admin

{
  No body
}

GET - Busca de paciente por nome:

É necessário informar sempre o nome do usuário a ser pesquisado na query, assim como o id do usuário logado, nesse caso no headers.

Recurso: /patients-name

Query: nome: Jose Headers: Authorization: admin

{
  No body
}

GET - Busca de paciente por id:

Recurso: /patients/:patient

Headers: Authorization: admin

{
  No body
}

PUT - Atualização de pacientes:

Recurso: /patients/:patient

Headers: Authorization: admin

{
  "nome": "Jose",
  "cpf": "222.333.454-96",
  "rg": "9222545",
  "data_nascimento": "09-01-1996",
  "idade": 30,
  "reg": "Nao sei",
  "rua": "Rua dos beco",
  "numero": 99,
  "bairro": "Nao tem",
  "nome_pai": "Zezin",
  "nome_mae": "Zefinha",
  "telefone": "81999999999",
  "email": "teste@teste.com",
  "profissao": "Predrero",
  "convenio": "SUS",
  "antecedentes_pessoais": "Ele nao bebia cana"
}

DELETE - Exclusão de pacientes:

Recurso: /patients/:patient

Headers: Authorization: admin

{
  No body
}

POST - Nova consulta:

Recurso: /appointments

Headers: Authorization: admin

{
  "tipo": "teste_de_olhinho",
  "patient_id": 1
}

GET - Procura de consulta:

Recurso: /appointments/:appointment

Headers: Authorization: admin

{
  No body
}

POST - Replace today:

Recurso: /today

Headers: {"Authorization": 123321456899}

{
  "today": 2
}

GET - Lista de todas consultas do dia:

Recurso: /today

Headers: Authorization: admin

{
  No body
}

GET - Lista de detalhes de uma consulta do dia:

Recurso: /today/:appointment

Headers: Authorization: admin

{
  No body
}

DELETE - Exclusão de today:

Recurso: /today/:today

Headers: Authorization: admin

{
  No body
}

POST - Nova avaliação a partir de uma consulta selecionada:

Cada consulta só possui uma única avaliação, porém cada paciente pode ter várias consultas registradas em seu histórico.

Recurso: /evaluations

Headers: Authorization: admin

{
  "hda": "teste",
  "longe_esferico_od": "teste",
  "longe_esferico_oe": "teste",
  "longe_cilindro_od": "teste",
  "longe_cilindro_oe": "teste",
  "longe_eixo_od": "teste",
  "longe_eixo_oe": "teste",
  "perto_esferico_od": "teste",
  "perto_esferico_oe": "teste",
  "perto_cilindro_od": "teste",
  "perto_cilindro_oe": "teste",
  "perto_eixo_od": "teste",
  "perto_eixo_oe": "teste",
  "avl_od": "teste",
  "avl_oe": "teste",
  "tonometria_od": "teste",
  "tonometria_oe": "teste",
  "biomicroscopia": "teste",
  "fundoscopia": "teste",
  "outros": "teste",
  "consulta_id": 1
}

GET - Busca de avaliação:

Recurso: /evaluations/:evaluation

Headers: Authorization: admin

{
  No body
}