Jouw datatemplate voor claimverwerking
Jouw datatemplate voor claimverwerking
- Aanbevolen attributen om te verzamelen
- Belangrijke activiteiten om te volgen
- Extractie-instructies voor Guidewire ClaimCenter
Attributen voor claimsverwerking
| Naam | Beschrijving | ||
|---|---|---|---|
| Naam van activiteit ActivityName | De naam van de bedrijfsactiviteit of het event dat op een bepaald moment in de levenscyclus van de claim plaatsvond. | ||
| Beschrijving Dit attribuut beschrijft een specifieke stap of mijlpaal in het claimproces, zoals 'Claim Created', 'Investigation Started' of 'Payment Issued'. De volgorde van deze activiteiten voor een bepaalde Claim ID vormt de procesflow. Het analyseren van de volgorde, frequentie en tijd tussen activiteiten vormt de kern van process mining. Zo ontdek je procesmodellen, vind je knelpunten, detecteer je herstelrondes en analyseer je procesafwijkingen. Waarom dit belangrijk is Het definieert de processtappen, zodat je proceskaarten kunt visualiseren en de procesflow en knelpunten kunt analyseren. Waar je het vindt Dit wordt meestal afgeleid uit eventtabellen of auditlogs in ClaimCenter, vaak door specifieke systeemevents of statuswijzigingen aan gestandaardiseerde activiteitnamen te koppelen. Voorbeelden Claim aangemaaktAansprakelijkheidsbesluit genomenBetaling uitgegevenClaim gesloten | |||
| Schadedossier-ID ClaimID | De unieke identificatie voor elke verzekeringsclaim, die als primaire case-identificatie dient. | ||
| Beschrijving De Claim ID vormt de basis van de analyse van het claimproces en identificeert elke case uniek, van indiening tot afsluiting. De ID koppelt alle bijbehorende activiteiten, documenten, betalingen en communicatie. Zo krijg je een volledig en samenhangend beeld van de levenscyclus van een claim. Bij process mining is elk event in de dataset gekoppeld aan een Claim ID. Daarmee kun je de end-to-end-procesflow reconstrueren. Dat is nodig om doorlooptijden te analyseren, procesvarianten te vinden en de route van een claim door verschillende afdelingen en langs verschillende schadebehandelaars te volgen. Waarom dit belangrijk is Dit is de fundamentele sleutel die alle gerelateerde events koppelt. Zo kun je de volledige route van één claim volgen en analyseren. Waar je het vindt Dit is een primary key in Guidewire ClaimCenter, meestal te vinden als Claim.ClaimNumber of een vergelijkbaar veld in de centrale Claim-entiteit. Voorbeelden 000-123-45678000-987-65432001-456-11223 | |||
| Tijdstip van event EventTime | De exacte datum en tijd waarop de activiteit plaatsvond. | ||
| Beschrijving Deze timestamp markeert het exacte moment waarop een activiteit in het systeem is vastgelegd. Hij is de basis voor alle tijdgebaseerde procesanalyses. Door EventTime voor één Claim ID chronologisch te ordenen, kun je de procesflow reconstrueren. Het tijdsverschil tussen opeenvolgende events wordt gebruikt om doorlooptijden, wachttijden en verwerkingstijden te berekenen. Die zijn belangrijk voor prestatieanalyse, het vinden van knelpunten en SLA-monitoring. Waarom dit belangrijk is Deze timestamp is nodig om events te ordenen, doorlooptijden en tijdsduur te berekenen en vertragingen in het proces te vinden. Waar je het vindt Te vinden naast event- of activiteitsdata in de historie- of audittabellen van Guidewire ClaimCenter, vaak in een veld als 'CreateTime' of 'UpdateTime'. Voorbeelden 2023-05-15T09:00:00Z2023-05-16T14:30:15Z2023-06-01T11:20:00Z | |||
| Claimstatus ClaimStatus | De algemene status van de claim op het moment van de gebeurtenis, bijvoorbeeld Open, Closed of Denied. | ||
| Beschrijving Dit attribuut geeft de algemene status van de claim weer. Belangrijke statussen zijn 'Open', 'Closed', 'Denied' en 'Reopened'. De eindstatus van een claim is een belangrijke resultaatmaatstaf. Door wijzigingen in Claim Status bij te houden, kun je belangrijke procesmijlpalen en resultaten bepalen. Je gebruikt dit om de uiteindelijke afhandeling van een claim vast te stellen, afwijzingspercentages te berekenen en te analyseren hoe vaak claims na sluiting opnieuw worden geopend. Dat wijst vaak op procesproblemen of ontevredenheid bij klanten. Waarom dit belangrijk is Geeft het resultaat van een claim aan. Dit is belangrijk voor het analyseren van afwijzingspercentages, sluitingspatronen en hoe vaak claims opnieuw worden geopend. Waar je het vindt Dit is een kernveld in de Claim-entiteit, meestal met de naam 'State' of 'Status'. Voorbeelden OpenGeslotenAfgewezenHeropend | |||
| Claimtype ClaimType | De categorie van de verzekeringsclaim, zoals Auto, Property of Liability. | ||
| Beschrijving Claim Type is een basisindeling van een claim op basis van de bedrijfstak of de aard van de schade. Verschillende claimtypen volgen vaak een ander proces, hebben een verschillende complexiteit en vallen onder andere regelgeving. Door de procesanalyse op te splitsen naar Claim Type krijg je bruikbare inzichten. Je kunt procesprestaties tussen bedrijfstakken vergelijken, knelpunten per type vinden en verbeterinitiatieven afstemmen op de kenmerken van elke claimcategorie. Waarom dit belangrijk is Maakt het mogelijk claims te segmenteren, omdat verschillende typen, zoals Auto en Property, vaak een ander proces en andere prestatiedoelen hebben. Waar je het vindt Afgeleid van de Policy- of Claim-entiteit in ClaimCenter, vaak op basis van de Line of Business-code (LOB). Voorbeelden PersonenautoBedrijfseigendommenAlgemene aansprakelijkheidArbeidsongeschiktheid | |||
| Oorzaak van de schade LossCause | De specifieke reden of oorzaak van het schadegeval, bijvoorbeeld Collision, Fire of Water Damage. | ||
| Beschrijving Dit attribuut geeft gedetailleerde context over de reden waarom de claim is ingediend. De oorzaak van de schade bepaalt vaak welke onderzoeksstappen nodig zijn, welke experts je nodig hebt en hoe complex de claim is. Door het proces per Cause of Loss te analyseren, kunnen verborgen patronen zichtbaar worden. Claims met 'Water Damage' kunnen bijvoorbeeld vaker herstelwerk vereisen of vaker specialistische hulp nodig hebben dan claims met 'Theft'. Met deze inzichten kun je meer gespecialiseerde en efficiënte afhandelingsprocedures opstellen. Waarom dit belangrijk is Geeft context over de aard van de claim, zodat je kunt analyseren hoe verschillende schadeoorzaken het procesverloop en de doorlooptijd beïnvloeden. Waar je het vindt Dit is een standaardveld in de Claim-entiteit, meestal met de naam 'LossCause'. Voorbeelden AanrijdingBrandWaterschadeDiefstal | |||
| Toegewezen schadebehandelaar AssignedAdjuster | De naam of ID van de gebruiker die is toegewezen om de claim of een specifieke activiteit af te handelen. | ||
| Beschrijving Dit attribuut identificeert de schadebehandelaar die op een bepaald moment verantwoordelijk is voor een claim. Een schadebehandelaar kan aan de volledige claim of aan specifieke taken daarbinnen worden toegewezen. Analyse op basis van de toegewezen schadebehandelaar is belangrijk voor een evenwichtige werkverdeling, prestatiebeheer en het vinden van opleidingsmogelijkheden. Zo krijg je antwoord op vragen als: 'Welke schadebehandelaars hebben de grootste werkvoorraad?', 'Zijn er prestatieverschillen tussen schadebehandelaars?' en 'Is het werk gelijkmatig verdeeld?'. Waarom dit belangrijk is Houdt bij welke gebruikers betrokken zijn, zodat je werkvoorraad, prestaties en knelpunten die met capaciteit te maken hebben kunt analyseren. Waar je het vindt Beschikbaar in de Claim- of Exposure-entiteit in ClaimCenter, vaak gekoppeld aan het User-object, bijvoorbeeld Claim.Assignee. Voorbeelden j.doem.smiths.jones | |||
| Afdeling Department | De bedrijfseenheid of afdeling die verantwoordelijk is voor het afhandelen van de claimactiviteit. | ||
| Beschrijving Dit attribuut geeft aan bij welke afdeling of welk team de toegewezen schadebehandelaar hoort, zoals 'Auto Claims', 'Property Claims' of 'Special Investigations Unit'. Het geeft de procesanalyse organisatorische context. Analyse per afdeling is belangrijk om de procesprestaties op organisatieniveau te begrijpen. Zo kun je vertragingen bij overdrachten tussen afdelingen vinden, de efficiëntie van teams vergelijken en capaciteit effectiever verdelen binnen de claimorganisatie. Waarom dit belangrijk is Geeft organisatorische context, zodat je prestaties tussen verschillende teams kunt analyseren en problemen bij overdrachten tussen afdelingen kunt signaleren. Waar je het vindt Deze informatie is meestal gekoppeld aan het profiel van de toegewezen gebruiker of groep in ClaimCenter. Voorbeelden Afdeling autoschadesAfdeling schades aan eigendommenAfdeling bijzondere onderzoeken (SIU) | |||
| Betalingsbedrag PaymentAmount | Het daadwerkelijke geldbedrag dat voor een betalingsactiviteit is betaald. | ||
| Beschrijving Dit attribuut registreert de waarde van elke afzonderlijke betaling voor een claim. Eén claim kan gedurende de hele looptijd meerdere betalingen hebben. Dit is belangrijk voor financiële analyse binnen process mining. Je kunt hiermee de totale uitbetaling per claim volgen, goedkeuringstijden van betalingen op basis van het bedrag analyseren en inefficiënties in het proces koppelen aan financiële resultaten. Claims met lange doorlooptijden kunnen bijvoorbeeld samenhangen met hogere totale betalingen. Waarom dit belangrijk is Houdt financiële transacties binnen een claim bij, zodat je betalingsbedragen en hun relatie met procesactiviteiten kunt analyseren. Waar je het vindt Te vinden in betalingsgerelateerde entiteiten die aan de claim zijn gekoppeld, vaak in een transactietabel of chequetabel. Voorbeelden 4500.00125000.00500.00 | |||
| Bronsysteem SourceSystem | Het systeem waaruit de data is geëxtraheerd. | ||
| Beschrijving Dit attribuut identificeert de herkomst van de eventdata. In een moderne bedrijfsomgeving kunnen claimgerelateerde events uit meerdere systemen komen, zoals een kernsysteem als Guidewire, een documentbeheersysteem of een klantportaal. Het vastleggen van het bronsysteem is belangrijk voor datagovernance, het oplossen van inconsistenties in de data en het begrijpen van de technologische omgeving van het proces. Zo kun je de kernstappen van het proces onderscheiden van ondersteunende activiteiten uit omliggende systemen. Waarom dit belangrijk is Identificeert de herkomst van de data. Dat is belangrijk voor datagovernance en analyses met meerdere geïntegreerde systemen. Waar je het vindt Dit is meestal een statische waarde die tijdens het data-extractie-, transformatie- en laadproces (ETL) wordt toegevoegd. Voorbeelden Guidewire ClaimCenter v10Klantportaal-APIDocumentum | |||
| Eindtijd EndTime | De timestamp die aangeeft wanneer een activiteit is afgerond. | ||
| Beschrijving De End Time markeert het einde van een activiteit, vooral bij taken met een meetbare duur, zoals 'Investigation' of 'Document Review'. Veel process mining-activiteiten vinden op één moment plaats, waarbij StartTime volstaat. Activiteiten met een duidelijk begin en einde worden beter weergegeven met beide timestamps. Met dit attribuut kun je de verwerkingstijd van een activiteit nauwkeurig berekenen, los van de wachttijd. Zo zie je welke specifieke taken veel tijd kosten, in plaats van alleen lange vertragingen tussen processtappen te signaleren. Waarom dit belangrijk is Hiermee kun je nauwkeurig meten hoe lang een activiteit duurt, waarbij verwerkingstijd en wachttijd van elkaar worden gescheiden. Waar je het vindt Dit moet mogelijk worden afgeleid door een volgende gebeurtenis te vinden die de activiteit logisch afsluit, bijvoorbeeld een statuswijziging van 'In Progress' naar 'Completed'. Voorbeelden 2023-05-15T17:00:00Z2023-05-16T15:00:00Z2023-06-02T10:00:00Z | |||
| Geclaimd bedrag ClaimedAmount | Het totale geldbedrag dat de polishouder aanvankelijk heeft geclaimd. | ||
| Beschrijving Dit attribuut vertegenwoordigt de waarde van de schade zoals de claimant die heeft gemeld. Vaak gaat het om een eerste schatting die kan veranderen tijdens het onderzoek en het vaststellen van reserves. Met analyse van het Claimed Amount kun je claims indelen op financiële impact. Claims met een hoge waarde volgen vaak een grondiger en complexer proces dan claims met een lage waarde. Door processen voor verschillende waardebanden te vergelijken, vind je mogelijkheden om kleinere claims eenvoudiger af te handelen of bij grotere claims strengere controles toe te passen. Waarom dit belangrijk is Maakt het mogelijk claims op financiële waarde te segmenteren, omdat claims met een hoge waarde vaak een ander en complexer proces volgen. Waar je het vindt Deze informatie staat mogelijk niet in één veld, maar kan worden afgeleid uit de eerste schade-inschattingen die bij exposures zijn vastgelegd. Voorbeelden 5000.00150000.00750.50 | |||
| Herhaald verzoek om informatie RepeatedInfoRequestFlag | Een vlag die aangeeft of 'Additional Info Requested' meer dan één keer voor dezelfde claim is voorgekomen. | ||
| Beschrijving Deze booleaanse vlag krijgt de waarde true als een claim meer dan één activiteit 'Additional Info Requested' heeft. Dit wijst vaak op inefficiënties in de eerste fase van informatieverzameling. Dit attribuut ondersteunt rechtstreeks de KPI 'Repeated Info Request Rate'. Het helpt het probleem van onvolledige eerste feitenverzameling te kwantificeren, wat tot aanzienlijke vertragingen en frustratie bij klanten kan leiden. Door claims met deze vlag te analyseren, kun je checklists en procedures voor schadebehandelaars verbeteren, zodat alle benodigde informatie in één keer wordt opgevraagd. Waarom dit belangrijk is Identificeert inefficiënties waarbij informatie niet volledig in één keer wordt verzameld, wat leidt tot vertragingen en herstelwerk. Waar je het vindt Wordt in de process mining-tool berekend door het aantal keer dat de activiteit 'Additional Info Requested' per case voorkomt te tellen. Voorbeelden truefalse | |||
| Is geautomatiseerd IsAutomated | Een vlag die aangeeft of een activiteit automatisch door het systeem of door een menselijke gebruiker is uitgevoerd. | ||
| Beschrijving Dit booleaanse attribuut maakt onderscheid tussen activiteiten die door een systeem worden uitgevoerd, zoals het automatisch aanmaken van een reserve of systeemgegenereerde correspondentie, en activiteiten die handmatig door een schadebehandelaar worden uitgevoerd. Analyse van dit attribuut laat zien in hoeverre het claimproces is geautomatiseerd. Je vindt er handmatige interventiepunten mee, meet het effect van initiatieven voor straight-through processing en ontdekt nieuwe automatiseringsmogelijkheden door repetitieve, regelgebaseerde taken te vinden die nu door mensen worden uitgevoerd. Waarom dit belangrijk is Maakt onderscheid tussen systeemgestuurde en handmatige activiteiten. Dat is belangrijk voor automatiseringsanalyse en het vinden van handmatige knelpunten. Waar je het vindt Dit moet vaak worden afgeleid. Gebeurtenissen die door een generieke 'system'-gebruiker zijn vastgelegd, kunnen bijvoorbeeld als geautomatiseerd worden gemarkeerd. Voorbeelden truefalse | |||
| Is herstelwerk IsRework | Een vlag die aangeeft of een activiteit onderdeel is van een herstelwerk-lus, dus een terugkeer naar een eerdere procesfase. | ||
| Beschrijving Dit berekende attribuut markeert activiteiten die onderdeel zijn van een herstelwerk-lus. Als het proces bijvoorbeeld van 'Investigation Completed' teruggaat naar 'Investigation Started', wordt de tweede activiteit 'Investigation Started' als herstelwerk gemarkeerd. Door herstelwerk te identificeren, vind je inefficiënties en kwaliteitsproblemen in het proces. Het dashboard Rework and Rejection Frequency gebruikt deze maatstaf om te bepalen hoe vaak claims afwijken van het ideale 'happy path'. Analyse van de oorzaken van herstelwerk kan de proceskwaliteit en snelheid aanzienlijk verbeteren. Waarom dit belangrijk is Maakt inefficiënties en kwaliteitsproblemen zichtbaar door activiteiten die onderdeel zijn van een herstelwerk-lus expliciet te markeren. Waar je het vindt Dit wordt in de process mining-tool berekend door de volgorde van activiteiten per case te analyseren. Voorbeelden truefalse | |||
| Jurisdictie JurisdictionState | De staat of jurisdictie die voor de claim geldt en die bepaalt aan welke wettelijke eisen moet worden voldaan. | ||
| Beschrijving Dit attribuut specificeert de wettelijke jurisdictie, bijvoorbeeld de Amerikaanse staat, waaronder de claim wordt afgehandeld. Verzekeringsregels kunnen per jurisdictie sterk verschillen. Dat heeft gevolgen voor verplichte processtappen, communicatietermijnen en documentatie. Dit attribuut is belangrijk voor compliance-monitoring. Door het proces per jurisdictie te analyseren, controleer je of aan specifieke wettelijke eisen wordt voldaan. Het kan ook verschillen in doorlooptijden of procespaden verklaren die door wettelijke beperkingen ontstaan en niet door inefficiënte bedrijfsvoering. Waarom dit belangrijk is Belangrijk voor compliance-analyse, omdat verschillende jurisdicties andere regels hebben die het claimproces beïnvloeden. Waar je het vindt Een standaardveld in de Claim-entiteit, meestal met de naam 'JurisdictionState'. Voorbeelden CANYTXFL | |||
| Laatste data-update LastDataUpdate | De timestamp die aangeeft wanneer de data voor het laatst is vernieuwd of uit het bronsysteem is gehaald. | ||
| Beschrijving Dit attribuut bevat de timestamp van de meest recente data-extractie uit het bronsysteem. Het is een metadataveld dat belangrijk is om te bepalen hoe actueel de analyse is. Dashboards en analyses moeten deze informatie duidelijk tonen, zodat gebruikers weten hoe actueel de data is. Zo kunnen ze beoordelen of de inzichten de huidige stand van de bedrijfsvoering weergeven of op oudere data zijn gebaseerd. Waarom dit belangrijk is Geeft aan hoe actueel de data is, zodat gebruikers weten hoe recent de procesanalyse is. Waar je het vindt Deze waarde wordt tijdens het ETL-proces gegenereerd en opgeslagen en vertegenwoordigt de timestamp waarop de data is geladen. Voorbeelden 2024-07-28T04:00:00Z2024-07-29T04:00:00Z | |||
| Polistype PolicyType | Het specifieke type verzekeringspolis waaronder de claim is ingediend. | ||
| Beschrijving Policy Type geeft een gedetailleerdere classificatie dan Claim Type. Het beschrijft het specifieke verzekeringsproduct, zoals 'Homeowners', 'Commercial Auto' of 'Cyber Liability'. Dit detailniveau kan procesverschillen per product zichtbaar maken. Door het proces per Policy Type te analyseren, vind je inefficiënties die specifiek zijn voor een product. Claims voor een nieuw gelanceerde polis kunnen bijvoorbeeld een minder volwassen proces volgen en daardoor vertraging oplopen. Deze analyse helpt bij productontwerp en het standaardiseren van processen. Waarom dit belangrijk is Maakt procesanalyse voor specifieke verzekeringsproducten mogelijk, zodat je verschillen in afhandeling op basis van poliskenmerken kunt vinden. Waar je het vindt Deze informatie staat in de Policy-entiteit, die aan de Claim is gekoppeld. Voorbeelden Woonhuisverzekering met uitgebreide dekkingAansprakelijkheid bedrijfsmotorrijtuigenTransportverzekering | |||
| Schadedatum LossDate | De datum waarop het incident of de schade die tot de claim heeft geleid, plaatsvond. | ||
| Beschrijving De Date of Loss is de datum van de daadwerkelijke gebeurtenis, zoals een auto-ongeluk of materiële schade, waarvoor de claim wordt ingediend. Deze datum verschilt van de datum waarop de claim is gemeld of aangemaakt. De tijd tussen de Date of Loss en de activiteit 'Claim Created', ook wel meldingsvertraging genoemd, is een belangrijke KPI. Analyse hiervan geeft inzicht in klantgedrag en in de effectiviteit van kanalen voor de eerste schademelding. Waarom dit belangrijk is Geeft belangrijke context over het ontstaan van de claim en helpt de meldingsvertraging te analyseren, dus de tijd tussen het incident en het indienen van de claim. Waar je het vindt Dit is een standaarddatumveld in de Claim-entiteit, vaak met de naam 'LossDate'. Voorbeelden 2023-05-102023-04-202023-05-28 | |||
| SLA-status SLAState | Geeft aan of de claim binnen de streefdatum voor afhandeling is gesloten. | ||
| Beschrijving Dit berekende attribuut geeft per gesloten claim een categorische status van de SLA-naleving. Het wordt afgeleid door de timestamp van de activiteit 'Claim Closed' te vergelijken met de 'Resolution Target Date'. Dit attribuut ondersteunt rechtstreeks het dashboard 'Claim Resolution Target Adherence' door de analyse te vereenvoudigen tot duidelijke categorieën zoals 'On Time' of 'Late'. Je kunt eenvoudig filteren en totalen berekenen om het algemene SLA-nalevingspercentage te bepalen en de oorzaken van vertragingen verder te onderzoeken. Waarom dit belangrijk is Geeft een duidelijk categorisch resultaat voor SLA-naleving, zodat je prestaties op tijd eenvoudig kunt filteren, totaliseren en analyseren. Waar je het vindt Berekend veld: IF (ActualCloseDate <= ResolutionTargetDate, 'On Time', 'Late'). Voorbeelden Op tijdTe laat | |||
| Streefdatum voor afhandeling ResolutionTargetDate | De datum waarop de claim volgens interne of wettelijke SLA's naar verwachting is afgehandeld. | ||
| Beschrijving De Resolution Target Date is de deadline voor het sluiten van een claim. Deze wordt vaak bepaald door factoren zoals jurisdictie, claimtype en polisvoorwaarden. De datum dient als referentiepunt voor het meten van prestaties en compliance. Dit attribuut is belangrijk voor dashboards en KPI's over SLA-naleving. Door de werkelijke datum van 'Claim Closed' met deze streefdatum te vergelijken, kan de analyse te late claims automatisch markeren, het percentage tijdige afhandelingen meten en laten zien welke claimtypen of afdelingen hun doelen niet halen. Waarom dit belangrijk is Dit is de referentie voor het meten van naleving van de Service Level Agreement (SLA) en het vinden van claims die mogelijk te laat worden afgehandeld. Waar je het vindt Dit kan een aangepast veld zijn of worden afgeleid op basis van bedrijfsregels in ClaimCenter, mogelijk gekoppeld aan specifieke claimmetingen. Voorbeelden 2023-06-142023-07-202023-08-28 | |||
Activiteiten voor claimsverwerking
| Activiteit | Beschrijving | ||
|---|---|---|---|
| Betaling goedgekeurd | Staat voor de formele goedkeuring van een betaling voor een afwikkeling. Dit is een belangrijk audit-event dat expliciet wordt vastgelegd wanneer een bevoegde gebruiker de transactie goedkeurt. | ||
| Waarom dit belangrijk is Deze mijlpaal maakt de laatste betalingsstap mogelijk. Door de tijd vóór en na deze activiteit te analyseren, kun je vertragingen door goedkeuringsworkflows of de beschikbaarheid van managers onderscheiden. Waar je het vindt Dit is vaak een expliciet event in de tabel cc_history bij een cc_check- of cc_transaction-entiteit. Het registreert een statuswijziging van 'Pending Approval' naar 'Approved'. Vastleggen Volg de statuswijziging naar 'Approved' voor een specifieke betalingstransactie. Eventtype explicit | |||
| Betaling uitgegeven | Deze activiteit markeert de laatste stap in het betalingsproces. De betaling wordt officieel uitgegeven en naar het financiële systeem gestuurd. Het gaat om een expliciet vastgelegde financiële transactie. | ||
| Waarom dit belangrijk is Deze activiteit is belangrijk om de efficiëntie van het versturen van betalingen te meten. Zo kun je vertragingen bij goedkeuring onderscheiden van vertragingen bij het daadwerkelijk uitbetalen van het bedrag. Waar je het vindt Vastgelegd op basis van de IssueDate of een statuswijziging naar 'Issued' of 'Submitted' bij de cc_check- of cc_transaction-entiteit. Dit is vaak een expliciet event met een timestamp. Vastleggen Bepaal de IssueDate of de timestamp van de statuswijziging naar 'Issued' op het betalingsrecord. Eventtype explicit | |||
| Claim aangemaakt | Deze activiteit markeert de first notice of loss (FNOL) en het officieel aanmaken van een nieuw claimrecord in Guidewire ClaimCenter. De activiteit wordt expliciet vastgelegd wanneer een nieuwe Claim-entiteit voor het eerst in de database wordt opgeslagen. | ||
| Waarom dit belangrijk is Als primair startevent is deze activiteit essentieel voor het meten van de end-to-end-doorlooptijd van een claim. Ze vormt de basis voor alle daaropvolgende prestatie- en duur-KPI's. Waar je het vindt Dit is een expliciet event dat wordt vastgelegd op basis van de CreateTime van de tabel cc_claim. Het aanmaken van een nieuw record met een unieke Claim ID vormt de trigger voor het event. Vastleggen Bepaal de timestamp waarop het nieuwe record in de basistabel van de Claim-entiteit is aangemaakt. Eventtype explicit | |||
| Claim afgewezen | Staat voor het definitieve besluit om een claim af te wijzen en vormt het eindpunt van het proces. Dit event wordt afgeleid uit een statuswijziging van de claim naar een gesloten status met als reden 'Denied'. | ||
| Waarom dit belangrijk is Dit is een belangrijk resultaat-event. Door de frequentie, redenen en procesroutes die tot afwijzingen leiden te analyseren, vind je problemen bij de intake, het onderzoek of de interpretatie van het beleid. Waar je het vindt Afgeleid uit een wijziging van het veld State in de tabel cc_claim naar 'Closed', in combinatie met de waarde 'Denied' of een vergelijkbare waarde in het veld CloseReason. De timestamp van het event is de CloseDate. Vastleggen Filter op statuswijzigingen van claims naar 'Closed' waarbij de redencode op een afwijzing wijst. Eventtype inferred | |||
| Claim gesloten | Markeert het succesvol sluiten van een claim nadat alle activiteiten en betalingen zijn afgerond. Dit is het primaire succesvolle eindexevent en wordt afgeleid uit een wijziging in de hoofdstatus van de claim. | ||
| Waarom dit belangrijk is Als primair eindexevent is deze activiteit essentieel voor het berekenen van de end-to-end-doorlooptijd en het meten van SLA-naleving. Ze markeert het einde van de levenscyclus van de claim. Waar je het vindt Afgeleid uit een wijziging van het veld State in de tabel cc_claim naar 'Closed'. De timestamp van het event is de CloseDate op het claimrecord. Vastleggen Bepaal wanneer het hoofdstatusveld van de claim wordt bijgewerkt naar 'Closed'. Eventtype inferred | |||
| Eerste reserve vastgesteld | Markeert het aanmaken van de eerste financiële reservering voor een exposure, als schatting van de mogelijke kosten van de claim. Dit is een belangrijk financieel event dat expliciet wordt vastgelegd. | ||
| Waarom dit belangrijk is Deze mijlpaal is belangrijk voor financiële analyse en om te begrijpen hoe snel een mogelijke verplichting wordt ingeschat. Vertragingen kunnen financiële planning en rapportage beïnvloeden. Waar je het vindt Dit event wordt vastgelegd bij het aanmaken van het eerste cc_reserveline-record dat bij een exposure van de claim hoort. De CreateTime van de transactie is de timestamp van het event. Vastleggen Vind de vroegste timestamp waarop alle reserveregels voor de exposures van een bepaalde claim zijn aangemaakt. Eventtype explicit | |||
| Exposure aangemaakt | Deze activiteit staat voor het aanmaken van een exposure. Dat is een specifieke mogelijke verplichting of een bepaald schadeonderdeel binnen de claim, zoals voertuigschade of letsel. In Guidewire is dit een expliciet event. | ||
| Waarom dit belangrijk is Exposures vormen de basis voor segmentatie en analyse van claims. Door het aanmaken ervan te volgen, zie je hoe processen verschillen per complexiteit en type schade. Waar je het vindt Vastgelegd op basis van de CreateTime van een nieuw record in de tabel cc_exposure. Elk record is gekoppeld aan één Claim ID. Vastleggen Bepaal de timestamp waarop een nieuw record in de Exposure-entiteit is aangemaakt. Eventtype explicit | |||
| Aansprakelijkheidsbesluit genomen | Geeft het moment aan waarop de aansprakelijkheid of schuld voor een exposure is vastgesteld. Dit event wordt meestal afgeleid uit een statuswijziging van de Exposure-entiteit. | ||
| Waarom dit belangrijk is Dit is een belangrijke beslismijlpaal die de afwikkelings- en betalingsfasen in gang zet. Door de tijd tot dit besluit te analyseren, vind je knelpunten in de onderzoeks- en beoordelingsfasen. Waar je het vindt Afgeleid uit de tabel cc_history door een wijziging te volgen in het veld State of in een aangepast aansprakelijkheidsstatusveld van de entiteit cc_exposure. De timestamp van het historierecord geeft het tijdstip van het event aan. Vastleggen Controleer auditlogs of historietabellen op wijzigingen in de status of aansprakelijkheidsstatus van de exposure. Eventtype inferred | |||
| Aanvullende informatie ontvangen | Markeert het afronden van een verzoek om aanvullende informatie. Dit wordt vastgelegd wanneer de bijbehorende Activity, oftewel taak, voor het informatieverzoek de status 'Completed' krijgt. | ||
| Waarom dit belangrijk is Dit is het eindpunt voor de KPI 'Additional Info Gathering Cycle Time'. Lange perioden tussen het verzoek en de ontvangst zijn een veelvoorkomende oorzaak van vertraging in het claimproces. Waar je het vindt Vastgelegd op basis van de CloseTime van een cc_activity-record waarvan de ActivityPattern verband houdt met een informatieverzoek. De status van de activiteit moet 'Completed' zijn. Vastleggen Bepaal de timestamp waarop een taak voor het opvragen van externe informatie is afgerond. Eventtype explicit | |||
| Aanvullende informatie opgevraagd | Staat voor een verzoek aan de claimant of een derde om meer informatie of documentatie. Dit wordt meestal vastgelegd als een expliciete Activity, oftewel taak, die in ClaimCenter wordt aangemaakt. | ||
| Waarom dit belangrijk is Deze activiteit is het startpunt voor het meten van de KPI 'Additional Info Gathering Cycle Time'. Veel van zulke activiteiten kunnen wijzen op een onvolledig FNOL-proces of een inefficiënte informatieverzameling. Waar je het vindt Vastgelegd op basis van de CreateTime van een cc_activity-record waarvan de ActivityPattern verband houdt met het opvragen van documentatie of informatie bij een externe partij. Vastleggen Bepaal wanneer een taak voor het opvragen van externe informatie is aangemaakt. Eventtype explicit | |||
| Afwikkelingsbedrag berekend | Deze activiteit staat voor het moment waarop een afwikkelingsbedrag is bepaald, maar nog niet is goedgekeurd voor betaling. Dit kan worden afgeleid uit het aanmaken van een betaling met de status 'Pending Approval'. | ||
| Waarom dit belangrijk is Markeert de overgang van beoordeling naar betaling. Dit is het startpunt voor het meten van de KPI 'Payment Authorization Lead Time' en maakt vertragingen in de goedkeuringsketen zichtbaar. Waar je het vindt Afgeleid uit de CreateTime van een cc_check- of cc_transaction-record waarvan de eerste status 'Pending Approval' of een vergelijkbare status is, vóór 'Approved'. Vastleggen Bepaal wanneer een betalings- of transactierecord met een status vóór goedkeuring is aangemaakt. Eventtype inferred | |||
| Claim heropend | Staat voor het terugzetten van een claim van de status 'Closed' naar 'Open' om extra werk uit te voeren. Dit event wordt afgeleid uit een specifieke reeks statuswijzigingen. | ||
| Waarom dit belangrijk is Deze activiteit staat voor herstelwerk. Veel heropende claims wijzen op problemen met de eerste afwikkeling, gemiste schade of andere procesfouten. Dat leidt tot hogere kosten en meer inefficiëntie. Waar je het vindt Afgeleid uit de tabel cc_history door een wijziging te vinden in het veld State van de entiteit cc_claim, van 'Closed' terug naar 'Open' of een andere actieve status. Vastleggen Bewaak het hoofdstatusveld van de claim op een overgang van een gesloten naar een open status. Eventtype inferred | |||
| Claim toegewezen | Dit staat voor het toewijzen van een claim aan een specifieke gebruiker, de schadebehandelaar, of aan een groep. Meestal wordt dit afgeleid door wijzigingen in de toewijzingsvelden van de Claim-entiteit te volgen. | ||
| Waarom dit belangrijk is Het volgen van toewijzingen is belangrijk om de werklast van schadebehandelaars te analyseren, knelpunten in de routering te vinden en de tijd tot de eerste actie door de toegewezen behandelaar te meten. Waar je het vindt Afgeleid uit de tabel cc_history door wijzigingen te volgen in de velden AssignedUser of AssignedGroup die bij een specifieke Claim ID horen. De timestamp van de wijziging geeft aan wanneer het event plaatsvond. Vastleggen Controleer auditlogs of historietabellen op wijzigingen in de toewijzingsvelden van de claim. Eventtype inferred | |||
| Onderzoek gestart | Geeft het formele begin aan van de onderzoeksfase voor een claim of exposure. Dit wordt vaak afgeleid uit het aanmaken van de eerste onderzoeksgerelateerde Activity, oftewel taak, in Guidewire. | ||
| Waarom dit belangrijk is Deze activiteit markeert het begin van een belangrijke, vaak langdurige fase. Door de tijd tot de start van het onderzoek en de duur van het onderzoek zelf te analyseren, zie je belangrijke knelpunten. Waar je het vindt Afgeleid uit de CreateTime van een cc_activity-record waarvan de ActivityPattern verband houdt met onderzoek, bijvoorbeeld 'Initial Investigation' of 'Contact Witness'. Vastleggen Bepaal wanneer voor het eerst een taak met een onderzoeksgerelateerd patroon of onderwerp is aangemaakt. Eventtype inferred | |||
Extractiegidsen
Stappen
- Controleer de vereisten: Controleer of je de juiste rechten en inloggegevens hebt voor toegang tot de Guidewire DataHub / InfoCenter Data Mart-database met leesrechten. Controleer ook of de ETL-jobs die de claimdata mart vullen goed draaien en of de data actueel is.
- Maak verbinding met de database: Gebruik een standaard-SQL-client, zoals DBeaver, SQL Server Management Studio of een vergelijkbare tool, om verbinding te maken met de database-server van de data mart.
- Verken het schema: Maak jezelf vertrouwd met het schema van de data mart voordat je de volledige query uitvoert. Zoek de belangrijkste tabellen voor claims, exposures, activiteiten en financiële transacties. Belangrijke tabellen hebben vaak een achtervoegsel zoals _dim (dimension) of _fact (fact). Zo kun je de tijdelijke tabel- en kolomnamen in het script controleren.
- Bereid de SQL-query voor: Kopieer het volledige SQL-script uit het querygedeelte naar de query-editor van je SQL-client.
- Pas tijdelijke waarden aan: Controleer het script zorgvuldig en vervang alle tijdelijke waarden. Dit zijn onder andere de naam van de database of het schema, bijvoorbeeld [YourDataMart], parameters voor de datumperiode ('[StartDate]', '[EndDate]') en configuratiewaarden die specifiek zijn voor je systeem, zoals activiteitspatronen en statuscodes.
- Voer de query uit: Voer de aangepaste SQL-query uit op de data mart. De uitvoeringstijd hangt af van de gekozen periode en de hoeveelheid data in je systeem.
- Controleer de eerste resultaten: Bekijk na afloop de eerste paar honderd rijen van de resultatenset. Controleer of de kolommen ClaimID, ActivityName en EventTime correct zijn gevuld en of verschillende activiteitstypen aanwezig zijn.
- Exporteer naar CSV: Exporteer de volledige resultatenset vanuit je SQL-client naar een CSV-bestand. Geef het bestand een duidelijke naam, bijvoorbeeld guidewire_claimcenter_event_log.csv.
- Maak het bestand klaar voor ProcessMind: Sla het CSV-bestand op met UTF-8-codering. Controleer of de kopregel overeenkomt met de kolomaliassen in de SQL-query. Het bestand kan nu naar ProcessMind worden geüpload.
Configuratie
- Databron: Guidewire DataHub/InfoCenter Claims Data Mart. Dit is een vooraf geaggregeerde dimensionale database voor rapportages en analyses, los van de live ClaimCenter-productiedatabase.
- Vereiste autorisaties: Alleen-lezen toegang tot de SQL-database waarin de data mart staat. Je hebt een gebruikersnaam, wachtwoord en verbindingsgegevens nodig, zoals het serveradres en de databasenaam.
- Status van ETL-jobs: De nauwkeurigheid van deze extractie hangt af van een succesvolle en tijdige uitvoering van de Guidewire ETL-jobs die de data mart vullen. Controleer wanneer de laatste succesvolle uitvoering plaatsvond, zodat je weet hoe actueel de data is.
- Filteren op periode: De query bevat WHERE-clausules met de tijdelijke waarden '[StartDate]' en '[EndDate]'. Begin bij voorkeur met een beperkte periode, bijvoorbeeld 3 tot 6 maanden, om de prestaties beheersbaar te houden. Het datumfilter wordt toegepast op CreateTime van de claim.
- Configuratiespecifieke waarden: Guidewire is sterk configureerbaar. Pas waarden in de WHERE-clausules aan op de inrichting van jouw organisatie. Dit zijn onder andere:
- Namen van ActivityPattern, bijvoorbeeld 'fnol', 'investigation' en 'Request additional information'
- Codes voor ClaimStatus, ExposureStatus en CloseReason, bijvoorbeeld 'denied' en 'closed'
- Codes voor TransactionStatus, bijvoorbeeld 'pendingapproval', 'approved' en 'issued'
- Prestaties: Queries op grote historie- of audittabellen kunnen veel bronnen gebruiken. Voer de query bij zeer grote datasets bij voorkeur buiten piekuren uit. Controleer of de kolommen ClaimID of ClaimNumber in de relevante tabellen zijn geïndexeerd.
a Voorbeeldquery 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'; Stappen
- Controleer of je organisatie een actieve Guidewire Cloud Data Access, CDA, Snowflake data share heeft voor de ClaimCenter-omgeving. Vraag bij je Guidewire Cloud-beheerder het Snowflake-account-ID, de database, het schema, de warehouse, de rol, de authenticatiemethode en de toegestane netwerkconfiguratie op.
- Controleer welke CDA-databaseobjecten en kolommen precies in je share beschikbaar zijn. CDA-schema's en kolomnamen kunnen per tenant, release, configuratie en datadeelmodel verschillen. Vervang elke tijdelijke object- of kolomnaam tussen blokhaken in de query door het bijbehorende object uit jouw omgeving. Ga er niet van uit dat operationele ClaimCenter-entiteitsnamen ongewijzigd in Snowflake beschikbaar zijn.
- Bepaal de bron voor het aanmaken van claims, de historie van claimtoewijzingen, het aanmaken van exposures, reserveringstransacties, activiteiten, de historie van exposurestatussen, de historie van betaalstatussen en de historie van claimstatussen. Als je share geen historietabellen of auditrecords bevat, configureer dan een goedgekeurde bron die voor elke vereiste statuswijziging de vorige waarde, nieuwe waarde, eventtimestamp en uitvoerder bewaart.
- Maak verbinding met de CDA Snowflake-share via een geautoriseerde Snowflake-client, worksheet, notebook of SQL-tool. Gebruik waar mogelijk een alleen-lezenrol. Stel de begin- en eindtimestamp van de analyse in de query in met [Start timestamp] en [End timestamp]. Pas ook een goedgekeurd bedrijfs- of bedrijfseenheidsfilter toe met [Company filter].
- Vervang de tijdelijke bronverwijzingen in de query door gecontroleerde CDA-object- en kolomnamen. De query maakt expliciet rijen aan voor alle 14 vereiste activiteiten: 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 en Claim Reopened.
- Voer de query uit en controleer het resultatenschema. De uitvoer moet ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus en LossCause bevatten. Voor ProcessMind zijn ClaimID, ActivityName en EventTime verplicht. Bewaar één rij per event en aggregeer events niet per claim.
- Controleer timestamps, statuswijzigingen, wijzigingen in toewijzingen, dubbele records en aantallen activiteiten voordat je exporteert. Controleer of eventtimestamps dezelfde tijdzone gebruiken. Laat meerdere events met dezelfde timestamp als afzonderlijke rijen staan wanneer ze verschillende bedrijfsactiviteiten vertegenwoordigen.
- Exporteer het resultaat als UTF-8 CSV of een ander door ProcessMind ondersteund tabelindeling. Koppel ClaimID aan de case-ID, ActivityName aan de activiteit en EventTime aan de eventtimestamp. Houd de aanbevolen attributen als aanvullende eventattributen bij en upload het bestand naar ProcessMind zonder extra afgeleide activiteiten toe te voegen.
Configuratie
- Verbinding en autorisatie: Gebruik de door Guidewire geleverde Snowflake data share via een geautoriseerd Snowflake-account, een geautoriseerde rol, warehouse en netwerkverbinding. Vanuit het perspectief van de afnemer is CDA alleen-lezen. Welke toegang je nodig hebt, hangt af van je tenantconfiguratie. Mogelijk heb je rechten nodig om de gedeelde database en specifieke schema's of views te bevragen.
- Configuratie van bronobjecten: Vervang alle bronverwijzingen tussen blokhaken door objecten die je in je CDA-share hebt gecontroleerd. De query gaat bewust niet uit van universele ClaimCenter-tabel- of kolomnamen, omdat de beschikbare CDA-structuren per release en tenant verschillen.
- Periode: Begin voor validatie en operationele analyse met een periode van drie tot zes maanden. Gebruik pas een langere periode nadat je de capaciteit van de warehouse, de bewaartermijn van eventhistorie en de queryduur hebt gecontroleerd. Filter bronrecords op de relevante eventtimestamp, niet alleen op de aanmaakdatum van de claim. Zo sluit je latere activiteiten niet uit.
- Vereiste uitvoer: ClaimID, ActivityName en EventTime moeten voor elke eventrij aanwezig en niet leeg zijn. ActivityName moet exact de labels gebruiken die het ProcessMind-procesmodel verwacht.
- Aanbevolen uitvoer: Neem AssignedAdjuster, ClaimType, ClaimStatus en LossCause op. Gebruik waar mogelijk de momentopname van de attributen op het tijdstip van het event. Als alleen actuele waarden beschikbaar zijn, leg die beperking dan vast. Historische attributen geven dan mogelijk niet de waarde op het moment van het event weer.
- Filters: Pas [Company filter] pas toe nadat je de bijbehorende tenant-specifieke kolom voor bedrijf, organisatie, bedrijfseenheid of juridische entiteit hebt gecontroleerd. Filter niet op documenttype, tenzij de ClaimCenter-configuratie een gecontroleerd veld voor documenttype bevat dat relevant is voor de gevraagde activiteiten.
- Eventhistorie: Voor toewijzingen, onderzoeken, informatieverzoeken, aansprakelijkheidsbesluiten, betaalstatussen en heropende claims heb je historie- of auditdata nodig om wijzigingen vast te stellen. Met alleen actuele tabellen kun je eerdere events niet betrouwbaar reconstrueren.
- Deduplicatie: Gebruik waar mogelijk een gecontroleerde bron-ID voor het event. De query gebruikt ROW_NUMBER alleen als configureerbare beveiliging. Dedupliceer events niet uitsluitend op ClaimID en timestamp wanneer verschillende activiteiten legitiem op hetzelfde moment kunnen plaatsvinden.
- Prestaties: Beperk de periode, selecteer alleen de benodigde kolommen, filter elke bron op de eventtimestamp en gebruik een Snowflake-warehouse met de juiste omvang. Overweeg bij grote volumes een gevalideerde eventview of incrementele extractie.
- Tijdzone: Breng EventTime onder in één gedocumenteerde tijdzone. Controleer eerst of CDA-timestamps zijn opgeslagen als UTC, lokale tijd of een van de Snowflake-timestampvarianten voordat je het event log laadt.
- Vereisten: Controleer of de vereiste financiële, activiteiten-, toewijzings-, exposure-, betaal- en statushistorie van ClaimCenter in de share zit en of de bewaarbeleidsregels de benodigde historische wijzigingen bewaren.
a Voorbeeldquery 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; Stappen
- Controleer of directe leestoegang tot de on-premise operationele Guidewire ClaimCenter-database is toegestaan, of het databaseplatform en de schemaversie zijn gedocumenteerd en of er een alleen-lezenverbinding beschikbaar is. Query de productiedatabase niet zonder goedgekeurd extractievenster.
- Bepaal welke fysieke tabellen en kolommen jouw ClaimCenter-implementatie gebruikt. Koppel de entiteiten voor claims, exposures, activiteiten, toewijzingen, reserveringen, betalingen, statushistorie en gebruikers of groepen aan de tijdelijke waarden in de query. Omdat fysieke namen en auditstructuren per implementatie en versie verschillen, vervang je elke tijdelijke waarde pas nadat je die hebt gecontroleerd in de databasecatalogus en het ClaimCenter-datamodel.
- Stel de extractieperiode in met [Start date parameter] en [End date parameter]. Gebruik een overlappende periode, bijvoorbeeld één of twee dagen vóór de gewenste startdatum, wanneer statuswijzigingen, taakafrondingen of financiële transacties buiten de primaire periode waarin de claim is aangemaakt kunnen worden vastgelegd.
- Voer de volledige SQL-instructie uit met alleen-lezenrechten. Elke activiteit wordt als een expliciete eventrij opgenomen. De query laat ProcessMind na het inladen geen events afleiden. Events die uit veldwijzigingen worden afgeleid, worden in de SQL-instructie berekend op basis van de relevante historie- of auditrecords.
- Controleer de bronkoppelingen voor elke activiteit. Controleer of het aanmaken van een claim de eerste opgeslagen Claim-record gebruikt, toewijzing op toewijzingswijzigingen is gebaseerd, het aanmaken van een exposure op aanmaakrecords van exposures, de eerste reservering per exposure op de eerste reserveringstransactie, onderzoeken en informatieverzoeken op activiteitenrecords, aansprakelijkheid op de geconfigureerde statuswijziging van de exposure, afhandeling op een betaalstatus voor goedkeuring en betaalgoedkeuring en uitbetaling op de bijbehorende financiële auditstatussen.
- Breng de uitvoer terug naar de vereiste structuur van het event log. ClaimID is de case-ID, ActivityName bevat precies één van de veertien vastgelegde activiteitennamen en EventTime is een timestamp. Bewaar de aanbevolen attributen, waaronder AssignedAdjuster, ClaimType, ClaimStatus en LossCause, wanneer de bronkoppeling deze levert.
- Controleer dubbele events en de volgorde van events. Als de bron meerdere auditrijen voor dezelfde bedrijfswijziging bevat, gebruik dan de implementatiespecifieke deduplicatiesleutel in de relevante common table expression. Voeg verschillende bedrijfsevents met verschillende timestamps of bron-ID's niet samen.
- Exporteer het resultaat als UTF-8 CSV of een ander door ProcessMind ondersteund tabelindeling. Voeg een kopregel toe met ClaimID, ActivityName, EventTime, AssignedAdjuster, ClaimType, ClaimStatus en LossCause. Zorg dat timestamps tijdzone-informatie bevatten of gebruik consequent de gedocumenteerde tijdzone van de database. Upload het bestand naar ProcessMind en koppel ClaimID aan de case-ID, ActivityName aan de activiteit en EventTime aan de eventtimestamp.
Configuratie
- Databasetoegang: Gebruik een alleen-lezenaccount met rechten om de benodigde operationele ClaimCenter-tabellen, historietabellen, activiteitentabellen en financiële transactietabellen te bevragen. Geef voor de extractie geen rechten voor schrijven, schemamutaties of beheer.
- Schematoewijzing: Vervang [Your claim table], [Your exposure table], [Your activity table], [Your reserve table], [Your payment table], [Your claim history table], [Your exposure history table] en gerelateerde tijdelijke waarden door namen die je in de doelimplementatie hebt gecontroleerd. Ga er niet van uit dat de logische naam van een Guidewire-entiteit ook de fysieke databasetabelnaam is.
- Periode: Begin met drie tot zes maanden aan data. Gebruik [Start date parameter] en [End date parameter] en neem een overlappende periode op wanneer events na het aanmaken van de claim kunnen worden vastgelegd of wanneer heropende claims meerdere rapportageperioden beslaan.
- Filters: Pas [Company Code filter], [Document Type filter], jurisdictie, branche of andere organisatiespecifieke filters pas toe nadat je de fysieke kolommen en bedrijfsbetekenis hebt gecontroleerd. Filter claims zonder betaling of exposure niet weg, omdat je die records nodig hebt voor een volledige levenscyclusanalyse.
- Activiteitsnamen: Gebruik de veertien ActivityName-waarden exact zoals ze in de query zijn gedefinieerd, zodat ProcessMind consistente eventlabels ontvangt.
- Betekenis van events: Activiteiten die als afgeleid zijn beschreven, worden in SQL gegenereerd op basis van bronstatussen, toewijzingen, historie of activiteitsovergangen. ProcessMind leidt deze events na het inladen niet af uit andere rijen.
- Prestaties: Beperk de extractieperiode, selecteer alleen de benodigde kolommen, filter brontabellen vóór joins en controleer indexen op claim-ID's, exposure-ID's, eventtimestamps, statusvelden en transactie-ID's. Voer grote extracties waar mogelijk uit op een reportingreplica.
- Consistentie: Gebruik een transactieniveau dat geschikt is voor rapportages en leg een consistente extractiegrens vast. Lees geen tabellen terwijl een financiële batch of bulkstatuswijziging gedeeltelijk is vastgelegd.
- Tijdzones: Documenteer de tijdzone van de database en zet alle brontimestamps vóór export om naar één afgesproken tijdzone. Combineer geen timestamps uit de lokale applicatietijd met timestamps van de databaseserver.
- Vereisten: Controleer of de benodigde ClaimCenter-modules, financiële rechten, audit- of historiebewaring en databaseverbinding beschikbaar zijn. Als historie of auditbewaring is uitgeschakeld, kunnen de bijbehorende afgeleide activiteiten niet betrouwbaar worden gereconstrueerd.
- Validatieconfiguratie: Leg bij elke export de ClaimCenter-versie, het databaseplatform, de schematoewijzing, het tijdstip van extractie, de datumparameters, filters en aantallen rijen vast.
a Voorbeeldquery 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; Klaar om aan de slag te gaan?
Gebruik deze template om je data voor te bereiden op analyse en inzicht te krijgen in je claimverwerking. Begin vandaag met het optimaliseren van je workflows.
Verwerk claims sneller en handel cases nu sneller af
Werk achterstanden weg, voorkom fraude en streef naar 70% straight-through processing.
Geen creditcard nodig, je bent in enkele minuten klaar met de installatie.