Skip to content

Microservice of growth curve, height, weight, EMC and cephalic perimeter for children with Down Syndrome

License

Notifications You must be signed in to change notification settings

Dr-Down/sdcurve

Repository files navigation

sdcurve

Microserviço de curvas de crescimento baseados na Altura, Peso, IMC e Perímetro Cefálico de crianças com Síndrome de Down do sexo masculino ou feminino de 0 a 36 meses e de 3 a 18 anos.

Build Status Codacy Badge Codacy Badge

Instalação

Pega o repositório do github: git clone https://github.com/VictorArnaud/sdcurve.git

Instalar dependencias para rodar o python3 e pip3

sudo apt-get update

sudo apt-get install -y python3-dev sqlite python3-pip libpq-dev
sudo apt-get install -y gettext

Criar o ambiente virtual de desenvolvimento (virtualenvwrapper)

sudo pip3 install --upgrade pip
sudo pip3 install virtualenvwrapper

No arquivo .bashrc do link insira:

WORKON_HOME=~/.virtualenvs
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
  • Para criar um ambiente virtual: mkvirtualenv <venv_name>

  • Para entrar no ambiente virtual: workon <venv_name>

  • Para sair do ambiente virtual: deactivate

  • Para remover o ambiente virtual: rmvirtualenv <venv_name>

Instalar dependencias do projeto dentro do ambiente virtual

pip install -r requeriments.txt

Rodar comandos para popular o banco de dados

python3 manage.py migrations
python3 manage.py migrate

Rode o servidor

python3 manage.py runserver 0.0.0.0:8000

Como usar

Esse microserviço disponibiliza de todas as curvas de crescimento necessárias para que o médico possa acompanhar melhor seus pacientes com síndrome de down.

Todos os endpoints disponibilizam:

  • Título da curva (title)

  • Eixo X da curva, ou seja, as idades (ages)

  • Os percentis gerados para peso, estatura e perímetro cefálico (percentis_3, percentis_10, percentis_25, percentis_50, percentis_75, percentis_90 e percentis_97)

  • Os percentis gerados para IMC (percentis_5, percentis_10, percentis_25, percentis_50, percentis_75, percentis_85, percentis_90 e percentis_95)

  • Um atributo chamado "graphic" tendo uma reorganização dos dados acima para plotagem em APIS de gráficos como Google Charts

  • Resultado de um consulta aos gráficos, por exemplo, ao inserir o peso, idade, sexo e intervalo de idade (0 a 36 meses ou 3 a 18 anos) da criança o resultado será se a criança está no peso médio (0), acima do peso médio (1) ou abaixo do peso médio (-1) estipulado pelos valores dentro dos percentis, ou seja, entre os percentis_3 e percentis_97 a crianças está com o peso na medida normal, abaixo do percentis_3 está com o peso abaixo da média e acima do percentis_97 está com o peso acima da média normal.

OBS: Em estatística descritiva, os percentis são medidas que dividem a amostra ordenada (por ordem crescente dos dados) em 100 partes, cada uma com uma percentagem de dados aproximadamente igual.

