Download OpenAPI specification:Download
Este endpoint permite consultar códigos de referencia asociados a un dominio específico mediante su nombre. Los resultados incluyen el identificador y la descripción de cada código de referencia.
Sample request:
GET /api/CodigoReferencia/GetByNombreDominio/TipoContrato
| NombreDominio required | string |
[- {
- "idCodigoReferencia": 0,
- "descripcion": "string",
- "activo": true
}
]Este endpoint permite consultar códigos de referencia asociados a un dominio específico mediante su ID. Los resultados incluyen el identificador y la descripción de cada código de referencia.
Sample request:
GET /api/CodigoReferencia/GetByIdDominio/6
| IdDominio required | integer <int32> |
[- {
- "idCodigoReferencia": 0,
- "descripcion": "string",
- "activo": true
}
]Este endpoint permite consultar todos los dominios de código de referencia disponibles en el sistema, incluyendo información como unidad de análisis, nombre, descripción y estado activo.
Los resultados se devuelven ordenados por nombre y solo incluyen dominios activos.
Sample request:
GET /api/CodigoReferenciaDominio
[- {
- "idCodigoReferenciaDominio": 0,
- "unidadAnalisis": "string",
- "nombre": "string",
- "descripcion": "string",
- "activo": true
}
]Este endpoint permite consultar contratos aplicando múltiples filtros opcionales:
Filtros disponibles:
Seguridad y roles:
Los resultados se devuelven paginados con metadatos que incluyen:
Validaciones:
Sample request:
GET /api/Contrato?NumeroPagina=1&RegistrosPorPagina=10&CodigoEstado=102001
GET /api/Contrato?NitContratista=800123456&AnioSuscripcion=2025
GET /api/Contrato?Nombre=Servicios%20de%20Salud
| IdContrato | integer <int32> |
| NitContratante | string |
| NitContratista | string |
| Nombre | string |
| CodigoEstado | integer <int32> |
| AnioSuscripcion | integer <int32> |
| NumeroPagina | integer <int32> |
| RegistrosPorPagina | integer <int32> |
{- "paginaActual": 0,
- "registrosPorPagina": 0,
- "totalRegistros": 0,
- "totalPaginas": 0,
- "resultado": [
- {
- "idContrato": 0,
- "nitContratante": 0,
- "nitContratista": 0,
- "nombre": "string",
- "fechaSuscripcion": "2019-08-24T14:15:22Z",
- "fechaInicio": "2019-08-24T14:15:22Z",
- "fechaFin": "2019-08-24T14:15:22Z",
- "valor": 0,
- "cucon": "string",
- "empresaContratante": {
- "nit": 0,
- "razonSocial": "string"
}, - "empresaContratista": {
- "nit": 0,
- "razonSocial": "string"
}, - "estado": "string",
- "codigoEstado": 0
}
]
}Este endpoint permite crear un nuevo contrato con validaciones automáticas de integridad. El contrato se crea en estado "En creación" (102001) por defecto.
Datos requeridos:
Datos condicionales (requeridos para contratos tipo 104001):
Validaciones automáticas aplicadas:
Validación de NITs:
Validación de fechas:
Validación de duplicidad:
Validaciones condicionales (tipo 104001):
Validaciones de datos:
Registros creados:
Sample request:
POST /api/Contrato
{
"codigoTipoContrato": 104001,
"nitContratante": 900123456,
"nitContratista": 800654321,
"nombre": "Contrato de Prestación de Servicios de Salud 2025",
"fechaSuscripcion": "2025-01-15",
"fechaInicio": "2025-02-01",
"fechaFin": "2025-12-31",
"valor": 500000000,
"codigoReferenciaModalidadPago": [1, 2],
"codigoReferenciaAgrupador": [5, 6],
"codigoReferenciaRegimen": [3]
}
Comando con los datos del contrato a registrar.
| codigoTipoContrato | integer <int32> |
| nitContratante | integer <int32> |
| nitContratista | integer <int32> |
| nombre | string or null |
| fechaSuscripcion | string <date-time> |
| fechaInicio | string <date-time> |
| fechaFin | string or null <date-time> |
| valor | number <double> |
| codigoReferenciaModalidadPago | Array of integers or null <int32> |
| codigoReferenciaAgrupador | Array of integers or null <int32> |
| codigoReferenciaRegimen | Array of integers or null <int32> |
{- "codigoTipoContrato": 0,
- "nitContratante": 0,
- "nitContratista": 0,
- "nombre": "string",
- "fechaSuscripcion": "2019-08-24T14:15:22Z",
- "fechaInicio": "2019-08-24T14:15:22Z",
- "fechaFin": "2019-08-24T14:15:22Z",
- "valor": 0,
- "codigoReferenciaModalidadPago": [
- 0
], - "codigoReferenciaAgrupador": [
- 0
], - "codigoReferenciaRegimen": [
- 0
]
}{- "idContrato": 0
}Este endpoint permite modificar los datos de un contrato existente aplicando las mismas validaciones que en la creación del contrato.
Restricciones importantes:
Campos actualizables:
Validaciones automáticas aplicadas:
Validación de existencia:
Validación de NITs:
Validación de fechas:
Validación de duplicidad:
Validaciones condicionales (tipo 104001):
Operaciones realizadas:
Nota importante: Si se eliminan valores de las listas (ModalidadPago, Regimen, Agrupador), los registros relacionados se eliminarán automáticamente de la base de datos.
Sample request:
PUT /api/Contrato
{
"idContrato": 1,
"codigoTipoContrato": 104001,
"nitContratante": 900123456,
"nitContratista": 800654321,
"nombre": "Contrato Actualizado 2025",
"fechaSuscripcion": "2025-01-15",
"fechaInicio": "2025-02-01",
"fechaFin": "2025-12-31",
"valor": 550000000,
"codigoReferenciaModalidadPago": [1, 2, 3],
"codigoReferenciaAgrupador": [5],
"codigoReferenciaRegimen": [3, 4]
}
Comando con los datos actualizados del contrato. Debe incluir el IdContrato.
| idContrato | integer <int32> |
| codigoTipoContrato | integer <int32> |
| nitContratante | integer <int32> |
| nitContratista | integer <int32> |
| nombre | string or null |
| fechaSuscripcion | string <date-time> |
| fechaInicio | string <date-time> |
| fechaFin | string or null <date-time> |
| valor | number <double> |
| codigoReferenciaModalidadPago | Array of integers or null <int32> |
| codigoReferenciaAgrupador | Array of integers or null <int32> |
| codigoReferenciaRegimen | Array of integers or null <int32> |
{- "idContrato": 0,
- "codigoTipoContrato": 0,
- "nitContratante": 0,
- "nitContratista": 0,
- "nombre": "string",
- "fechaSuscripcion": "2019-08-24T14:15:22Z",
- "fechaInicio": "2019-08-24T14:15:22Z",
- "fechaFin": "2019-08-24T14:15:22Z",
- "valor": 0,
- "codigoReferenciaModalidadPago": [
- 0
], - "codigoReferenciaAgrupador": [
- 0
], - "codigoReferenciaRegimen": [
- 0
]
}{- "idContrato": 0
}Este endpoint devuelve información detallada y completa de un contrato específico, incluyendo:
Información básica:
Información de las partes:
Información de configuración:
Información complementaria:
Validaciones:
Sample request:
GET /api/Contrato/1
GET /api/Contrato/150
| IdContrato required | integer <int32> |
{- "idContrato": 0,
- "codigoTipoContrato": 0,
- "tipoContrato": {
- "codigoTipoContrato": 0,
- "descripcion": "string"
}, - "nitContratante": 0,
- "empresaContratante": {
- "nit": 0,
- "razonSocial": "string"
}, - "nitContratista": 0,
- "empresaContratista": {
- "nit": 0,
- "razonSocial": "string"
}, - "nombre": "string",
- "fechaSuscripcion": "2019-08-24T14:15:22Z",
- "fechaInicio": "2019-08-24T14:15:22Z",
- "fechaFin": "2019-08-24T14:15:22Z",
- "valor": 0,
- "cucon": "string",
- "codigoReferenciaModalidadPago": [
- 0
], - "contratoModalidadPago": [
- {
- "idContratoModalidadPago": 0,
- "codigoModalidadPago": 0,
- "descripcion": "string"
}
], - "codigoReferenciaAgrupador": [
- 0
], - "contratoAgrupador": [
- {
- "idContratoAgrupador": 0,
- "codigoAgrupador": 0,
- "descripcion": "string"
}
], - "codigoReferenciaRegimen": [
- 0
], - "contratoRegimen": [
- {
- "idContratoRegimen": 0,
- "codigoRegimen": 0,
- "descripcion": "string"
}
], - "otrosis": [
- {
- "idContratoOtrosi": 0,
- "nombre": "string",
- "valor": 0,
- "fechaFinalizacion": "2019-08-24T14:15:22Z",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "estado": "string",
- "codigoEstado": 0
}
], - "estado": "string",
- "codigoEstado": 0,
- "numeroServicios": 0,
- "numeroMedicamentos": 0,
- "numeroProcedimientos": 0
}Este endpoint permite eliminar un contrato específico del sistema de forma permanente. Esta operación es irreversible y debe usarse con precaución.
Restricciones importantes:
Validaciones automáticas:
Eliminaciones en cascada:
Al eliminar un contrato, se eliminarán automáticamente todos los registros relacionados:
Nota importante: Esta operación elimina el contrato y TODOS sus datos relacionados de forma permanente. No es posible recuperar la información después de la eliminación. Para contratos que ya están activos o han sido utilizados, considere usar cambio de estado en lugar de eliminación física.
Sample request:
DELETE /api/Contrato/1
DELETE /api/Contrato/150
| IdContrato required | integer <int32> |
{- "idContrato": 0
}Datos del agrupador a registrar.
| idContrato | integer <int32> |
| codigoAgrupador required | integer <int32> |
{- "idContrato": 0,
- "codigoAgrupador": 0
}Datos actualizados del agrupador.
| idContratoAgrupador | integer <int64> |
| codigoAgrupador | integer <int32> |
{- "idContratoAgrupador": 0,
- "codigoAgrupador": 0
}Este endpoint permite consultar todos los anticipos registrados para un contrato, filtrando por el identificador del contrato.
| IdContrato required | integer <int32> |
Este endpoint devuelve la información detallada de un anticipo de contrato específico, incluyendo valores, fechas y referencias.
| IdContratoAnticipo required | integer <int64> |
Este endpoint permite crear un nuevo registro de anticipo asociado a un contrato, especificando los datos requeridos como valor, fecha y referencia.
Datos del anticipo a registrar.
| idContrato | integer <int32> |
| codigoFuente | integer <int32> |
| referencia | string or null |
| valorAnticipo | number <double> |
| fechaAnticipo | string <date-time> |
{- "idContrato": 0,
- "codigoFuente": 0,
- "referencia": "string",
- "valorAnticipo": 0,
- "fechaAnticipo": "2019-08-24T14:15:22Z"
}Este endpoint permite modificar los datos de un anticipo previamente registrado, como el valor, la fecha o la referencia.
Datos actualizados del anticipo.
| idContratoAnticipo | integer <int32> |
| codigoFuente | integer <int32> |
| referencia | string or null |
| valorAnticipo | number <double> |
| fechaAnticipo | string <date-time> |
{- "idContratoAnticipo": 0,
- "codigoFuente": 0,
- "referencia": "string",
- "valorAnticipo": 0,
- "fechaAnticipo": "2019-08-24T14:15:22Z"
}Este endpoint permite consultar todos los CUMS registrados para un contrato, filtrando por el identificador del contrato.
Información retornada:
Validaciones:
Sample request:
GET /api/ContratoCums/ByIdContrato/1
GET /api/ContratoCums/ByIdContrato/150
| IdContrato required | integer <int32> |
{- "idContratoCums": 0,
- "idContrato": 0,
- "idCums": 0,
- "cantidad": 0,
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "cums": {
- "idCums": 0,
- "expedienteCum": 0,
- "nombre": "string",
- "descripcion": "string",
- "codigoAtc": "string",
- "registroSanitario": "string",
- "incluidoPbs": true
}
}Este endpoint devuelve información detallada y completa de un CUMS de contrato específico, incluyendo:
Información del medicamento/suministro:
Información contractual:
Validaciones:
Sample request:
GET /api/ContratoCums/1
GET /api/ContratoCums/250
| IdContratoCums required | integer <int32> |
{- "idContratoCums": 0,
- "idContrato": 0,
- "idCums": 0,
- "cantidad": 0,
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "cums": {
- "idCums": 0,
- "expedienteCum": 0,
- "nombre": "string",
- "descripcion": "string",
- "codigoAtc": "string",
- "registroSanitario": "string",
- "incluidoPbs": true
}
}Este endpoint permite eliminar un CUMS de contrato específico del sistema de forma permanente. Esta operación es irreversible y debe usarse con precaución.
Restricciones importantes:
Validaciones automáticas:
Eliminaciones en cascada:
Al eliminar un CUMS de contrato, se eliminarán automáticamente todos los registros relacionados:
Nota importante: Esta operación elimina el CUMS y TODOS sus datos relacionados de forma permanente. No es posible recuperar la información después de la eliminación. Para contratos que ya están activos, considere usar cambio de estado en lugar de eliminación física.
Sample request:
DELETE /api/ContratoCums/1
DELETE /api/ContratoCums/250
| IdContratoCums required | integer <int32> |
{- "idContratoCums": 0
}Este endpoint permite crear un nuevo registro de CUMS vinculado a un contrato con validaciones automáticas de integridad.
Datos requeridos:
Datos opcionales:
Validaciones automáticas aplicadas:
Validación de existencia:
Validación de valores:
Validación de duplicidad:
Validación de estado del contrato:
Registros creados:
Sample request:
POST /api/ContratoCums
{
"idContrato": 1,
"codigoCums": "19934455-1",
"valorUnitario": 15000.50,
"cantidad": 1000,
"codigoReferenciaModalidadPago": [1, 2],
"observaciones": "Medicamento de alto costo"
}
Comando con los datos del CUMS a registrar.
| idContrato | integer <int32> |
| idCums | integer <int32> |
| cantidad | integer <int32> |
{- "idContrato": 0,
- "idCums": 0,
- "cantidad": 0
}{- "idContratoCums": 0,
- "idContrato": 0
}Este endpoint permite modificar los datos de un CUMS previamente registrado aplicando las mismas validaciones que en la creación del CUMS.
Restricciones importantes:
Campos actualizables:
Validaciones automáticas aplicadas:
Validación de existencia:
Validación de valores:
Validación de duplicidad:
Validación de estado:
Operaciones realizadas:
Sample request:
PUT /api/ContratoCums
{
"idContratoCums": 1,
"idContrato": 1,
"codigoCums": "19934455-1",
"valorUnitario": 16500.00,
"cantidad": 1500,
"codigoReferenciaModalidadPago": [1, 2, 3],
"observaciones": "Actualización de precio y cantidad"
}
Comando con los datos actualizados del CUMS. Debe incluir el IdContratoCums.
| idContratoCums | integer <int32> |
| idContrato | integer <int32> |
| idCums | integer <int32> |
| cantidad | integer <int32> |
{- "idContratoCums": 0,
- "idContrato": 0,
- "idCums": 0,
- "cantidad": 0
}{- "idContratoCums": 0,
- "idContrato": 0
}Este endpoint devuelve la información detallada de una modalidad de pago asociada a un CUMS de contrato específico.
| IdContratoCumsModalidadPago required | integer <int64> |
Este endpoint permite eliminar una modalidad de pago asociada a un CUMS de contrato, identificándola por su ID único.
| IdContratoCumsModalidadPago required | integer <int32> |
Este endpoint permite crear un nuevo registro de modalidad de pago asociada a un CUMS de contrato, especificando los datos requeridos.
Datos de la modalidad de pago a registrar.
| idContratoCums | integer <int32> |
| idContratoModalidadPago | integer <int64> |
| valor | number <double> |
{- "idContratoCums": 0,
- "idContratoModalidadPago": 0,
- "valor": 0
}Este endpoint permite modificar los datos de una modalidad de pago previamente registrada para un CUMS de contrato.
Datos actualizados de la modalidad de pago.
| idContratoCumsModalidaPago | integer <int64> |
| idContratoModalidadPago | integer <int64> |
| valor | number <double> |
{- "idContratoCumsModalidaPago": 0,
- "idContratoModalidadPago": 0,
- "valor": 0
}Este endpoint permite consultar todos los CUPS registrados para un contrato, filtrando por el identificador del contrato.
| IdContrato required | integer <int32> |
Este endpoint devuelve la información detallada de un CUPS de contrato específico, incluyendo datos del procedimiento o servicio.
| IdContratoCups required | integer <int32> |
Este endpoint permite crear un nuevo registro de CUPS asociado a un contrato, especificando los datos requeridos como código, descripción y valor.
Datos del CUPS a registrar.
| idContrato | integer <int32> |
| codigoCupsSispro | string or null |
| cantidad | integer <int32> |
{- "idContrato": 0,
- "codigoCupsSispro": "string",
- "cantidad": 0
}Este endpoint permite modificar los datos de un CUPS previamente registrado, como el código, la descripción o el valor.
Datos actualizados del CUPS.
| idContratoCups | integer <int32> |
| idContrato | integer <int32> |
| codigoCupsSispro | string or null |
| cantidad | integer <int32> |
{- "idContratoCups": 0,
- "idContrato": 0,
- "codigoCupsSispro": "string",
- "cantidad": 0
}Este endpoint devuelve la información detallada de una modalidad de pago asociada a un procedimiento (CUPS) de contrato específico.
| IdContratoCupsModalidadPago required | integer <int64> |
Este endpoint permite eliminar una modalidad de pago asociada a un procedimiento (CUPS) de contrato, identificándola por su ID único.
| IdContratoCupsModalidadPago required | integer <int32> |
Este endpoint permite crear un nuevo registro de modalidad de pago asociada a un procedimiento (CUPS) de contrato, especificando los datos requeridos.
Datos de la modalidad de pago a registrar.
| idContratoCups | integer <int32> |
| idContratoModalidadPago | integer <int64> |
| valor | number <double> |
{- "idContratoCups": 0,
- "idContratoModalidadPago": 0,
- "valor": 0
}Este endpoint permite modificar los datos de una modalidad de pago previamente registrada para un procedimiento (CUPS) de contrato.
Datos actualizados de la modalidad de pago.
| idContratoCupsModalidaPago | integer <int64> |
| idContratoModalidadPago | integer <int64> |
| valor | number <double> |
{- "idContratoCupsModalidaPago": 0,
- "idContratoModalidadPago": 0,
- "valor": 0
}Este endpoint permite consultar todos los estados registrados para un contrato, filtrando por el identificador del contrato. El resultado incluye información detallada de cada cambio de estado, como fechas, observaciones y descripción del estado.
| IdContrato required | integer <int32> |
Este endpoint permite crear un nuevo registro de cambio de estado asociado a un contrato, especificando los datos requeridos como el código de estado, observación y fecha.
Datos del cambio de estado a registrar.
| idContrato | integer <int32> |
| codigoEstado | integer <int32> |
| observacion | string or null |
{- "idContrato": 0,
- "codigoEstado": 0,
- "observacion": "string"
}Este endpoint permite consultar todas las liquidaciones registradas para un contrato filtrando por el identificador del contrato y además, aplicando múltiples filtros opcionales:
Filtros disponibles:
| IdContrato | integer <int32> |
| CodigoCausal | string |
| IdContratoLiquidacion | integer <int32> |
Este endpoint devuelve la información detallada de una liquidación de contrato específica, incluyendo valores, fechas y observaciones.
| IdContratoLiquidacion required | integer <int64> |
Este endpoint permite eliminar una liquidación de contrato existente, identificándola por su ID único.
| IdContratoLiquidacion required | integer <int64> |
Este endpoint permite crear un nuevo registro de liquidación asociada a un contrato, especificando los datos requeridos como valores, fechas y observaciones.
Datos de la liquidación a registrar.
| idContrato | integer <int32> |
| codigoCausal | integer <int32> |
| fechaLiquidacion | string <date-time> |
| valorTotalContrato | number <double> |
| valorTotalEjecutado | number <double> |
| valorTotalPagado | number <double> |
| valorSaldoFavorContratista | number <double> |
| valorSaldoFavorContratatante | number <double> |
| valorIndemnizacion | number <double> |
| valorDeducciones | number <double> |
| valorNetoPagar | number <double> |
| valorMultas | number <double> |
{- "idContrato": 0,
- "codigoCausal": 0,
- "fechaLiquidacion": "2019-08-24T14:15:22Z",
- "valorTotalContrato": 0,
- "valorTotalEjecutado": 0,
- "valorTotalPagado": 0,
- "valorSaldoFavorContratista": 0,
- "valorSaldoFavorContratatante": 0,
- "valorIndemnizacion": 0,
- "valorDeducciones": 0,
- "valorNetoPagar": 0,
- "valorMultas": 0
}Este endpoint permite modificar los datos de una liquidación previamente registrada, como valores, fechas u observaciones.
Datos actualizados de la liquidación.
| idContratoLiquidacion | integer <int64> |
| codigoCausal | integer <int32> |
| fechaLiquidacion | string <date-time> |
| valorTotalContrato | number <double> |
| valorTotalEjecutado | number <double> |
| valorTotalPagado | number <double> |
| valorSaldoFavorContratista | number <double> |
| valorSaldoFavorContratatante | number <double> |
| valorIndemnizacion | number <double> |
| valorDeducciones | number <double> |
| valorNetoPagar | number <double> |
| valorMultas | number <double> |
{- "idContratoLiquidacion": 0,
- "codigoCausal": 0,
- "fechaLiquidacion": "2019-08-24T14:15:22Z",
- "valorTotalContrato": 0,
- "valorTotalEjecutado": 0,
- "valorTotalPagado": 0,
- "valorSaldoFavorContratista": 0,
- "valorSaldoFavorContratatante": 0,
- "valorIndemnizacion": 0,
- "valorDeducciones": 0,
- "valorNetoPagar": 0,
- "valorMultas": 0
}Retorna todos los registros de transición de estado de la liquidación indicada, ordenados
cronológicamente por FechaRegistro. Cada elemento incluye el código de estado,
su descripción obtenida desde CodigoReferencia mediante navegación EF Core,
y las fechas de estado y registro.
Estados del ciclo de vida de la liquidación:
| Código | Descripción |
|---|---|
| 102001 | En creación |
| 102002 | En verificación contratista |
| 102003 | Rechazado |
| 102004 | Aprobado |
Validaciones:
Seguridad y roles:
Sample request:
GET /api/ContratoLiquidacionEstado/ByIdContratoLiquidacion/15
| IdContratoLiquidacion required | integer <int64> |
[- {
- "idContratoLiquidacionEstado": 0,
- "idContratoLiquidacion": 0,
- "codigoEstado": 0,
- "nombreEstado": "string",
- "fechaEstado": "2019-08-24T14:15:22Z",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "observacion": "string"
}
]Aplica un cambio de estado a la liquidación indicada siguiendo la máquina de estados definida. El sistema valida que la transición sea permitida desde el estado actual y que el usuario cuente con el rol requerido para ejecutarla.
Máquina de estados y transiciones permitidas:
| Estado actual | Estado destino | Roles permitidos |
|---|---|---|
| 102001 - En creación | 102002 - En verificación contratista | SIIFA_ERP, SIIFA_ERP_Gestor, SIIFA_Admin |
| 102002 - En verificación contratista | 102003 - Rechazado | SIIFA_IPS, SIIFA_IPS_Gestor, SIIFA_FITS, SIIFA_FITS_Gestor, SIIFA_Admin |
| 102002 - En verificación contratista | 102004 - Aprobado | SIIFA_IPS, SIIFA_IPS_Gestor, SIIFA_FITS, SIIFA_FITS_Gestor, SIIFA_Admin |
| 102003 - Rechazado | 102002 - En verificación contratista | SIIFA_ERP, SIIFA_ERP_Gestor, SIIFA_Admin |
Validaciones adicionales al pasar a 102002 (En verificación contratista):
SIIFA_ERP / SIIFA_ERP_Gestor, el NIT del contratante del contrato padre
debe coincidir con el NIT de la empresa del usuario autenticado (claim del token JWT).Validaciones adicionales al pasar a 102003 o 102004:
SIIFA_IPS / SIIFA_IPS_Gestor / SIIFA_FITS / SIIFA_FITS_Gestor,
el NIT del contratista del contrato padre debe coincidir con el NIT del usuario.Datos requeridos:
Sample request:
POST /api/ContratoLiquidacionEstado
{
"idContratoLiquidacion": 15,
"codigoEstado": 102002
}
Comando con el identificador de la liquidación y el código del estado destino.
| idContratoLiquidacion | integer <int64> |
| codigoEstado | integer <int32> |
| observacion | string or null |
{- "idContratoLiquidacion": 0,
- "codigoEstado": 0,
- "observacion": "string"
}{- "idContratoLiquidacionEstado": 0,
- "idContratoLiquidacion": 0
}Este endpoint permite consultar todas las modalidades de pago registradas para un contrato, filtrando por el identificador del contrato.
| IdContrato required | integer <int32> |
Este endpoint devuelve la información detallada de una modalidad de pago asociada a un contrato específico.
| IdContratoModalidadPago required | integer <int64> |
Este endpoint permite eliminar una modalidad de pago asociada a un contrato, identificándola por su ID único.
| IdContratoModalidadPago required | integer <int64> |
Este endpoint permite crear un nuevo registro de modalidad de pago asociada a un contrato, especificando los datos requeridos.
Datos de la modalidad de pago a registrar.
| idContrato | integer <int32> |
| codigoModalidad required | integer <int32> |
{- "idContrato": 0,
- "codigoModalidad": 0
}Este endpoint permite modificar los datos de una modalidad de pago previamente registrada para un contrato.
Datos actualizados de la modalidad de pago.
| idContratoModalidadPago | integer <int64> |
| codigoModalidad | integer <int32> |
{- "idContratoModalidadPago": 0,
- "codigoModalidad": 0
}Este endpoint permite consultar las operaciones de cobertura geográfica y poblacional registradas para un contrato.
Filtros disponibles:
Información devuelta por cada operación:
Los resultados se ordenan por fecha de registro descendente y se devuelven paginados con metadatos que incluyen:
Validaciones:
Sample request:
GET /api/ContratoOperacion/ByIdContrato?IdContrato=1&NumeroPagina=1&RegistrosPorPagina=10
GET /api/ContratoOperacion/ByIdContrato?IdContrato=1&CodigoDepartamento=25
GET /api/ContratoOperacion/ByIdContrato?IdContrato=1&CodigoMunicipio=25001
| IdContrato | integer <int32> |
| CodigoMunicipio | string |
| CodigoDepartamento | string |
| NumeroPagina | integer <int32> |
| RegistrosPorPagina | integer <int32> |
{- "paginaActual": 0,
- "registrosPorPagina": 0,
- "totalRegistros": 0,
- "totalPaginas": 0,
- "resultado": [
- {
- "idContratoOperacion": 0,
- "idContrato": 0,
- "codigoAlcance": 0,
- "alcance": {
- "idCondigoReferencia": 0,
- "descripcion": "string"
}, - "codigoMunicipio": "string",
- "nombreMunicipio": "string",
- "codigoDepartamento": "string",
- "nombreDepartamento": "string",
- "poblacionCubierta": 0,
- "fechaRegistro": "2019-08-24T14:15:22Z"
}
]
}Este endpoint devuelve información detallada de una operación de contrato específica, incluyendo:
Información básica:
Información geográfica:
Información de cobertura:
Validaciones:
Sample request:
GET /api/ContratoOperacion/1
GET /api/ContratoOperacion/150
| IdContratoOperacion required | integer <int64> |
{- "idContratoOperacion": 0,
- "idContrato": 0,
- "codigoAlcance": 0,
- "alcance": {
- "idCondigoReferencia": 0,
- "descripcion": "string"
}, - "codigoMunicipio": "string",
- "nombreMunicipio": "string",
- "codigoDepartamento": "string",
- "nombreDepartamento": "string",
- "poblacionCubierta": 0,
- "fechaRegistro": "2019-08-24T14:15:22Z"
}Este endpoint permite eliminar una operación de cobertura geográfica y poblacional de un contrato. Solo se pueden eliminar operaciones de contratos en estado "En creación" (102001).
Restricciones:
Validaciones automáticas aplicadas:
Validación de existencia:
Validación de estado:
Nota importante:
Sample request:
DELETE /api/ContratoOperacion/1
DELETE /api/ContratoOperacion/150
| IdContratoOperacion required | integer <int64> |
{- "idContratoOperacion": 0
}Este endpoint permite crear un nuevo registro de operación que define el alcance de cobertura de un contrato. El contrato debe estar en estado "En creación" (102001) para permitir el registro.
Datos requeridos:
Datos condicionales según el tipo de alcance:
Para alcance Nacional (107001):
Para alcance Departamental (107002):
Para alcance Municipal (107003):
Validaciones automáticas aplicadas:
Validación de alcance:
Validación de estado:
Validación de duplicados:
Validación de población:
Sample request:
POST /api/ContratoOperacion
{
"idContrato": 1,
"codigoAlcance": 107003,
"codigoDepartamento": "25",
"codigoMunicipio": "25001",
"poblacionCubierta": 100000
}
Objeto con los datos de la operación a registrar.
| idContrato | integer <int32> |
| codigoAlcance | integer <int32> |
| codigoDepartamento | string or null |
| codigoMunicipio | string or null |
| poblacionCubierta | integer or null <int32> |
{- "idContrato": 0,
- "codigoAlcance": 0,
- "codigoDepartamento": "string",
- "codigoMunicipio": "string",
- "poblacionCubierta": 0
}{- "idContratoOperacion": 0,
- "idContrato": 0
}Este endpoint permite modificar los datos de una operación de cobertura previamente registrada. El contrato debe estar en estado "En creación" (102001) para permitir modificaciones.
Datos requeridos:
Datos condicionales según el tipo de alcance: (Aplican las mismas reglas que en el registro, ver documentación de POST)
Restricciones:
Validaciones automáticas aplicadas:
Validación de existencia:
Validación de alcance:
Validación de estado:
Validación de campos según alcance:
Sample request:
PUT /api/ContratoOperacion
{
"idContratoOperacion": 1,
"codigoAlcance": 107003,
"codigoDepartamento": "25",
"codigoMunicipio": "25754",
"poblacionCubierta": 150000
}
Objeto con los datos actualizados de la operación.
| idContratoOperacion | integer <int64> |
| codigoAlcance | integer <int32> |
| codigoDepartamento | string or null |
| codigoMunicipio | string or null |
| poblacionCubierta | integer or null <int32> |
{- "idContratoOperacion": 0,
- "codigoAlcance": 0,
- "codigoDepartamento": "string",
- "codigoMunicipio": "string",
- "poblacionCubierta": 0
}{- "idContratoOperacion": 0,
- "idContrato": 0
}Este endpoint retorna todos los otrosí existentes sin filtros adicionales.
Se recomienda usar el endpoint filtrado por contrato (ByIdContrato) para consultas
más eficientes en entornos con alto volumen de datos.
Seguridad y roles:
Sample request:
GET /api/ContratoOtrosi
[- {
- "idContratoOtrosi": 0,
- "idContrato": 0,
- "nombre": "string",
- "valor": 0,
- "fechaInicio": "2019-08-24T14:15:22Z",
- "fechaFinalizacion": "2019-08-24T14:15:22Z",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "tipoAdicion": true,
- "tipoModificacion": true,
- "tipoProrroga": true,
- "estado": "string",
- "codigoEstado": 0
}
]Crea un nuevo otrosí vinculado al contrato indicado. El otrosí se crea automáticamente
en estado inicial En creación (102001) y genera un registro en la tabla
CONTRATO_OTROSI_ESTADO.
Datos requeridos:
Validaciones automáticas aplicadas:
SIIFA_Admin, SIIFA_ERP o SIIFA_ERP_Gestor.SIIFA_ERP / SIIFA_ERP_Gestor, el NIT del contratante del contrato padre
debe coincidir con el NIT de la empresa del usuario autenticado (claim del token JWT).Registros creados:
CONTRATO_OTROSI.CONTRATO_OTROSI_ESTADO con estado inicial 102001.Sample request:
POST /api/ContratoOtrosi
{
"idContrato": 42,
"nombre": "Otrosí N°1 - Adición de valor",
"valor": 50000000,
"fechaInicio": "2025-01-01",
"fechaFinalizacion": "2025-12-31",
"tipoAdicion": true,
"tipoModificacion": false,
"tipoProrroga": false
}
Comando con los datos del otrosí a registrar.
| idContrato | integer <int32> |
| nombre | string or null |
| valor | number or null <double> |
| fechaInicio | string or null <date-time> |
| fechaFinalizacion | string or null <date-time> |
| tipoAdicion | boolean or null |
| tipoModificacion | boolean or null |
| tipoProrroga | boolean or null |
{- "idContrato": 0,
- "nombre": "string",
- "valor": 0,
- "fechaInicio": "2019-08-24T14:15:22Z",
- "fechaFinalizacion": "2019-08-24T14:15:22Z",
- "tipoAdicion": true,
- "tipoModificacion": true,
- "tipoProrroga": true
}{- "idContratoOtroSi": 0,
- "idContrato": 0
}Permite modificar los datos de un otrosí previamente registrado. Solo es posible actualizar otrosí que se encuentren en estado En creación (102001) o Rechazado (102003).
Campos actualizables:
Validaciones:
SIIFA_Admin, SIIFA_ERP o SIIFA_ERP_Gestor.Sample request:
PUT /api/ContratoOtrosi
{
"idContratoOtrosi": 15,
"idContrato": 42,
"nombre": "Otrosí N°1 - Adición de valor actualizado",
"valor": 75000000,
"fechaInicio": "2025-01-01",
"fechaFinalizacion": "2026-06-30",
"tipoAdicion": true,
"tipoModificacion": true,
"tipoProrroga": false
}
Comando con los datos actualizados del otrosí. Debe incluir el IdContratoOtrosi.
| idContratoOtrosi | integer <int64> |
| idContrato | integer <int32> |
| nombre | string or null |
| valor | number or null <double> |
| fechaInicio | string or null <date-time> |
| fechaFinalizacion | string or null <date-time> |
| tipoAdicion | boolean or null |
| tipoModificacion | boolean or null |
| tipoProrroga | boolean or null |
{- "idContratoOtrosi": 0,
- "idContrato": 0,
- "nombre": "string",
- "valor": 0,
- "fechaInicio": "2019-08-24T14:15:22Z",
- "fechaFinalizacion": "2019-08-24T14:15:22Z",
- "tipoAdicion": true,
- "tipoModificacion": true,
- "tipoProrroga": true
}{- "idContratoOtrosi": 0,
- "idContrato": 0,
- "nombre": "string",
- "valor": 0,
- "fechaFinalizacion": "2019-08-24T14:15:22Z",
- "tipoAdicion": true,
- "tipoModificacion": true,
- "tipoProrroga": true
}Filtra los otrosí por el identificador del contrato padre, retornando todas las modificaciones, adiciones o prórrogas vinculadas a ese contrato. Los resultados incluyen el estado actual de cada otrosí y sus datos principales.
Validaciones:
Seguridad y roles:
Sample request:
GET /api/ContratoOtrosi/ByIdContrato/42
| IdContrato required | integer <int32> |
[- {
- "idContratoOtrosi": 0,
- "idContrato": 0,
- "nombre": "string",
- "valor": 0,
- "fechaInicio": "2019-08-24T14:15:22Z",
- "fechaFinalizacion": "2019-08-24T14:15:22Z",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "tipoAdicion": true,
- "tipoModificacion": true,
- "tipoProrroga": true,
- "estado": "string",
- "codigoEstado": 0
}
]Retorna la información detallada del otrosí incluyendo sus datos principales, el estado actual y la información completa del contrato padre asociado.
Información retornada:
TipoAdicion), modificación (TipoModificacion), prórroga (TipoProrroga).Validaciones:
Sample request:
GET /api/ContratoOtrosi/15
| IdContratoOtrosi required | integer <int32> |
{- "idContratoOtrosi": 0,
- "idContrato": 0,
- "nombre": "string",
- "valor": 0,
- "fechaInicio": "2019-08-24T14:15:22Z",
- "fechaFinalizacion": "2019-08-24T14:15:22Z",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "tipoAdicion": true,
- "tipoModificacion": true,
- "tipoProrroga": true,
- "estado": "string",
- "codigoEstado": 0,
- "contrato": {
- "idContrato": 0,
- "nitContratante": 0,
- "nitContratista": 0,
- "nombre": "string",
- "fechaSuscripcion": "2019-08-24T14:15:22Z",
- "fechaInicio": "2019-08-24T14:15:22Z",
- "fechaFin": "2019-08-24T14:15:22Z",
- "valor": 0,
- "modalidadPago": 0,
- "cucon": "string",
- "empresaContratante": {
- "nit": 0,
- "razonSocial": "string"
}, - "empresaContratista": {
- "nit": 0,
- "razonSocial": "string"
}, - "regimenes": [
- {
- "codigoRegimen": 0,
- "descripcion": "string",
- "fechaInicioAplicacion": "2019-08-24T14:15:22Z",
- "fechaFinalizacionAplicacion": "2019-08-24T14:15:22Z"
}
], - "estado": "string",
- "codigoEstado": 0
}
}Elimina de forma definitiva el otrosí especificado junto con sus registros de estado
asociados en la tabla CONTRATO_OTROSI_ESTADO. Esta operación es irreversible
y solo debe ejecutarse en otrosí que estén en estado En creación (102001).
Validaciones:
SIIFA_Admin, SIIFA_ERP o SIIFA_ERP_Gestor.Sample request:
DELETE /api/ContratoOtrosi/15
| IdContratoOtrosi required | integer <int64> |
{- "idContratoOtroSi": 0
}Este endpoint permite consultar todos los CUMS registrados para un otrosí, filtrando por el identificador del otrosí.
| IdContratoOtrosi required | integer <int64> |
Este endpoint devuelve la información detallada de un CUMS de otrosí de contrato específico, incluyendo datos de medicamento o insumo.
| IdContratoOtrosiCums required | integer <int64> |
Este endpoint permite crear un nuevo registro de CUMS asociado a un otrosí de contrato, especificando los datos requeridos.
Datos del CUMS a registrar.
| idContratoOtrosi | integer <int64> |
| idContratoCums | integer or null <int32> |
| idCums | integer or null <int32> |
| cantidad | integer <int32> |
{- "idContratoOtrosi": 0,
- "idContratoCums": 0,
- "idCums": 0,
- "cantidad": 0
}Este endpoint permite modificar los datos de un CUMS previamente registrado para un otrosí de contrato.
Datos actualizados del CUMS.
| idContratoOtrosiCums | integer <int64> |
| idContratoOtrosi | integer <int64> |
| idContratoCums | integer or null <int32> |
| idCums | integer or null <int32> |
| cantidad | integer <int32> |
{- "idContratoOtrosiCums": 0,
- "idContratoOtrosi": 0,
- "idContratoCums": 0,
- "idCums": 0,
- "cantidad": 0
}Retorna todos los registros de transición de estado del otrosí indicado, ordenados
cronológicamente por FechaRegistro. Cada elemento incluye el código de estado,
su descripción obtenida desde CodigoReferencia mediante navegación EF Core,
y las fechas de estado y registro.
Estados del ciclo de vida del otrosí:
| Código | Descripción |
|---|---|
| 102001 | En creación |
| 102002 | En verificación contratista |
| 102003 | Rechazado |
| 102004 | Aprobado |
| 102005 | Liquidado |
Validaciones:
Seguridad y roles:
Sample request:
GET /api/ContratoOtrosiEstado/ByIdContratoOtrosi/15
| IdContratoOtrosi required | integer <int64> |
[- {
- "idContratoOtrosiEstado": 0,
- "idContratoOtrosi": 0,
- "codigoEstado": 0,
- "nombreEstado": "string",
- "fechaEstado": "2019-08-24T14:15:22Z",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "observacion": "string"
}
]Aplica un cambio de estado al otrosí indicado siguiendo la máquina de estados definida. El sistema valida que la transición sea permitida desde el estado actual y que el usuario cuente con el rol requerido para ejecutarla.
Máquina de estados y transiciones permitidas:
| Estado actual | Estado destino | Roles permitidos |
|---|---|---|
| 102001 - En creación | 102002 - En verificación contratista | SIIFA_ERP, SIIFA_ERP_Gestor, SIIFA_Admin |
| 102002 - En verificación contratista | 102003 - Rechazado | SIIFA_IPS, SIIFA_IPS_Gestor, SIIFA_FITS, SIIFA_FITS_Gestor, SIIFA_Admin |
| 102002 - En verificación contratista | 102004 - Aprobado | SIIFA_IPS, SIIFA_IPS_Gestor, SIIFA_FITS, SIIFA_FITS_Gestor, SIIFA_Admin |
| 102003 - Rechazado | 102002 - En verificación contratista | SIIFA_ERP, SIIFA_ERP_Gestor, SIIFA_Admin |
| 102004 - Aprobado | 102005 - Liquidado | SIIFA_ERP, SIIFA_ERP_Gestor, SIIFA_FITS, SIIFA_FITS_Gestor, SIIFA_Admin |
| 102005 - Liquidado | (ninguno) | Estado final, no permite más transiciones |
Validaciones adicionales al pasar a 102002 (En verificación contratista):
SIIFA_ERP / SIIFA_ERP_Gestor, el NIT del contratante del contrato padre
debe coincidir con el NIT de la empresa del usuario autenticado (claim del token JWT).CONTRATO_OPERACION (información de población cubierta).Validaciones adicionales al pasar a 102003 o 102004:
SIIFA_IPS / SIIFA_IPS_Gestor / SIIFA_FITS / SIIFA_FITS_Gestor,
el NIT del contratista del contrato padre debe coincidir con el NIT del usuario.Datos requeridos:
Sample request:
POST /api/ContratoOtrosiEstado
{
"idContratoOtrosi": 15,
"codigoEstado": 102002
}
Comando con el identificador del otrosí y el código del estado destino.
| idContratoOtrosi | integer <int64> |
| codigoEstado | integer <int32> |
| observacion | string or null |
{- "idContratoOtrosi": 0,
- "codigoEstado": 0,
- "observacion": "string"
}{- "idContratoOtrosiEstado": 0,
- "idContratoOtrosi": 0
}Este endpoint permite consultar todos los prestadores de servicio registrados para un otrosí, filtrando por el identificador del otrosí.
| IdContratoOtrosi required | integer <int32> |
Este endpoint devuelve la información detallada de un prestador de servicio de otrosí de contrato específico, incluyendo datos de la entidad o profesional.
| IdContratoOtrosiPrestadorServicio required | integer <int32> |
Este endpoint permite eliminar un prestador de servicio de otrosí de contrato existente, identificándolo por su ID único.
| IdContratoOtrosiPrestadorServicio required | integer <int32> |
Este endpoint permite crear un nuevo registro de prestador de servicio asociado a un otrosí de contrato, especificando los datos requeridos.
Datos del prestador de servicio a registrar.
| idContratoOtrosi | integer <int32> |
| idContratoPrestadorServicio | integer or null <int32> |
| codigoServicio | integer <int32> |
| codigoHabilitacion | string or null |
| numeroSede | string or null |
{- "idContratoOtrosi": 0,
- "idContratoPrestadorServicio": 0,
- "codigoServicio": 0,
- "codigoHabilitacion": "string",
- "numeroSede": "string"
}Este endpoint permite modificar los datos de un prestador de servicio previamente registrado para un otrosí de contrato.
Datos actualizados del prestador de servicio.
| idContratoOtrosiPrestadorServicio | integer <int32> |
| codigoServicio | integer <int32> |
| codigoHabilitacion | string or null |
| numeroSede | string or null |
| modalidadBaja | boolean |
| modalidadMedia | boolean |
| modalidadAlta | boolean |
{- "idContratoOtrosiPrestadorServicio": 0,
- "codigoServicio": 0,
- "codigoHabilitacion": "string",
- "numeroSede": "string",
- "modalidadBaja": true,
- "modalidadMedia": true,
- "modalidadAlta": true
}Este endpoint permite consultar todos los prestadores de servicio registrados para un contrato, filtrando por el identificador del contrato.
| IdContrato required | integer <int32> |
Este endpoint devuelve la información detallada de un prestador de servicio de contrato específico, incluyendo datos de la entidad o profesional.
| IdContratoPrestadorServicio required | integer <int32> |
Este endpoint permite eliminar un prestador de servicio de contrato existente, identificándolo por su ID único.
| IdContratoPrestadorServicio required | integer <int32> |
Este endpoint permite crear un nuevo registro de prestador de servicio asociado a un contrato, especificando los datos requeridos.
Datos del prestador de servicio a registrar.
| idContrato | integer <int32> |
| codigoHabilitacion | string or null |
| numeroSede | string or null |
| codigoServicio | integer <int32> |
{- "idContrato": 0,
- "codigoHabilitacion": "string",
- "numeroSede": "string",
- "codigoServicio": 0
}Este endpoint permite modificar los datos de un prestador de servicio previamente registrado para un contrato.
Datos actualizados del prestador de servicio.
| idContratoPrestadorServicio | integer <int32> |
| codigoServicio | integer <int32> |
| codigoHabilitacion | string or null |
| numeroSede | string or null |
{- "idContratoPrestadorServicio": 0,
- "codigoServicio": 0,
- "codigoHabilitacion": "string",
- "numeroSede": "string"
}Este endpoint devuelve la información detallada de una modalidad de pago asociada a un prestador de servicio de contrato específico.
| IdContratoPrestadorServicioModalidadPago required | integer <int64> |
Este endpoint permite eliminar una modalidad de pago asociada a un prestador de servicio de contrato, identificándola por su ID único.
| IdContratoPrestadorServicioModalidadPago required | integer <int32> |
Este endpoint permite crear un nuevo registro de modalidad de pago asociada a un prestador de servicio de contrato, especificando los datos requeridos.
Datos de la modalidad de pago a registrar.
| idContratoPrestadorServicio | integer <int32> |
| idContratoModalidadPago | integer <int64> |
| valor | number <double> |
{- "idContratoPrestadorServicio": 0,
- "idContratoModalidadPago": 0,
- "valor": 0
}Este endpoint permite modificar los datos de una modalidad de pago previamente registrada para un prestador de servicio de contrato.
Datos actualizados de la modalidad de pago.
| idContratoPrestadorServicioModalidaPago | integer <int64> |
| idContratoModalidadPago | integer <int64> |
| valor | number <double> |
{- "idContratoPrestadorServicioModalidaPago": 0,
- "idContratoModalidadPago": 0,
- "valor": 0
}Este endpoint permite consultar todos los regímenes registrados para un contrato, filtrando por el identificador del contrato.
| IdContrato required | integer <int32> |
Este endpoint devuelve la información detallada de un régimen de contrato específico, incluyendo tipo, vigencia y condiciones.
| IdContratoRegimen required | integer <int32> |
Este endpoint permite crear un nuevo registro de régimen asociado a un contrato, especificando los datos requeridos.
Datos del régimen a registrar.
| idContrato | integer <int32> |
| codigoRegimen | integer <int32> |
| fechaInicioAplicacion | string <date-time> |
| fechaFinalizacionAplicacion | string or null <date-time> |
{- "idContrato": 0,
- "codigoRegimen": 0,
- "fechaInicioAplicacion": "2019-08-24T14:15:22Z",
- "fechaFinalizacionAplicacion": "2019-08-24T14:15:22Z"
}Este endpoint permite modificar los datos de un régimen previamente registrado para un contrato.
Datos actualizados del régimen.
| idContratoRegimen | integer <int32> |
| codigoRegimen | integer <int32> |
| fechaInicioAplicacion | string <date-time> |
| fechaFinalizacionAplicacion | string or null <date-time> |
{- "idContratoRegimen": 0,
- "codigoRegimen": 0,
- "fechaInicioAplicacion": "2019-08-24T14:15:22Z",
- "fechaFinalizacionAplicacion": "2019-08-24T14:15:22Z"
}Este endpoint permite consultar el catálogo completo de empresas registradas en el sistema con capacidades avanzadas de filtrado, ordenamiento y paginación mediante IQueryable.
Filtros disponibles:
Ordenamiento:
Paginación:
Información devuelta por cada empresa:
Los resultados incluyen metadatos de paginación:
Sample request:
GET /api/Empresa/List?NumeroPagina=1&RegistrosPorPagina=10&OrdenarPor=RazonSocial&DireccionOrden=asc
GET /api/Empresa/List?Estado=1&RazonSocial=salud
GET /api/Empresa/List?Nit=800197268
| Nit | integer <int32> Filtro opcional por NIT de la empresa. |
| RazonSocial | string Filtro opcional por razón social de la empresa (búsqueda parcial). |
| Estado | integer <int32> Filtro opcional por estado de la empresa. 1: Activa, 0: Inactiva. |
| ClprCodigoReps | integer <int32> Filtro opcional por código REPS. |
| OrdenarPor | string Campo por el cual ordenar los resultados. Valores permitidos: Nit, RazonSocial, FechaRegistro. Por defecto: FechaRegistro. |
| DireccionOrden | string Dirección del ordenamiento. Valores permitidos: asc, desc. Por defecto: desc. |
| NumeroPagina | integer <int32> Número de página para la paginación. Debe ser mayor a 0. Por defecto: 1. |
| RegistrosPorPagina | integer <int32> Cantidad de registros por página. Debe ser mayor a 0 y menor o igual a 100. Por defecto: 10. |
{- "paginaActual": 0,
- "registrosPorPagina": 0,
- "totalRegistros": 0,
- "totalPaginas": 0,
- "resultado": [
- {
- "nit": 0,
- "razonSocial": "string",
- "digitoVerificacion": 0,
- "estado": 0,
- "estadoDescripcion": "string",
- "clprCodigoReps": 0,
- "fechaRegistro": "2019-08-24T14:15:22Z"
}
]
}Este endpoint permite consultar toda la información de una empresa registrada, incluyendo estadísticas de contratos asociados.
Información devuelta:
Sample request:
GET /api/Empresa/Detail/800197268
| nit required | integer <int32> Número de Identificación Tributaria (NIT) de la empresa. |
{- "nit": 0,
- "razonSocial": "string",
- "digitoVerificacion": 0,
- "estado": 0,
- "estadoDescripcion": "string",
- "clprCodigoReps": 0,
- "usuarioRegistro": "f86b90be-beab-434d-8ec1-f39f2d36b029",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "cantidadContratosComoContratante": 0,
- "cantidadContratosComoContratista": 0
}Este endpoint permite registrar una nueva empresa en el catálogo del sistema SIIFA.
Validaciones aplicadas:
Datos requeridos:
Sample request:
POST /api/Empresa/Add
{
"nit": 800197268,
"razonSocial": "IPS SALUD TOTAL S.A.",
"digitoVerificacion": 5,
"estado": 1,
"clprCodigoReps": 25001234
}
Objeto con los datos de la empresa a crear.
| nit | integer <int32> Número de Identificación Tributaria (NIT) de la empresa. Debe ser único en el sistema y tener entre 6 y 9 dígitos. |
| razonSocial | string or null Razón social de la empresa. Es obligatorio y no puede superar los 250 caracteres. |
| digitoVerificacion | integer <int32> Dígito de verificación del NIT. Valor entre 0 y 9 que valida la autenticidad del NIT. |
| estado | integer <int32> Estado de la empresa. 1: Activa, 0: Inactiva. |
| clprCodigoReps | integer <int32> Código REPS (Registro Especial de Prestadores de Servicios de Salud). Identificador único del prestador en el sistema REPS. |
{- "nit": 0,
- "razonSocial": "string",
- "digitoVerificacion": 0,
- "estado": 0,
- "clprCodigoReps": 0
}{- "nit": 0
}Este endpoint permite modificar los datos de una empresa previamente registrada en el sistema. El NIT no puede ser modificado ya que es el identificador único de la empresa.
Validaciones aplicadas:
Datos requeridos:
Sample request:
PUT /api/Empresa/Update
{
"nit": 800197268,
"razonSocial": "IPS SALUD TOTAL S.A.S.",
"digitoVerificacion": 5,
"estado": 1,
"clprCodigoReps": 25001234
}
Objeto con los datos actualizados de la empresa.
| nit | integer <int32> Número de Identificación Tributaria (NIT) de la empresa a actualizar. Identifica de forma única la empresa en el sistema. |
| razonSocial | string or null Nueva razón social de la empresa. No puede estar vacía ni superar los 250 caracteres. |
| digitoVerificacion | integer <int32> Nuevo dígito de verificación del NIT. Debe estar entre 0 y 9. |
| estado | integer <int32> Nuevo estado de la empresa. 1: Activa, 0: Inactiva. |
| clprCodigoReps | integer <int32> Nuevo código REPS de la empresa. Identificador del prestador en el Registro Especial de Prestadores de Servicios de Salud. |
{- "nit": 0,
- "razonSocial": "string",
- "digitoVerificacion": 0,
- "estado": 0,
- "clprCodigoReps": 0
}{- "nit": 0
}Este endpoint permite eliminar una empresa del catálogo del sistema. Solo se permite la eliminación si la empresa no tiene contratos asociados.
Validaciones aplicadas:
Si la empresa tiene contratos asociados, no podrá ser eliminada y se retornará un error de validación. En ese caso, considere cambiar el estado a Inactiva (0) en lugar de eliminarla.
Sample request:
DELETE /api/Empresa/Delete/800197268
| nit required | integer <int32> Número de Identificación Tributaria (NIT) de la empresa a eliminar. |
{- "nit": 0
}Este endpoint permite consultar novedades aplicando múltiples filtros opcionales:
Filtros disponibles:
Seguridad y roles:
Los resultados se devuelven paginados con metadatos que incluyen:
Validaciones:
Sample request:
GET /api/NovedadContrato?NumeroPagina=1&CantidadRegistros=10&CodigoEstado=150001
GET /api/NovedadContrato?IdContrato=123&CodigoEstado=150004
GET /api/NovedadContrato?NumeroPagina=2&CantidadRegistros=50
| IdNovedad | integer <int64> |
| NumeroInternoNovedad | string |
| Nombre | string |
| IdContrato | integer <int32> |
| IdSeguimientoFacturaGlosa | integer <int64> |
| IdSeguimientoFacturaPago | integer <int64> |
| CodigoEstado | integer <int32> |
| FechaRegistroDesde | string <date-time> |
| FechaRegistroHasta | string <date-time> |
| NumeroPagina | integer <int32> |
| CantidadRegistros | integer <int32> |
{- "paginaActual": 0,
- "registrosPorPagina": 0,
- "totalRegistros": 0,
- "totalPaginas": 0,
- "resultado": [
- {
- "idNovedad": 0,
- "numeroInternoNovedad": "string",
- "nombre": "string",
- "descripcion": "string",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "idContrato": 0,
- "numeroContrato": "string",
- "idSeguimientoFacturaGlosa": 0,
- "idSeguimientoFacturaPago": 0,
- "codigoEstadoActual": 0,
- "estadoActual": "string",
- "fechaEstadoActual": "2019-08-24T14:15:22Z",
- "totalElementosCums": 0,
- "totalElementosCups": 0,
- "totalElementosRegimen": 0,
- "totalElementosModalidadPago": 0,
- "totalElementosAgrupador": 0,
- "totalElementosPrestadorServicio": 0
}
]
}Este endpoint permite crear una nueva novedad con validaciones automáticas de integridad. La novedad se crea automáticamente en estado BORRADOR (150001).
Datos requeridos:
Entidad afectada (debe especificar EXACTAMENTE UNA):
Datos opcionales:
Validaciones automáticas aplicadas:
Validación de entidad afectada:
Validación de fechas:
Validación de número interno:
Estado inicial:
Roles permitidos para crear novedades:
Sample request:
POST /api/NovedadContrato
{
"nombre": "Inclusión de nuevos medicamentos POS",
"descripcion": "Se incluyen 10 nuevos medicamentos al catálogo POS según resolución ministerial",
"justificacion": "Actualización según resolución MSPS 2023-XXX del 15 de enero de 2023",
"fechaInicioVigencia": "2024-01-01T00:00:00",
"fechaFinVigencia": "2024-12-31T23:59:59",
"idContrato": 123,
"numeroInternoNovedad": "NOV-2024-001"
}
Objeto que contiene los datos de la novedad a crear.
| numeroInternoNovedad | string or null |
| nombre | string or null |
| descripcion | string or null |
| justificacion | string or null |
| idContrato | integer or null <int32> |
| idSeguimientoFacturaGlosa | integer or null <int64> |
| idSeguimientoFacturaPago | integer or null <int64> |
{- "numeroInternoNovedad": "string",
- "nombre": "string",
- "descripcion": "string",
- "justificacion": "string",
- "idContrato": 0,
- "idSeguimientoFacturaGlosa": 0,
- "idSeguimientoFacturaPago": 0
}{- "idNovedad": 0,
- "codigoEstado": 0,
- "estado": "string"
}Este endpoint devuelve información detallada y completa de una novedad específica, incluyendo:
Información básica:
Información de la entidad afectada:
Historial de estados:
Resumen de elementos por tipo:
Validaciones:
Sample request:
GET /api/NovedadContrato/1
GET /api/NovedadContrato/250
| id required | integer <int64> Identificador único de la novedad a consultar. |
{- "idNovedad": 0,
- "numeroInternoNovedad": "string",
- "nombre": "string",
- "descripcion": "string",
- "justificacion": "string",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "usuarioRegistro": "f86b90be-beab-434d-8ec1-f39f2d36b029",
- "idContrato": 0,
- "contrato": {
- "idContrato": 0,
- "numeroContrato": "string",
- "nitContratante": "string",
- "nombreContratante": "string",
- "nitContratista": "string",
- "nombreContratista": "string"
}, - "idSeguimientoFacturaGlosa": 0,
- "idSeguimientoFacturaPago": 0,
- "codigoEstadoActual": 0,
- "estadoActual": "string",
- "fechaEstadoActual": "2019-08-24T14:15:22Z",
- "historialEstados": [
- {
- "idNovedadEstado": 0,
- "codigoEstado": 0,
- "estado": "string",
- "fechaEstado": "2019-08-24T14:15:22Z",
- "observacion": "string"
}
], - "resumen": {
- "totalCums": 0,
- "aplicadosCums": 0,
- "totalCups": 0,
- "aplicadosCups": 0,
- "totalRegimen": 0,
- "aplicadosRegimen": 0,
- "totalModalidadPago": 0,
- "aplicadosModalidadPago": 0,
- "totalAgrupador": 0,
- "aplicadosAgrupador": 0,
- "totalPrestadorServicio": 0,
- "aplicadosPrestadorServicio": 0
}
}Este endpoint permite modificar los datos de una novedad previamente creada, pero SOLO si la novedad está en estado BORRADOR (150001).
Campos modificables:
Campos NO modificables:
Restricciones importantes:
Estado BORRADOR requerido:
Validación de fechas:
Número interno único:
Concurrencia de ID:
Roles permitidos:
Sample request:
PUT /api/NovedadContrato/123
{
"idNovedad": 123,
"nombre": "Inclusión de nuevos medicamentos POS - Actualizado",
"descripcion": "Se incluyen 15 nuevos medicamentos al catálogo POS (ampliado)",
"justificacion": "Actualización según resoluciones MSPS 2023-XXX y 2023-YYY",
"fechaInicioVigencia": "2024-01-01T00:00:00",
"fechaFinVigencia": "2024-12-31T23:59:59",
"numeroInternoNovedad": "NOV-2024-001-V2"
}
| id required | integer <int64> Identificador único de la novedad a actualizar (debe coincidir con IdNovedad en el cuerpo). |
Objeto que contiene los datos actualizados de la novedad.
| idNovedad | integer <int64> |
| numeroInternoNovedad | string or null |
| nombre | string or null |
| descripcion | string or null |
| justificacion | string or null |
{- "idNovedad": 0,
- "numeroInternoNovedad": "string",
- "nombre": "string",
- "descripcion": "string",
- "justificacion": "string"
}{- "idNovedad": 0,
- "actualizado": true
}Este endpoint orquesta la aplicación completa de una novedad, ejecutando iterativamente cada aplicador específico (CUMS, CUPS, Régimen, Modalidad de Pago, Agrupador, Prestador de Servicio). Cada aplicador maneja su propia transacción para garantizar atomicidad individual.
Requisitos previos:
Proceso de aplicación:
Validación inicial:
Aplicación secuencial por tipo:
Resultado:
Tipos de acciones aplicadas por elemento:
Resumen retornado:
Importante:
Sample request:
POST /api/NovedadContrato/{id}/aplicar
Ejemplo: POST /api/NovedadContrato/123/aplicar
| idNovedad | integer <int64> |
{- "idNovedad": 0
}{- "idNovedad": 0,
- "aplicado": true,
- "mensaje": "string",
- "resumen": {
- "cumsAplicados": 0,
- "cupsAplicados": 0,
- "regimenAplicados": 0,
- "modalidadPagoAplicados": 0,
- "agrupadorAplicados": 0,
- "prestadorServicioAplicados": 0,
- "totalElementos": 0
}
}| NumeroPagina | integer <int32> |
| CantidadRegistros | integer <int32> |
| IdNovedad | integer <int64> |
| CodigoAccion | integer <int32> |
| Aplicado | boolean |
{- "paginaActual": 0,
- "registrosPorPagina": 0,
- "totalRegistros": 0,
- "totalPaginas": 0,
- "resultado": [
- {
- "idNovedadContratoAgrupador": 0,
- "idNovedad": 0,
- "codigoAccion": 0,
- "accion": "string",
- "idContratoAgrupador": 0,
- "codigoAgrupadorAnterior": 0,
- "descripcionAgrupadorAnterior": "string",
- "codigoAgrupadorNuevo": 0,
- "descripcionAgrupadorNuevo": "string",
- "observacion": "string",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "aplicado": true,
- "fechaAplicacion": "2019-08-24T14:15:22Z"
}
]
}Comando con los datos del elemento de agrupador a crear.
| idNovedad | integer <int64> |
| codigoAccion | integer <int32> |
| idContratoAgrupador | integer or null <int32> |
| codigoAgrupadorAnterior | integer or null <int32> |
| codigoAgrupadorNuevo | integer or null <int32> |
| observacion | string or null |
{- "idNovedad": 0,
- "codigoAccion": 0,
- "idContratoAgrupador": 0,
- "codigoAgrupadorAnterior": 0,
- "codigoAgrupadorNuevo": 0,
- "observacion": "string"
}{- "idNovedadContratoAgrupador": 0,
- "idNovedad": 0,
- "codigoAccion": 0,
- "accion": "string"
}| id required | integer <int64> Identificador único del elemento de agrupador a actualizar. |
Comando con los datos actualizados del elemento.
| idNovedadContratoAgrupador | integer <int64> |
| codigoAgrupadorAnterior | integer or null <int32> |
| codigoAgrupadorNuevo | integer or null <int32> |
| observacion | string or null |
{- "idNovedadContratoAgrupador": 0,
- "codigoAgrupadorAnterior": 0,
- "codigoAgrupadorNuevo": 0,
- "observacion": "string"
}{- "idNovedadContratoAgrupador": 0,
- "actualizado": true
}Solo se permite eliminar cuando la novedad está en estado BORRADOR (150001) o RECHAZADA (150005), el elemento no ha sido aplicado y el usuario tiene rol SIIFA_Admin, SIIFA_ERP o SIIFA_ERP_Gestor.
| id required | integer <int64> Identificador único del elemento de agrupador de novedad a eliminar. |
{- "idNovedadContratoAgrupador": 0,
- "eliminado": true
}| id required | integer <int64> Identificador del elemento de agrupador a aplicar. |
{- "idNovedadContratoAgrupador": 0,
- "aplicado": true,
- "idContratoAgrupadorAfectado": 0,
- "mensaje": "string"
}Este endpoint permite consultar todos los elementos CUMS (Código Único de Medicamentos) incluidos en una novedad, mostrando tanto los valores ANTERIORES como NUEVOS según el código de acción aplicado. Los datos se devuelven siguiendo el patrón ANTERIOR/NUEVO para facilitar la auditoría de cambios.
Filtros disponibles:
Patrón ANTERIOR/NUEVO por código de acción:
INCLUIR (160001): Solo muestra valores NUEVO
MODIFICAR (160002): Muestra valores ANTERIOR y NUEVO para comparación
INACTIVAR (160003): Solo muestra valores ANTERIOR
REACTIVAR (160004): Solo muestra valores ANTERIOR
Campos retornados en cada elemento:
Validaciones:
Sample request:
GET /api/NovedadContratoCums?IdNovedad=123&Aplicado=false&NumeroPagina=1&CantidadRegistros=10
GET /api/NovedadContratoCums?IdNovedad=150&CodigoAccion=160001
GET /api/NovedadContratoCums?IdNovedad=200&Aplicado=true
| NumeroPagina | integer <int32> |
| CantidadRegistros | integer <int32> |
| IdNovedad | integer <int64> |
| CodigoAccion | integer <int32> |
| Aplicado | boolean |
{- "paginaActual": 0,
- "registrosPorPagina": 0,
- "totalRegistros": 0,
- "totalPaginas": 0,
- "resultado": [
- {
- "idNovedadContratoCums": 0,
- "idNovedad": 0,
- "codigoAccion": 0,
- "accion": "string",
- "idContratoCums": 0,
- "idReferenciaCumsAnterior": 0,
- "codigoCumsAnterior": "string",
- "nombreCumsAnterior": "string",
- "cantidadAnterior": 0,
- "incluidoPbsAnterior": true,
- "idReferenciaCumsNuevo": 0,
- "codigoCumsNuevo": "string",
- "nombreCumsNuevo": "string",
- "cantidadNuevo": 0,
- "incluidoPbsNuevo": true,
- "observacion": "string",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "aplicado": true,
- "fechaAplicacion": "2019-08-24T14:15:22Z"
}
]
}Este endpoint permite agregar medicamentos a una novedad siguiendo el patrón ANTERIOR/NUEVO versión 7.0. Las validaciones y campos requeridos varían según el código de acción especificado. Solo se pueden agregar elementos a novedades en estado BORRADOR (150001).
Códigos de acción disponibles:
INCLUIR (160001) - Agregar nuevo medicamento al contrato:
Campos requeridos:
Campos NO requeridos:
Validaciones específicas:
MODIFICAR (160002) - Cambiar datos de un medicamento existente:
Campos requeridos:
Campos NO requeridos (se obtienen automáticamente):
Validaciones específicas:
INACTIVAR (160003) - Eliminar medicamento del contrato:
Campos requeridos:
Campos NO requeridos (se obtienen automáticamente):
Validaciones específicas:
REACTIVAR (160004) - Reactivar medicamento previamente inactivado:
Campos requeridos:
Campos NO requeridos:
Validaciones específicas:
Validaciones generales aplicadas a todas las acciones:
Efecto de la creación:
Sample request INCLUIR:
POST /api/NovedadContratoCums
{
"idNovedad": 123,
"codigoAccion": 160001,
"idReferenciaCumsNuevo": 456,
"cantidadNuevo": 100,
"activoDespues": true,
"observacion": "Nuevo medicamento oncológico incluido en POS - Aprobación comité técnico 2025-01-15"
}
Sample request MODIFICAR:
POST /api/NovedadContratoCums
{
"idNovedad": 123,
"codigoAccion": 160002,
"idContratoCums": 789,
"idReferenciaCumsNuevo": 456,
"cantidadNuevo": 200,
"activoDespues": true,
"observacion": "Aumento de cantidad de 100 a 200 unidades por incremento de demanda - Resolución MinSalud 001-2025"
}
Sample request INACTIVAR:
POST /api/NovedadContratoCums
{
"idNovedad": 123,
"codigoAccion": 160003,
"idContratoCums": 789,
"observacion": "Medicamento descontinuado por laboratorio - Comunicado oficial 2025-02-01"
}
Comando con los datos del elemento CUMS a agregar a la novedad.
| idNovedad | integer <int64> |
| codigoAccion | integer <int32> |
| idContratoCums | integer or null <int32> |
| idReferenciaCumsAnterior | integer or null <int32> |
| idReferenciaCumsNuevo | integer or null <int32> |
| cantidadNuevo | integer or null <int32> |
| activoDespues | boolean or null |
| observacion | string or null |
{- "idNovedad": 0,
- "codigoAccion": 0,
- "idContratoCums": 0,
- "idReferenciaCumsAnterior": 0,
- "idReferenciaCumsNuevo": 0,
- "cantidadNuevo": 0,
- "activoDespues": true,
- "observacion": "string"
}{- "idNovedadContratoCums": 0,
- "idNovedad": 0,
- "codigoAccion": 0,
- "accion": "string"
}Este endpoint permite modificar los datos de un elemento CUMS previamente registrado en una novedad. Solo se pueden actualizar elementos que pertenezcan a novedades en estado BORRADOR y que no hayan sido aplicados.
Restricciones de actualización:
Estado de la novedad:
Estado de aplicación:
Validación de ID:
Campos actualizables:
Todos los campos del patrón ANTERIOR/NUEVO pueden ser actualizados según el código de acción:
Validaciones aplicadas:
Las mismas validaciones del patrón ANTERIOR/NUEVO que se aplican en la creación:
Además:
Caso de uso típico:
Un usuario crea un elemento con acción MODIFICAR pero se equivoca en la cantidad nueva. Puede actualizar el elemento antes de enviar la novedad a revisión, corrigiendo los valores sin necesidad de eliminarlo y crearlo nuevamente.
Sample request:
PUT /api/NovedadContratoCums/456
{
"idNovedadContratoCums": 456,
"codigoAccion": 160002,
"idContratoCums": 789,
"idReferenciaCumsAnterior": 123,
"cantidadAnterior": 100,
"activoAnterior": true,
"idReferenciaCumsNuevo": 123,
"cantidadNuevo": 250,
"activoNuevo": true,
"observacion": "Corrección: Aumento de 100 a 250 unidades por error de digitación en solicitud inicial"
}
| id required | integer <int64> Identificador único del elemento CUMS de novedad a actualizar. Debe coincidir con el ID en el cuerpo del comando. |
Comando con los datos actualizados del elemento CUMS. Incluye todas las propiedades del patrón ANTERIOR/NUEVO.
| idNovedadContratoCums | integer <int64> |
| idReferenciaCumsNuevo | integer or null <int32> |
| cantidadNuevo | integer or null <int32> |
| activoNuevo | boolean or null |
| observacion | string or null |
{- "idNovedadContratoCums": 0,
- "idReferenciaCumsNuevo": 0,
- "cantidadNuevo": 0,
- "activoNuevo": true,
- "observacion": "string"
}{- "idNovedadContratoCums": 0,
- "actualizado": true
}Este endpoint ejecuta la aplicación de un elemento CUMS de novedad a la tabla operativa CONTRATO_CUMS, materializando el cambio solicitado según el código de acción. Este es el paso final del flujo de novedades, donde los cambios aprobados se hacen efectivos en las tablas operativas del sistema.
Control de acceso y roles permitidos:
Solo los siguientes roles pueden aplicar novedades:
Roles de solo consulta NO tienen permiso:
Requisitos previos para la aplicación:
Estado de la novedad:
Estado del elemento:
Permisos del usuario:
Acciones ejecutadas según código de acción:
INCLUIR (160001) - Crear nuevo medicamento en CONTRATO_CUMS:
Crea un nuevo registro en tabla CONTRATO_CUMS con:
Resultado: Nuevo ID de CONTRATO_CUMS generado
MODIFICAR (160002) - Actualizar medicamento existente:
Busca el registro en CONTRATO_CUMS usando IdContratoCums del elemento
Actualiza los campos con los valores NUEVO:
Resultado: ID del registro modificado en CONTRATO_CUMS
INACTIVAR (160003) - Eliminar medicamento del contrato:
Busca el registro en CONTRATO_CUMS usando IdContratoCums del elemento
Elimina físicamente el registro de la tabla CONTRATO_CUMS
La trazabilidad se mantiene a través del elemento de novedad
Resultado: ID del registro inactivado
REACTIVAR (160004) - Reactivar medicamento previamente inactivado:
Busca el registro en CONTRATO_CUMS usando IdContratoCums del elemento
Marca el campo Activo = true
Actualiza IdNovedadOrigen y FechaNovedadAplicacion con datos de esta novedad
El registro mantiene su ID original y toda su información histórica
Resultado: ID del CONTRATO_CUMS reactivado (mismo ID original)
Trazabilidad y auditoría:
Después de aplicar exitosamente, se actualiza el elemento de novedad:
Esto permite:
Proceso transaccional:
Toda la operación se ejecuta en una transacción de base de datos:
Si ocurre un error en cualquier paso, se hace rollback completo.
Validaciones automáticas:
Sample request:
POST /api/NovedadContratoCums/aplicar
{
"idNovedadContratoCums": 456
}
Sample response exitoso:
{
"idNovedadContratoCums": 456,
"aplicado": true,
"idContratoCumsAfectado": 789,
"mensaje": "CUMS modificado en contrato (ID: 789)"
}
| id required | integer <int64> |
{- "idNovedadContratoCums": 0,
- "eliminado": true
}| idNovedadContratoCums | integer <int64> |
{- "idNovedadContratoCums": 0
}{- "idNovedadContratoCums": 0,
- "aplicado": true,
- "idContratoCumsAfectado": 0,
- "mensaje": "string"
}Consulta los procedimientos/servicios CUPS incluidos en una novedad. Los datos se devuelven siguiendo el patrón ANTERIOR/NUEVO según el código de acción:
| IdNovedad | integer <int64> |
| CodigoAccion | integer <int32> |
| Aplicado | boolean |
| NumeroPagina | integer <int32> |
| CantidadRegistros | integer <int32> |
{- "paginaActual": 0,
- "registrosPorPagina": 0,
- "totalRegistros": 0,
- "totalPaginas": 0,
- "resultado": [
- {
- "idNovedadContratoCups": 0,
- "idNovedad": 0,
- "codigoAccion": 0,
- "accion": "string",
- "idContratoCups": 0,
- "idReferenciaCupsAnterior": "string",
- "cantidadAnterior": 0,
- "incluidoPbsAnterior": true,
- "idReferenciaCupsNuevo": "string",
- "cantidadNuevo": 0,
- "incluidoPbsNuevo": true,
- "observacion": "string",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "aplicado": true,
- "fechaAplicacion": "2019-08-24T14:15:22Z"
}
]
}Este endpoint permite agregar procedimientos/servicios CUPS a una novedad siguiendo el patrón ANTERIOR/NUEVO. Las validaciones y campos requeridos varían según el código de acción especificado. Solo se pueden agregar elementos a novedades en estado BORRADOR (150001).
Códigos de acción:
IMPORTANTE para MODIFICAR, INACTIVAR y REACTIVAR:
Comando con los datos del elemento CUPS a agregar a la novedad.
| idNovedad | integer <int64> |
| codigoAccion | integer <int32> |
| idContratoCups | integer or null <int32> |
| idReferenciaCupsAnterior | string or null |
| idReferenciaCupsNuevo | string or null |
| cantidadNuevo | integer or null <int32> |
| activoDespues | boolean or null |
| observacion | string or null |
{- "idNovedad": 0,
- "codigoAccion": 0,
- "idContratoCups": 0,
- "idReferenciaCupsAnterior": "string",
- "idReferenciaCupsNuevo": "string",
- "cantidadNuevo": 0,
- "activoDespues": true,
- "observacion": "string"
}{- "idNovedadContratoCups": 0,
- "idNovedad": 0,
- "codigoAccion": 0,
- "accion": "string"
}| id required | integer <int64> Identificador único del elemento CUPS a actualizar. |
Comando con los datos actualizados del elemento CUPS.
| idNovedadContratoCups | integer <int64> |
| idReferenciaCupsNuevo | string or null |
| cantidadNuevo | integer or null <int32> |
| activoNuevo | boolean or null |
| observacion | string or null |
{- "idNovedadContratoCups": 0,
- "idReferenciaCupsNuevo": "string",
- "cantidadNuevo": 0,
- "activoNuevo": true,
- "observacion": "string"
}{- "idNovedadContratoCups": 0,
- "actualizado": true
}Solo se permite eliminar cuando la novedad está en estado BORRADOR (150001) o RECHAZADA (150005), el elemento no ha sido aplicado y el usuario tiene rol SIIFA_Admin, SIIFA_ERP o SIIFA_ERP_Gestor.
| id required | integer <int64> Identificador único del elemento CUPS de novedad a eliminar. |
{- "idNovedadContratoCups": 0,
- "eliminado": true
}Comando con el identificador del elemento CUPS a aplicar.
| idNovedadContratoCups | integer <int64> |
{- "idNovedadContratoCups": 0
}{- "idNovedadContratoCups": 0,
- "aplicado": true,
- "idContratoCupsAfectado": 0,
- "mensaje": "string"
}Retorna todos los cambios de estado de una novedad ordenados por fecha descendente (más reciente primero).
Estados disponibles:
Sample request:
GET /api/NovedadContratoEstado?IdNovedad=123
| NumeroPagina | integer <int32> |
| CantidadRegistros | integer <int32> |
| IdNovedad | integer <int64> |
| CodigoEstado | integer <int32> |
Flujo de estados permitidos:
Sample request:
{
"idNovedad": 123,
"codigoEstado": 150002,
"observacion": "Enviando novedad para revisión del contratista"
}
Datos del cambio de estado
| idNovedad | integer <int64> |
| codigoEstado | integer <int32> |
| observacion | string or null |
{- "idNovedad": 0,
- "codigoEstado": 0,
- "observacion": "string"
}| NumeroPagina | integer <int32> |
| CantidadRegistros | integer <int32> |
| IdNovedad | integer <int64> |
| CodigoAccion | integer <int32> |
| Aplicado | boolean |
{- "paginaActual": 0,
- "registrosPorPagina": 0,
- "totalRegistros": 0,
- "totalPaginas": 0,
- "resultado": [
- {
- "idNovedadContratoModalidadPago": 0,
- "idNovedad": 0,
- "codigoAccion": 0,
- "accion": "string",
- "idContratoModalidadPago": 0,
- "codigoModalidadPagoAnterior": 0,
- "descripcionModalidadPagoAnterior": "string",
- "codigoModalidadPagoNuevo": 0,
- "descripcionModalidadPagoNuevo": "string",
- "observacion": "string",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "aplicado": true,
- "fechaAplicacion": "2019-08-24T14:15:22Z"
}
]
}Comando con los datos del elemento de modalidad de pago a crear.
| idNovedad | integer <int64> |
| codigoAccion | integer <int32> |
| idContratoModalidadPago | integer or null <int32> |
| codigoModalidadPagoAnterior | integer or null <int32> |
| codigoModalidadPagoNuevo | integer or null <int32> |
| observacion | string or null |
{- "idNovedad": 0,
- "codigoAccion": 0,
- "idContratoModalidadPago": 0,
- "codigoModalidadPagoAnterior": 0,
- "codigoModalidadPagoNuevo": 0,
- "observacion": "string"
}{- "idNovedadContratoModalidadPago": 0,
- "idNovedad": 0,
- "codigoAccion": 0,
- "accion": "string"
}| id required | integer <int64> Identificador único del elemento de modalidad de pago a actualizar. |
Comando con los datos actualizados del elemento.
| idNovedadContratoModalidadPago | integer <int64> |
| codigoModalidadPagoAnterior | integer or null <int32> |
| codigoModalidadPagoNuevo | integer or null <int32> |
| observacion | string or null |
{- "idNovedadContratoModalidadPago": 0,
- "codigoModalidadPagoAnterior": 0,
- "codigoModalidadPagoNuevo": 0,
- "observacion": "string"
}{- "idNovedadContratoModalidadPago": 0,
- "actualizado": true
}Solo se permite eliminar cuando la novedad está en estado BORRADOR (150001) o RECHAZADA (150005), el elemento no ha sido aplicado y el usuario tiene rol SIIFA_Admin, SIIFA_ERP o SIIFA_ERP_Gestor.
| id required | integer <int64> Identificador único del elemento de modalidad de pago a eliminar. |
{- "idNovedadContratoModalidadPago": 0,
- "eliminado": true
}| id required | integer <int64> Identificador del elemento de modalidad de pago a aplicar. |
{- "idNovedadContratoModalidadPago": 0,
- "aplicado": true,
- "idContratoModalidadPagoAfectado": 0,
- "mensaje": "string"
}Retorna la información ANTERIOR/NUEVO según el código de acción:
| NumeroPagina | integer <int32> |
| CantidadRegistros | integer <int32> |
| IdNovedad | integer <int64> |
| CodigoAccion | integer <int32> |
| Aplicado | boolean |
{- "paginaActual": 0,
- "registrosPorPagina": 0,
- "totalRegistros": 0,
- "totalPaginas": 0,
- "resultado": [
- {
- "idNovedadContratoPrestadorServicio": 0,
- "idNovedad": 0,
- "codigoAccion": 0,
- "accion": "string",
- "idContratoPrestadorServicio": 0,
- "idReferenciaRepsAnterior": 0,
- "codigoHabilitacionAnterior": "string",
- "numeroSedeAnterior": "string",
- "idReferenciaRepsNuevo": 0,
- "codigoHabilitacionNuevo": "string",
- "numeroSedeNuevo": "string",
- "observacion": "string",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "aplicado": true,
- "fechaAplicacion": "2019-08-24T14:15:22Z"
}
]
}Para MODIFICAR, INACTIVAR y REACTIVAR se debe enviar IdContratoPrestadorServicio. El valor ANTERIOR se obtiene automáticamente desde el registro operativo, por lo que no debe enviarse en el request.
Comando con los datos del elemento de prestador a crear.
| idNovedad | integer <int64> |
| codigoAccion | integer <int32> |
| idContratoPrestadorServicio | integer or null <int32> |
| idReferenciaRepsNuevo | integer or null <int64> |
| activoDespues | boolean or null |
| observacion | string or null |
{- "idNovedad": 0,
- "codigoAccion": 0,
- "idContratoPrestadorServicio": 0,
- "idReferenciaRepsNuevo": 0,
- "activoDespues": true,
- "observacion": "string"
}{- "idNovedadContratoPrestadorServicio": 0,
- "idNovedad": 0,
- "codigoAccion": 0,
- "accion": "string"
}| id required | integer <int64> Identificador único del elemento de prestador a actualizar. |
Comando con los datos actualizados del elemento.
| idNovedadContratoPrestadorServicio | integer <int64> |
| idReferenciaRepsAnterior | integer or null <int64> |
| idReferenciaRepsNuevo | integer or null <int64> |
| observacion | string or null |
{- "idNovedadContratoPrestadorServicio": 0,
- "idReferenciaRepsAnterior": 0,
- "idReferenciaRepsNuevo": 0,
- "observacion": "string"
}{- "idNovedadContratoPrestadorServicio": 0,
- "actualizado": true
}Solo se permite eliminar cuando la novedad está en estado BORRADOR (150001) o RECHAZADA (150005), el elemento no ha sido aplicado y el usuario tiene rol SIIFA_Admin, SIIFA_ERP o SIIFA_ERP_Gestor.
| id required | integer <int64> Identificador único del elemento de prestador de novedad a eliminar. |
{- "idNovedadContratoPrestadorServicio": 0,
- "eliminado": true
}| id required | integer <int64> Identificador del elemento de prestador a aplicar. |
{- "idNovedadContratoPrestadorServicio": 0,
- "aplicado": true,
- "idContratoPrestadorServicioAfectado": 0,
- "mensaje": "string"
}| NumeroPagina | integer <int32> |
| CantidadRegistros | integer <int32> |
| IdNovedad | integer <int64> |
| CodigoAccion | integer <int32> |
| Aplicado | boolean |
{- "paginaActual": 0,
- "registrosPorPagina": 0,
- "totalRegistros": 0,
- "totalPaginas": 0,
- "resultado": [
- {
- "idNovedadContratoRegimen": 0,
- "idNovedad": 0,
- "codigoAccion": 0,
- "accion": "string",
- "idContratoRegimen": 0,
- "codigoRegimenAnterior": 0,
- "descripcionRegimenAnterior": "string",
- "codigoRegimenNuevo": 0,
- "descripcionRegimenNuevo": "string",
- "observacion": "string",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "aplicado": true,
- "fechaAplicacion": "2019-08-24T14:15:22Z"
}
]
}Comando con los datos del elemento de régimen a crear.
| idNovedad | integer <int64> |
| codigoAccion | integer <int32> |
| idContratoRegimen | integer or null <int32> |
| codigoRegimenAnterior | integer or null <int32> |
| codigoRegimenNuevo | integer or null <int32> |
| observacion | string or null |
{- "idNovedad": 0,
- "codigoAccion": 0,
- "idContratoRegimen": 0,
- "codigoRegimenAnterior": 0,
- "codigoRegimenNuevo": 0,
- "observacion": "string"
}{- "idNovedadContratoRegimen": 0,
- "idNovedad": 0,
- "codigoAccion": 0,
- "accion": "string"
}| id required | integer <int64> Identificador único del elemento de régimen a actualizar. |
Comando con los datos actualizados del elemento.
| idNovedadContratoRegimen | integer <int64> |
| codigoRegimenAnterior | integer or null <int32> |
| codigoRegimenNuevo | integer or null <int32> |
| observacion | string or null |
{- "idNovedadContratoRegimen": 0,
- "codigoRegimenAnterior": 0,
- "codigoRegimenNuevo": 0,
- "observacion": "string"
}{- "idNovedadContratoRegimen": 0,
- "actualizado": true
}Solo se permite eliminar cuando la novedad está en estado BORRADOR (150001) o RECHAZADA (150005), el elemento no ha sido aplicado y el usuario tiene rol SIIFA_Admin, SIIFA_ERP o SIIFA_ERP_Gestor.
| id required | integer <int64> Identificador único del elemento de régimen de novedad a eliminar. |
{- "idNovedadContratoRegimen": 0,
- "eliminado": true
}| id required | integer <int64> Identificador del elemento de régimen a aplicar. |
{- "idNovedadContratoRegimen": 0,
- "aplicado": true,
- "idContratoRegimenAfectado": 0,
- "mensaje": "string"
}Este endpoint retorna todos los bancos registrados en la tabla REFERENCIA_BANCO. Soporta filtros por código, estado y nombre, además de paginación.
Parámetros de consulta:
Información retornada:
Casos de uso:
Sample requests:
GET /api/ReferenciaBanco
GET /api/ReferenciaBanco?estado=ACTIVO
GET /api/ReferenciaBanco?nombre=Bancolombia
GET /api/ReferenciaBanco?codigoBanrep=1
GET /api/ReferenciaBanco?estado=ACTIVO&numeroPagina=1®istrosPorPagina=20
GET /api/ReferenciaBanco?nombre=Banco&numeroPagina=2®istrosPorPagina=10
| CodigoBanrep | integer <int32> |
| Estado | string |
| Nombre | string |
| NumeroPagina | integer <int32> |
| RegistrosPorPagina | integer <int32> |
{- "paginaActual": 0,
- "registrosPorPagina": 0,
- "totalRegistros": 0,
- "totalPaginas": 0,
- "resultado": [
- {
- "codigoBanrep": 0,
- "codigoSuperfinanciera": 0,
- "nombre": "string",
- "razonSocial": "string",
- "nit": "string",
- "tipoEntidad": "string",
- "convenioAdres": "string",
- "estado": "string",
- "fechaRegistro": "2019-08-24T14:15:22Z",
- "fechaActualizacion": "2019-08-24T14:15:22Z",
- "fechaConvenioAdres": "2019-08-24T14:15:22Z"
}
]
}Este endpoint permite buscar referencias CUMS utilizando texto libre, expediente CUM o código ATC. El resultado incluye información relevante como el nombre, descripción, código ATC y si está incluido en el PBS.
| TextoConsulta | string |
| NumeroRegistros | integer <int32> |
Este endpoint permite consultar toda la información asociada a una referencia CUMS específica, identificada por su IdCums.
| IdCums required | integer <int32> |
Este endpoint permite consultar todas las referencias CUPS disponibles, filtrando según los criterios definidos en el parámetro de consulta. Es útil para procesos de integración, auditoría y soporte a la toma de decisiones clínicas y administrativas.
| TextoConsulta | string |
| NumeroRegistros | integer <int32> |
Este endpoint permite consultar toda la información relevante de un procedimiento específico, identificado por su IdCups. Es útil para validación, auditoría y análisis detallado de procedimientos en el sistema.
| IdCups required | string |
Este endpoint permite consultar todos los municipios de referencia disponibles, filtrando según los criterios definidos en el parámetro de consulta. El resultado incluye información del municipio y su departamento asociado.
object (Minsalud_SIIFA_API_Features_ReferenciaMunicipio_Queries_ListReferenciaMunicipio_Query) Parámetro que contiene los criterios de búsqueda para los municipios de referencia. |
Este endpoint permite consultar todas las referencias REPS disponibles para un prestador de servicios de salud, filtrando por el NIT del prestador.
| Nit required | string |