Files
rips_manager/ESTADO_CAMPOS.md
Lizandro GuarnizoandClaude Sonnet 4.6 0ec4ae3e66 Fix JSON generation: numero factura, forma pago, tipousuario, hora format
- numero: usar NUM_FACTURA en lugar de cadena vacía
- codFormaPago: CLIP (particular) / INST (EPS) según TNS real
- tipousuario: fallback desde TIPOUSU cuando TIPOUSUSISPRO es NULL
- fechaHoraEgreso: última FECHA_REPORTADO en lugar de FECHA_RECEPCION
- _fmt_datetime: eliminar espacios en tiempo ("06: 08: 29" → "06:08:29")
- especialidad: limpiar valores basura (., -, 0, 00)
- telefono: fallback "0000000" cuando vacío (campo requerido TNS)
- profesional: COALESCE(USUARIO, MEDICO.CODIGO) en queries SQL

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 20:48:22 -05:00

10 KiB

Estado de Campos — rips_manager

Fecha: 2026-06-25 | Empresa: 9002787299 | Sucursal: 81080


1. RIPS — Resolución 2275/2023 (vigente desde 1-abr-2024)

Los PDFs en /norma son sobre RDA/IHCE (Res. 866/2021 y 1888/2025), no sobre RIPS. La norma RIPS vigente es la Res. 2275/2023 + Res. 558/2024 + Res. 1884/2024 (no están en la carpeta). TNS recibe nuestros datos y genera el RIPS hacia MinSalud internamente.

1.1 Campos RIPS requeridos — nivel USUARIO (paciente)

Campo RIPS (Res. 2275) Fuente Firebird Estado
tipoDocumentoIdentificacion PACIENTE.TIPOIDENT Enviado como tipoDocumento en Tercero
numDocumentoIdentificacion PACIENTE.DOCIDENT Enviado como nit en Tercero
fechaNacimiento PACIENTE.F_NACIMIENTO Formato dd/MM/yyyy
codSexo PACIENTE.SEXO Enviado como sexo
tipoUsuario RECEPCION.TIPOUSUSISPRO Con fallback desde TIPOUSU
codMunicipioResidencia PACIENTE.CIUDAD Enviado como codigoCiudad (DIVIPOLA, igual en FB y TNS)
codZonaTerritorialResidencia PACIENTE.TIPORES Enviado como zona (U→01, R→02)
codPaisResidencia No existe en Firebird TNS lo completa con 170 (Colombia)
codPaisOrigen No existe en Firebird TNS lo completa con 170
incapacidad No existe en Firebird TNS lo completa como NO

1.2 Campos RIPS requeridos — nivel PROCEDIMIENTO (por examen)

Campo RIPS (Res. 2275) Fuente Firebird Estado
codProcedimiento RELACION.COD_EXAMEN Enviado como codigoMaterial
fechaInicioAtencion RELACION.FECHA_REPORTADO Enviado como fechaHoraRealizacion
codDiagnosticoPrincipal RECEPCION.DIAG_PPAL Enviado como diagnosticoprincipal
vrServicio RELACION.PRECIO Enviado como valor
numAutorizacion RECEPCION.AUTORIZACION Enviado como numeroAutorizacion
finalidadTecnologiaSalud No existe en Firebird ⚠️ TNS lo gestiona internamente (confirmar)
viaIngresoServicioSalud No existe en Firebird ⚠️ Fijo "01" — TNS lo completa
modalidadGrupoServicioTecSal No existe en Firebird ⚠️ TNS lo gestiona internamente
grupoServicios No existe en Firebird ⚠️ TNS lo gestiona internamente
codServicio No existe en Firebird ⚠️ TNS lo gestiona internamente
valorPagoModerador No existe en Firebird TNS lo pone en 0 para particulares
conceptoRecaudo No existe en Firebird ⚠️ TNS lo gestiona internamente
idMIPRES No existe en Firebird Opcional — solo para servicios MIPRES
tipoDoc/numDoc del profesional Solo username (RECEPCION.USUARIO) ⚠️ TNS usa username, no CC del médico

