Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vwapplications/sdcurve
Microservice of growth curve, height, weight, EMC and cephalic perimeter for children with Down Syndrome
https://github.com/vwapplications/sdcurve
api cephalic-perimeter django-rest-framework down down-s-syndrome growth-curve height imc microservice weight
Last synced: about 1 month ago
JSON representation
Microservice of growth curve, height, weight, EMC and cephalic perimeter for children with Down Syndrome
- Host: GitHub
- URL: https://github.com/vwapplications/sdcurve
- Owner: VWApplications
- License: mit
- Created: 2018-05-10T23:58:37.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T02:05:41.000Z (about 2 years ago)
- Last Synced: 2024-03-15T12:22:17.313Z (9 months ago)
- Topics: api, cephalic-perimeter, django-rest-framework, down, down-s-syndrome, growth-curve, height, imc, microservice, weight
- Language: Python
- Homepage:
- Size: 81.1 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# 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](https://travis-ci.com/VictorArnaud/sdcurve.svg?branch=master)](https://travis-ci.com/VictorArnaud/sdcurve)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/36d1be48a24f42109ae26e2997a6c079)](https://www.codacy.com/app/VictorArnaud/sdcurve?utm_source=github.com&utm_medium=referral&utm_content=VictorArnaud/sdcurve&utm_campaign=Badge_Grade)
[![Codacy Badge](https://api.codacy.com/project/badge/Coverage/36d1be48a24f42109ae26e2997a6c079)](https://www.codacy.com/app/VictorArnaud/sdcurve?utm_source=github.com&utm_medium=referral&utm_content=VictorArnaud/sdcurve&utm_campaign=Badge_Coverage)## 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 updatesudo 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 ```
* Para entrar no ambiente virtual: ```workon ```
* Para sair do ambiente virtual: ```deactivate```
* Para remover o ambiente virtual: ```rmvirtualenv ```
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:
* [x] Título da curva (title)
* [x] Eixo X da curva, ou seja, as idades (ages)
* [x] 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)
* [x] Os percentis gerados para IMC (percentis_5, percentis_10, percentis_25, percentis_50, percentis_75, percentis_85, percentis_90 e percentis_95)
* [x] Um atributo chamado "graphic" tendo uma reorganização dos dados acima para plotagem em APIS de gráficos como [Google Charts](https://developers.google.com/chart/interactive/docs/)
* [x] 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](https://user-images.githubusercontent.com/14116020/40089804-34a2684a-5884-11e8-8ee1-94827a7159f9.png)
Fonte: (BERTAPELLI FABIO. 2016)
```
Entradas: N/ASaí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](https://user-images.githubusercontent.com/14116020/40089803-347c58a8-5884-11e8-85b9-d3d1d1407952.png)
Fonte: (BERTAPELLI FABIO. 2016)
```
Entradas: N/ASaí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](https://user-images.githubusercontent.com/14116020/40089802-345a30c0-5884-11e8-868f-01c094640f99.png)
Fonte: (BERTAPELLI FABIO. 2016)
```
Entradas: N/ASaí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](https://user-images.githubusercontent.com/14116020/40089801-342b6628-5884-11e8-9861-87fc667f4d6e.png)
Fonte: (BERTAPELLI FABIO. 2016)
```
Entradas: N/ASaí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](https://user-images.githubusercontent.com/14116020/40089901-b8b23d68-5884-11e8-900d-375c4e8f5d89.png)
Fonte: (BERTAPELLI FABIO. 2016)
```
Entradas: N/ASaí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](https://user-images.githubusercontent.com/14116020/40089849-6de9fa96-5884-11e8-96f0-4abf90363086.png)
Fonte: (BERTAPELLI FABIO. 2016)```
Entradas: N/ASaí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](https://user-images.githubusercontent.com/14116020/40089848-6dc9c35c-5884-11e8-8f9a-c6476fdfe283.png)
Fonte: (BERTAPELLI FABIO. 2016)
```
Entradas: N/ASaí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](https://user-images.githubusercontent.com/14116020/40089847-6da5b08e-5884-11e8-8fba-4eefa4dfce25.png)
Fonte: (BERTAPELLI FABIO. 2016)
```
Entradas: N/ASaí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](https://user-images.githubusercontent.com/14116020/40089923-d9523212-5884-11e8-8b6c-ffaf91a37995.png)
Fonte: (BERTAPELLI FABIO. 2016)
```
Entradas: N/ASaí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](https://user-images.githubusercontent.com/14116020/40089922-d92cfb64-5884-11e8-8b55-269d29806f0f.png)
Fonte: (BERTAPELLI FABIO. 2016)
```
Entradas: N/ASaí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](https://user-images.githubusercontent.com/14116020/40089909-c3dced8c-5884-11e8-99f2-5f2bc44f3b74.png)
Fonte: (BERTAPELLI FABIO. 2016)```
Entradas: N/ASaí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](https://user-images.githubusercontent.com/14116020/40089908-c3b7901e-5884-11e8-9aec-28be9e4fbd49.png)
Fonte: (BERTAPELLI FABIO. 2016)
```
Entradas: N/ASaí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