# Proyectos

La solucion `adas-core.sln` esta compuesta por los siguientes proyectos:

## `adas-core`
Proyecto de entrada ASP.NET Core. Expone los controladores REST, configura el pipeline HTTP, registra el middleware de errores y compone el grafo de dependencias.

## `adas-core.Application`
Contiene la logica de aplicacion: servicios, interfaces de repositorio, proveedores, excepciones personalizadas y customizaciones por centro (calculated observations).

## `adas-core.Domain`
Nucleo del dominio: entidades (`Patient`, `Admission`, `Observation`), modelos MongoDB, DTOs, enums, excepciones de negocio y utilidades.

## `adas-core.Infrastructure`
Implementaciones concretas de infraestructura: repositorios MongoDB, publicadores RabbitMQ, mapeos BSON (`MongoMaps`), servicios de envio de alertas y extensiones de host builder.

## `adas-core.Authentication`
Autenticacion y autorizacion: atributos personalizados (`AuthorizeRoles`, `PermissionAuthorize`), servicios de autoridad, gestion de tokens y usuarios.

## `adas-core.LocalLogin` / `adas-core.LdapLogin`
Modulos de login independientes: autenticacion local con credenciales almacenadas y autenticacion contra directorios LDAP.

## Modulos (`adas-core.module.*`)
- **`LightBeacons`**: Control de balizas luminosas (Turktbens2).
- **`ProxyDevices`**: Proxy HTTP para dispositivos auxiliares.
- **`Relays`**: Control de reles fisicos (KMTronic).

## `adas-core.Test`
Tests de integracion y unitarios usando NUnit, Moq y Mongo2Go.

# Proyectos

La soluci'on `adas-core.sln` esta compuesta por los siguientes proyectos:

## `adas-core`
Proyecto de entrada ASP.NET Core. Expone los controladores REST, configura el pipeline HTTP, registra el middleware de errores y compone el grafo de dependencias.

## `adas-core.Application`
Contiene la logica de aplicacion: servicios, interfaces de repositorio, proveedores, excepciones personalizadas y customizaciones por centro (calculated observations).

## `adas-core.Domain`
Nucleo del dominio: entidades (`Patient`, `Admission`, `Observation`), modelos MongoDB, DTOs, enums, excepciones de negocio y utilidades.

## `adas-core.Infrastructure`
Implementaciones concretas de infraestructura: repositorios MongoDB, publicadores RabbitMQ, mapeos BSON (`MongoMaps`), servicios de envio de alertas y extensiones de host builder.

## `adas-core.Authentication`
Autenticacion y autorizacion: atributos personalizados (`AuthorizeRoles`, `PermissionAuthorize`), servicios de autoridad, gestion de tokens y usuarios.

## `adas-core.LocalLogin` / `adas-core.LdapLogin`
Modulos de login independientes: autenticacion local con credenciales almacenadas y autenticacion contra directorios LDAP.

## Modulos (`adas-core.module.*`)
- **`LightBeacons`**: Control de balizas luminosas (Turktbens2).
- **`ProxyDevices`**: Proxy HTTP para dispositivos auxiliares.
- **`Relays`**: Control de reles fisicos (KMTronic).

## `adas-core.Test`
Tests de integracion y unitarios usando NUnit, Moq y Mongo2Go.