Endpoints para curva de crescimento (Altura)

  • /api/growth-curve/height/male-years/

    cim3-20

    Fonte: (BERTAPELLI FABIO. 2016)

    Entradas: N/A
    
    Saídas:
      - title: Título da curva.
      - ages: Idades do eixo X da curva
      - percentis_3: Curva de 3%
      - percentis_10: Curva de 10%
      - percentis_25: Curva de 25%
      - percentis_50: Curva de 50%
      - percentis_75: Curva de 75%
      - percentis_90: Curva de 90%
      - percentis_97: Curva de 97%
      - graphic: Reordenação dos dados para plotagem.
    
  • /api/growth-curve/height/male-months/

    cim0-36

    Fonte: (BERTAPELLI FABIO. 2016)

    Entradas: N/A
    
    Saídas:
      - title: Título da curva.
      - ages: Idades do eixo X da curva
      - percentis_3: Curva de 3%
      - percentis_10: Curva de 10%
      - percentis_25: Curva de 25%
      - percentis_50: Curva de 50%
      - percentis_75: Curva de 75%
      - percentis_90: Curva de 90%
      - percentis_97: Curva de 97%
    
  • /api/growth-curve/height/female-years/

    cif3-20

    Fonte: (BERTAPELLI FABIO. 2016)

    Entradas: N/A
    
    Saídas:
      - title: Título da curva.
      - ages: Idades do eixo X da curva
      - percentis_3: Curva de 3%
      - percentis_10: Curva de 10%
      - percentis_25: Curva de 25%
      - percentis_50: Curva de 50%
      - percentis_75: Curva de 75%
      - percentis_90: Curva de 90%
      - percentis_97: Curva de 97%
      - graphic: Reordenação dos dados para plotagem.
    
  • /api/growth-curve/height/female-months/

    cif0-36

    Fonte: (BERTAPELLI FABIO. 2016)

    Entradas: N/A
    
    Saídas:
      - title: Título da curva.
      - ages: Idades do eixo X da curva
      - percentis_3: Curva de 3%
      - percentis_10: Curva de 10%
      - percentis_25: Curva de 25%
      - percentis_50: Curva de 50%
      - percentis_75: Curva de 75%
      - percentis_90: Curva de 90%
      - percentis_97: Curva de 97%
      - graphic: Reordenação dos dados para plotagem.
    
  • /api/growth-curve/height/result/

    Entradas:
      - height (cm): Altura da criança
      - age: Idade da criança.
      - gender: 'M' (Masculino) ou 'F' (Feminino).
      - interval: 'months' (0 a 36 meses) ou 'years' (3 a 18 anos).
    
    Saídas (result):
      -  0: Se a criança está na altura média.
      -  1: Se a criança está acima da altura média.
      - -1: Se a criança está abaixo da altura média.
    

Endpoints para curva de crescimento (Peso)

  • /api/growth-curve/weight/male-years/

    pim3-20

    Fonte: (BERTAPELLI FABIO. 2016)

    Entradas: N/A
    
    Saídas:
      - title: Título da curva.
      - ages: Idades do eixo X da curva
      - percentis_3: Curva de 3%
      - percentis_10: Curva de 10%
      - percentis_25: Curva de 25%
      - percentis_50: Curva de 50%
      - percentis_75: Curva de 75%
      - percentis_90: Curva de 90%
      - percentis_97: Curva de 97%
      - graphic: Reordenação dos dados para plotagem.
    
  • /api/growth-curve/weight/male-months/

    pim0-36

    Fonte: (BERTAPELLI FABIO. 2016)

    Entradas: N/A
    
    Saídas:
      - title: Título da curva.
      - ages: Idades do eixo X da curva
      - percentis_3: Curva de 3%
      - percentis_10: Curva de 10%
      - percentis_25: Curva de 25%
      - percentis_50: Curva de 50%
      - percentis_75: Curva de 75%
      - percentis_90: Curva de 90%
      - percentis_97: Curva de 97%
      - graphic: Reordenação dos dados para plotagem.
    
  • /api/growth-curve/weight/female-years/

    pif3-20

    Fonte: (BERTAPELLI FABIO. 2016)

    Entradas: N/A
    
    Saídas:
      - title: Título da curva.
      - ages: Idades do eixo X da curva
      - percentis_3: Curva de 3%
      - percentis_10: Curva de 10%
      - percentis_25: Curva de 25%
      - percentis_50: Curva de 50%
      - percentis_75: Curva de 75%
      - percentis_90: Curva de 90%
      - percentis_97: Curva de 97%
      - graphic: Reordenação dos dados para plotagem.
    
  • /api/growth-curve/weight/female-months/

    pif0-36

    Fonte: (BERTAPELLI FABIO. 2016)

    Entradas: N/A
    
    Saídas:
      - title: Título da curva.
      - ages: Idades do eixo X da curva
      - percentis_3: Curva de 3%
      - percentis_10: Curva de 10%
      - percentis_25: Curva de 25%
      - percentis_50: Curva de 50%
      - percentis_75: Curva de 75%
      - percentis_90: Curva de 90%
      - percentis_97: Curva de 97%
      - graphic: Reordenação dos dados para plotagem.
    
  • /api/growth-curve/weight/result/

    Entradas:
      - weight (kg): Peso da criança
      - age: Idade da criança.
      - gender: 'M' (Masculino) ou 'F' (Feminino).
      - interval: 'months' (0 a 36 meses) ou 'years' (3 a 18 anos).
    
    Saídas (result):
      -  0: Se a criança está no peso médio.
      -  1: Se a criança está acima do peso médio.
      - -1: Se a criança está abaixo do peso médio.
    