2. TNS API v2 — Estado del envío

2.1 POST /v2/tablas/Tercero/Crear

Campo TNS Fuente Estado
codigo PACIENTE.CODIGO
nit PACIENTE.DOCIDENT
tipoDocumento PACIENTE.TIPOIDENT (mapeado)
nombre, nombre1, nombre2 PACIENTE.NOMBRES
apellido1, apellido2 PACIENTE.APELLIDOS
direccion PACIENTE.DIRECCION
codigoCiudad PACIENTE.CIUDAD Validado: DIVIPOLA igual en FB y TNS
zona PACIENTE.TIPORES U→01, R→02
sexo PACIENTE.SEXO
fechaNacimiento PACIENTE.F_NACIMIENTO
etnia PACIENTE.CODETNIA
telefono PACIENTE.TELEFONOS
email PACIENTE.EMAIL Fallback: doc@sinregistro.co
natJuridica Hardcodeado "N" Siempre Natural
cliente Hardcodeado "S" Siempre cliente
zona1, clasificacion, codigoBarrio Hardcodeados "00" Catálogos TNS sin config
enfermedadCronica Hardcodeado false ⚠️ No existe campo en Firebird
noEnviarMinSalud Hardcodeado false ⚠️ ¿Hay pacientes que no reportar?

2.2 POST /v2/rda/RdaPaciente/Insertar

Campo TNS Fuente Estado
codigoPrefijo RECEPCION.PREFIJO
numero RECEPCION.NUM_FACTURA Corregido (antes vacío)
fecha RECEPCION.FECHA_RECEPCION
codTercero RECEPCION.COD_PACIENTE
tipoIngreso RECEPCION.CLASEPROC (1=Amb, 2=Hosp, 3=Urgencias)
fechaHoraIngreso RECEPCION.HORAINICIORECEPCION Hora de inicio
fechaHoraEgreso RELACION.FECHA_REPORTADO (última) Fecha del último examen reportado
diagnosticoprincipal RECEPCION.DIAG_PPAL
tipousuario RECEPCION.TIPOUSUSISPRO Con fallback desde TIPOUSU
numeroContrato RECEPCION.NIT_EMPRESA NIT de EPS o PART
numeroAutorizacion RECEPCION.AUTORIZACION
codFormaPago Derivado de NIT_EMPRESA PARTCLIP, EPS→INST (validado en TNS)
modalidadAtencion Hardcodeado "01" ⚠️ No existe campo en Firebird (intramural)
viaIngreso Hardcodeado "01" ⚠️ No existe campo en Firebird (demanda espontánea)
codVendedor Hardcodeado "00" Default TNS validado
codBanco Hardcodeado "00" Default TNS validado
codigoCentroCosto Hardcodeado "00" Sin centros de costo configurados en TNS
esTerapia Hardcodeado false Es laboratorio
esProcedimiento Hardcodeado false Es laboratorio
detallePedido:
codigoMaterial RELACION.COD_EXAMEN ⚠️ Sin validar: DOCUXER sin permiso de artículos
codigoBodega Hardcodeado "00" Validado: única bodega en TNS es "00"
cantidad Hardcodeado 1 1 examen = 1 unidad
tipoUnidad Hardcodeado "D" Default TNS
valor RELACION.PRECIO
descuento Hardcodeado 0
porcentajeIva Hardcodeado 0 Salud sin IVA
impConsumo Hardcodeado 0
profesional RECEPCION.USUARIO (con fallback MEDICO.CODIGO) Opcional según doc TNS
especialidad MEDICO.COD_ESPECIALIDAD Limpia valores basura (., -, 00)
diagnosticoprincipal RECEPCION.DIAG_PPAL
fechaHoraRealizacion RELACION.FECHA_REPORTADO Requerido — formato dd/MM/yyyy HH:mm:ss

3. Hardcodeados — Resumen definitivo

Correctos — defaults validados contra TNS

