Para acessar a interface do projeto.


Tecnologias utilizadas no desenvolvimento:

  • GraphQL
  • Babel
  • Apollo-Server

A escolha do GraphQL foi pelo grande volume de dados a serem processados evitando o overfetching.


Iniciando projeto

Instale as dependencias

npm install

Faça o processo de build

npm run build

Inicie o servidor

npm start

Para modo desenlvedor utilize o npm run dev


Exemplos de Query

Após iniciar o servidor abra o API Client http://localhost:4000



  • Consultar em uma única chamada, todas as características de um paciente, com os valores mais recentes de cada uma.
    query BuscarPorCPF($cpf: String!) { 
        getPatientByCPF(cpf: $cpf) {
            nome idade cpf rg data_nasc sexo signo mae pai email senha cep endereco 
            numero bairro cidade estado telefone_fixo celular altura peso tipo_sanguineo cor
            
            indiceCardiaco { 
                data
                exame { EPOC ind_card }
            }
            indicePulmonar {
                data
                exame { EPOC ind_pulm }
            }
        } 
    }

Insira os valores na variaveis .json

{
  "cpf": "041.897.838-70"
}


  • Consultar pacientes que contenham um nome ou parte de um nome a ser especificado na chamada da API.
    query BuscarPorNome($nome: String!) {
        getPatientByName(nome: $nome) {
            nome idade cpf rg data_nasc sexo signo mae pai email senha cep endereco 
            numero bairro cidade estado telefone_fixo celular altura peso tipo_sanguineo cor
            
            indiceCardiaco { 
                data
                exame { EPOC ind_card }
            }
            indicePulmonar {
                data
                exame { EPOC ind_pulm }
            }
        }
    }

Insira os valores na variaveis .json

{
  "nome": "Alexandre"
}


  • Consultar, para cada paciente, cada uma das características individualmente e cada uma delas sendo a mais recente disponível.
    query BuscarExameDePaciente($cpf: String!) {
        getPatientByCPF(cpf: $cpf) {
            nome cpf rg data_nasc

            indiceCardiaco {
                data
                exame { EPOC ind_card }
            }
        }
    }

Para mudar o exame: indiceCardiaco ou indicePulmonar Insira os valores na variaveis .json

{
  "cpf": "041.897.838-70"
}


  • Consultar para uma determinada data (dia, mês e ano), todas as características existentes de todos os pacientes da base de dados.
    query BuscarExameEPacientePorData($data: String!) {
        getExamCardiacByDate(data: $data) {
            data
            exame {
            EPOC
            ind_card
                paciente {
                nome idade cpf rg data_nasc sexo signo mae pai email senha cep endereco 
                numero bairro cidade estado telefone_fixo celular altura peso tipo_sanguineo cor
                }
            }
        }
    }

Para mudar o exame: getExamCardiacByDate ou getExamPulmonaryByDate

Insira os valores na variaveis .json

{
  "data": "01062021"
}


  • Consultar uma característica qualquer de um paciente para um intervalo de datas a ser especificado na chamada da API.
    query BuscarExamePorIntervalo($dataInicial: String!, $dataFinal: String!, $cpf: String!) {
        getExamCardiacWithInterval(dataInicial: $dataInicial, dataFinal: $dataFinal, CPF: $cpf) {
            data
            exame { 
                EPOC 
                ind_card
                paciente { nome cpf }
            }
        }
    }

Para mudar o exame: getExamCardiacWithInterval ou getExamPulmonaryWithInterval Insira os valores na variaveis .json

{
  "cpf": "041.897.838-70",
  "dataInicial": "21062021",
  "dataFinal": "30032021"
}


  • Consultar o valor mais recente de uma característica de um paciente que esteja entre um intervalo de valores a ser especificado na chamada da API.
    query BuscarExamePorIntervalorValor($valorInicial: String!, $valorFinal: String!, $cpf: String!) {
        getExamCardiacWithIntervalValue(valorInicial: $valorInicial, valorFinal: $valorFinal, CPF: $cpf) {
            data
            exame {
            EPOC
            ind_card
            paciente { nome cpf }
            }
        }
    }

Para mudar o exame: getExamCardiacWithIntervalValue ou getExamPulmonaryWithIntervalValue

Insira os valores na variaveis .json

{   
  "cpf": "222.491.969-74",
  "valorInicial": "0.74",
  "valorFinal": "0.8"
}