Un catálogo estandarizado de métodos de pago, clasificado por tipo (p. ej., Tarjeta, Efectivo, Transferencia bancaria). Simplifica los Informes financieros y el análisis de tendencias de pago en todas las clínicas
Principales Funcionalidades:
Nomenclatura estandarizada
Clasificación por tipo
Seguimiento del estado Activo
Referencia detallada de columnas
Identificadores principales
Columna | Tipo | Descripción | Ejemplos | Lógica de negocio |
provet_id | STRING | Identificador único de su consulta | `"pcus_1"`` | |
payment_method_id | BIGINT | Identificador único del método de pago | 1, 15, 42 | Generado por el sistema, inmutable una vez creado. Clave primaria con provet_id |
Información del método de pago
Columna | Tipo | Descripción | Ejemplos | Lógica de negocio |
payment_method_name | STRING | Nombre original del método de pago | "Visa Credit Card", "Cash", "CareCredit Financing" | Nombre original tal y como se configura en el sistema de gestión de consultas |
payment_method_type | STRING | Categoría de pago estandarizada | "Card", "Cash or Check", "Financing", "Digital Wallet" | Lógica de categorización automática: usa la marca is_card y coincidencia de patrones en el nombre |
payment_method_name_standardized | STRING | Nombre del método de pago estandarizado | "Visa", "Cash", "CareCredit" | Lógica de estandarización: coincidencia de patrones (p. ej., '%visa%' → 'Visa', '%carecredit%' → 'CareCredit') |
Marcas de clasificación
Columna | Tipo | Descripción | Ejemplos | Lógica de negocio |
is_active | BOOLEAN | Estado Activo del método de pago | true, false | Controla si el método aparece en la selección de pago. false = obsoleto/deshabilitado |
is_card | BOOLEAN | Indicador de Card payment | true, false | Clasificador principal: true para todos los pagos basados en Tarjeta (crédito, adeudado, tarjetas regalo) |
is_custom | BOOLEAN | Marca de método de pago personalizado | true, false | true para métodos de pago específicos de la consulta que no están en el catálogo estándar |
is_cashdesk_payments | BOOLEAN | Marca de pagos en caja | true, false | true para métodos disponibles en la caja física / recepción |
Marcas de control de uso
Columna | Tipo | Descripción | Ejemplos | Lógica de negocio |
in_invoices | BOOLEAN | Disponible para pagos de facturas | true, false | Controla si el método se puede usar para pagos de facturas habituales |
in_prepayments | BOOLEAN | Disponible para Pagos anticipados | true, false | Controla si el método se puede usar para pagos anticipados / depósitos |
in_reports | BOOLEAN | Incluir en Informes financieros | true, false | Controla si las operaciones aparecen en los Informes financieros estándar |
in_end_of_day | BOOLEAN | Incluir en Informes al cierre del día | true, false | Controla si el método aparece en los Informes diarios de conciliación de caja |
Información de auditoría
Columna | Tipo | Descripción | Ejemplos | Lógica de negocio |
created | TIMESTAMP | Fecha y hora de creación del método de pago | 2024-01-15 10:30:00.000 | Cuándo se configuró por primera vez el método en el sistema |
created_date | DATE | Fecha de creación del método de pago | 2024-01-15 | Parte de fecha del timestamp de creación |
Análisis en profundidad de la lógica de negocio
Clasificación del tipo de método de pago
El sistema utiliza un enfoque jerárquico para clasificar los métodos de pago:
1. Clasificación principal (marca is_card):
WHEN is_card = true THEN 'Card' -- Most reliable identifier
2. Clasificación basada en patrones:
CASE -- Digital payment apps WHEN name ILIKE ANY ('%cashapp%', '%zelle%', '%venmo%', '%paypal%') THEN 'Digital Wallet' -- Physical payment types WHEN name ILIKE ANY ('%cash%', '%check%', '%cheque%') THEN 'Cash or Check' -- Third-party financing WHEN name ILIKE ANY ('%carecredit%', '%scratchpay%', '%cherry%') THEN 'Financing' -- Bank transfers WHEN name ILIKE ANY ('%bank%', '%ach%', '%wire%', '%e-transfer%') THEN 'Bank Transfer' -- Insurance payments WHEN name ILIKE ANY ('%trupanion%', '%insurance%') THEN 'Insurance' -- Credits and write-offs WHEN name ILIKE ANY ('%coupon%', '%rebate%', '%credit%', '%write off%') THEN 'Credit / Write-Off' -- Internal processes WHEN name ILIKE ANY ('%payroll%', '%employee%', '%internal%') THEN 'Internal' -- Fallback categories WHEN is_custom = true THEN 'Custom' ELSE 'Other'END