Skip to main content

Precios y nomenclador

El nomenclador es el conjunto de códigos que un financiador reconoce. El precio es cuánto vale cada código para ese financiador.

Las entidades

EntidadSchemaQué es
ElementconfigurationUna práctica (o un insumo). Es el código del nomenclador
ElementCategoryconfigurationUn módulo: agrupación de prácticas con código PAMI (2, 69, 543…)
SubElementCategoryconfigurationSub-categoría / detalle dentro de un módulo
PriceconfigurationEl precio de un elemento para un financiador
PriceProcessconfigurationEl proceso de carga / actualización de precios
practicaPreciopami_billingsPrecio del lado de la facturación PAMI

El financiador es obligatorio

Price.INSURANCEID es columna obligatoria. No existe un precio "a secas": todo precio pertenece a un financiador.

  • Un Element también lleva su financiador (Insurance), con una relación financiado ↔ global: cada elemento financiado se vincula a un elemento global.
  • La UI de precios permite filtrar por financiador, ver el financiador como columna y relacionar un financiado con su global desde un modal.
Sin INSURANCES sembrada, todo es "Global"

La tabla configuration."INSURANCES" migró vacía en algunos entornos. Sin financiadores cargados, no hay elementos financiados: todo aparece como Global. Es dato faltante, no bug.

Modalidad de facturación: común vs módulo

Los precios y las prácticas distinguen Común y Módulo. La discriminación es la misma regla del episodio de internación:

  • MÓDULO si la credencial tiene cápita activa con ElementCategory.code = '69' y RESPONSIBLE = 'HOSPITAL POSADAS'.
  • COMÚN en cualquier otro caso.

Ver Episodios.

Configuración de la práctica por financiador

El motor de reglas agrega una capa de configuración por financiador sobre cada código, separada del catálogo (PracticeFinancierConfig), justamente porque el comportamiento cambia según quién pague:

AtributoPara qué
nomencladorA qué nomenclador del financiador pertenece el código. Es la base de la regla práctica desconocida
requiereAutorizacionSi la práctica necesita autorización para ese financiador
nivelAutorizacionEPISODIO, PRÁCTICA o AMBOS
modalidadFacturacionEXTERNO o CAPITADO. Si es null, la práctica no impone modalidad
coberturaDiasCuántos días de estadía respalda y de qué tipo (piso / UTI / UCE / guardia), o si otorga días libres
sexoPermitido / edadRestricciones clínicas del código
activo + vigenciaSi el código está vigente para ese financiador a la fecha
Por qué no son columnas de ELEMENTS

El comportamiento es por financiador, no del código en sí. El mismo código puede requerir autorización en un financiador y no en otro, tener otra cobertura, otra modalidad de facturación o pertenecer a otro nomenclador. Por eso vive en una entidad aparte y no como columnas sueltas en el catálogo.

Ciclo de vida (ABM con vigencia)

Nada se borra físicamente:

  • Alta: se crea el código con su configuración y su vigenciaDesde.
  • Baja: baja lógica cerrando la vigencia (vigenciaHasta) o marcando activo = false. El histórico se conserva.
  • Modificación: cambios de parámetros con control de vigencia (versionado).
  • Reactivación: reapertura de vigencia de un código dado de baja.

Consecuencia directa: una práctica dada de baja a la fecha de la prestación dispara la regla PRACTICA_NO_VIGENTE, y un código vigente en un financiador puede estar de baja en otro.

Las pantallas

PantallaQué hace
pricesPrecios / nomenclador del prestador: filtro por financiador, columna de financiador, relación financiado ↔ global, import
catalogsNomenclador (elementos y categorías)
rules-practicesConfiguración de la práctica por financiador (motor de reglas)
rules-nomencladoresNomencladores por financiador (motor de reglas)

Gotchas

  • Element.INSURANCEID es obligatorio al crear. Un alta sin financiador no es válida.
  • El import de precios trabaja con un solo monto y modalidad Común; las columnas de monto extra están ocultas.
  • Agregar la columna de financiador al catálogo requirió ALTER TABLE + re-aplicar SPs: es un ejemplo típico de por qué el DDL corre antes que el código. Ver DDL y ops.