Campo Valor Razón
codVendedor "00" Default TNS documentado
codBanco "00" Default TNS documentado
codigoCentroCosto "00" Sin centros de costo en TNS
codigoBodega "00" Única bodega existente en TNS (PRINCIPAL)
tipoUnidad "D" Default TNS (Unidad)
cantidad 1 1 examen = 1 unidad lógica
descuento 0 Sin descuentos
porcentajeIva 0 Servicios de salud exentos
impConsumo 0 Sin impuesto al consumo
esTerapia false Es laboratorio clínico
esProcedimiento false Es laboratorio clínico
natJuridica "N" Paciente = persona Natural
cliente "S" Siempre es cliente
zona1 / clasificacion / codigoBarrio "00" Catálogos TNS sin configurar
privada / mixta "N" Laboratorio no es privado/mixto
comision 0 Sin comisiones

⚠️ Hardcodeados por ausencia de campo en Firebird — confirmar con operación

Campo Valor fijo Situación
viaIngreso "01" Demanda Espontánea No existe columna en RECEPCION. ¿Siempre es espontáneo?
modalidadAtencion "01" Intramural No existe columna en RECEPCION. ¿Hacen domiciliarias?
enfermedadCronica false No existe en Firebird
noEnviarMinSalud false No existe en Firebird. ¿Hay pacientes sin reporte?

4. Bugs corregidos en esta sesión

Bug Causa Fix
Column unknown DOC_NUM / FECHA_INI fdb no soporta :name params firebird_service.py convierte a ? positional
"06: 08: 29" (espacios en hora) Firebird retorna TIME con espacios _fmt_datetime limpia ": "":"
"numero": "" (factura vacía) Hardcodeado "" Ahora usa RECEPCION.NUM_FACTURA
"especialidad": "." COD_ESPECIALIDAD con basura en BD Limpia ., -, 0, 00
"tipousuario": "12" siempre TIPOUSUSISPRO NULL en 96% de registros viejos Fallback desde TIPOUSU: 111, 507
"codFormaPago": "CO" Código no existe en TNS de este lab Cambiado a CLIP (particular) / INST (EPS)
fechaHoraEgreso = fecha entrada Usaba FECHA_RECEPCION como egreso Ahora usa max(FECHA_REPORTADO) de exámenes

5. Pendientes bloqueantes

En portal.tns.co (requiere admin TNS)

Permiso Para qué Sin esto
Insertar RDA Pacientes (usuario DOCUXER) Enviar RdaPaciente/Insertar El envío retorna error 403
Ver artículos (usuario DOCUXER) Validar que códigos de exámenes existen en TNS Los códigos TSH, 903841, etc. pueden no existir como materiales

En Firebird (validar con quien administra el LIS)

Campo Acción
¿RECEPCION.VIAINGRESO existe? Consultar esquema — NO existe en la BD actual
¿RECEPCION.MODALIDAD existe? Consultar esquema — NO existe en la BD actual
¿Hay exámenes sin FECHA_REPORTADO válida? Verificar registros con año 1900 en FECHA_REPORTADO

En TNS (validar manualmente en portal.tns.co)

Validación Cómo verificar
Códigos de exámenes (TSH, 903841, etc.) existen como Materiales Ir a Inventario → Artículos en el portal
finalidadTecnologiaSalud que TNS genera para exámenes de laboratorio Revisar un RDA ya creado en TNS
conceptoRecaudo que TNS asigna Revisar un RDA ya creado en TNS

6. Normas de referencia

Norma Sobre En carpeta /norma
Res. 2275/2023 RIPS vigente (formato de reporte a MinSalud) Falta — agregar
Res. 558/2024 Actualización RIPS Falta — agregar
Res. 1884/2024 Actualización RIPS Falta — agregar
Res. 866/2021 Datos clínicos para interoperabilidad IHCE Está
Res. 1888/2025 RDA — Resumen Digital de Atención (IHCE) Está
Res. 1995/1999 Normas historia clínica Está