-
Notifications
You must be signed in to change notification settings - Fork 2
Inicio
Sistema para visualización de datos del Sistema Nacional Integrado de Salud desarrollada por DATA en convenio con la DGSNIS del Ministerio de Salud Pública con el apoyo de la Iniciativa Latinoamericana por los Datos Abiertos ILDA
-
Postgresql
- Servidor - instalación
- Instalar libreria de desarrollo
apt-get -y install libpq-dev
-
Ruby 2.2.4
- RVM - instalación
rvm install 2.2.4
rvm use 2.2.4
-
Bundle
gem install bundler --conservative
-
NodeJS
apt get install -y nodejs npm
git clone https://github.com/idatosabiertos/ATuServicio.git
cd ATuServicio
bundle install
- Levantar base de datos (postgres) e insertar datos (2014-2017)
rake db:create db:migrate importer:all[year]
bundle exec puma -C config/puma.rb
- Navegar a http://localhost:3000
Vagrant /vagrant
Previamente debe haber instalado Vagrant y VirtualBox.
git clone https://github.com/idatosabiertos/ATuServicio.git
cd ATuServicio/vagrant
-
vagrant up
// levanta una maquina virtual con todas las dependencias, configuraciones necesarias e instala la aplicación. - Navegar a http://localhost:8080 en la maquina host.
Servidor PUMA, más info
- PORT - en caso de no setearse levantará en el puerto 3000.
- WEB_CONCURRENCY - en caso de no setearse su valor por defecto es 2.
- MAX_THREADS - en caso de no setearse su valor por defecto es 5.
Producción RACK_ENV=production (por defecto su modo es development)
- ATUSERVICIO_DB - nombre de la base de datos.
- ATUSERVICIO_DB_USER - nombre de usuario del servidor de base de datos.
- ATUSERVICIO_DB_PASSWORD- nombre de usuario del servidor de base de datos.
- ATUSERVICIO_DB_HOST - nombre o IP del host donde se encuentra el servidor de base de datos.
Diagrama de base de datos /db/schema.rb
### Provider
Esta tabla hace referencia al Proveedor de servicio de salud (Ej: ASSE, Española, Casmu, etc).
### Sites
Esta tabla contiene las sucursales de cada proveedor de salud.
### States
Esta tabla contiene los departamentos de Uruguay, que corresponden con la ubicación de cada sucursal.
## Provider Maximus
Esta tabla contiene los valores máximos de cada proveedor para poder compararlos en la página de inicio.
Los datos utilizados son extraídos anualmente del catálogo de datos abiertos de Uruguay. Por más información acerca del significado de cada indicador revise la guía metodológica.
- estructura.csv Datos de estructura de los proveedores. Se usa para importar proveedores (ASSE, Española, Casmu, etc.), se mapean al objeto Provider.
- sedes.csv Datos de sedes (id, dirección, departamento, localildad, nivel, servicios), se mapean al objeto Site.
- metas.csv Metas asistenciales (porcentaje de afiliados, etc.). Datos que se agregan al objeto Provider.
- precios.csv Precios de tickets para medicamentos, consultas, demás. Datos que se agregan al objeto Provider.
- tiempos_espera.csv Tiempos de espera. Datos que se agregan al objeto Provider.
- satisfaccion_derechos.csv Satisfacción de derechos de usuario (conformidad con disponiblidad, evaluación de tiempos de espera, etc.). Datos que se agregan al objeto Provider.
- rrhh.csv Recursos Humanos, cargos de médicos generales, de familia, etc. Datos que se agregan al objeto Provider.
- solicitud_consultas.csv Solicitud de consultas (reserva presencial, telefónica, web). Datos que se agregan al objeto Provider.
En /config/metadata.yml encontramos el mapeo de las columnas de cada CSV a su tabla correspondiente en la base de datos, en donde por cada archivo se tiene:
-
title
- Nombre del archivo CSV (Ejemplo: "Estructura", "Metas Asistenciales"). -
description
- Nombre de la columna en el CSV. -
columns
- Nombre de la columna en el objeto (y la BD). -
definition
- Los tipos de cada columna (text, boolean, decimal, etc).
En el directorio lib/
del proyecto hay un script convert.sh
que convierte todos los archivos CSV de su encoding a utf-8 para Ruby. A su vez, es importante tener cuidado con las comas y/o punto y comas que se utilicen en especial en separadores de columna y decimales.
Los archivos CSV utilizados por cada año se encuentran almacenados en /db/data, así como los scripts de migración usados para contemplar los cambios en dichos datos por cada año estan en /db/migrate.
Los logos deben ir en el directorio app/assets/images/logos
con el siguiente formato de nombre:
"#{provider.id}-solo-letras-minusculas.png"
Archivos PNG nombre sólo letras (sin acentos ni símbolos) y separado del ID de proveedor (por practicidad). Ej: 1062-circulo-catolico.png
ATuServicio usa código fuente de los siguientes proyectos:
Includes Sizzle.js
http://sizzlejs.com/
Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
Released under the MIT license
http://jquery.org/license
Copyright jQuery Foundation and other contributors
Released under the MIT license.
http://jquery.org/license
http://api.jqueryui.com/category/ui-core/
Copyright jQuery Foundation and other contributors
Released under the MIT license.
http://jquery.org/license
http://api.jqueryui.com/jQuery.widget/
Copyright jQuery Foundation and other contributors
Released under the MIT license.
http://jquery.org/license
http://api.jqueryui.com/position/
Copyright jQuery Foundation and other contributors
Released under the MIT license.
http://jquery.org/license
http://api.jqueryui.com/menu/
Copyright jQuery Foundation and other contributors
Released under the MIT license.
http://jquery.org/license
http://api.jqueryui.com/autocomplete/
https://github.com/usablica/intro.js
MIT licensed
Copyright (C) 2013 usabli.ca - A weekend project by Afshin Mehrabani (@afshinmeh)
Copyright 2011-2015 Twitter, Inc.
Licensed under the MIT license
Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors
Released under the MIT license
http://jquery.org/license
ATuServicio utiliza Travis CI, integración continua para corroborar que el proyecto se construye correctamente en cada push.