Aplicación web del proyecto ANDES (Aplicaciones Neuquinas de Salud), desarrollada con Angular y TypeScript.
ANDES es una plataforma digital de salud que integra herramientas administrativas y asistenciales, incluyendo la Historia Unificada Digital de Salud (HUDS), la gestión de pacientes, agendas, turnos y prestaciones.
Este repositorio contiene la aplicación web y las librerías Angular compartidas que se desarrollan dentro del mismo workspace.
| Tecnología | Versión / descripción |
|---|---|
| Angular | 15.2.x |
| Angular CLI | 15.2.x |
| TypeScript | 4.9.x |
| Node.js | 18.x |
| RxJS | Compatible con Angular 15 |
| Plex | @andes/plex 9.x (beta durante la migración) |
| ng-packagr | 15.2.x |
Las versiones exactas de las dependencias se encuentran en package.json y package-lock.json.
Para desarrollar localmente se necesita:
- Node.js y npm.
- Git.
- Acceso a una instancia de ANDES API para las funcionalidades que requieren servicios backend.
Se recomienda utilizar Node.js 20 para el desarrollo local y mantener la versión configurada en CI para los builds automatizados.
No es necesario instalar Angular CLI globalmente: los comandos pueden ejecutarse mediante npx.
Clonar el repositorio:
git clone https://github.com/andes/app.git
cd appInstalar las dependencias:
npm cinpm ci instala las versiones registradas en package-lock.json y es el método recomendado para instalaciones reproducibles.
Para modificar dependencias y actualizar el archivo de bloqueo, utilizar npm install según corresponda.
La aplicación utiliza archivos de configuración de Angular para definir las conexiones con los servicios y otros parámetros de ejecución.
Antes de iniciar el proyecto, verificar los archivos correspondientes dentro de:
src/environments/
La configuración debe apuntar a una instancia accesible de ANDES API.
No incluir credenciales, tokens ni información sensible en archivos versionados.
Iniciar el servidor de desarrollo:
npx ng servePor defecto, Angular utiliza:
http://localhost:4200
Los cambios realizados sobre el código fuente se recompilan automáticamente durante el desarrollo.
Compilar la aplicación:
npx ng buildLos archivos generados se almacenan en el directorio:
dist/
Para revisar configuraciones de compilación disponibles, consultar angular.json.
Los archivos generados no deben incorporarse al repositorio Git.
andes/app/
├── .github/
│ └── workflows/
├── projects/
│ ├── shared/
│ ├── auth/
│ ├── form-builder/
│ └── ...
├── src/
│ ├── app/
│ ├── assets/
│ └── environments/
├── angular.json
├── package.json
├── package-lock.json
├── tsconfig.json
└── README.md
El directorio src/app/ contiene los módulos, componentes, servicios y funcionalidades propias de ANDES.
Entre sus principales áreas funcionales se encuentran:
- MPI: identificación y gestión de pacientes.
- RUP: Registro Universal de Prestaciones.
- HUDS: Historia Unificada Digital de Salud.
- CITAS: gestión de agendas y turnos.
- COM: gestión de comunicaciones y derivaciones.
- Internación y mapa de camas.
- Otras funcionalidades administrativas y asistenciales.
El directorio projects/ contiene librerías que se desarrollan junto con ANDES.
Estas librerías pueden compilarse de manera independiente y distribuirse como paquetes npm.
Por ejemplo:
| Librería | Descripción |
|---|---|
shared |
Servicios, componentes, pipes, directivas y utilidades compartidas |
auth |
Funcionalidades de autenticación y contexto de usuario |
form-builder |
Herramientas relacionadas con la construcción de formularios |
Cada librería debe conservar su independencia respecto del código específico de src/app/.
Las modificaciones de las librerías incluidas en projects/ deben realizarse en este repositorio, mediante pull requests.
Para compilar @andes/shared:
npx ng build sharedEl paquete se genera en:
dist/shared/
Antes de integrar cambios que afecten a esta librería, se recomienda ejecutar:
npx ng build shared
(cd dist/shared && npm pack --dry-run)
npx ng buildEsto verifica tanto la compilación independiente de la librería como la compatibilidad con la aplicación.
Importante: el build de ANDES puede limpiar el directorio dist/ y eliminar los artefactos generados previamente para las librerías.
Para publicar una librería, debe compilarse nuevamente desde el commit integrado que corresponda a la versión.
El proyecto utiliza las herramientas de verificación configuradas en package.json y angular.json.
Para ejecutar el lint, cuando esté disponible en la configuración del proyecto:
npm run lintPara ejecutar las pruebas unitarias de una librería:
npx ng test sharedAntes de integrar un cambio, es recomendable ejecutar las comprobaciones correspondientes y validar las funcionalidades afectadas.
El repositorio dispone de un Dockerfile para la construcción de imágenes de la aplicación.
Construcción de la imagen:
docker build -t andesnqn/app .La ejecución del contenedor depende de la configuración definida en el Dockerfile, incluyendo el puerto expuesto, el comando de inicio y los parámetros del entorno.
Consultar el Dockerfile y los procedimientos de despliegue vigentes antes de utilizar la imagen en producción.
El desarrollo de ANDES se realiza mediante ramas de trabajo y pull requests.
Se recomienda:
- Crear una rama a partir de la rama principal actualizada.
- Implementar los cambios manteniendo los criterios de estilo existentes.
- Ejecutar las comprobaciones de compilación y validación correspondientes.
- Documentar los cambios relevantes, especialmente si afectan a librerías públicas.
- Crear un pull request para su revisión.
Los cambios que introduzcan incompatibilidades en una librería deben reflejarse en su documentación de migración y en su historial de versiones.
- Organización ANDES en GitHub
- Repositorio de ANDES API
- Repositorio de Plex
- Documentación de Angular
- Guía de desarrollo de ANDES
Consultar la información de licencia y las condiciones de distribución aplicables al proyecto ANDES.