Ejes transversales
Toda regla, sea cual sea su tipo, declara tres ejes. Entenderlos es entender cómo se comporta el motor.
1. Ámbito de revisión
Define qué agrupa la evaluación: sobre qué conjunto de datos corre la regla.
| Ámbito | Código | Qué agrupa |
|---|---|---|
| En el día | EN_EL_DIA | Las prácticas del mismo afiliado en una misma fecha |
| En el episodio | EN_EL_EPISODIO | Todo el proceso / internación, de ingreso a egreso |
| Por período | POR_PERIODO | El acumulado mensual o anual — usa mediciones estáticas |
| Por autorización | POR_AUTORIZACION | Todo lo imputado a una misma autorización |
2. Severidad del hallazgo
| Severidad | Código | Significado |
|---|---|---|
| Débito | DEBITO | Incumplimiento seguro: el financiador lo va a debitar |
| Posible débito | POSIBLE_DEBITO | Riesgo alto; depende de datos que no siempre están disponibles |
| Informativo | INFORMATIVO | Ajuste o aviso esperado. No es un error |
Cada tipo de regla tiene una severidad por defecto, pero es configurable por financiador: lo que para un financiador es débito seguro, para otro puede ser solo un riesgo.
3. Modalidad de paciente
Define a quién le corre la regla.
| Modalidad | Código | Alcance |
|---|---|---|
| Propio | PROPIO | Paciente propio / capitado / asignado al prestador |
| Externo | EXTERNO | Paciente externo (por orden o derivación) |
| Todos | TODOS | Aplica sin distinción |
Una regla con modalidadPaciente = EXTERNO solo corre para pacientes externos; en pacientes propios se
ignora por completo.
Son dos cosas distintas:
- Modalidad de paciente (
PROPIO/EXTERNO/TODOS) es un eje de la regla: define a quién le corre. - Modalidad de facturación (
EXTERNO/CAPITADO) es un atributo de la práctica por financiador: define con qué modalidad se factura ese código. Si esnull, la práctica no impone modalidad.
Vigencia
Además de los tres ejes, toda regla y toda configuración tienen vigencia:
- Se resuelven siempre para una fecha (típicamente la fecha de la práctica).
- La baja es lógica: se cierra
vigenciaHastao se marcaactivo = false. Nunca se borra. - Una modificación es un versionado con control de vigencia.
Consecuencia: una práctica dada de baja a la fecha de la prestación dispara PRACTICA_NO_VIGENTE,
aunque hoy esté activa.
Límites: ámbito y cantidad
Los topes de cantidad se configuran por ámbito del límite, que es independiente del ámbito de revisión de la regla:
| Ámbito del límite | Código | Ejemplo |
|---|---|---|
| Diario | DIA | 1 por día |
| Mensual | MES | hasta 4 por mes |
| Anual | ANIO | hasta 12 por año |
| Por episodio | EPISODIO | hasta 30 en el episodio |
Límite por episodio: total vs. sublímite diario
Cuando el ámbito es EPISODIO hay que precisar si además existe un límite diario o la restricción de no
repetir el mismo día:
| Caso | Configuración | Interpretación |
|---|---|---|
| Solo cantidad total | cantidadMax = 30, limiteDiario = null, noMismoDia = false | Hasta 30 en el episodio; pueden ser todas el mismo día |
| Total + no mismo día | cantidadMax = 2, noMismoDia = true | Hasta 2 en el episodio, y no pueden ser el mismo día |
| Total + sublímite diario | cantidadMax = 10, limiteDiario = 2 | Hasta 10 en el episodio, con máximo 2 por día |
Mediciones estáticas
Las reglas de rango y frecuencia no recorren el histórico en cada validación. Se mantiene un acumulador materializado por financiador, afiliado, práctica y período; la validación es una lectura contra ese acumulador.
El acumulador se recalcula ante altas y bajas de prácticas del período.
Es lo que hace viable el ámbito POR_PERIODO y lo que permite reglas cross-episodio. Si un validador
necesita un dato histórico, la respuesta no es hacer una query: es agregarlo al contexto o crear una
medición. Ver Arquitectura.
Cobertura de días de cama
Cada práctica, por financiador, declara cuántos días de estadía respalda y de qué tipo:
| Parámetro | Detalle |
|---|---|
tipoDia | PISO, UTI, UCE, GUARDIA o LIBRE (día que el código habilita como libre / sin consumo) |
cantidadDias | Cuántos días de ese tipo respalda la práctica |
logica | AND (otorga cada tipo por separado) u OR (los tipos comparten un tope) |
topeTotalDias | Tope total del episodio, independiente del desglose |
Ejemplos: "2 días de piso Y 1 de UTI" (AND); "2 días de piso O de UTI" (OR, tope 2
indistinto).
Y hay dos reglas distintas que se apoyan en esto:
- Días sin cobertura — mide días de estadía no respaldados por prácticas.
- Días sin prácticas — detecta la ausencia total de prácticas en un día. Es anulable por una lista de códigos configurada: en un episodio quirúrgico solo se transmite la cirugía y puede haber días sin prácticas legítimamente, así que el código de cirugía anula la regla.
Habilitaciones
Un código puede habilitar a otros. Se modela genérico como pares origen → destino, por financiador:
- Práctica habilita prácticas: un código de práctica autoriza a N códigos de práctica.
- Módulo habilita módulos o prácticas: un código de módulo habilita otros módulos o prácticas.
HABILITACION origen = MODULO:A → destino = MODULO:{A, B, C, D}
Si se factura un destino sin el origen habilitante autorizado, se genera hallazgo.