Endpoints para curva de crescimento (IMC)

  • /api/growth-curve/imc/male/

    imcm2-18

    Fonte: (BERTAPELLI FABIO. 2016)

    Entradas: N/A
    
    Saídas:
      - title: Título da curva.
      - ages: Idades do eixo X da curva
      - percentis_3: Curva de 5%
      - percentis_10: Curva de 10%
      - percentis_25: Curva de 25%
      - percentis_50: Curva de 50%
      - percentis_75: Curva de 75%
      - percentis_85: Curva de 85%
      - percentis_90: Curva de 90%
      - percentis_97: Curva de 95%
      - graphic: Reordenação dos dados para plotagem.
    
  • /api/growth-curve/imc/female/

    imcf2-18

    Fonte: (BERTAPELLI FABIO. 2016)

    Entradas: N/A
    
    Saídas:
      - title: Título da curva.
      - ages: Idades do eixo X da curva
      - percentis_3: Curva de 5%
      - percentis_10: Curva de 10%
      - percentis_25: Curva de 25%
      - percentis_50: Curva de 50%
      - percentis_75: Curva de 75%
      - percentis_85: Curva de 85%
      - percentis_90: Curva de 90%
      - percentis_97: Curva de 95%
      - graphic: Reordenação dos dados para plotagem.
    
  • /api/growth-curve/imc/result/

    Entradas:
      - height (m): Altura da criança
      - weight (kg): Peso da criança
      - age: Idade da criança.
      - gender: 'M' (Masculino) ou 'F' (Feminino).
    
    Saídas (result):
      -  0: Se a criança está no IMC médio.
      -  1: Se a criança está acima do IMC médio.
      - -1: Se a criança está abaixo do IMC médio.
    

Endpoints para curva de crescimento (perímetro cefálico)

  • /api/growth-curve/perimeter/male/

    pcim0-24

    Fonte: (BERTAPELLI FABIO. 2016)

    Entradas: N/A
    
    Saídas:
      - title: Título da curva.
      - ages: Idades do eixo X da curva
      - percentis_3: Curva de 3%
      - percentis_10: Curva de 10%
      - percentis_25: Curva de 25%
      - percentis_50: Curva de 50%
      - percentis_75: Curva de 75%
      - percentis_90: Curva de 90%
      - percentis_97: Curva de 97%
      - graphic: Reordenação dos dados para plotagem.
    
  • /api/growth-curve/perimeter/female/

    pcif0-24

    Fonte: (BERTAPELLI FABIO. 2016)

    Entradas: N/A
    
    Saídas:
      - title: Título da curva.
      - ages: Idades do eixo X da curva
      - percentis_3: Curva de 3%
      - percentis_10: Curva de 10%
      - percentis_25: Curva de 25%
      - percentis_50: Curva de 50%
      - percentis_75: Curva de 75%
      - percentis_90: Curva de 90%
      - percentis_97: Curva de 97%
      - graphic: Reordenação dos dados para plotagem.
    
  • /api/growth-curve/perimeter/result/

    Entradas:
      - perimeter (cm): Perímetro cefálico da criança
      - age: Idade da criança.
      - gender: 'M' (Masculino) ou 'F' (Feminino).
    
    Saídas (result):
      -  0: Se a criança está no perímetro cefálico médio.
      -  1: Se a criança está acima do perímetro cefálico médio.
      - -1: Se a criança está abaixo do perímetro cefálico médio.
    

Refêrencia

BERTAPELLI FABIO. Curvas de referência de crescimento para crianças e adolescentes com síndrome de down com idade entre 0 e 20 anos. Tese de doutorado na Universidade de Campinas, Faculdade de Ciências Médicas. Campinha, SP. 2016

About

Microservice of growth curve, height, weight, EMC and cephalic perimeter for children with Down Syndrome

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published