Skip to content

psbella/pami

Repository files navigation

💊 Buscador de Medicamentos PAMI

GitHub Pages License Repo Size Last Commit Open Issues

Dependencies Open Source No Ads No Tracking GDPR

Responsive Mobile First Accessibility Score

HTML5 CSS3 JavaScript SVG JSON

Python OpenPyXL Git GitHub GitHub Actions

Performance Accessibility Score Best Practices SEO Lighthouse


📋 Descripción

Buscador de medicamentos con precios actualizados de PAMI (Programa de Atención Médica Integral). Permite consultar coberturas y copagos de forma rápida, gratuita y sin publicidad.

🔗 Sitio web: https://psbella.github.io/pami/

📊 Base de datos actual: 8,391 medicamentos y presentaciones

📅 Última actualización: Ver en el footer del sitio


✨ Características

Característica Descripción
🔍 Búsqueda en tiempo real Índice optimizado para búsquedas rápidas
💰 Precios actualizados Datos oficiales de PAMI
📊 Filtros dinámicos Por presentación y laboratorio
📱 Diseño responsive Funciona en celular, tablet y desktop
🚫 Sin publicidad 100% gratuito, sin tracking
🔒 Privacidad first Sin cookies de rastreo, búsquedas locales
📜 Open Source Licencia CC BY-NC 4.0

🏗️ Tecnologías utilizadas

Frontend

  • HTML5 - Estructura semántica
  • CSS3 - Estilos responsive, Flexbox, Grid
  • JavaScript (ES6+) - Lógica de búsqueda, manipulación del DOM, async/fetch

Backend / Procesamiento de datos

  • Python 3 - Conversión de XLSX a JSON
  • OpenPyXL - Lectura de archivos Excel
  • JSON - Almacenamiento de datos

Infraestructura

  • GitHub Pages - Hosting gratuito
  • Git - Control de versiones

📁 Estructura del proyecto

📁 pami/
├── index.html           # Página principal
├── style.css            # Estilos completos
├── script.js            # Lógica de búsqueda
├── medicamentos.json    # Base de datos (8.391 registros)
├── privacidad.html      # Política de privacidad
├── terminos.html        # Términos y condiciones
├── robots.txt           # Control de bots
├── humans.txt           # Información del equipo
├── img/
│   ├── favicon.svg      # Favicon del sitio
│   └── logo_banner.svg  # Logo del header
└── xls_to_JSON.py       # Script de conversión (herramienta)

🗃️ Ejemplo del JSON (medicamentos.json)

{
  "fecha": "05/05/2026 16:53",
  "medicamentos": [
    {
      "DROGA": "levetiracetam",
      "MARCA": "LEVECOM SOLUCIÓN",
      "PRESENTACION": "sol.oral x 300 ml",
      "LABORATORIO": "Baliarda",
      "COBERTURA": "50",
      "COPAGO": 79725.54
    },
    {
      "DROGA": "levocetirizina",
      "MARCA": "TIRIZ",
      "PRESENTACION": "5 mg comp.rec.x 10",
      "LABORATORIO": "Eurofarma",
      "COBERTURA": "50",
      "COPAGO": 4118.6
    }
  ]
}

Campos del JSON

Campo Tipo Descripción
fecha string Fecha de última actualización del dataset
DROGA string Nombre del principio activo
MARCA string Marca comercial del medicamento
PRESENTACION string Formato y cantidad
LABORATORIO string Laboratorio fabricante
COBERTURA string Porcentaje de cobertura PAMI
COPAGO number Precio final con descuento aplicado

⚙️ Cómo funciona el buscador

1. Carga de datos

  • El archivo medicamentos.json se carga con fetch()
  • Se detecta automáticamente si tiene formato con fecha o sin ella

2. Construcción del índice

  • Se normaliza el texto (minúsculas + sin acentos)
  • Se crea un índice inverso para búsquedas rápidas
  • Cada palabra y prefijo apunta a los IDs de medicamentos

3. Búsqueda

  • El usuario escribe al menos 3 caracteres
  • Se busca en el índice y se devuelven resultados
  • Límite de 200 resultados por búsqueda

4. Filtros

  • Presentación: Filtra por formato del medicamento
  • Laboratorio: Filtra por fabricante
  • Orden: Ordena por precio ascendente o descendente

5. Visualización

  • Tarjetas con: Marca, Droga, Presentación, Cobertura, Precio y Laboratorio
  • Animación del contador total de medicamentos

🔄 Actualización de datos

Requisitos

  • Python 3.x
  • Librería OpenPyXL

Instalación

pip install openpyxl

Proceso

  1. Descargar el archivo XLSX desde datos.pami.org.ar
  2. Colocar el archivo en la misma carpeta que xls_to_JSON.py
  3. Ejecutar el script:
python xls_to_JSON.py
  1. El script genera medicamentos.json con formato optimizado
  2. Subir el nuevo JSON al repositorio

Script de conversión (xls_to_JSON.py)

  • Busca automáticamente el archivo .xlsx
  • Limpia precios (elimina $ y espacios)
  • Limpia coberturas (elimina %)
  • Guarda en formato JSON minificado
  • Incluye fecha de actualización

🔗 Enlaces oficiales


📊 Estadísticas de la base de datos

Métrica Valor
Total de medicamentos 8,391
Tamaño del JSON (minificado) ~2.5 MB
Tiempo de carga promedio < 1 segundo
Coberturas disponibles 40% - 100%
Laboratorios distintos +200

📱 Responsive

Dispositivo Breakpoint Comportamiento
📱 Celular < 600px Logo más chico, input y botón en columna, filtros apilados
📟 Tablet 600px - 1200px Layout adaptable
🖥️ Desktop > 1200px Layout completo, contenedor centrado

📜 Licencia

Este proyecto está bajo la licencia Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).

  • Permitido: Compartir, copiar, redistribuir
  • Permitido: Adaptar, remezclar, transformar
  • No permitido: Uso comercial

Ver licencia completa


👨‍💻 Autor

Pablo Bella


🙏 Agradecimientos

  • PAMI - Por proporcionar los datos abiertos
  • GitHub Pages - Por el hosting gratuito
  • OpenPyXL - Por la librería de manipulación de Excel

📅 Historial de versiones

Versión Fecha Cambios
1.0.0 Mayo 2026 Lanzamiento inicial

📞 Contacto

Para consultas, sugerencias o reportar errores: 📧 pablo.s.bella@gmail.com


Si te gustó este proyecto, no olvides dejar una estrella en GitHub!

About

Static web app for Argentine PAMI drug prices. Data from official open data portal. Python ETL (XLSX → JSON).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors