Su Template de datos para la gestión de reclamaciones
Su Template de datos para la gestión de reclamaciones
- Atributos recomendados para recopilar
- Actividades clave que debe seguir
- Instrucciones para extraer datos de Guidewire ClaimCenter
Atributos de gestión de reclamaciones
| Nombre | Descripción | ||
|---|---|---|---|
| Hora del evento EventTime | La fecha y hora exactas en que tuvo lugar la actividad. | ||
| Descripción Esta marca de tiempo señala el momento exacto en que se registró una actividad en el sistema. Es fundamental para cualquier análisis de procesos basado en el tiempo. El orden cronológico de EventTime para un mismo ID del caso permite reconstruir el flujo del proceso. La diferencia de tiempo entre eventos consecutivos se utiliza para calcular los tiempos de ciclo, de espera y de procesamiento, que son esenciales para analizar el rendimiento, identificar cuellos de botella y supervisar los SLA. Por qué es importante Esta marca de tiempo es esencial para ordenar los eventos, calcular los tiempos de ciclo y las duraciones, e identificar retrasos en el proceso. Dónde obtenerlo Se encuentra junto a los datos de eventos o actividades en las tablas de historial o auditoría de Guidewire ClaimCenter, a menudo en un campo llamado «CreateTime» o «UpdateTime». Ejemplos 2023-05-15T09:00:00Z2023-05-16T14:30:15Z2023-06-01T11:20:00Z | |||
| ID de reclamación ClaimID | Identificador único de cada reclamación de seguro, que sirve como identificador principal del caso. | ||
| Descripción El ID de reclamación es la base del análisis del proceso de reclamaciones, ya que identifica de forma única cada caso desde su presentación hasta el cierre. Vincula todas las actividades, los documentos, los pagos y las comunicaciones asociados, y ofrece una visión completa y coherente del ciclo de vida de cada reclamación. En Process Mining, cada evento del conjunto de datos está vinculado a un ID de reclamación, lo que permite reconstruir el flujo del proceso de principio a fin. Esto es esencial para analizar los tiempos de ciclo, identificar variantes del proceso y seguir el recorrido de una reclamación por distintos departamentos y ajustadores. Por qué es importante Es la clave fundamental que conecta todos los eventos relacionados y permite seguir y analizar el recorrido completo de una reclamación. Dónde obtenerlo Es una clave principal en Guidewire ClaimCenter. Suele encontrarse en Claim.ClaimNumber o en un campo similar de la entidad principal Claim. Ejemplos 000-123-45678000-987-65432001-456-11223 | |||
| Nombre de la actividad ActivityName | Nombre de la actividad empresarial o del evento que tuvo lugar en un momento concreto del ciclo de vida de la reclamación. | ||
| Descripción Este atributo describe un paso o hito concreto del proceso de reclamaciones, como «Reclamación creada», «Investigación iniciada» o «Pago emitido». La secuencia de estas actividades para un ID del caso determinado conforma el flujo del proceso. Analizar la secuencia, la frecuencia y el tiempo transcurrido entre actividades es la base del Process Mining. Esto permite descubrir modelos de proceso, identificar cuellos de botella, detectar ciclos de retrabajo y analizar desviaciones del proceso. Por qué es importante Define los pasos del proceso y permite visualizar los mapas de procesos y analizar el flujo del proceso y los cuellos de botella. Dónde obtenerlo Por lo general, se obtiene de las tablas de eventos o los registros de auditoría de ClaimCenter, asignando eventos específicos del sistema o cambios de estado a nombres de actividad estandarizados. Ejemplos Reclamación creadaDecisión sobre responsabilidad tomadaPago emitidoReclamación cerrada | |||
| Causa del siniestro LossCause | El motivo o la causa concreta del siniestro, por ejemplo, colisión, incendio o daños por agua. | ||
| Descripción Este atributo aporta información detallada sobre el motivo de la reclamación. La causa del siniestro suele determinar los pasos de investigación necesarios, el tipo de especialistas requeridos y la complejidad general de la reclamación. Analizar el proceso por causa del siniestro puede revelar patrones ocultos. Por ejemplo, las reclamaciones por daños por agua podrían tener más retrabajo o requerir más intervención de especialistas que las reclamaciones por robo. Esta información ayuda a crear procedimientos de gestión más específicos y eficientes. Por qué es importante Aporta contexto sobre la naturaleza de la reclamación y permite analizar cómo afectan las distintas causas del siniestro al flujo y la duración del proceso. Dónde obtenerlo Es un campo estándar de la entidad Claim, que suele llamarse «LossCause». Ejemplos ColisiónIncendioDaños por aguaRobo | |||
| Estado de la reclamación ClaimStatus | El estado general de la reclamación en el momento del evento, por ejemplo, abierta, cerrada o denegada. | ||
| Descripción Este atributo refleja el estado general de la reclamación. Entre los estados principales se incluyen «Abierta», «Cerrada», «Denegada» y «Reabierta». El estado final de una reclamación es un indicador clave del resultado. El seguimiento de los cambios en el estado de la reclamación permite definir hitos y resultados clave del proceso. Sirve para identificar la resolución final, calcular las tasas de rechazo y analizar con qué frecuencia se reabren reclamaciones después de cerrarse, algo que suele indicar problemas en el proceso o insatisfacción de la clientela. Por qué es importante Indica el resultado de una reclamación y es esencial para analizar las tasas de rechazo, los patrones de cierre y la frecuencia con que se reabren las reclamaciones. Dónde obtenerlo Es un campo central de la entidad Claim, que suele llamarse «State» o «Status». Ejemplos AbiertaCerradaDenegadaReabierta | |||
| Gestor de reclamaciones asignado AssignedAdjuster | El nombre o ID de la persona usuaria asignada para gestionar la reclamación o una actividad concreta. | ||
| Descripción Este atributo identifica a la persona gestora de reclamaciones responsable de una reclamación en un momento determinado. Puede asignarse a una reclamación completa o a tareas específicas dentro de ella. Analizar los datos por gestor de reclamaciones asignado es fundamental para equilibrar la carga de trabajo, gestionar el rendimiento e identificar necesidades de formación. Permite responder preguntas como: «¿Qué personas gestoras tienen más reclamaciones a su cargo?», «¿Hay diferencias de rendimiento entre ellas?» y «¿Se distribuye el trabajo de forma equitativa?». Por qué es importante Registra la participación de las personas usuarias y permite analizar la carga de trabajo, comparar el rendimiento e identificar cuellos de botella relacionados con los recursos. Dónde obtenerlo Está disponible en la entidad Claim o Exposure de ClaimCenter y suele estar vinculado al objeto User, por ejemplo, Claim.Assignee. Ejemplos j.doem.smiths.jones | |||
| Tipo de reclamación ClaimType | La categoría de la reclamación de seguro, como automóvil, propiedad o responsabilidad civil. | ||
| Descripción El tipo de reclamación es una categoría fundamental que se determina según el ramo de actividad o la naturaleza del siniestro. Los distintos tipos de reclamación suelen seguir procesos diferentes, tener distintos niveles de complejidad y estar sujetos a normativas distintas. Segmentar el análisis del proceso por tipo de reclamación es esencial para obtener conclusiones útiles. Permite comparar el rendimiento entre ramos de actividad, identificar cuellos de botella específicos de cada tipo y adaptar las iniciativas de mejora a las características de cada categoría de reclamación. Por qué es importante Permite segmentar las reclamaciones, ya que los distintos tipos, como automóvil y propiedad, suelen seguir procesos diferentes y tener objetivos de rendimiento distintos. Dónde obtenerlo Se obtiene de la entidad Policy o Claim de ClaimCenter, a menudo a partir del código del ramo de actividad (LOB). Ejemplos Automóvil particularPropiedad comercialResponsabilidad civil generalIndemnización por accidentes laborales | |||
| Departamento Department | La unidad de negocio o el departamento responsable de gestionar la actividad de la reclamación. | ||
| Descripción Este atributo indica el departamento o equipo al que pertenece la persona gestora asignada, como «Reclamaciones de automóviles», «Reclamaciones de propiedades» o «Unidad de investigaciones especiales». Aporta contexto organizativo al proceso. Analizar los datos por departamento es fundamental para comprender el rendimiento del proceso en toda la organización. Ayuda a detectar demoras en los traspasos entre departamentos, comparar la eficiencia de los equipos y asignar los recursos de forma más eficaz en el área de reclamaciones. Por qué es importante Aporta contexto organizativo, permite analizar el rendimiento de distintos equipos y pone de manifiesto problemas en los traspasos entre departamentos. Dónde obtenerlo Esta información suele estar asociada al perfil de la persona usuaria o del grupo asignado en ClaimCenter. Ejemplos División de reclamaciones de automóvilesUnidad de reclamaciones de propiedadesUnidad de investigaciones especiales (SIU) | |||
| Es automatizada IsAutomated | Indicador que señala si el sistema o una persona usuaria realizó una actividad automáticamente. | ||
| Descripción Este atributo booleano distingue las actividades ejecutadas por el sistema, como la creación automática de reservas o la generación de correspondencia, de las que realiza manualmente una persona gestora de reclamaciones. Analizar este atributo es clave para comprender el nivel de automatización del proceso de reclamaciones. Ayuda a identificar dónde se concentra la intervención manual, medir la eficacia de las iniciativas de procesamiento directo y encontrar nuevas oportunidades de automatización al señalar tareas repetitivas y basadas en reglas que actualmente realizan personas. Por qué es importante Distingue las actividades realizadas por el sistema de las realizadas por personas, algo clave para analizar la automatización e identificar cuellos de botella manuales. Dónde obtenerlo A menudo hay que calcularlo. Por ejemplo, se pueden marcar como automatizados los eventos registrados por un usuario genérico del sistema. Ejemplos truefalse | |||
| Es retrabajo IsRework | Indicador que señala si una actividad forma parte de un ciclo de retrabajo, es decir, si el proceso vuelve a una etapa anterior. | ||
| Descripción Este atributo calculado marca las actividades que forman parte de un ciclo de retrabajo. Por ejemplo, si el proceso pasa de «Investigación completada» a «Investigación iniciada», la segunda actividad «Investigación iniciada» se marcaría como retrabajo. Identificar el retrabajo es fundamental para detectar ineficiencias del proceso y problemas de calidad. El Dashboard de frecuencia de retrabajo y rechazo utiliza esta métrica para cuantificar con qué frecuencia las reclamaciones se desvían de la ruta ideal. Analizar las causas del retrabajo puede mejorar considerablemente la calidad y la rapidez del proceso. Por qué es importante Pone de manifiesto las ineficiencias del proceso y los problemas de calidad al marcar explícitamente las actividades que forman parte de un ciclo de retrabajo. Dónde obtenerlo Se calcula en la herramienta de Process Mining mediante el análisis de la secuencia de actividades de cada caso. Ejemplos truefalse | |||
| Estado del SLA SLAState | Indica si la reclamación se cerró antes de la fecha objetivo de resolución. | ||
| Descripción Este atributo calculado indica, mediante una categoría, el grado de cumplimiento del SLA para cada reclamación cerrada. Se obtiene al comparar la marca de tiempo de la actividad «Reclamación cerrada» con la fecha objetivo de resolución. Este atributo facilita directamente el análisis del Dashboard de cumplimiento de la fecha objetivo de resolución de reclamaciones, al clasificar los resultados en categorías claras como «A tiempo» o «Con retraso». Permite filtrar y agrupar los datos fácilmente para calcular el porcentaje general de cumplimiento del SLA y analizar las causas de las demoras. Por qué es importante Ofrece un resultado claro y categórico sobre el cumplimiento del SLA, lo que facilita filtrar, agrupar y analizar los cierres a tiempo. Dónde obtenerlo Campo calculado: IF (ActualCloseDate <= ResolutionTargetDate, 'A tiempo', 'Con retraso'). Ejemplos A tiempoCon retraso | |||
| Fecha del siniestro LossDate | La fecha en que ocurrió el incidente o siniestro que dio lugar a la reclamación. | ||
| Descripción La fecha del siniestro es la fecha en que ocurrió el hecho, como un accidente de automóvil o daños a una propiedad, por el que se presenta la reclamación. No es lo mismo que la fecha en que se notificó o creó la reclamación. El tiempo transcurrido entre la fecha del siniestro y la actividad «Reclamación creada», conocido como demora en la notificación, es un KPI importante. Analizarlo puede aportar información sobre el comportamiento de la clientela y la eficacia de los canales de notificación inicial del siniestro. Por qué es importante Aporta contexto esencial sobre el origen de la reclamación y ayuda a analizar la demora en la notificación, es decir, el tiempo transcurrido entre el incidente y la presentación de la reclamación. Dónde obtenerlo Es un campo de fecha fundamental de la entidad Claim, que suele llamarse «LossDate». Ejemplos 2023-05-102023-04-202023-05-28 | |||
| Fecha objetivo de resolución ResolutionTargetDate | La fecha límite prevista para resolver la reclamación según los SLA internos o normativos. | ||
| Descripción La fecha objetivo de resolución es la fecha límite fijada para cerrar una reclamación. Suele depender de factores como la jurisdicción, el tipo de reclamación y las condiciones de la póliza. Sirve como referencia para medir el rendimiento y el cumplimiento. Este atributo es fundamental para crear Dashboards de cumplimiento de los SLA y KPI. Al comparar la fecha real de la actividad «Reclamación cerrada» con la fecha objetivo, el análisis puede señalar automáticamente las reclamaciones atrasadas, medir el porcentaje de cierres a tiempo e identificar qué tipos de reclamación o departamentos tienen dificultades para cumplir sus objetivos. Por qué es importante Sirve como referencia para medir el cumplimiento del acuerdo de nivel de servicio (SLA) e identificar las reclamaciones que corren riesgo de retrasarse. Dónde obtenerlo Puede ser un campo personalizado o calcularse según las reglas de negocio configuradas en ClaimCenter, posiblemente a partir de métricas específicas de las reclamaciones. Ejemplos 2023-06-142023-07-202023-08-28 | |||
| Hora de finalización EndTime | La marca de tiempo que indica cuándo se completó una actividad. | ||
| Descripción La hora de finalización marca el momento en que concluye una actividad, sobre todo en tareas cuya duración se puede medir, como «Investigación» o «Revisión de documentos». Muchas actividades de Process Mining son instantáneas y basta con StartTime, pero las que tienen un inicio y un fin definidos se representan mejor con ambas marcas de tiempo. Este atributo permite calcular con precisión el tiempo de procesamiento de una actividad, diferenciándolo del tiempo de espera. Ayuda a identificar qué tareas concretas consumen más tiempo, en lugar de limitarse a observar largas demoras entre pasos. Por qué es importante Permite medir con precisión cuánto tarda en completarse una actividad y distinguir el tiempo de procesamiento del tiempo de espera. Dónde obtenerlo Es posible que haya que obtenerlo a partir de un evento posterior que marque lógicamente el fin de la actividad, por ejemplo, un cambio de estado de «En curso» a «Completada». Ejemplos 2023-05-15T17:00:00Z2023-05-16T15:00:00Z2023-06-02T10:00:00Z | |||
| Importe del pago PaymentAmount | El importe efectivamente pagado en una actividad de pago. | ||
| Descripción Este atributo registra el importe de cada pago realizado por una reclamación. Una misma reclamación puede tener varios pagos a lo largo de su ciclo de vida. Es esencial para el análisis financiero en el contexto del Process Mining. Permite calcular el total pagado por reclamación, analizar los tiempos de aprobación según el importe y relacionar las ineficiencias del proceso con los resultados financieros. Por ejemplo, los tiempos de ciclo prolongados pueden estar relacionados con pagos totales más elevados. Por qué es importante Registra las transacciones financieras de una reclamación y permite analizar los importes pagados y su relación con las actividades del proceso. Dónde obtenerlo Se encuentra en entidades relacionadas con los pagos y vinculadas a la reclamación, a menudo en una tabla de transacciones o cheques. Ejemplos 4500.00125000.00500.00 | |||
| Importe reclamado ClaimedAmount | El importe total que reclamó inicialmente la persona titular de la póliza. | ||
| Descripción Este atributo representa el valor del siniestro según lo notificó la persona reclamante. Suele ser una estimación inicial que puede cambiar a medida que se investiga la reclamación y se fijan las reservas. Analizar el importe reclamado permite segmentar las reclamaciones según su impacto financiero. Las reclamaciones de alto valor suelen seguir procesos más rigurosos y complejos que las de menor valor. Comparar los procesos por rangos de importe puede revelar oportunidades para agilizar la gestión de las reclamaciones pequeñas o aplicar controles más estrictos a las de mayor cuantía. Por qué es importante Permite segmentar las reclamaciones por valor económico, ya que las de mayor cuantía pueden seguir procesos distintos y más complejos. Dónde obtenerlo Es posible que esta información no corresponda a un único campo y que deba obtenerse de las estimaciones iniciales del siniestro registradas en las exposiciones. Ejemplos 5000.00150000.00750.50 | |||
| Jurisdicción estatal JurisdictionState | El estado o la jurisdicción que rige la reclamación y determina los requisitos normativos. | ||
| Descripción Este atributo especifica la jurisdicción legal, por ejemplo, el estado de EE. UU., en la que se gestiona la reclamación. La normativa de seguros puede variar considerablemente entre jurisdicciones y afectar los pasos necesarios del proceso, los plazos de comunicación y la documentación. Este atributo es esencial para supervisar el cumplimiento. Analizar el proceso por jurisdicción permite comprobar que se cumplen los requisitos normativos específicos de cada estado. También puede explicar las diferencias en los tiempos de ciclo o las rutas del proceso que se deben a restricciones legales y no a ineficiencias operativas. Por qué es importante Es fundamental para analizar el cumplimiento, ya que la normativa de cada jurisdicción afecta al proceso de reclamaciones. Dónde obtenerlo Es un campo estándar de la entidad Claim, que suele llamarse «JurisdictionState». Ejemplos CANYTXFL | |||
| Sistema de origen SourceSystem | El sistema del que se extrajeron los datos. | ||
| Descripción Este atributo identifica el origen de los datos de eventos. En una empresa moderna, los eventos relacionados con reclamaciones pueden proceder de varios sistemas, como un sistema central como Guidewire, un sistema de gestión documental o un portal de clientes. Especificar el sistema de origen es fundamental para la gobernanza de datos, la resolución de incoherencias y la comprensión del entorno tecnológico del proceso. Permite distinguir los pasos centrales del proceso de las actividades de apoyo realizadas en sistemas periféricos. Por qué es importante Identifica el origen de los datos, algo fundamental para la gobernanza de datos y los análisis que abarcan varios sistemas integrados. Dónde obtenerlo Por lo general, es un valor estático que se añade durante el proceso de extracción, transformación y carga de datos (ETL). Ejemplos Guidewire ClaimCenter v10API del portal de clientesDocumentum | |||
| Solicitud de información repetida RepeatedInfoRequestFlag | Indicador que señala si la actividad «Información adicional solicitada» ocurrió más de una vez para la misma reclamación. | ||
| Descripción Este indicador booleano se establece en true si una reclamación tiene más de una actividad «Información adicional solicitada». Esto suele indicar ineficiencias en la fase inicial de recopilación de información. Este atributo permite calcular directamente el KPI de tasa de solicitudes de información repetidas. Ayuda a cuantificar el problema de no recopilar todos los datos necesarios desde el principio, lo que puede causar demoras importantes y frustración en la clientela. Analizar las reclamaciones marcadas puede ayudar a mejorar las listas de verificación y los procedimientos para que las personas gestoras soliciten toda la información necesaria de una sola vez. Por qué es importante Identifica ineficiencias en la recopilación de información que no se completa a la primera y que provocan demoras y retrabajo. Dónde obtenerlo Se calcula en la herramienta de Process Mining contando las veces que aparece la actividad «Información adicional solicitada» en cada caso. Ejemplos truefalse | |||
| Tipo de póliza PolicyType | El tipo específico de póliza de seguro con la que se presentó la reclamación. | ||
| Descripción El tipo de póliza ofrece una clasificación más detallada que el tipo de reclamación, ya que especifica el producto de seguro, como «Seguro de hogar», «Responsabilidad civil de automóviles comerciales» o «Responsabilidad civil cibernética». Este nivel de detalle puede revelar diferencias en los procesos asociadas a productos concretos. Analizar el proceso por tipo de póliza ayuda a detectar ineficiencias específicas de cada producto. Por ejemplo, las reclamaciones de una póliza recién lanzada podrían seguir un proceso menos consolidado y sufrir demoras. Este análisis puede orientar el diseño de productos y la estandarización de procesos. Por qué es importante Permite analizar procesos de productos de seguro específicos e identificar diferencias en la gestión según las características de cada póliza. Dónde obtenerlo Esta información se encuentra en la entidad Policy, vinculada a Claim. Ejemplos Seguro multirriesgo de hogarResponsabilidad civil de automóviles comercialesSeguro marítimo interior | |||
| Última actualización de los datos LastDataUpdate | La marca de tiempo que indica cuándo se actualizaron o extrajeron por última vez los datos del sistema de origen. | ||
| Descripción Este atributo indica la marca de tiempo de la extracción más reciente de datos del sistema de origen. Es un campo de metadatos esencial para saber si el análisis se basa en datos actualizados. Los Dashboards y los análisis deben mostrar esta información de forma destacada para que las personas usuarias sepan cuán recientes son los datos. Así pueden valorar si las conclusiones reflejan el estado actual de las operaciones o se basan en datos antiguos. Por qué es importante Indica cuán recientes son los datos para que las personas usuarias sepan hasta qué punto está actualizado el análisis del proceso. Dónde obtenerlo Este valor se genera y almacena durante el proceso ETL y representa la marca de tiempo de la carga de datos. Ejemplos 2024-07-28T04:00:00Z2024-07-29T04:00:00Z | |||
Actividades de gestión de reclamaciones
| Actividad | Descripción | ||
|---|---|---|---|
| Exposición creada | Esta actividad indica la creación de una exposición, que representa una posible responsabilidad o un tipo de pérdida específico dentro de la reclamación (por ejemplo, daños en un vehículo o lesiones). En Guidewire, se registra como un evento explícito. | ||
| Por qué es importante Las exposiciones son fundamentales para segmentar y analizar las reclamaciones. Registrar su creación ayuda a comprender las variaciones del proceso según la complejidad de la reclamación y el tipo de pérdida. Dónde obtenerlo Se obtiene de CreateTime de un nuevo registro en la tabla cc_exposure. Cada registro está vinculado a un único ID de reclamación. Capturar Identifique la marca de tiempo de creación de un nuevo registro en la tabla de la entidad Exposure. Tipo de evento explicit | |||
| Pago aprobado | Representa la aprobación formal de un pago de liquidación. Es un evento de auditoría clave que se registra explícitamente cuando una persona usuaria con autoridad aprueba la transacción. | ||
| Por qué es importante Este hito clave permite avanzar al paso final del pago. Analizar el tiempo anterior y posterior a esta actividad ayuda a aislar las demoras causadas por los flujos de aprobación o la disponibilidad de los responsables. Dónde obtenerlo A menudo, este evento explícito se registra en la tabla cc_history y está relacionado con una entidad cc_check o cc_transaction. Registra el cambio de estado de 'Pendiente de aprobación' a 'Aprobado'. Capturar Registre el cambio de estado a 'Aprobado' de una transacción de pago específica. Tipo de evento explicit | |||
| Pago emitido | Esta actividad marca el paso final del proceso de pago: el pago se emite oficialmente y se envía al sistema financiero. Se trata de una transacción financiera explícita que queda registrada. | ||
| Por qué es importante Esta actividad es fundamental para medir la eficiencia del proceso de emisión de pagos. Permite distinguir las demoras de aprobación de las demoras en la emisión efectiva de los fondos. Dónde obtenerlo Se obtiene de IssueDate o de un cambio de estado a 'Emitido' o 'Enviado' en la entidad cc_check o cc_transaction. A menudo, se trata de un evento explícito con marca de tiempo. Capturar Identifique IssueDate o la marca de tiempo del cambio de estado a 'Emitido' en el registro del pago. Tipo de evento explicit | |||
| Reclamación cerrada | Marca el cierre satisfactorio de una reclamación una vez completadas todas las actividades y los pagos. Es el principal evento de fin satisfactorio y se infiere de un cambio en el estado principal de la reclamación. | ||
| Por qué es importante Como evento de fin principal, esta actividad es esencial para calcular el tiempo de ciclo de principio a fin y medir el cumplimiento de los SLA. Indica que el ciclo de vida de la reclamación ha concluido. Dónde obtenerlo Se infiere de un cambio del campo State de la tabla cc_claim a 'Cerrado'. La marca de tiempo del evento es CloseDate en el registro de la reclamación. Capturar Identifique cuándo se actualiza a 'Cerrado' el campo de estado principal de la reclamación. Tipo de evento inferred | |||
| Reclamación creada | Esta actividad marca el primer aviso de siniestro (FNOL) y la creación oficial de un nuevo registro de reclamación en Guidewire ClaimCenter. Se registra explícitamente cuando una nueva entidad Claim se guarda por primera vez en la base de datos. | ||
| Por qué es importante Como evento de inicio principal, esta actividad es esencial para medir el tiempo de ciclo de la reclamación de principio a fin. Sirve de referencia para todos los KPI posteriores de rendimiento y duración. Dónde obtenerlo Este evento explícito se obtiene de CreateTime en la tabla cc_claim. La creación de un nuevo registro con un ID de reclamación único activa el evento. Capturar Identifique la marca de tiempo de creación del nuevo registro en la tabla de la entidad Claim base. Tipo de evento explicit | |||
| Reclamación denegada | Representa la decisión final de denegar una reclamación y marca el fin del proceso. Este evento se infiere cuando el estado de la reclamación cambia a cerrado y el motivo es 'Denegada'. | ||
| Por qué es importante Este es un evento clave de resultado. Analizar la frecuencia, los motivos y las rutas del proceso que llevan a las denegaciones ayuda a detectar problemas en la recepción de reclamaciones, la investigación o la interpretación de las pólizas. Dónde obtenerlo Se infiere de un cambio del campo State de la tabla cc_claim a 'Cerrado', junto con el valor 'Denegada' o uno similar en el campo CloseReason. La marca de tiempo del evento es CloseDate. Capturar Filtre los cambios de estado de las reclamaciones a 'Cerrado' cuyo código de motivo indique una denegación. Tipo de evento inferred | |||
| Reserva inicial establecida | Marca la creación de la primera transacción de reserva financiera para una exposición, con la que se estima el coste potencial de la reclamación. Es un evento financiero clave que se registra explícitamente. | ||
| Por qué es importante Este hito es fundamental para el análisis financiero y para comprender con qué rapidez se evalúa la posible responsabilidad. Las demoras pueden afectar la planificación y los informes financieros. Dónde obtenerlo Este evento se obtiene de la creación del primer registro cc_reserveline asociado a una exposición de la reclamación. La marca de tiempo del evento es CreateTime de la transacción. Capturar Busque la marca de tiempo de creación más antigua de todas las líneas de reserva de las exposiciones de una reclamación determinada. Tipo de evento explicit | |||
| Decisión sobre responsabilidad tomada | Indica el momento en que se determina la responsabilidad o la culpa respecto de una exposición. Por lo general, este evento se infiere de un cambio de estado en la entidad Exposure. | ||
| Por qué es importante Este hito de decisión es clave y da paso a las fases de liquidación y pago. Analizar cuánto se tarda en tomar la decisión ayuda a detectar cuellos de botella en las etapas de investigación y evaluación. Dónde obtenerlo Se infiere de la tabla cc_history al registrar un cambio en State o en un campo personalizado de estado de responsabilidad de la entidad cc_exposure. La marca de tiempo del registro del historial indica cuándo ocurrió el evento. Capturar Supervise los registros de auditoría o las tablas de historial para detectar cambios en el estado de la exposición o en su estado de responsabilidad. Tipo de evento inferred | |||
| Información adicional recibida | Marca la finalización de una solicitud de información adicional. Se registra cuando la Activity (tarea) correspondiente a la solicitud de información se marca como 'Completada'. | ||
| Por qué es importante Este es el punto final del KPI Tiempo de ciclo de recopilación de información adicional. Los largos intervalos entre la solicitud y la recepción suelen causar demoras en la tramitación de reclamaciones. Dónde obtenerlo Se obtiene de CloseTime de un registro cc_activity cuyo ActivityPattern está relacionado con una solicitud de información. El estado de la actividad debe ser 'Completada'. Capturar Identifique la marca de tiempo de finalización de una tarea para solicitar información externa. Tipo de evento explicit | |||
| Información adicional solicitada | Representa una solicitud de información o documentación adicional enviada al reclamante o a un tercero. Por lo general, se registra como una Activity (tarea) explícita creada en ClaimCenter. | ||
| Por qué es importante Esta actividad marca el inicio de la medición del KPI Tiempo de ciclo de recopilación de información adicional. Si se produce con frecuencia, puede indicar que los procesos FNOL están incompletos o que la recopilación de información es ineficiente. Dónde obtenerlo Se obtiene de CreateTime de un registro cc_activity cuyo ActivityPattern está relacionado con la solicitud de documentación o información a una parte externa. Capturar Identifique la creación de una tarea para solicitar información externa. Tipo de evento explicit | |||
| Investigación iniciada | Indica el inicio formal de la fase de investigación de una reclamación o exposición. A menudo se infiere de la creación de la primera Activity (tarea) relacionada con la investigación en Guidewire. | ||
| Por qué es importante Esta actividad marca el inicio de una fase clave que suele ser larga. Analizar el tiempo que transcurre hasta el inicio de la investigación y la duración de la propia investigación permite detectar cuellos de botella importantes. Dónde obtenerlo Se infiere de CreateTime de un registro cc_activity cuyo ActivityPattern está relacionado con la investigación (por ejemplo, 'Investigación inicial' o 'Contactar a un testigo'). Capturar Identifique la primera creación de una tarea con un patrón o asunto relacionado con la investigación. Tipo de evento inferred | |||
| Liquidación calculada | Esta actividad representa el momento en que se determina el importe de la liquidación, pero aún no se ha aprobado el pago. Puede inferirse de la creación de un pago con estado 'Pendiente de aprobación'. | ||
| Por qué es importante Marca la transición de la evaluación al pago. Es el punto de partida para medir el KPI Tiempo de autorización del pago y detectar demoras en la cadena de aprobación. Dónde obtenerlo Se infiere de CreateTime de un registro cc_check o cc_transaction cuyo estado inicial es 'Pendiente de aprobación' o un estado similar anterior a 'Aprobado'. Capturar Identifique la creación de un registro de pago o transacción con un estado previo a la aprobación. Tipo de evento inferred | |||
| Reclamación asignada | Representa la asignación de una reclamación a una persona usuaria específica (ajustador) o a un grupo para que la gestione. Por lo general, se infiere al supervisar los cambios en los campos de asignación de la entidad Claim. | ||
| Por qué es importante Registrar las asignaciones es fundamental para analizar la carga de trabajo de los ajustadores, detectar cuellos de botella en el enrutamiento y medir el tiempo hasta la primera acción de la persona responsable asignada. Dónde obtenerlo Se infiere de la tabla cc_history al registrar los cambios en los campos AssignedUser o AssignedGroup asociados a un ID de reclamación específico. La marca de tiempo del cambio indica cuándo ocurrió el evento. Capturar Supervise los registros de auditoría o las tablas de historial para detectar cambios en los campos de asignación de reclamaciones. Tipo de evento inferred | |||
| Reclamación reabierta | Representa el cambio de estado de una reclamación de 'Cerrado' a 'Abierto' para realizar tareas adicionales. Este evento se infiere de una secuencia específica de cambios de estado. | ||
| Por qué es importante Esta actividad indica que hubo retrabajo. Un número elevado de reclamaciones reabiertas puede señalar problemas con la liquidación inicial, daños no detectados u otros fallos del proceso, que aumentan los costes y reducen la eficiencia. Dónde obtenerlo Se infiere de la tabla cc_history al detectar que el campo State de la entidad cc_claim cambia de 'Cerrado' a 'Abierto' o a otro estado activo. Capturar Supervise el campo de estado principal de la reclamación para detectar el cambio de un estado cerrado a uno abierto. Tipo de evento inferred | |||
Guías de extracción
Pasos
- Verificación de requisitos previos: Confirme que tiene los permisos y las credenciales necesarios para acceder con privilegios de lectura a la base de datos del Data Mart de Guidewire DataHub / InfoCenter. Compruebe que los procesos ETL que cargan los datos de reclamaciones en el Data Mart se ejecuten correctamente y que los datos estén actualizados.
- Conexión a la base de datos: Use un cliente SQL estándar, como DBeaver o SQL Server Management Studio, para conectarse al servidor de la base de datos del Data Mart.
- Exploración del esquema: Antes de ejecutar la consulta completa, familiarícese con el esquema del Data Mart. Identifique las tablas principales de reclamaciones, exposiciones, actividades y transacciones financieras. Por lo general, las tablas clave llevan sufijos como _dim (dimensión) y _fact (hechos). Esto le ayudará a validar los nombres provisionales de tablas y columnas del script proporcionado.
- Preparación de la consulta SQL: Copie el script SQL completo de la sección de consultas y péguelo en el editor de consultas de su cliente SQL.
- Personalización de los valores provisionales: Revise el script con atención y sustituya todos los valores provisionales. Esto incluye el nombre de la base de datos o el esquema (por ejemplo, [YourDataMart]), los parámetros del intervalo de fechas ('[StartDate]', '[EndDate]') y los valores de configuración específicos del sistema, como los patrones de actividad y los códigos de estado.
- Ejecución de la consulta: Ejecute la consulta SQL modificada en el Data Mart. El tiempo de ejecución puede variar según el intervalo de fechas seleccionado y el volumen de datos del sistema.
- Revisión inicial de los datos: Cuando termine la consulta, revise las primeras centenas de filas del resultado. Compruebe que las columnas ClaimID, ActivityName y EventTime tengan los valores esperados y que aparezcan distintos tipos de actividad.
- Exportación a CSV: Exporte todo el resultado desde su cliente SQL a un archivo CSV. Asígnele un nombre descriptivo, por ejemplo, guidewire_claimcenter_event_log.csv.
- Preparación para ProcessMind: Guarde el archivo CSV con codificación UTF-8. Compruebe que incluya una fila de encabezado con los alias de columna de la consulta SQL. El archivo ya estará listo para cargarlo en ProcessMind.
Configuración
- Fuente de datos: Data Mart de reclamaciones de Guidewire DataHub/InfoCenter. Se trata de una base de datos dimensional con datos agregados, diseñada para informes y análisis, independiente de la base de datos de producción activa de ClaimCenter.
- Autorizaciones necesarias: Acceso de solo lectura a la base de datos SQL que aloja el Data Mart. Necesitará un nombre de usuario, una contraseña y los datos de conexión, como la dirección del servidor y el nombre de la base de datos.
- Estado de los procesos ETL: La precisión de esta extracción depende de que los procesos ETL de Guidewire que cargan el Data Mart se ejecuten correctamente y a tiempo. Compruebe la hora de la última ejecución correcta para saber si los datos están actualizados.
- Filtrado por intervalo de fechas: La consulta incluye cláusulas WHERE con los valores provisionales '[StartDate]' y '[EndDate]'. Se recomienda empezar con un intervalo limitado, por ejemplo, de 3 a 6 meses, para controlar el rendimiento. El filtro de fecha se aplica a CreateTime de la reclamación.
- Valores específicos de la configuración: Guidewire ofrece un alto grado de configuración. Debe ajustar los valores de las cláusulas WHERE para que coincidan con la configuración de su organización. Esto incluye:
- Nombres de ActivityPattern, por ejemplo, 'fnol', 'investigation' y 'Request additional information'
- Códigos de ClaimStatus, ExposureStatus y CloseReason, por ejemplo, 'denied' y 'closed'
- Códigos de TransactionStatus, por ejemplo, 'pendingapproval', 'approved' e 'issued'
- Rendimiento: Consultar tablas extensas de historial o auditoría puede consumir muchos recursos. Si el conjunto de datos es muy grande, se recomienda ejecutar la consulta fuera de las horas de mayor actividad. Compruebe que las columnas ClaimID o ClaimNumber estén indexadas en las tablas pertinentes.
Consulta de ejemplo sql
-- This query extracts a process mining event log for claims processing from a Guidewire DataHub/InfoCenter Data Mart.
-- Replace placeholders: [YourDataMart], [StartDate], [EndDate], and any configuration-specific string literals.
WITH ClaimHistory AS (
-- Pre-process claim history to identify status changes, especially for Reopened events.
SELECT
ClaimID,
Status,
UpdateTime,
LAG(Status, 1) OVER (PARTITION BY ClaimID ORDER BY UpdateTime) AS PreviousStatus
FROM [YourDataMart].[dbo].[ClaimHistory_dim] -- Placeholder for claim history/audit table
),
BaseClaims AS (
-- Select the set of claims to be analyzed based on a date range.
SELECT
c.ClaimID AS ClaimPublicID, -- Using PublicID as it's often the user-facing ID
c.ClaimNumber AS ClaimID,
c.AssignedAdjusterName AS AssignedAdjuster,
c.PolicyType AS ClaimType,
c.ClaimStatus AS ClaimStatus,
c.LossCause AS LossCause,
c.CreateTime
FROM [YourDataMart].[dbo].[Claim_dim] c
WHERE c.CreateTime >= '[StartDate]' AND c.CreateTime < '[EndDate]'
)
-- 1. Claim Created
SELECT
bc.ClaimID AS ClaimID,
'Claim Created' AS ActivityName,
bc.CreateTime AS EventTime,
bc.AssignedAdjuster,
bc.ClaimType,
bc.ClaimStatus,
bc.LossCause
FROM BaseClaims bc
UNION ALL
-- 2. Claim Assigned
-- This captures the first assignment event from the history table.
SELECT
bc.ClaimID,
'Claim Assigned' AS ActivityName,
MIN(ch.UpdateTime) AS EventTime,
bc.AssignedAdjuster,
bc.ClaimType,
bc.ClaimStatus,
bc.LossCause
FROM BaseClaims bc
JOIN [YourDataMart].[dbo].[ClaimHistory_dim] ch ON bc.ClaimPublicID = ch.ClaimID
WHERE ch.EventType = 'Assignment' -- Assumes an EventType column exists to identify assignment changes
GROUP BY bc.ClaimID, bc.AssignedAdjuster, bc.ClaimType, bc.ClaimStatus, bc.LossCause
UNION ALL
-- 3. Exposure Created
SELECT
bc.ClaimID,
'Exposure Created' AS ActivityName,
e.CreateTime AS EventTime,
bc.AssignedAdjuster,
bc.ClaimType,
bc.ClaimStatus,
bc.LossCause
FROM BaseClaims bc
JOIN [YourDataMart].[dbo].[Exposure_dim] e ON bc.ClaimPublicID = e.ClaimID
UNION ALL
-- 4. Initial Reserve Set
-- Finds the very first reserve transaction for any exposure on the claim.
SELECT
x.ClaimID,
'Initial Reserve Set' AS ActivityName,
x.EventTime,
x.AssignedAdjuster,
x.ClaimType,
x.ClaimStatus,
x.LossCause
FROM (
SELECT
bc.ClaimID,
t.CreateTime AS EventTime,
bc.AssignedAdjuster,
bc.ClaimType,
bc.ClaimStatus,
bc.LossCause,
ROW_NUMBER() OVER(PARTITION BY bc.ClaimID ORDER BY t.CreateTime) as rn
FROM BaseClaims bc
JOIN [YourDataMart].[dbo].[Transaction_fact] t ON bc.ClaimPublicID = t.ClaimID
WHERE t.TransactionType = 'Reserve'
) x
WHERE x.rn = 1
UNION ALL
-- 5. Investigation Started
-- Finds the creation of the first investigation-related activity.
SELECT
x.ClaimID,
'Investigation Started' AS ActivityName,
x.EventTime,
x.AssignedAdjuster,
x.ClaimType,
x.ClaimStatus,
x.LossCause
FROM (
SELECT
bc.ClaimID,
a.CreateTime AS EventTime,
bc.AssignedAdjuster,
bc.ClaimType,
bc.ClaimStatus,
bc.LossCause,
ROW_NUMBER() OVER(PARTITION BY bc.ClaimID ORDER BY a.CreateTime) as rn
FROM BaseClaims bc
JOIN [YourDataMart].[dbo].[Activity_dim] a ON bc.ClaimPublicID = a.ClaimID
WHERE a.ActivityPatternName LIKE '%Investigation%'
) x
WHERE x.rn = 1
UNION ALL
-- 6. Additional Info Requested
SELECT
bc.ClaimID,
'Additional Info Requested' AS ActivityName,
a.CreateTime AS EventTime,
bc.AssignedAdjuster,
bc.ClaimType,
bc.ClaimStatus,
bc.LossCause
FROM BaseClaims bc
JOIN [YourDataMart].[dbo].[Activity_dim] a ON bc.ClaimPublicID = a.ClaimID
WHERE a.ActivityPatternName LIKE '%Request%Information%'
UNION ALL
-- 7. Additional Info Received
SELECT
bc.ClaimID,
'Additional Info Received' AS ActivityName,
a.CompletionTime AS EventTime,
bc.AssignedAdjuster,
bc.ClaimType,
bc.ClaimStatus,
bc.LossCause
FROM BaseClaims bc
JOIN [YourDataMart].[dbo].[Activity_dim] a ON bc.ClaimPublicID = a.ClaimID
WHERE a.ActivityPatternName LIKE '%Request%Information%' AND a.CompletionTime IS NOT NULL
UNION ALL
-- 8. Liability Decision Made
-- Captures when an exposure's liability decision is first set.
SELECT
x.ClaimID,
'Liability Decision Made' AS ActivityName,
x.EventTime,
x.AssignedAdjuster,
x.ClaimType,
x.ClaimStatus,
x.LossCause
FROM (
SELECT
bc.ClaimID,
eh.UpdateTime AS EventTime,
bc.AssignedAdjuster,
bc.ClaimType,
bc.ClaimStatus,
bc.LossCause,
ROW_NUMBER() OVER(PARTITION BY bc.ClaimID ORDER BY eh.UpdateTime) as rn
FROM BaseClaims bc
JOIN [YourDataMart].[dbo].[ExposureHistory_dim] eh ON bc.ClaimPublicID = eh.ClaimID
WHERE eh.LiabilityDecision IS NOT NULL AND eh.PreviousLiabilityDecision IS NULL -- Captures the first time it was set
) x
WHERE x.rn = 1
UNION ALL
-- 9. Settlement Calculated
-- Captures the creation of a payment transaction that is pending approval.
SELECT
bc.ClaimID,
'Settlement Calculated' AS ActivityName,
t.CreateTime AS EventTime,
bc.AssignedAdjuster,
bc.ClaimType,
bc.ClaimStatus,
bc.LossCause
FROM BaseClaims bc
JOIN [YourDataMart].[dbo].[Transaction_fact] t ON bc.ClaimPublicID = t.ClaimID
WHERE t.TransactionType = 'Payment' AND t.TransactionStatus = 'PendingApproval'
UNION ALL
-- 10. Payment Approved
SELECT
bc.ClaimID,
'Payment Approved' AS ActivityName,
t.ApprovalDate AS EventTime,
bc.AssignedAdjuster,
bc.ClaimType,
bc.ClaimStatus,
bc.LossCause
FROM BaseClaims bc
JOIN [YourDataMart].[dbo].[Transaction_fact] t ON bc.ClaimPublicID = t.ClaimID
WHERE t.TransactionType = 'Payment' AND t.ApprovalDate IS NOT NULL AND t.TransactionStatus = 'Approved'
UNION ALL
-- 11. Payment Issued
SELECT
bc.ClaimID,
'Payment Issued' AS ActivityName,
t.IssueDate AS EventTime,
bc.AssignedAdjuster,
bc.ClaimType,
bc.ClaimStatus,
bc.LossCause
FROM BaseClaims bc
JOIN [YourDataMart].[dbo].[Transaction_fact] t ON bc.ClaimPublicID = t.ClaimID
WHERE t.TransactionType = 'Payment' AND t.IssueDate IS NOT NULL AND t.TransactionStatus = 'Issued'
UNION ALL
-- 12. Claim Denied
SELECT
bc.ClaimID,
'Claim Denied' AS ActivityName,
ch.UpdateTime AS EventTime,
bc.AssignedAdjuster,
bc.ClaimType,
'Denied' AS ClaimStatus, -- Overriding status for clarity
bc.LossCause
FROM BaseClaims bc
JOIN ClaimHistory ch ON bc.ClaimPublicID = ch.ClaimID
WHERE ch.Status = 'Closed' AND ch.PreviousStatus <> 'Closed'
AND EXISTS (SELECT 1 FROM [YourDataMart].[dbo].[Claim_dim] c2 WHERE c2.ClaimID = bc.ClaimPublicID AND c2.CloseReason = 'Denied')
UNION ALL
-- 13. Claim Closed
SELECT
bc.ClaimID,
'Claim Closed' AS ActivityName,
ch.UpdateTime AS EventTime,
bc.AssignedAdjuster,
bc.ClaimType,
'Closed' AS ClaimStatus, -- Overriding status for clarity
bc.LossCause
FROM BaseClaims bc
JOIN ClaimHistory ch ON bc.ClaimPublicID = ch.ClaimID
WHERE ch.Status = 'Closed' AND ch.PreviousStatus <> 'Closed'
AND NOT EXISTS (SELECT 1 FROM [YourDataMart].[dbo].[Claim_dim] c2 WHERE c2.ClaimID = bc.ClaimPublicID AND c2.CloseReason = 'Denied')
UNION ALL
-- 14. Claim Reopened
SELECT
bc.ClaimID,
'Claim Reopened' AS ActivityName,
ch.UpdateTime AS EventTime,
bc.AssignedAdjuster,
bc.ClaimType,
'Open' AS ClaimStatus, -- Overriding status for clarity
bc.LossCause
FROM BaseClaims bc
JOIN ClaimHistory ch ON bc.ClaimPublicID = ch.ClaimID
WHERE ch.PreviousStatus = 'Closed' AND ch.Status <> 'Closed'; Pasos
- Confirme que su organización tenga un recurso compartido de datos Snowflake activo de Guidewire Cloud Data Access (CDA) para el entorno de ClaimCenter. Solicite al administrador de Guidewire Cloud el identificador de la cuenta de Snowflake, la base de datos, el esquema, el warehouse, el rol, el método de autenticación y la configuración de red autorizada.
- Confirme los objetos y las columnas exactos de CDA disponibles en el recurso compartido. Los esquemas y nombres de columna de CDA pueden variar según el inquilino, la versión, la configuración y el modelo de intercambio de datos. Sustituya cada objeto o columna entre corchetes de la consulta por el elemento correspondiente de su entorno. No dé por sentado que los nombres de las entidades operativas de ClaimCenter se exponen sin cambios en Snowflake.
- Identifique las fuentes de creación de reclamaciones, historial de asignaciones, creación de exposiciones, transacciones de reservas, actividades, historial de estados de exposición, historial de estados de pago e historial de estados de reclamación. Si el recurso compartido no incluye tablas de historial ni registros de auditoría, configure una fuente aprobada que conserve el valor anterior, el nuevo valor, la marca de tiempo del evento y la persona responsable de cada cambio de estado necesario.
- Conéctese al recurso compartido de CDA en Snowflake mediante un cliente, una hoja de trabajo, un notebook o una herramienta de ejecución SQL autorizados. Siempre que sea posible, use un rol de solo lectura. En la consulta, indique las marcas de tiempo inicial y final del análisis mediante [Start timestamp] y [End timestamp], y aplique el filtro aprobado de empresa o unidad de negocio mediante [Company filter].
- Sustituya los valores provisionales de las fuentes de datos de la consulta por nombres de objetos y columnas de CDA verificados. La consulta crea explícitamente filas para las 14 actividades necesarias: Claim Created, Claim Assigned, Exposure Created, Initial Reserve Set, Investigation Started, Additional Info Requested, Additional Info Received, Liability Decision Made, Settlement Calculated, Payment Approved, Payment Issued, Claim Denied, Claim Closed y Claim Reopened.
- Ejecute la consulta y revise el esquema del resultado. La salida debe incluir ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus y LossCause. ProcessMind requiere ClaimID, ActivityName y EventTime. Mantenga una fila por evento y no agregue los eventos por reclamación.
- Valide las marcas de tiempo, los cambios de estado y de asignación, la gestión de duplicados y el recuento de actividades antes de exportar. Compruebe que las marcas de tiempo de los eventos usen una zona horaria uniforme y que los eventos distintos con la misma marca de tiempo permanezcan en filas separadas.
- Exporte el resultado como CSV con codificación UTF-8 o en otro formato tabular compatible con ProcessMind. Asigne ClaimID al identificador del caso, ActivityName a la actividad y EventTime a la marca de tiempo del evento. Mantenga los atributos recomendados como atributos adicionales del evento y cargue el archivo en ProcessMind sin añadir actividades inferidas que no formen parte de esta extracción.
Configuración
- Conexión y autorización: Use el recurso compartido de datos Snowflake proporcionado por Guidewire mediante una cuenta, un rol, un warehouse y una ruta de red de Snowflake autorizados. Desde la perspectiva de quien consume los datos, CDA es de solo lectura. El acceso necesario depende de la configuración de su inquilino y puede incluir permisos para consultar la base de datos compartida y los esquemas o vistas específicos.
- Configuración de los objetos de origen: Sustituya todas las referencias entre corchetes por objetos verificados en su recurso compartido de CDA. La consulta no presupone nombres universales de tablas o columnas de ClaimCenter, ya que las estructuras expuestas en CDA varían según la versión y el inquilino.
- Intervalo de fechas: Empiece con un periodo de tres a seis meses para validar los datos y realizar el análisis operativo. Amplíelo solo después de confirmar la capacidad del warehouse, la retención del historial de eventos y un tiempo de consulta aceptable. Filtre los registros de origen por la marca de tiempo del evento pertinente, no solo por la fecha de creación de la reclamación, para no excluir actividades posteriores.
- Salida obligatoria: ClaimID, ActivityName y EventTime deben estar presentes y no ser nulos en cada fila de evento. ActivityName debe usar exactamente las etiquetas previstas en el modelo de proceso de ProcessMind.
- Salida recomendada: Incluya AssignedAdjuster, ClaimType, ClaimStatus y LossCause. Si están disponibles, puede tomar estos valores de la instantánea correspondiente al momento del evento. Si solo se exponen los valores actuales, documente esta limitación, ya que los atributos históricos podrían no reflejar el valor que tenían cuando ocurrió el evento.
- Filtros: Aplique [Company filter] solo después de confirmar cuál es la columna específica del inquilino que corresponde a la empresa, organización, unidad de negocio o entidad jurídica. No filtre por tipo de documento, salvo que la configuración de ClaimCenter exponga un campo de tipo de documento verificado y pertinente para las actividades solicitadas.
- Historial de eventos: Para identificar cambios de asignación, investigaciones, solicitudes de información, decisiones de responsabilidad, estados de pago y reaperturas de reclamaciones, se necesitan datos históricos o de auditoría. Las tablas que solo reflejan el estado actual no permiten reconstruir de forma fiable los eventos anteriores.
- Eliminación de duplicados: Use un identificador de evento de origen verificado, si está disponible. La consulta usa ROW_NUMBER únicamente como medida de protección configurable. No elimine duplicados basándose solo en ClaimID y la marca de tiempo, ya que pueden producirse actividades distintas legítimamente al mismo tiempo.
- Rendimiento: Limite el intervalo de fechas, seleccione solo las columnas necesarias, filtre cada fuente por la marca de tiempo de su evento y use un warehouse de Snowflake con capacidad adecuada. Para volúmenes grandes, considere materializar una vista de eventos validada o realizar una extracción incremental.
- Zona horaria: Normalice EventTime a una única zona horaria documentada. Antes de cargar el Registro de eventos, confirme si las marcas de tiempo de CDA están almacenadas en UTC, en hora local o en alguna de las variantes de marca de tiempo de Snowflake.
- Requisitos previos: Confirme que el recurso compartido incluya los datos necesarios de ClaimCenter sobre finanzas, actividades, asignaciones, exposiciones, pagos e historial de estados, y que las políticas de retención conserven los cambios históricos requeridos.
Consulta de ejemplo sql
WITH
params AS (
SELECT
TO_TIMESTAMP_TZ('[Start timestamp]') AS start_ts,
TO_TIMESTAMP_TZ('[End timestamp]') AS end_ts
),
claim_created AS (
SELECT
CAST(c.[Claim ID column] AS VARCHAR) AS ClaimID,
'Claim Created' AS ActivityName,
CAST(c.[Claim created timestamp column] AS TIMESTAMP_TZ) AS EventTime,
CAST(c.[Assigned adjuster column] AS VARCHAR) AS AssignedAdjuster,
CAST(c.[Claim type column] AS VARCHAR) AS ClaimType,
CAST(c.[Claim status column] AS VARCHAR) AS ClaimStatus,
CAST(c.[Loss cause column] AS VARCHAR) AS LossCause,
CAST(c.[Claim event identifier column] AS VARCHAR) AS SourceEventID
FROM [Your claim source object] c
CROSS JOIN params p
WHERE c.[Claim created timestamp column] >= p.start_ts
AND c.[Claim created timestamp column] < p.end_ts
AND [Company filter]
),
claim_assigned AS (
SELECT
CAST(h.[Claim ID column] AS VARCHAR) AS ClaimID,
'Claim Assigned' AS ActivityName,
CAST(h.[Assignment event timestamp column] AS TIMESTAMP_TZ) AS EventTime,
CAST(h.[New assigned adjuster column] AS VARCHAR) AS AssignedAdjuster,
CAST(h.[Claim type column] AS VARCHAR) AS ClaimType,
CAST(h.[Claim status column] AS VARCHAR) AS ClaimStatus,
CAST(h.[Loss cause column] AS VARCHAR) AS LossCause,
CAST(h.[Assignment event identifier column] AS VARCHAR) AS SourceEventID
FROM [Your claim assignment history object] h
CROSS JOIN params p
WHERE h.[Assignment event timestamp column] >= p.start_ts
AND h.[Assignment event timestamp column] < p.end_ts
AND h.[New assigned adjuster column] IS DISTINCT FROM h.[Previous assigned adjuster column]
AND [Company filter]
),
exposure_created AS (
SELECT
CAST(e.[Claim ID column] AS VARCHAR) AS ClaimID,
'Exposure Created' AS ActivityName,
CAST(e.[Exposure created timestamp column] AS TIMESTAMP_TZ) AS EventTime,
CAST(e.[Assigned adjuster column] AS VARCHAR) AS AssignedAdjuster,
CAST(e.[Claim type column] AS VARCHAR) AS ClaimType,
CAST(e.[Claim status column] AS VARCHAR) AS ClaimStatus,
CAST(e.[Loss cause column] AS VARCHAR) AS LossCause,
CAST(e.[Exposure event identifier column] AS VARCHAR) AS SourceEventID
FROM [Your exposure source object] e
CROSS JOIN params p
WHERE e.[Exposure created timestamp column] >= p.start_ts
AND e.[Exposure created timestamp column] < p.end_ts
AND [Company filter]
),
initial_reserve_set AS (
SELECT
CAST(r.[Claim ID column] AS VARCHAR) AS ClaimID,
'Initial Reserve Set' AS ActivityName,
CAST(r.[Reserve transaction timestamp column] AS TIMESTAMP_TZ) AS EventTime,
CAST(r.[Assigned adjuster column] AS VARCHAR) AS AssignedAdjuster,
CAST(r.[Claim type column] AS VARCHAR) AS ClaimType,
CAST(r.[Claim status column] AS VARCHAR) AS ClaimStatus,
CAST(r.[Loss cause column] AS VARCHAR) AS LossCause,
CAST(r.[Reserve transaction identifier column] AS VARCHAR) AS SourceEventID
FROM [Your reserve transaction source object] r
CROSS JOIN params p
WHERE r.[Reserve transaction timestamp column] >= p.start_ts
AND r.[Reserve transaction timestamp column] < p.end_ts
AND r.[Reserve transaction sequence or first reserve indicator column] = [Value identifying first reserve]
AND [Company filter]
),
investigation_started AS (
SELECT
CAST(a.[Claim ID column] AS VARCHAR) AS ClaimID,
'Investigation Started' AS ActivityName,
CAST(a.[Activity created timestamp column] AS TIMESTAMP_TZ) AS EventTime,
CAST(a.[Activity assigned user column] AS VARCHAR) AS AssignedAdjuster,
CAST(a.[Claim type column] AS VARCHAR) AS ClaimType,
CAST(a.[Claim status column] AS VARCHAR) AS ClaimStatus,
CAST(a.[Loss cause column] AS VARCHAR) AS LossCause,
CAST(a.[Activity identifier column] AS VARCHAR) AS SourceEventID
FROM [Your activity source object] a
CROSS JOIN params p
WHERE a.[Activity created timestamp column] >= p.start_ts
AND a.[Activity created timestamp column] < p.end_ts
AND a.[Activity category or type column] = '[Configured investigation activity value]'
AND [Company filter]
),
additional_info_requested AS (
SELECT
CAST(a.[Claim ID column] AS VARCHAR) AS ClaimID,
'Additional Info Requested' AS ActivityName,
CAST(a.[Activity created timestamp column] AS TIMESTAMP_TZ) AS EventTime,
CAST(a.[Activity assigned user column] AS VARCHAR) AS AssignedAdjuster,
CAST(a.[Claim type column] AS VARCHAR) AS ClaimType,
CAST(a.[Claim status column] AS VARCHAR) AS ClaimStatus,
CAST(a.[Loss cause column] AS VARCHAR) AS LossCause,
CAST(a.[Activity identifier column] AS VARCHAR) AS SourceEventID
FROM [Your activity source object] a
CROSS JOIN params p
WHERE a.[Activity created timestamp column] >= p.start_ts
AND a.[Activity created timestamp column] < p.end_ts
AND a.[Activity category or type column] = '[Configured additional information request value]'
AND [Company filter]
),
additional_info_received AS (
SELECT
CAST(a.[Claim ID column] AS VARCHAR) AS ClaimID,
'Additional Info Received' AS ActivityName,
CAST(a.[Activity completion timestamp column] AS TIMESTAMP_TZ) AS EventTime,
CAST(a.[Activity assigned user column] AS VARCHAR) AS AssignedAdjuster,
CAST(a.[Claim type column] AS VARCHAR) AS ClaimType,
CAST(a.[Claim status column] AS VARCHAR) AS ClaimStatus,
CAST(a.[Loss cause column] AS VARCHAR) AS LossCause,
CAST(a.[Activity identifier column] AS VARCHAR) AS SourceEventID
FROM [Your activity source object] a
CROSS JOIN params p
WHERE a.[Activity completion timestamp column] >= p.start_ts
AND a.[Activity completion timestamp column] < p.end_ts
AND a.[Activity category or type column] = '[Configured additional information request value]'
AND a.[Activity status column] = '[Configured completed status value]'
AND [Company filter]
),
liability_decision_made AS (
SELECT
CAST(eh.[Claim ID column] AS VARCHAR) AS ClaimID,
'Liability Decision Made' AS ActivityName,
CAST(eh.[Exposure status event timestamp column] AS TIMESTAMP_TZ) AS EventTime,
CAST(eh.[Assigned adjuster column] AS VARCHAR) AS AssignedAdjuster,
CAST(eh.[Claim type column] AS VARCHAR) AS ClaimType,
CAST(eh.[Claim status column] AS VARCHAR) AS ClaimStatus,
CAST(eh.[Loss cause column] AS VARCHAR) AS LossCause,
CAST(eh.[Exposure status event identifier column] AS VARCHAR) AS SourceEventID
FROM [Your exposure status history object] eh
CROSS JOIN params p
WHERE eh.[Exposure status event timestamp column] >= p.start_ts
AND eh.[Exposure status event timestamp column] < p.end_ts
AND eh.[New exposure status column] = '[Configured liability decision status value]'
AND eh.[New exposure status column] IS DISTINCT FROM eh.[Previous exposure status column]
AND [Company filter]
),
settlement_calculated AS (
SELECT
CAST(pay.[Claim ID column] AS VARCHAR) AS ClaimID,
'Settlement Calculated' AS ActivityName,
CAST(pay.[Payment created timestamp column] AS TIMESTAMP_TZ) AS EventTime,
CAST(pay.[Assigned adjuster column] AS VARCHAR) AS AssignedAdjuster,
CAST(pay.[Claim type column] AS VARCHAR) AS ClaimType,
CAST(pay.[Claim status column] AS VARCHAR) AS ClaimStatus,
CAST(pay.[Loss cause column] AS VARCHAR) AS LossCause,
CAST(pay.[Payment identifier column] AS VARCHAR) AS SourceEventID
FROM [Your payment source object] pay
CROSS JOIN params p
WHERE pay.[Payment created timestamp column] >= p.start_ts
AND pay.[Payment created timestamp column] < p.end_ts
AND pay.[Payment status column] = '[Configured pending approval status value]'
AND [Company filter]
),
payment_approved AS (
SELECT
CAST(ph.[Claim ID column] AS VARCHAR) AS ClaimID,
'Payment Approved' AS ActivityName,
CAST(ph.[Payment approval timestamp column] AS TIMESTAMP_TZ) AS EventTime,
CAST(ph.[Approving user column] AS VARCHAR) AS AssignedAdjuster,
CAST(ph.[Claim type column] AS VARCHAR) AS ClaimType,
CAST(ph.[Claim status column] AS VARCHAR) AS ClaimStatus,
CAST(ph.[Loss cause column] AS VARCHAR) AS LossCause,
CAST(ph.[Payment status event identifier column] AS VARCHAR) AS SourceEventID
FROM [Your payment status history object] ph
CROSS JOIN params p
WHERE ph.[Payment approval timestamp column] >= p.start_ts
AND ph.[Payment approval timestamp column] < p.end_ts
AND ph.[New payment status column] = '[Configured approved status value]'
AND ph.[New payment status column] IS DISTINCT FROM ph.[Previous payment status column]
AND [Company filter]
),
payment_issued AS (
SELECT
CAST(ph.[Claim ID column] AS VARCHAR) AS ClaimID,
'Payment Issued' AS ActivityName,
CAST(ph.[Payment issued timestamp column] AS TIMESTAMP_TZ) AS EventTime,
CAST(ph.[Issuing user column] AS VARCHAR) AS AssignedAdjuster,
CAST(ph.[Claim type column] AS VARCHAR) AS ClaimType,
CAST(ph.[Claim status column] AS VARCHAR) AS ClaimStatus,
CAST(ph.[Loss cause column] AS VARCHAR) AS LossCause,
CAST(ph.[Payment status event identifier column] AS VARCHAR) AS SourceEventID
FROM [Your payment status history object] ph
CROSS JOIN params p
WHERE ph.[Payment issued timestamp column] >= p.start_ts
AND ph.[Payment issued timestamp column] < p.end_ts
AND ph.[New payment status column] = '[Configured issued status value]'
AND ph.[New payment status column] IS DISTINCT FROM ph.[Previous payment status column]
AND [Company filter]
),
claim_denied AS (
SELECT
CAST(ch.[Claim ID column] AS VARCHAR) AS ClaimID,
'Claim Denied' AS ActivityName,
CAST(ch.[Claim status event timestamp column] AS TIMESTAMP_TZ) AS EventTime,
CAST(ch.[Assigned adjuster column] AS VARCHAR) AS AssignedAdjuster,
CAST(ch.[Claim type column] AS VARCHAR) AS ClaimType,
CAST(ch.[New claim status column] AS VARCHAR) AS ClaimStatus,
CAST(ch.[Loss cause column] AS VARCHAR) AS LossCause,
CAST(ch.[Claim status event identifier column] AS VARCHAR) AS SourceEventID
FROM [Your claim status history object] ch
CROSS JOIN params p
WHERE ch.[Claim status event timestamp column] >= p.start_ts
AND ch.[Claim status event timestamp column] < p.end_ts
AND ch.[New claim status column] = '[Configured closed status value]'
AND ch.[Claim closure reason column] = '[Configured denied reason value]'
AND ch.[New claim status column] IS DISTINCT FROM ch.[Previous claim status column]
AND [Company filter]
),
claim_closed AS (
SELECT
CAST(ch.[Claim ID column] AS VARCHAR) AS ClaimID,
'Claim Closed' AS ActivityName,
CAST(ch.[Claim status event timestamp column] AS TIMESTAMP_TZ) AS EventTime,
CAST(ch.[Assigned adjuster column] AS VARCHAR) AS AssignedAdjuster,
CAST(ch.[Claim type column] AS VARCHAR) AS ClaimType,
CAST(ch.[New claim status column] AS VARCHAR) AS ClaimStatus,
CAST(ch.[Loss cause column] AS VARCHAR) AS LossCause,
CAST(ch.[Claim status event identifier column] AS VARCHAR) AS SourceEventID
FROM [Your claim status history object] ch
CROSS JOIN params p
WHERE ch.[Claim status event timestamp column] >= p.start_ts
AND ch.[Claim status event timestamp column] < p.end_ts
AND ch.[New claim status column] = '[Configured closed status value]'
AND COALESCE(ch.[Claim closure reason column], '') <> '[Configured denied reason value]'
AND ch.[New claim status column] IS DISTINCT FROM ch.[Previous claim status column]
AND [Company filter]
),
claim_reopened AS (
SELECT
CAST(ch.[Claim ID column] AS VARCHAR) AS ClaimID,
'Claim Reopened' AS ActivityName,
CAST(ch.[Claim status event timestamp column] AS TIMESTAMP_TZ) AS EventTime,
CAST(ch.[Assigned adjuster column] AS VARCHAR) AS AssignedAdjuster,
CAST(ch.[Claim type column] AS VARCHAR) AS ClaimType,
CAST(ch.[New claim status column] AS VARCHAR) AS ClaimStatus,
CAST(ch.[Loss cause column] AS VARCHAR) AS LossCause,
CAST(ch.[Claim status event identifier column] AS VARCHAR) AS SourceEventID
FROM [Your claim status history object] ch
CROSS JOIN params p
WHERE ch.[Claim status event timestamp column] >= p.start_ts
AND ch.[Claim status event timestamp column] < p.end_ts
AND ch.[Previous claim status column] = '[Configured closed status value]'
AND ch.[New claim status column] = '[Configured open status value]'
AND ch.[New claim status column] IS DISTINCT FROM ch.[Previous claim status column]
AND [Company filter]
),
all_events AS (
SELECT * FROM claim_created
UNION ALL SELECT * FROM claim_assigned
UNION ALL SELECT * FROM exposure_created
UNION ALL SELECT * FROM initial_reserve_set
UNION ALL SELECT * FROM investigation_started
UNION ALL SELECT * FROM additional_info_requested
UNION ALL SELECT * FROM additional_info_received
UNION ALL SELECT * FROM liability_decision_made
UNION ALL SELECT * FROM settlement_calculated
UNION ALL SELECT * FROM payment_approved
UNION ALL SELECT * FROM payment_issued
UNION ALL SELECT * FROM claim_denied
UNION ALL SELECT * FROM claim_closed
UNION ALL SELECT * FROM claim_reopened
),
deduplicated_events AS (
SELECT
ClaimID,
ActivityName,
EventTime,
AssignedAdjuster,
ClaimType,
ClaimStatus,
LossCause,
SourceEventID,
ROW_NUMBER() OVER (
PARTITION BY ActivityName, COALESCE(SourceEventID, ClaimID || '|' || TO_VARCHAR(EventTime))
ORDER BY EventTime
) AS duplicate_rank
FROM all_events
WHERE ClaimID IS NOT NULL
AND ActivityName IS NOT NULL
AND EventTime IS NOT NULL
)
SELECT
ClaimID,
ActivityName,
EventTime,
AssignedAdjuster,
ClaimType,
ClaimStatus,
LossCause
FROM deduplicated_events
WHERE duplicate_rank = 1
ORDER BY ClaimID, EventTime, ActivityName; Pasos
- Confirme que está autorizado el acceso directo de lectura a la base de datos operativa local de Guidewire ClaimCenter, que la plataforma de base de datos y la versión del esquema están documentadas y que dispone de una conexión de solo lectura. No consulte la base de datos de producción sin una ventana de extracción aprobada.
- Identifique las tablas físicas y las columnas que usa su implementación de ClaimCenter. Asocie las entidades de reclamaciones, exposiciones, actividades, asignaciones, reservas, pagos, historial de estados y usuarios o grupos con los valores provisionales de la consulta. Como los nombres físicos y las estructuras de auditoría varían según la implementación y la versión, sustituya cada valor provisional solo después de validarlo con el catálogo de la base de datos y el modelo de datos de ClaimCenter.
- Defina el periodo de extracción mediante [Start date parameter] y [End date parameter]. Si los cambios de estado, la finalización de tareas o las transacciones financieras pueden registrarse fuera del periodo principal de creación de reclamaciones, incluya un margen móvil, por ejemplo, uno o dos días antes de la fecha de inicio solicitada.
- Ejecute la instrucción SQL completa con privilegios de solo lectura. Cada actividad se genera como una fila de evento explícita. La consulta no depende de que ProcessMind infiera eventos después de la carga. Los eventos inferidos a partir de cambios en los campos se derivan dentro de la instrucción SQL a partir de los registros de historial o auditoría pertinentes.
- Valide las asociaciones con las fuentes para cada actividad. Confirme que la creación de reclamaciones use el primer registro Claim guardado; las asignaciones, los cambios de asignación; la creación de exposiciones, los registros de creación de exposiciones; la reserva inicial, la primera transacción de reserva por exposición; las investigaciones y solicitudes de información, los registros de actividad; la responsabilidad, el cambio de estado de exposición configurado; el cálculo de la indemnización, un estado de pago pendiente de aprobación; y la aprobación y emisión del pago, los estados de auditoría financiera correspondientes.
- Normalice la salida para que tenga la estructura necesaria del Registro de eventos. ClaimID debe ser el identificador del caso, ActivityName debe contener exactamente uno de los catorce nombres de actividad documentados y EventTime debe ser una marca de tiempo. Conserve los atributos recomendados, incluidos AssignedAdjuster, ClaimType, ClaimStatus y LossCause, cuando estén disponibles en la fuente asociada.
- Revise los eventos duplicados y su orden. Si la fuente contiene varias filas de auditoría para la misma transición de negocio, aplique la clave de eliminación de duplicados específica de la implementación en la expresión de tabla común pertinente. No agrupe eventos de negocio distintos que tengan marcas de tiempo o identificadores de origen diferentes.
- Exporte el resultado como CSV con codificación UTF-8 o en otro formato tabular compatible con ProcessMind. Incluya una fila de encabezado con ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus y LossCause. Asegúrese de que las marcas de tiempo incluyan la zona horaria o de que se use de forma uniforme la zona horaria documentada de la base de datos. Cargue el archivo en ProcessMind y asigne ClaimID al identificador del caso, ActivityName a la actividad y EventTime a la marca de tiempo del evento.
Configuración
- Acceso a la base de datos: Use una cuenta de solo lectura con permiso para consultar las tablas operativas, de historial, de actividades y de transacciones financieras necesarias de ClaimCenter. No conceda permisos de escritura, modificación del esquema ni administración para la extracción.
- Asociación con el esquema: Sustituya [Your claim table], [Your exposure table], [Your activity table], [Your reserve table], [Your payment table], [Your claim history table], [Your exposure history table] y los valores provisionales relacionados por nombres verificados en la implementación de destino. No dé por sentado que el nombre de una entidad lógica de Guidewire coincide con el nombre de la tabla física de la base de datos.
- Intervalo de fechas: Empiece con datos de tres a seis meses. Use [Start date parameter] y [End date parameter] e incluya un margen cuando los eventos puedan registrarse después de la creación de la reclamación o cuando las reclamaciones reabiertas abarquen varios periodos de informes.
- Filtros: Aplique [Company Code filter], [Document Type filter], jurisdicción, línea de negocio u otros filtros específicos de la organización solo después de confirmar sus columnas físicas y su significado empresarial. Evite excluir reclamaciones sin pagos o exposiciones, ya que esos registros son necesarios para analizar todo el ciclo de vida.
- Nombres de actividades: Mantenga exactamente los catorce valores de ActivityName definidos en la consulta para que ProcessMind reciba etiquetas de evento uniformes.
- Semántica de los eventos: Las actividades descritas como inferidas se generan en SQL a partir de cambios de estado, asignación, historial o actividad en los datos de origen. ProcessMind no derivará estos eventos de otras filas después de la carga.
- Rendimiento: Limite el periodo de extracción, seleccione solo las columnas necesarias, filtre las tablas de origen antes de las uniones y compruebe los índices de identificadores de reclamación y exposición, marcas de tiempo de eventos, campos de estado e identificadores de transacción. Cuando sea posible, ejecute las extracciones grandes en una réplica de informes.
- Coherencia: Use un nivel de aislamiento de transacciones adecuado para los informes y establezca un límite de extracción coherente. Evite leer las tablas mientras se confirma parcialmente un lote financiero o una actualización masiva de estados.
- Zonas horarias: Documente la zona horaria de la base de datos y convierta todas las marcas de tiempo de origen a una única zona horaria acordada antes de exportar. No mezcle marcas de tiempo locales de la aplicación con las del servidor de la base de datos.
- Requisitos previos: Confirme que estén disponibles los módulos necesarios de ClaimCenter, los permisos financieros, la retención de datos de auditoría o historial y la conectividad con la base de datos. Si la retención del historial o de auditoría está desactivada, no será posible reconstruir de forma fiable las actividades inferidas correspondientes.
- Configuración de validación: Registre la versión de ClaimCenter, la plataforma de base de datos, la asociación con el esquema, la fecha y hora de extracción, los parámetros de fecha, los filtros y el recuento de filas de cada exportación.
Consulta de ejemplo sql
WITH
claim_created AS (
SELECT
c.[Claim ID column] AS ClaimID,
CAST('Claim Created' AS VARCHAR(100)) AS ActivityName,
c.[Claim Created Timestamp column] AS EventTime,
c.[Assigned Adjuster column] AS AssignedAdjuster,
c.[Claim Type column] AS ClaimType,
c.[Claim Status column] AS ClaimStatus,
c.[Loss Cause column] AS LossCause
FROM [Your claim table] c
WHERE c.[Claim Created Timestamp column] >= [Start date parameter]
AND c.[Claim Created Timestamp column] < [End date parameter]
),
claim_assigned AS (
SELECT
h.[Claim ID column] AS ClaimID,
CAST('Claim Assigned' AS VARCHAR(100)) AS ActivityName,
h.[Assignment Change Timestamp column] AS EventTime,
h.[Assigned Adjuster column] AS AssignedAdjuster,
c.[Claim Type column] AS ClaimType,
h.[Claim Status column] AS ClaimStatus,
c.[Loss Cause column] AS LossCause
FROM [Your claim assignment history table] h
INNER JOIN [Your claim table] c
ON c.[Claim ID column] = h.[Claim ID column]
WHERE h.[Assignment Change Timestamp column] >= [Start date parameter]
AND h.[Assignment Change Timestamp column] < [End date parameter]
AND h.[Assigned Adjuster column] IS NOT NULL
),
exposure_created AS (
SELECT
e.[Claim ID column] AS ClaimID,
CAST('Exposure Created' AS VARCHAR(100)) AS ActivityName,
e.[Exposure Created Timestamp column] AS EventTime,
c.[Assigned Adjuster column] AS AssignedAdjuster,
c.[Claim Type column] AS ClaimType,
c.[Claim Status column] AS ClaimStatus,
c.[Loss Cause column] AS LossCause
FROM [Your exposure table] e
INNER JOIN [Your claim table] c
ON c.[Claim ID column] = e.[Claim ID column]
WHERE e.[Exposure Created Timestamp column] >= [Start date parameter]
AND e.[Exposure Created Timestamp column] < [End date parameter]
),
initial_reserve_set AS (
SELECT
x.ClaimID,
CAST('Initial Reserve Set' AS VARCHAR(100)) AS ActivityName,
x.EventTime,
x.AssignedAdjuster,
x.ClaimType,
x.ClaimStatus,
x.LossCause
FROM (
SELECT
r.[Claim ID column] AS ClaimID,
r.[Reserve Timestamp column] AS EventTime,
c.[Assigned Adjuster column] AS AssignedAdjuster,
c.[Claim Type column] AS ClaimType,
c.[Claim Status column] AS ClaimStatus,
c.[Loss Cause column] AS LossCause,
ROW_NUMBER() OVER (
PARTITION BY r.[Exposure ID column]
ORDER BY r.[Reserve Timestamp column], r.[Reserve Transaction ID column]
) AS reserve_sequence
FROM [Your reserve transaction table] r
INNER JOIN [Your claim table] c
ON c.[Claim ID column] = r.[Claim ID column]
WHERE r.[Reserve Timestamp column] >= [Start date parameter]
AND r.[Reserve Timestamp column] < [End date parameter]
) x
WHERE x.reserve_sequence = 1
),
investigation_started AS (
SELECT
a.[Claim ID column] AS ClaimID,
CAST('Investigation Started' AS VARCHAR(100)) AS ActivityName,
a.[Activity Created Timestamp column] AS EventTime,
a.[Assigned User column] AS AssignedAdjuster,
c.[Claim Type column] AS ClaimType,
c.[Claim Status column] AS ClaimStatus,
c.[Loss Cause column] AS LossCause
FROM [Your activity table] a
INNER JOIN [Your claim table] c
ON c.[Claim ID column] = a.[Claim ID column]
WHERE a.[Activity Created Timestamp column] >= [Start date parameter]
AND a.[Activity Created Timestamp column] < [End date parameter]
AND a.[Activity Type column] IN ([Investigation activity type value])
),
additional_info_requested AS (
SELECT
a.[Claim ID column] AS ClaimID,
CAST('Additional Info Requested' AS VARCHAR(100)) AS ActivityName,
a.[Activity Created Timestamp column] AS EventTime,
a.[Assigned User column] AS AssignedAdjuster,
c.[Claim Type column] AS ClaimType,
c.[Claim Status column] AS ClaimStatus,
c.[Loss Cause column] AS LossCause
FROM [Your activity table] a
INNER JOIN [Your claim table] c
ON c.[Claim ID column] = a.[Claim ID column]
WHERE a.[Activity Created Timestamp column] >= [Start date parameter]
AND a.[Activity Created Timestamp column] < [End date parameter]
AND a.[Activity Type column] IN ([Additional information request activity type value])
),
additional_info_received AS (
SELECT
a.[Claim ID column] AS ClaimID,
CAST('Additional Info Received' AS VARCHAR(100)) AS ActivityName,
a.[Activity Completed Timestamp column] AS EventTime,
a.[Assigned User column] AS AssignedAdjuster,
c.[Claim Type column] AS ClaimType,
c.[Claim Status column] AS ClaimStatus,
c.[Loss Cause column] AS LossCause
FROM [Your activity table] a
INNER JOIN [Your claim table] c
ON c.[Claim ID column] = a.[Claim ID column]
WHERE a.[Activity Completed Timestamp column] >= [Start date parameter]
AND a.[Activity Completed Timestamp column] < [End date parameter]
AND a.[Activity Type column] IN ([Additional information request activity type value])
AND a.[Activity Status column] = [Completed activity status value]
),
liability_decision_made AS (
SELECT
h.[Claim ID column] AS ClaimID,
CAST('Liability Decision Made' AS VARCHAR(100)) AS ActivityName,
h.[Status Change Timestamp column] AS EventTime,
c.[Assigned Adjuster column] AS AssignedAdjuster,
c.[Claim Type column] AS ClaimType,
c.[Claim Status column] AS ClaimStatus,
c.[Loss Cause column] AS LossCause
FROM [Your exposure status history table] h
INNER JOIN [Your claim table] c
ON c.[Claim ID column] = h.[Claim ID column]
WHERE h.[Status Change Timestamp column] >= [Start date parameter]
AND h.[Status Change Timestamp column] < [End date parameter]
AND h.[New Exposure Status column] IN ([Liability decision status value])
),
settlement_calculated AS (
SELECT
p.[Claim ID column] AS ClaimID,
CAST('Settlement Calculated' AS VARCHAR(100)) AS ActivityName,
p.[Payment Status Timestamp column] AS EventTime,
c.[Assigned Adjuster column] AS AssignedAdjuster,
c.[Claim Type column] AS ClaimType,
c.[Claim Status column] AS ClaimStatus,
c.[Loss Cause column] AS LossCause
FROM [Your payment table] p
INNER JOIN [Your claim table] c
ON c.[Claim ID column] = p.[Claim ID column]
WHERE p.[Payment Status Timestamp column] >= [Start date parameter]
AND p.[Payment Status Timestamp column] < [End date parameter]
AND p.[Payment Status column] = [Pending approval payment status value]
),
payment_approved AS (
SELECT
p.[Claim ID column] AS ClaimID,
CAST('Payment Approved' AS VARCHAR(100)) AS ActivityName,
p.[Approval Timestamp column] AS EventTime,
p.[Approved By column] AS AssignedAdjuster,
c.[Claim Type column] AS ClaimType,
c.[Claim Status column] AS ClaimStatus,
c.[Loss Cause column] AS LossCause
FROM [Your payment approval history table] p
INNER JOIN [Your claim table] c
ON c.[Claim ID column] = p.[Claim ID column]
WHERE p.[Approval Timestamp column] >= [Start date parameter]
AND p.[Approval Timestamp column] < [End date parameter]
AND p.[Approval Status column] = [Approved payment status value]
),
payment_issued AS (
SELECT
p.[Claim ID column] AS ClaimID,
CAST('Payment Issued' AS VARCHAR(100)) AS ActivityName,
p.[Issued Timestamp column] AS EventTime,
p.[Approved By column] AS AssignedAdjuster,
c.[Claim Type column] AS ClaimType,
c.[Claim Status column] AS ClaimStatus,
c.[Loss Cause column] AS LossCause
FROM [Your payment issuance table] p
INNER JOIN [Your claim table] c
ON c.[Claim ID column] = p.[Claim ID column]
WHERE p.[Issued Timestamp column] >= [Start date parameter]
AND p.[Issued Timestamp column] < [End date parameter]
AND p.[Payment Status column] = [Issued payment status value]
),
claim_denied AS (
SELECT
h.[Claim ID column] AS ClaimID,
CAST('Claim Denied' AS VARCHAR(100)) AS ActivityName,
h.[Status Change Timestamp column] AS EventTime,
c.[Assigned Adjuster column] AS AssignedAdjuster,
c.[Claim Type column] AS ClaimType,
h.[New Claim Status column] AS ClaimStatus,
c.[Loss Cause column] AS LossCause
FROM [Your claim status history table] h
INNER JOIN [Your claim table] c
ON c.[Claim ID column] = h.[Claim ID column]
WHERE h.[Status Change Timestamp column] >= [Start date parameter]
AND h.[Status Change Timestamp column] < [End date parameter]
AND h.[New Claim Status column] = [Closed claim status value]
AND h.[Status Reason column] = [Denied status reason value]
),
claim_closed AS (
SELECT
h.[Claim ID column] AS ClaimID,
CAST('Claim Closed' AS VARCHAR(100)) AS ActivityName,
h.[Status Change Timestamp column] AS EventTime,
c.[Assigned Adjuster column] AS AssignedAdjuster,
c.[Claim Type column] AS ClaimType,
h.[New Claim Status column] AS ClaimStatus,
c.[Loss Cause column] AS LossCause
FROM [Your claim status history table] h
INNER JOIN [Your claim table] c
ON c.[Claim ID column] = h.[Claim ID column]
WHERE h.[Status Change Timestamp column] >= [Start date parameter]
AND h.[Status Change Timestamp column] < [End date parameter]
AND h.[New Claim Status column] = [Closed claim status value]
AND h.[Status Reason column] <> [Denied status reason value]
),
claim_reopened AS (
SELECT
h.[Claim ID column] AS ClaimID,
CAST('Claim Reopened' AS VARCHAR(100)) AS ActivityName,
h.[Status Change Timestamp column] AS EventTime,
c.[Assigned Adjuster column] AS AssignedAdjuster,
c.[Claim Type column] AS ClaimType,
h.[New Claim Status column] AS ClaimStatus,
c.[Loss Cause column] AS LossCause
FROM [Your claim status history table] h
INNER JOIN [Your claim status history table] previous_h
ON previous_h.[Claim ID column] = h.[Claim ID column]
AND previous_h.[Status Change Timestamp column] = (
SELECT MAX(prior_h.[Status Change Timestamp column])
FROM [Your claim status history table] prior_h
WHERE prior_h.[Claim ID column] = h.[Claim ID column]
AND prior_h.[Status Change Timestamp column] < h.[Status Change Timestamp column]
)
INNER JOIN [Your claim table] c
ON c.[Claim ID column] = h.[Claim ID column]
WHERE h.[Status Change Timestamp column] >= [Start date parameter]
AND h.[Status Change Timestamp column] < [End date parameter]
AND previous_h.[New Claim Status column] = [Closed claim status value]
AND h.[New Claim Status column] = [Open claim status value]
)
SELECT ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus, LossCause FROM claim_created
UNION ALL
SELECT ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus, LossCause FROM claim_assigned
UNION ALL
SELECT ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus, LossCause FROM exposure_created
UNION ALL
SELECT ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus, LossCause FROM initial_reserve_set
UNION ALL
SELECT ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus, LossCause FROM investigation_started
UNION ALL
SELECT ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus, LossCause FROM additional_info_requested
UNION ALL
SELECT ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus, LossCause FROM additional_info_received
UNION ALL
SELECT ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus, LossCause FROM liability_decision_made
UNION ALL
SELECT ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus, LossCause FROM settlement_calculated
UNION ALL
SELECT ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus, LossCause FROM payment_approved
UNION ALL
SELECT ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus, LossCause FROM payment_issued
UNION ALL
SELECT ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus, LossCause FROM claim_denied
UNION ALL
SELECT ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus, LossCause FROM claim_closed
UNION ALL
SELECT ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus, LossCause FROM claim_reopened
ORDER BY ClaimID, EventTime, ActivityName; ¿Todo listo para empezar?
Use este Template para preparar los datos para el análisis y obtener información sobre la gestión de reclamaciones. Empiece hoy mismo a optimizar sus flujos de trabajo.
Agilice la gestión de reclamaciones y resuelva los casos más rápido
Elimine los casos pendientes, prevenga el fraude y aspire a procesar el 70 % de las reclamaciones de principio a fin sin intervención manual.
No se requiere tarjeta de crédito. La configuración solo toma unos minutos.