Jouw datatemplate voor Revenue Cycle Management
Jouw datatemplate voor Revenue Cycle Management
- Aanbevolen attributen om te verzamelen
- Belangrijke activiteiten om te volgen
- Extractierichtlijnen voor Oracle Health Revenue Cycle
Attributen voor Revenue Cycle Management
| Naam | Beschrijving | ||
|---|---|---|---|
| Activiteitsnaam ActivityName | De naam van de specifieke stap of gebeurtenis die binnen het omzetcyclusproces heeft plaatsgevonden. | ||
| Beschrijving Dit attribuut legt de naam vast van elke activiteit binnen de levenscyclus van een Billing Event. Voorbeelden zijn 'Charges Captured', 'Claim Submitted To Payer' en 'Payment Posted'. Deze activiteiten vormen de knooppunten van de ontdekte proceskaart. Het analyseren van de volgorde en frequentie van activiteiten vormt de kern van process mining. Met dit attribuut vind je de meest voorkomende procespaden, ontdek je afwijkingen van de standaardprocedure en krijg je inzicht in het operationele verloop van de omzetcyclus. Waarom dit belangrijk is Het definieert de processtappen, zodat je de proceskaart kunt visualiseren en workflowpatronen kunt analyseren. Waar je het vindt Meestal afkomstig uit event logs, records van statuswijzigingen of specifieke transactietabellen die horen bij verschillende fasen van de omzetcyclus in Oracle Health. Voorbeelden Claim gegenereerdBetalingsspecificatie ontvangenAfwijzing aangevochtenRekening gesloten | |||
| Eventtimestamp EventTimestamp | De exacte datum en tijd waarop een activiteit in het systeem is vastgelegd. | ||
| Beschrijving Dit attribuut bevat de timestamp van elke activiteit en markeert het exacte moment waarop die plaatsvond. Het is nodig om de timing en volgorde van gebeurtenissen binnen de omzetcyclus van een specifieke Billing Event te begrijpen. In analyses gebruik je de Event Timestamp om activiteiten chronologisch te ordenen, doorlooptijden tussen stappen te berekenen en knelpunten te analyseren. Het is de basis voor alle tijdgebaseerde process mining-metrics, zoals het herkennen van vertragingen tussen 'Claim Submitted' en 'Remittance Received'. Waarom dit belangrijk is Deze timestamp is belangrijk om gebeurtenissen te ordenen, alle prestatiemaatstaven zoals doorlooptijden en tijdsduur te berekenen en procesknelpunten te vinden. Waar je het vindt Elke tabel met transacties of event logs in Oracle Health Revenue Cycle moet een timestampkolom hebben die aangeeft wanneer de record is aangemaakt of de gebeurtenis heeft plaatsgevonden. Voorbeelden 2023-04-15T09:00:00Z2023-04-18T14:30:00Z2023-05-02T11:25:10Z | |||
| Facturatiegebeurtenis BillingEvent | De unieke identificatie van één geleverde dienst of één geleverd product waarvoor een charge wordt gegenereerd. Dit is de case-identificatie voor het omzetcyclusproces. | ||
| Beschrijving De Billing Event is de primaire case-identificatie en koppelt alle activiteiten van charge capture tot het sluiten van de rekening aan elkaar voor één afzonderlijk factureerbaar item. Elke Billing Event staat voor een unieke uitvoering van het omzetcyclusproces. Zo kun je het verloop door verschillende fasen volgen, zoals claimindiening, het verwerken van betalingen en mogelijke afwijzingen of aanpassingen. Bij process mining is dit attribuut de basis voor het reconstrueren van het end-to-end-procesverloop. Je kunt procesvarianten visualiseren, doorlooptijden tussen activiteiten berekenen en knelpunten of afwijkingen vinden die bij specifieke factureerbare items horen. Waarom dit belangrijk is Dit is de essentiële sleutel om de volledige levenscyclus van een factureerbare dienst te volgen. Daarmee kun je het procesverloop analyseren en prestaties meten. Waar je het vindt Deze identificatie moet een unieke sleutel zijn in de centrale tabellen voor facturatie- of charge-transacties binnen Oracle Health Revenue Cycle. Raadpleeg de systeemdocumentatie om de primaire sleutel voor charge-events te bepalen. Voorbeelden BEVNT-987654321BEVNT-987654322BEVNT-987654323 | |||
| Bedrag van aanpassing AdjustmentAmount | De geldwaarde van aanpassingen aan het rekeningsaldo. | ||
| Beschrijving Dit attribuut bevat het bedrag van elke financiële aanpassing, zoals contractuele kortingen, afboekingen of correcties, die op de Billing Event is toegepast. Aanpassingen verlagen de verwachte omzet van een charge rechtstreeks. Het dashboard 'Account Adjustment Impact' gebruikt dit attribuut intensief. Door aanpassingsbedragen en de bijbehorende redenen te analyseren, vind je bronnen van omzetverlies, problemen met contractbeheer of fouten bij de eerste charge capture. Het is een belangrijke maatstaf voor de financiële gezondheid. Waarom dit belangrijk is Maakt omzetverlies door afboekingen of correcties meetbaar. Zo kun je de oorzaken van financiële achteruitgang vinden en aanpakken. Waar je het vindt Te vinden in tabellen met financiële transacties waarin aanpassingen of afboekingen op een patiëntenrekening worden vastgelegd. Voorbeelden -50.25-120.0025.00 | |||
| Facturatieafdeling BillingDepartment | De afdeling of het functionele team dat verantwoordelijk is voor de activiteit. | ||
| Beschrijving Dit attribuut geeft aan welke afdeling, zoals 'Charge Capture', 'Coding' of 'Collections', de activiteit heeft uitgevoerd. Het voegt organisatorische context toe aan het procesverloop. Een analyse per afdeling is belangrijk om overdrachten tussen teams te begrijpen en inefficiënties tussen functies te vinden. Het ondersteunt het dashboard 'Billing Department Workload' doordat je activiteiten en prestatiemaatstaven per afdeling kunt samenvoegen. Waarom dit belangrijk is Wijst activiteiten toe aan organisatieonderdelen. Dat is belangrijk voor het analyseren van overdrachten tussen afdelingen, werkbelasting en teamprestaties. Waar je het vindt Deze informatie kan rechtstreeks in de gebruikersprofielen van Oracle Health staan of worden afgeleid op basis van de gebruiker of het activiteitstype. Voorbeelden PatiëntregistratieCoderingFacturatieDebiteurenbeheer | |||
| Gebruiker UserPerformingAction | De gebruikers-ID of naam van de persoon die de activiteit heeft uitgevoerd. | ||
| Beschrijving Dit attribuut identificeert de medewerker of geautomatiseerde systeemgebruiker die verantwoordelijk is voor een specifieke activiteit in het proces. Het is belangrijk om de verdeling van het werk en de prestaties van middelen te begrijpen en opleidingsbehoeften te vinden. In analyses kun je hiermee de proceskaart filteren op gebruiker of team, prestaties van verschillende middelen vergelijken en de werkbelasting analyseren voor het dashboard 'Billing Department Workload'. Zo zie je welke medewerkers goed presteren en wie extra ondersteuning of training nodig heeft. Waarom dit belangrijk is Koppelt procesactiviteiten aan specifieke gebruikers of teams. Zo kun je werkbelasting en prestaties analyseren en mogelijkheden voor training vinden. Waar je het vindt Gebruikers-ID-velden, zoals 'CREATED_BY' en 'USER_ID', staan meestal in transactietabellen van verschillende Oracle Health-modules. Voorbeelden j.doeasmithBillingBot_AUTOk.williams | |||
| Naam betaler PayerName | De naam van de verzekeraar of andere derde partij die verantwoordelijk is voor de betaling. | ||
| Beschrijving Dit attribuut identificeert de partij, zoals een verzekeraar of overheidsprogramma als Medicare, aan wie de dienst wordt gefactureerd. Informatie over de betaler vormt een belangrijke basis voor analyses van de omzetcyclus. Door het proces per betaler te analyseren, zie je grote verschillen in betalingstijden, afwijzingspercentages en succespercentages van bezwaren. Zo vind je betalers die vertragingen of omzetverlies veroorzaken. Dit helpt ook bij het beheren van contracten en relaties met betalers. Waarom dit belangrijk is Maakt segmentatie van het proces per betaler mogelijk. Zo zie je verschillen in gedrag, afwijzingspercentages en betalingssnelheid, wat belangrijk is voor de financiële prestaties. Waar je het vindt Deze informatie staat in de facturatie- of verzekeringsgegevens van de patiënt binnen Oracle Health Revenue Cycle. Voorbeelden AetnaBlue Cross Blue ShieldUnitedHealthcareMedicareCigna | |||
| Openstaand saldo OutstandingBalance | Het resterende onbetaalde bedrag van de Billing Event op een bepaald moment. | ||
| Beschrijving Dit attribuut toont het actuele openstaande bedrag van een Billing Event nadat alle betalingen en aanpassingen zijn verwerkt. Het staat voor de actieve openstaande vordering voor die specifieke charge. Dit is een belangrijk attribuut voor het dashboard 'Outstanding Balance Aging'. Door deze waarde in de tijd te analyseren, kun je de snelheid van de cashflow volgen, de effectiviteit van incasso beoordelen en financiële KPI's zoals Days Sales Outstanding (DSO) berekenen. Waarom dit belangrijk is Volgt de actuele openstaande vordering per case. Dat is belangrijk voor het beheren van de cashflow en het analyseren van de effectiviteit van incasso. Waar je het vindt Deze waarde wordt meestal berekend als de som van alle financiële transacties (kosten, betalingen en correcties) voor een bepaalde factureringsgebeurtenis. De waarde kan als veld in een tabel met accountsamenvattingen staan. Voorbeelden 75.000.00550.80 | |||
| Patiëntklasse PatientClass | De classificatie van het patiëntcontact, zoals Inpatient of Outpatient. | ||
| Beschrijving Dit attribuut categoriseert het type patiëntbezoek of patiëntcontact waarvoor de charge is gegenereerd. Veelvoorkomende classificaties zijn Inpatient, Outpatient, Emergency en Recurring Patient. De patiëntklasse bepaalt vaak het volledige proces voor facturatie en claimindiening. Verschillende patiëntklassen volgen verschillende procespaden en hebben andere compliancevereisten. Door het proces op basis van dit attribuut te analyseren, begrijp je deze verschillen beter, kun je verbeterinitiatieven erop afstemmen en controleren of voor elke klasse de juiste procedures worden gevolgd. Waarom dit belangrijk is Scheidt verschillende processtromen, zoals Inpatient en Outpatient, die elk hun eigen complexiteit, doorlooptijden en facturatievereisten hebben. Waar je het vindt Dit is een standaardveld dat aan een patiëntcontact of opnamerecord in Oracle Health is gekoppeld. Voorbeelden Klinische opnamePoliklinischSpoedeisendTerugkerend | |||
| Redencode voor afwijzing DenialReasonCode | Een gestandaardiseerde code die aangeeft waarom een declaratie door de betaler is afgewezen. | ||
| Beschrijving Wanneer een betaler een declaratie afwijst, geeft die een redencode op die de afwijzing verklaart, zoals 'Niet-verzekerde dienst' of 'Dubbele declaratie'. Dit attribuut bevat die code en de bijbehorende omschrijving. Het analyseren van afwijsredenen is belangrijk om de omzetcyclus te verbeteren. Zo kan de organisatie veelvoorkomende patronen herkennen, zoals problemen met codering of de verzekerbaarheid van patiënten, en corrigerende maatregelen nemen om toekomstige afwijzingen te voorkomen. Dit heeft direct effect op het percentage declaraties dat in één keer wordt goedgekeurd en verlaagt de kosten van herstelwerk. Waarom dit belangrijk is Geeft de onderliggende oorzaak van afgewezen declaraties, zodat je gerichte verbeteringen kunt doorvoeren, het percentage declaraties dat in één keer wordt goedgekeurd kunt verhogen en betalingen sneller kunt innen. Waar je het vindt Deze informatie komt van de betaler in de elektronische betalingsspecificatie (ANSI 835-bestand) en moet worden opgeslagen in de declaratie- of betalingsspecificatietabellen in Oracle Health. Voorbeelden CO-16: Voor de beoordeling ontbreekt informatie op de claim of over de dienst.PR-96: Niet-verzekerde kosten.CO-18: Dubbele claim of dienst. | |||
| Bronsysteem SourceSystem | Het systeem waaruit de eventdata is geëxtraheerd. | ||
| Beschrijving Dit attribuut identificeert de bronapplicatie of -module waaruit de data afkomstig is. Voor dit proces is dat meestal 'Oracle Health Revenue Cycle', maar het kan ook verschillende modules binnen het systeem aangeven als de data uit meerdere bronnen is geïntegreerd. Deze informatie is waardevol voor datagovernance en het oplossen van problemen. Ze helpt de herkomst van de data te bevestigen en is belangrijk in omgevingen waarin meerdere systemen bijdragen aan één end-to-end-proces. Waarom dit belangrijk is Geeft context over de herkomst van de data. Dat is belangrijk voor datavalidatie, governance en het begrijpen van procesvarianten die afhankelijk kunnen zijn van het systeem. Waar je het vindt Dit is vaak een statische waarde die tijdens het ETL-proces voor extractie, transformatie en laden wordt toegevoegd om de herkomst van de dataset te labelen. Voorbeelden OracleHealth-RCMOracleHealth-CernerOH-RevCycle-PROD | |||
| Chargebedrag ChargeAmount | De bruto geldwaarde van de dienst of het product waarvoor wordt gefactureerd. | ||
| Beschrijving Dit attribuut staat voor het oorspronkelijke bedrag vóór kortingen, contractuele aanpassingen of betalingen. Het is de financiële startwaarde van de Billing Event. Het chargebedrag volgen is belangrijk voor financiële analyses, zoals het berekenen van de totale waarde van geleverde diensten en het begrijpen van het financiële effect van latere aanpassingen of afboekingen. Het vormt de basis voor het meten van gerealiseerde omzet. Waarom dit belangrijk is Legt de oorspronkelijke financiële waarde van de case vast. Dat is de basis voor alle volgende financiële analyses en impactbeoordelingen. Waar je het vindt Te vinden in de tabellen met charge-details of charge-transacties in Oracle Health. Voorbeelden 150.001250.7585.50 | |||
| Declaratie-ID ClaimId | De unieke identificatie voor de verzekeringsdeclaratie die bij een betaler is ingediend. | ||
| Beschrijving Dit attribuut is de unieke ID die wordt toegewezen aan een declaratie die voor vergoeding wordt opgesteld en naar een betaler wordt gestuurd. Eén factureringsgebeurtenis kan gedurende de levenscyclus leiden tot één of meer declaraties, bijvoorbeeld wanneer een correctie nodig is. Met de Claim ID kun je een specifieke indiening bij een betaler volgen en die rechtstreeks koppelen aan de reactie, zoals een betaling of afwijzing. Zo krijg je binnen het bredere proces van de omzetcyclus een gedetailleerder overzicht. Waarom dit belangrijk is Geeft een specifieke identificatie om het verloop van een declaratie bij een betaler te volgen. Dit is gedetailleerder dan de algemene factureringsgebeurtenis. Waar je het vindt Deze ID wordt door Oracle Health gegenereerd wanneer een declaratie wordt aangemaakt en opgeslagen in de primaire declaratietabel. Voorbeelden CLM-2023-55489CLM-2023-55490CLM-2023-55491-C1 | |||
| Eindtijd event EventEndTime | De timestamp die het einde van een activiteit markeert, als die beschikbaar is. | ||
| Beschrijving StartTime markeert het begin van een activiteit, terwijl EventEndTime het einde aangeeft. Niet elke activiteit heeft een afzonderlijke eindtijd, omdat veel activiteiten directe gebeurtenissen zijn. Voor activiteiten met een bepaalde duur, zoals 'Denial Appealed', die tijd kunnen kosten om te verwerken, is dit veld wel erg nuttig. Met dit attribuut kun je de verwerkingstijd van afzonderlijke activiteiten nauwkeuriger berekenen. Je maakt onderscheid tussen wachttijd, de tijd tussen activiteiten, en verwerkingstijd, de tijd die aan een activiteit wordt besteed. Waarom dit belangrijk is Hiermee bereken je rechtstreeks hoe lang een activiteit duurt. Zo scheid je verwerkingstijd van wachttijd. Waar je het vindt Sommige transactietabellen in Oracle Health Revenue Cycle bevatten mogelijk zowel een start- als eindtimestamp voor specifieke taken die langere tijd duren. Voorbeelden 2023-04-15T09:05:14Z2023-04-18T16:00:00Z | |||
| Is geautomatiseerd IsAutomated | Een vlag die aangeeft of de activiteit door een geautomatiseerd systeem of door een menselijke gebruiker is uitgevoerd. | ||
| Beschrijving Dit booleaanse attribuut maakt onderscheid tussen activiteiten die door softwareautomatisering zijn uitgevoerd, zoals bots of systeembatchtaken, en activiteiten die handmatig door een gebruiker zijn uitgevoerd. Zo kan 'Claim Generated' een geautomatiseerde stap zijn, terwijl 'Denial Appealed' waarschijnlijk handmatig gebeurt. Met dit attribuut kun je het automatiseringsniveau van het proces en het effect daarvan op efficiëntie en foutpercentages begrijpen. Je kunt de prestaties van geautomatiseerde en handmatige routes vergelijken en mogelijkheden voor verdere automatisering vinden. Waarom dit belangrijk is Maakt onderscheid tussen activiteiten die door mensen en door systemen worden uitgevoerd. Dat is belangrijk om de effectiviteit van automatisering te analyseren en nieuwe mogelijkheden voor automatisering te vinden. Waar je het vindt Dit wordt meestal afgeleid van het attribuut UserPerformingAction. Activiteiten die bijvoorbeeld door gebruikers-ID's als 'SYSTEM' of 'RPA_BOT' zijn uitgevoerd, krijgen de vlag geautomatiseerd. Voorbeelden truefalse | |||
| Is herstelwerk IsRework | Een vlag die activiteiten markeert die herstelwerk of herhaalde inspanning vertegenwoordigen. | ||
| Beschrijving Dit berekende attribuut markeert activiteiten die afwijken van de ideale 'happy path' en herstelwerk vormen. Voorbeelden zijn 'Corrected Claim Submitted' en 'Denial Appealed'. Deze activiteiten zouden niet nodig zijn als het proces de eerste keer goed was verlopen. Het herkennen en kwantificeren van herstelwerk is een belangrijk doel van process mining. Met deze vlag kun je alle herstelwerklussen eenvoudig filteren en analyseren. Zo meet je hoe vaak ze voorkomen, wat ze kosten en waardoor procesinefficiënties ontstaan. Dit is essentieel om de werkelijke kwaliteitskosten in de omzetcyclus te begrijpen. Waarom dit belangrijk is Helpt de frequentie en impact van herstelwerk te kwantificeren en maakt procesinefficiënties en de kosten van gebrekkige kwaliteit zichtbaar. Waar je het vindt Dit is een afgeleid attribuut. Het wordt tijdens de datatransformatie berekend met bedrijfslogica die specifieke activiteitennamen als herstelwerk markeert. Voorbeelden truefalse | |||
| Laatste data-update LastDataUpdate | De timestamp die aangeeft wanneer de data voor deze gebeurtenis voor het laatst is vernieuwd of geëxtraheerd. | ||
| Beschrijving Dit attribuut laat zien wanneer de dataset voor het laatst is bijgewerkt. Het geeft context over de actualiteit van de geanalyseerde data. Dat is belangrijk om te bepalen hoe actueel de inzichten uit de process mining-analyse zijn. Gebruikers kunnen dit attribuut controleren om te bevestigen dat ze de meest recente procesinformatie bekijken. Het helpt verwachtingen over de actualiteit van de data te managen en is een belangrijk onderdeel van datagovernance en kwaliteitsborging. Waarom dit belangrijk is Geeft aan hoe actueel de data is, zodat analyses en beslissingen op recente informatie zijn gebaseerd. Waar je het vindt Dit is een metadataveld dat meestal wordt aangemaakt en gevuld tijdens het ETL-proces waarmee data in het process mining-platform wordt geladen. Voorbeelden 2023-10-27T02:00:00Z2023-10-28T02:00:00Z | |||
| Patiënt-ID PatientId | De unieke identificatie voor de patiënt die bij de factureringsgebeurtenis hoort. | ||
| Beschrijving Dit attribuut is de unieke identificatie voor de patiënt die de dienst heeft ontvangen, vaak aangeduid als Medical Record Number (MRN). Het koppelt de financiële transactie aan een specifieke persoon. Hoewel dit niet de case-ID van het proces is, kun je met de Patient ID alle factureringsgebeurtenissen van één patiënt samenvoegen om diens volledige financiële verloop te begrijpen. Je kunt de data ook segmenteren op basis van patiëntkenmerken of voorgeschiedenis, als je de ID koppelt aan stamdata van patiënten. Waarom dit belangrijk is Koppelt financiële gebeurtenissen aan een specifieke patiënt, zodat je patiëntgerichte analyses kunt uitvoeren en alle factureringsactiviteiten van die patiënt kunt samenvoegen. Waar je het vindt Deze identificatie is een kernelement van het patiëntstamrecord en komt voor in alle gerelateerde transactietabellen, zoals kosten, declaraties en betalingen. Voorbeelden MRN-1002345MRN-1002346MRN-1002347 | |||
| Reden voor geschil DisputeReason | De reden die de klant of patiënt opgeeft om een factuur of kostenpost te betwisten. | ||
| Beschrijving Dit attribuut bevat de reden waarom een patiënt of andere verantwoordelijke partij een rekening betwist. Mogelijke redenen zijn onjuiste kosten, niet-geleverde diensten of problemen met de verwerking door de verzekeraar. Deze informatie is essentieel voor het dashboard 'Kengetallen voor het oplossen van factuurgeschillen'. Als je begrijpt welke redenen het vaakst voorkomen, kun je structurele problemen in het vastleggen van kosten, de codering of de facturering herkennen. Door deze onderliggende oorzaken aan te pakken, kun je het aantal geschillen en de administratieve werklast voor het oplossen ervan aanzienlijk verlagen. Waarom dit belangrijk is Legt uit waarom facturen worden betwist en geeft direct inzicht in problemen met de juistheid of duidelijkheid van de facturering die moeten worden opgelost. Waar je het vindt Dit wordt waarschijnlijk opgeslagen in een casemanagement- of klantenservicemodule binnen Oracle Health, gekoppeld aan het account van de patiënt. Voorbeelden Verkeerde dienst gefactureerdDubbele kostenVerzekering verkeerd gefactureerdDienst niet geleverd | |||
Activiteiten voor Revenue Cycle Management
| Activiteit | Beschrijving | ||
|---|---|---|---|
| Betaling verwerkt | Geeft aan dat de ontvangen betaling van de betaler is toegewezen aan de bijbehorende charges op de patiëntenrekening. Dit is een financiële transactie die door een gebruiker of geautomatiseerd proces wordt vastgelegd. | ||
| Waarom dit belangrijk is De efficiëntie van het verwerken van betalingen heeft invloed op de juistheid van openstaande vorderingen. Vertragingen kunnen het financiële beeld vertekenen en een volgende facturatieronde vertragen. Waar je het vindt Te vinden in tabellen met betalingstransacties. Elke verwerkte betaling heeft een uniek transactie-ID en een bijbehorende timestamp. Vastleggen Er wordt een financiële transactie vastgelegd wanneer de betaling aan de rekening wordt toegewezen. Eventtype explicit | |||
| Claim gegenereerd | Geeft het moment aan waarop afzonderlijke charges worden samengevoegd tot een formele declaratie, zoals een UB-04 of CMS-1500. Dit is een door het systeem gegenereerde gebeurtenis waarbij de eerste factuur wordt aangemaakt. | ||
| Waarom dit belangrijk is Dit is een belangrijk mijlpaalmoment: de declaratie is klaar om naar de betaler te worden gestuurd. Het is het eindpunt voor het meten van de interne charge-to-bill-lag. Waar je het vindt Een expliciete gebeurtenis in logs of tabellen voor het genereren van claims. Zoek naar de aanmaaktimestamp van de primaire claimrecord die aan het patiëntcontact is gekoppeld. Vastleggen Event log bij het aanmaken van de claimrecord. Eventtype explicit | |||
| Claim ingediend bij betaler | Geeft aan dat de gegenereerde claim elektronisch of op papier naar de verzekeraar of andere betaler is gestuurd. Het systeem moet de datum en tijd van deze verzending vastleggen. | ||
| Waarom dit belangrijk is Met deze activiteit begint de betalingstermijn. De tijd tussen indiening en betaling analyseren is belangrijk om de prestaties van betalers en Days Sales Outstanding (DSO) te begrijpen. Waar je het vindt Afkomstig uit de claimmanagementmodule, waarin verzendgebeurtenissen worden vastgelegd. Zoek naar een indieningstimestamp of een statuswijziging naar 'Submitted' in de claimhistorie. Vastleggen Event log wanneer de claim succesvol via de clearinghouse is verzonden. Eventtype explicit | |||
| Patiëntcontact aangemaakt | Geeft aan dat voor een specifiek bezoek of een specifieke dienst een patiëntenrekening is aangemaakt. Dit is meestal een expliciete gebeurtenis die door het registratiesysteem of een Admit/Discharge/Transfer (ADT)-feed wordt gestart. | ||
| Waarom dit belangrijk is Dit is het startpunt van de volledige omzetcyclus voor een specifieke Billing Event. Zo kun je de totale procesduur en de nauwkeurigheid van de registratie analyseren. Waar je het vindt Afkomstig uit de logs van de Patient Registration- of ADT-module. Zoek naar gebeurtenissen voor het aanmaken van een patiëntcontact of naar de vroegste timestamp die aan het contact of financiële nummer is gekoppeld. Vastleggen Event log bij registratie of opname van de patiënt. Eventtype explicit | |||
| Rekening gesloten | De laatste activiteit. Het saldo van de rekening is nul en er worden geen verdere activiteiten verwacht. Dit wordt vaak afgeleid wanneer het rekeningsaldo nul bereikt. | ||
| Waarom dit belangrijk is Geeft aan dat de omzetcyclus succesvol is afgerond. De tijd tot dit moment is een belangrijke maatstaf voor de algehele procesefficiëntie. Waar je het vindt Dit wordt meestal afgeleid door het eerste moment te bepalen waarop het openstaande saldo van de rekening nul wordt en nul blijft nadat alle betalingen en aanpassingen zijn verwerkt. Vastleggen Berekend wanneer het rekeningsaldo na het verwerken van alle charges en betalingen voor het eerst nul is. Eventtype calculated | |||
| Afwijzing aangevochten | Een actie van een gebruiker of systeem die aangeeft dat tegen een afgewezen claim bezwaar wordt gemaakt. Dit wordt meestal vastgelegd als een statusupdate of als een specifieke taak in een werkwachtrij. | ||
| Waarom dit belangrijk is Met deze activiteit start een herstelcyclus. Door de frequentie en het succespercentage van bezwaren te analyseren, kun je het terugwinnen van omzet verbeteren. Waar je het vindt Dit kan een expliciete actie van een gebruiker zijn of worden afgeleid uit een statuswijziging van de claim, zoals 'Appealed' of 'In Review'. Vastleggen Een statuswijziging of gelogde gebeurtenis wanneer een gebruiker de bezwaarprocedure voor een afgewezen claim start. Eventtype explicit | |||
| Afwijzing ontvangen | Geeft aan dat de betaler een claim of specifieke regels heeft afgewezen, zoals blijkt uit de betalingsspecificatie. Deze gebeurtenis wordt vaak afgeleid uit afwijzingscodes in de betalingsdata. | ||
| Waarom dit belangrijk is Afwijzingen volgen is belangrijk om oorzaken, zoals coderingsfouten of problemen met de verzekerbaarheid, te vinden en het percentage correct ingediende claims te verbeteren. Waar je het vindt Afgeleid uit de betalingsdata van de ERA/835. Wanneer een claim of regel een niet-nul afwijzingsbedrag en een bijbehorende redencode voor de afwijzing heeft, wordt deze gebeurtenis geactiveerd. Vastleggen Afgeleid uit betalingsdata met redenencodes voor afwijzingen (CARCs/RARCs). Eventtype inferred | |||
| Betalingsspecificatie ontvangen | Geeft aan dat een Electronic Remittance Advice (ERA) of papieren Explanation of Benefits (EOB) van de betaler is ontvangen. Dit document vermeldt welke charges zijn betaald, afgewezen of aangepast. | ||
| Waarom dit belangrijk is Dit is de eerste reactie van de betaler. De informatie is belangrijk om de snelheid van betalingen te begrijpen en trends in afwijzingen vroeg te herkennen. Waar je het vindt Vastgelegd in de module voor het verwerken van betalingsspecificaties. Zoek naar de import- of aanmaaktimestamp van het ERA-bestand, zoals een 835-transactiebestand dat aan de claim is gekoppeld. Vastleggen Event log bij het importeren en verwerken van het betalingsspecificatiebestand van de betaler, bijvoorbeeld ANSI 835. Eventtype explicit | |||
| Charges gecodeerd | Geeft het proces weer waarin medisch codeurs gestandaardiseerde codes, zoals CPT of ICD-10, aan de vastgelegde charges toewijzen. Dit wordt vaak bijgehouden via een statuswijziging van de charge of het patiëntcontact. | ||
| Waarom dit belangrijk is Vertraging bij het coderen is een veelvoorkomend knelpunt. Door deze activiteit te volgen, zie je inefficiënties in de coderingsworkflow en het effect daarvan op de facturatietijdlijn. Waar je het vindt Vaak afgeleid uit een statuswijziging van het patiëntcontact of de chargebatch, bijvoorbeeld van 'Uncoded' naar 'Coded'. Voor deze statuswijziging is een timestamp nodig. Vastleggen Afgeleid uit een wijziging van de contact- of chargestatus naar 'Coded' of 'Ready for Billing'. Eventtype inferred | |||
| Charges vastgelegd | Geeft aan dat factureerbare diensten of items aan de patiëntenrekening zijn toegevoegd. Dit kan automatisch vanuit klinische systemen gebeuren of handmatig door medewerkers. | ||
| Waarom dit belangrijk is Deze activiteit is belangrijk voor het meten van de 'charge lag': de tijd tussen het leveren van de dienst en het starten van de facturatie. Die tijd heeft rechtstreeks invloed op de cashflow en de juistheid van de omzet. Waar je het vindt Afkomstig uit tabellen met charge-transacties, op basis van de aanmaaktimestamp van elke charge-regel. In Oracle Health staat deze informatie vaak in charge-gerelateerde tabellen. Vastleggen Transactielogregel die voor elke nieuwe charge wordt aangemaakt. Eventtype explicit | |||
| Gecorrigeerde claim ingediend | Geeft aan dat een herziene of gecorrigeerde claim naar de betaler is gestuurd, vaak na een afwijzing of verzoek om aanvullende informatie. Dit herken je aan een nieuwe indiening met een correctie-indicator. | ||
| Waarom dit belangrijk is Deze activiteit is een belangrijk onderdeel van de herstelcyclus voor afwijzingen. Een hoge frequentie wijst op problemen met de juistheid van de eerste claim. Waar je het vindt Afkomstig uit de logs van claimindieningen. Zoek naar een nieuwe indiening voor een bestaand patiëntcontact, vaak gemarkeerd met een herindieningscode of een hoger iteratienummer. Vastleggen Gelogde gebeurtenis voor het opnieuw indienen van een claim, vaak herkenbaar aan een specifieke code voor het type claimfrequentie. Eventtype explicit | |||
| Incassoactiviteit gestart | Geeft aan dat de rekening van de patiënt wegens niet-betaling naar een incassoproces is overgezet. Dit wordt meestal vastgelegd via een wijziging van de financiële klasse of statusklasse van de rekening. | ||
| Waarom dit belangrijk is Dit is een belangrijke stap bij het beheren van oninbare vorderingen. Door te analyseren wat tot deze fase leidt en hoe succesvol het proces is, krijg je beter zicht op de financiële gezondheid. Waar je het vindt Afgeleid uit een wijziging van het rekeningstatusveld naar 'Collections' of 'Bad Debt'. Aan deze statuswijziging moet een timestamp zijn gekoppeld. Vastleggen Afgeleid uit een wijziging van de rekeningstatus naar 'Collections' of een vergelijkbare status. Eventtype inferred | |||
| Patiëntfactuur verzonden | Geeft aan dat een factuur voor het resterende bedrag dat de patiënt moet betalen, is aangemaakt en verzonden. Dit is een expliciete actie die door de module voor patiëntfacturatie wordt vastgelegd. | ||
| Waarom dit belangrijk is Hiermee start het deel van de omzetcyclus waarin de patiënt betaalt. Door dit te volgen, kun je de effectiviteit van incasso bij patiënten analyseren. Waar je het vindt Afkomstig uit logs van patiëntfacturatie of correspondentie. Het systeem moet de datum vastleggen waarop elke factuur is aangemaakt of verzonden. Vastleggen Event log wanneer een patiëntfactuur wordt aangemaakt en geprint of elektronisch verzonden. Eventtype explicit | |||
| Rekening aangepast | Geeft een financiële aanpassing van het rekeningsaldo weer, zoals een contractuele korting, afboeking of korting. Elke aanpassing is een afzonderlijke financiële transactie. | ||
| Waarom dit belangrijk is Aanpassingen hebben rechtstreeks invloed op de omzet. Door de frequentie, het type en het bedrag te analyseren, zie je omzetverlies en onnauwkeurigheden in de facturatie. Waar je het vindt Te vinden in tabellen met financiële transacties. Elke aanpassing wordt als een afzonderlijke regel vastgelegd, met een specifieke transactiecode en timestamp. Vastleggen Er wordt een financiële transactie vastgelegd met een specifieke aanpassingscode. Eventtype explicit | |||
Extractiegidsen
Stappen
- Databasetoegang aanvragen: Vraag inloggegevens met alleen-lezenrechten aan voor de Oracle Health Revenue Cycle-database. Je hebt toegang nodig tot de schema's met patiënt-, encounter-, facturatie- en financiële transactiedata. Hiervoor is meestal goedkeuring nodig van de teams voor IT-beveiliging en databasebeheer.
- Schema- en tabelnamen vaststellen: Werk samen met een databasebeheerder of systeemanalist om de exacte schema- en tabelnamen voor jouw Oracle Health-instantie te bevestigen. De namen in de query zijn algemene placeholders en moeten worden gekoppeld aan jouw specifieke omgeving.
- Een SQL-client installeren: Installeer een compatibele SQL-client, zoals Oracle SQL Developer of DBeaver, op je werkstation. Met deze tool maak je verbinding met de database en voer je het extractiescript uit.
- Een databaseverbinding instellen: Configureer een nieuwe databaseverbinding in je SQL-client met de opgegeven host, poort, servicenaam en inloggegevens. Test de verbinding om te controleren of deze werkt.
- De SQL-query aanpassen: Kopieer het meegeleverde SQL-script naar een nieuw queryvenster. Zoek de placeholderwaarden, zoals
[START_DATE]en[END_DATE], en vervang deze door de gewenste periode voor je analyse, bijvoorbeeld '2023-01-01'. Pas filtervoorwaarden aan op basis van je analysebehoeften, bijvoorbeeld door te filteren op een specifieke Patient Class. - Het extractiescript uitvoeren: Voer het aangepaste SQL-script uit. De query is uitgebreid en kan, afhankelijk van de periode en de omvang van je database, enkele minuten tot enkele uren duren.
- De eerste resultaten controleren: Bekijk na afloop van de query de eerste paar honderd rijen in het resultatenoverzicht van je SQL-client. Controleer op duidelijke fouten, zoals kolommen die alleen null-waarden bevatten of onjuiste data-indelingen, om zeker te weten dat het script goed is uitgevoerd.
- Data naar CSV exporteren: Exporteer de volledige resultatenset naar een CSV-bestand. Gebruik UTF-8-codering om problemen met tekens te voorkomen. Controleer of het geëxporteerde bestand een kopregel bevat met de kolomnamen uit de query-aliases, zoals "BillingEvent" en "ActivityName".
- De upload voorbereiden: Open het CSV-bestand voordat je het naar een process mining-tool uploadt en controleer of het bestand compleet is. Controleer of de timestamp-indeling consistent is en of de kolomkoppen exact overeenkomen met de vereiste attributen. Het bestand is nu klaar om te uploaden.
Configuratie
- Periode: De query gebruikt de placeholders
[START_DATE]en[END_DATE]. Het is belangrijk om een specifieke, haalbare periode vast te leggen om de hoeveelheid data te beperken. Voor een eerste analyse raden we een periode van 3 tot 6 maanden aan. - Filteren: De eerste dataset wordt in de sectie
RelevantEncountersgefilterd op de registratiedatum van de encounter (reg_dt_tm). Je kunt in deze sectie extraWHERE-clausules toevoegen om de scope te beperken, bijvoorbeelde.patient_class_code IN ('INPATIENT', 'OUTPATIENT')om je op specifieke typen encounters te richten. - Prestaties: Rechtstreeks queryen op een productiesysteem kan de prestaties beïnvloeden. Voer deze extractie bij voorkeur buiten piekuren uit of gebruik, als die beschikbaar is, een alleen-lezenreplica van de productiedatabase.
- Vereisten: Voor deze methode heb je een databasegebruikersaccount nodig met
SELECT-rechten op alle tabellen waarnaar in de query wordt verwezen. Dit zijn onder meer tabellen voor encounters, facturatie, charges, claims, remittances en financiële transacties. - Koppeling van tabellen en kolommen: Het meegeleverde script gebruikt gangbare, representatieve namen voor tabellen en kolommen. Je moet deze controleren en koppelen aan de werkelijke namen in het Oracle Health-databaseschema van jouw organisatie.
FINANCIAL_TRANSACTIONkan in jouw systeem bijvoorbeeldAR_TRANSACTIONSheten.
a Voorbeeldquery sql
WITH RelevantEncounters AS (
SELECT
e.billing_event_id
FROM ENCOUNTER e
WHERE e.reg_dt_tm BETWEEN TO_DATE('[START_DATE]', 'YYYY-MM-DD') AND TO_DATE('[END_DATE]', 'YYYY-MM-DD')
)
SELECT
e.billing_event_id AS "BillingEvent",
'Patient Encounter Created' AS "ActivityName",
e.reg_dt_tm AS "EventTimestamp",
p.name_full_formatted AS "UserPerformingAction",
org.organization_name AS "BillingDepartment",
pyr.payer_name AS "PayerName",
e.patient_class_code AS "PatientClass",
NULL AS "AdjustmentAmount",
e.total_account_balance AS "OutstandingBalance",
NULL AS "DenialReasonCode"
FROM ENCOUNTER e
JOIN RelevantEncounters re ON e.billing_event_id = re.billing_event_id
LEFT JOIN PERSONNEL p ON e.reg_prsnl_id = p.person_id
LEFT JOIN ORGANIZATION org ON e.reg_facility_org_id = org.organization_id
LEFT JOIN PAYER pyr ON e.primary_payer_id = pyr.payer_id
UNION ALL
SELECT
cd.billing_event_id AS "BillingEvent",
'Charges Captured' AS "ActivityName",
cd.charge_entry_dt_tm AS "EventTimestamp",
p.name_full_formatted AS "UserPerformingAction",
org.organization_name AS "BillingDepartment",
pyr.payer_name AS "PayerName",
e.patient_class_code AS "PatientClass",
NULL AS "AdjustmentAmount",
cd.charge_balance AS "OutstandingBalance",
NULL AS "DenialReasonCode"
FROM CHARGE_DETAIL cd
JOIN ENCOUNTER e ON cd.encntr_id = e.encntr_id
JOIN RelevantEncounters re ON e.billing_event_id = re.billing_event_id
LEFT JOIN PERSONNEL p ON cd.entry_prsnl_id = p.person_id
LEFT JOIN ORGANIZATION org ON cd.performing_dept_org_id = org.organization_id
LEFT JOIN PAYER pyr ON e.primary_payer_id = pyr.payer_id
UNION ALL
SELECT
ch.billing_event_id AS "BillingEvent",
'Charges Coded' AS "ActivityName",
ch.coded_dt_tm AS "EventTimestamp",
p.name_full_formatted AS "UserPerformingAction",
org.organization_name AS "BillingDepartment",
pyr.payer_name AS "PayerName",
e.patient_class_code AS "PatientClass",
NULL AS "AdjustmentAmount",
e.total_account_balance AS "OutstandingBalance",
NULL AS "DenialReasonCode"
FROM CODING_HISTORY ch
JOIN ENCOUNTER e ON ch.encntr_id = e.encntr_id
JOIN RelevantEncounters re ON e.billing_event_id = re.billing_event_id
LEFT JOIN PERSONNEL p ON ch.coder_prsnl_id = p.person_id
LEFT JOIN ORGANIZATION org ON p.default_org_id = org.organization_id
LEFT JOIN PAYER pyr ON e.primary_payer_id = pyr.payer_id
UNION ALL
SELECT
cl.billing_event_id AS "BillingEvent",
'Claim Generated' AS "ActivityName",
cl.create_dt_tm AS "EventTimestamp",
p.name_full_formatted AS "UserPerformingAction",
org.organization_name AS "BillingDepartment",
pyr.payer_name AS "PayerName",
e.patient_class_code AS "PatientClass",
NULL AS "AdjustmentAmount",
cl.claim_balance AS "OutstandingBalance",
NULL AS "DenialReasonCode"
FROM CLAIM cl
JOIN ENCOUNTER e ON cl.encntr_id = e.encntr_id
JOIN RelevantEncounters re ON e.billing_event_id = re.billing_event_id
LEFT JOIN PERSONNEL p ON cl.create_prsnl_id = p.person_id
LEFT JOIN ORGANIZATION org ON cl.billing_entity_org_id = org.organization_id
LEFT JOIN PAYER pyr ON cl.payer_id = pyr.payer_id
UNION ALL
SELECT
csl.billing_event_id AS "BillingEvent",
'Claim Submitted To Payer' AS "ActivityName",
csl.submission_dt_tm AS "EventTimestamp",
p.name_full_formatted AS "UserPerformingAction",
org.organization_name AS "BillingDepartment",
pyr.payer_name AS "PayerName",
e.patient_class_code AS "PatientClass",
NULL AS "AdjustmentAmount",
cl.claim_balance AS "OutstandingBalance",
NULL AS "DenialReasonCode"
FROM CLAIM_SUBMISSION_LOG csl
JOIN CLAIM cl ON csl.claim_id = cl.claim_id
JOIN ENCOUNTER e ON cl.encntr_id = e.encntr_id
JOIN RelevantEncounters re ON e.billing_event_id = re.billing_event_id
LEFT JOIN PERSONNEL p ON csl.submit_prsnl_id = p.person_id
LEFT JOIN ORGANIZATION org ON cl.billing_entity_org_id = org.organization_id
LEFT JOIN PAYER pyr ON cl.payer_id = pyr.payer_id
WHERE csl.submission_type = 'INITIAL'
UNION ALL
SELECT
ra.billing_event_id AS "BillingEvent",
'Remittance Received' AS "ActivityName",
ra.remit_received_dt_tm AS "EventTimestamp",
p.name_full_formatted AS "UserPerformingAction",
org.organization_name AS "BillingDepartment",
pyr.payer_name AS "PayerName",
e.patient_class_code AS "PatientClass",
NULL AS "AdjustmentAmount",
e.total_account_balance AS "OutstandingBalance",
NULL AS "DenialReasonCode"
FROM REMITTANCE_ADVICE ra
JOIN ENCOUNTER e ON ra.encntr_id = e.encntr_id
JOIN RelevantEncounters re ON e.billing_event_id = re.billing_event_id
LEFT JOIN PERSONNEL p ON ra.processed_prsnl_id = p.person_id
LEFT JOIN ORGANIZATION org ON ra.processing_org_id = org.organization_id
LEFT JOIN PAYER pyr ON ra.payer_id = pyr.payer_id
UNION ALL
SELECT
ft.billing_event_id AS "BillingEvent",
'Payment Posted' AS "ActivityName",
ft.transaction_dt_tm AS "EventTimestamp",
p.name_full_formatted AS "UserPerformingAction",
org.organization_name AS "BillingDepartment",
pyr.payer_name AS "PayerName",
e.patient_class_code AS "PatientClass",
NULL AS "AdjustmentAmount",
ft.ending_balance AS "OutstandingBalance",
NULL AS "DenialReasonCode"
FROM FINANCIAL_TRANSACTION ft
JOIN ENCOUNTER e ON ft.encntr_id = e.encntr_id
JOIN RelevantEncounters re ON e.billing_event_id = re.billing_event_id
LEFT JOIN PERSONNEL p ON ft.post_prsnl_id = p.person_id
LEFT JOIN ORGANIZATION org ON ft.post_dept_org_id = org.organization_id
LEFT JOIN PAYER pyr ON ft.payer_id = pyr.payer_id
WHERE ft.transaction_type_code = 'PAYMENT'
UNION ALL
SELECT
rd.billing_event_id AS "BillingEvent",
'Denial Received' AS "ActivityName",
ra.remit_received_dt_tm AS "EventTimestamp",
p.name_full_formatted AS "UserPerformingAction",
org.organization_name AS "BillingDepartment",
pyr.payer_name AS "PayerName",
e.patient_class_code AS "PatientClass",
NULL AS "AdjustmentAmount",
e.total_account_balance AS "OutstandingBalance",
rd.denial_reason_code AS "DenialReasonCode"
FROM REMITTANCE_DETAIL rd
JOIN REMITTANCE_ADVICE ra ON rd.remit_id = ra.remit_id
JOIN ENCOUNTER e ON ra.encntr_id = e.encntr_id
JOIN RelevantEncounters re ON e.billing_event_id = re.billing_event_id
LEFT JOIN PERSONNEL p ON ra.processed_prsnl_id = p.person_id
LEFT JOIN ORGANIZATION org ON ra.processing_org_id = org.organization_id
LEFT JOIN PAYER pyr ON ra.payer_id = pyr.payer_id
WHERE rd.denial_reason_code IS NOT NULL
UNION ALL
SELECT
at.billing_event_id AS "BillingEvent",
'Denial Appealed' AS "ActivityName",
at.appeal_filed_dt_tm AS "EventTimestamp",
p.name_full_formatted AS "UserPerformingAction",
org.organization_name AS "BillingDepartment",
pyr.payer_name AS "PayerName",
e.patient_class_code AS "PatientClass",
NULL AS "AdjustmentAmount",
e.total_account_balance AS "OutstandingBalance",
at.related_denial_code AS "DenialReasonCode"
FROM APPEAL_TRACKING at
JOIN ENCOUNTER e ON at.encntr_id = e.encntr_id
JOIN RelevantEncounters re ON e.billing_event_id = re.billing_event_id
LEFT JOIN PERSONNEL p ON at.appeal_prsnl_id = p.person_id
LEFT JOIN ORGANIZATION org ON p.default_org_id = org.organization_id
LEFT JOIN PAYER pyr ON at.payer_id = pyr.payer_id
UNION ALL
SELECT
csl.billing_event_id AS "BillingEvent",
'Corrected Claim Submitted' AS "ActivityName",
csl.submission_dt_tm AS "EventTimestamp",
p.name_full_formatted AS "UserPerformingAction",
org.organization_name AS "BillingDepartment",
pyr.payer_name AS "PayerName",
e.patient_class_code AS "PatientClass",
NULL AS "AdjustmentAmount",
cl.claim_balance AS "OutstandingBalance",
NULL AS "DenialReasonCode"
FROM CLAIM_SUBMISSION_LOG csl
JOIN CLAIM cl ON csl.claim_id = cl.claim_id
JOIN ENCOUNTER e ON cl.encntr_id = e.encntr_id
JOIN RelevantEncounters re ON e.billing_event_id = re.billing_event_id
LEFT JOIN PERSONNEL p ON csl.submit_prsnl_id = p.person_id
LEFT JOIN ORGANIZATION org ON cl.billing_entity_org_id = org.organization_id
LEFT JOIN PAYER pyr ON cl.payer_id = pyr.payer_id
WHERE csl.submission_type = 'CORRECTED'
UNION ALL
SELECT
psl.billing_event_id AS "BillingEvent",
'Patient Statement Sent' AS "ActivityName",
psl.statement_sent_dt_tm AS "EventTimestamp",
p.name_full_formatted AS "UserPerformingAction",
org.organization_name AS "BillingDepartment",
NULL AS "PayerName",
e.patient_class_code AS "PatientClass",
NULL AS "AdjustmentAmount",
psl.statement_balance AS "OutstandingBalance",
NULL AS "DenialReasonCode"
FROM PATIENT_STATEMENT_LOG psl
JOIN ENCOUNTER e ON psl.encntr_id = e.encntr_id
JOIN RelevantEncounters re ON e.billing_event_id = re.billing_event_id
LEFT JOIN PERSONNEL p ON psl.sent_by_prsnl_id = p.person_id
LEFT JOIN ORGANIZATION org ON p.default_org_id = org.organization_id
UNION ALL
SELECT
ash.billing_event_id AS "BillingEvent",
'Collection Activity Started' AS "ActivityName",
ash.status_change_dt_tm AS "EventTimestamp",
p.name_full_formatted AS "UserPerformingAction",
org.organization_name AS "BillingDepartment",
NULL AS "PayerName",
e.patient_class_code AS "PatientClass",
NULL AS "AdjustmentAmount",
ash.account_balance AS "OutstandingBalance",
NULL AS "DenialReasonCode"
FROM ACCOUNT_STATUS_HISTORY ash
JOIN ENCOUNTER e ON ash.encntr_id = e.encntr_id
JOIN RelevantEncounters re ON e.billing_event_id = re.billing_event_id
LEFT JOIN PERSONNEL p ON ash.change_prsnl_id = p.person_id
LEFT JOIN ORGANIZATION org ON ash.responsible_org_id = org.organization_id
WHERE ash.new_status_code = 'COLLECTIONS'
UNION ALL
SELECT
ft.billing_event_id AS "BillingEvent",
'Account Adjusted' AS "ActivityName",
ft.transaction_dt_tm AS "EventTimestamp",
p.name_full_formatted AS "UserPerformingAction",
org.organization_name AS "BillingDepartment",
pyr.payer_name AS "PayerName",
e.patient_class_code AS "PatientClass",
ft.transaction_amount AS "AdjustmentAmount",
ft.ending_balance AS "OutstandingBalance",
ft.adjustment_reason_code AS "DenialReasonCode"
FROM FINANCIAL_TRANSACTION ft
JOIN ENCOUNTER e ON ft.encntr_id = e.encntr_id
JOIN RelevantEncounters re ON e.billing_event_id = re.billing_event_id
LEFT JOIN PERSONNEL p ON ft.post_prsnl_id = p.person_id
LEFT JOIN ORGANIZATION org ON ft.post_dept_org_id = org.organization_id
LEFT JOIN PAYER pyr ON ft.payer_id = pyr.payer_id
WHERE ft.transaction_type_code = 'ADJUSTMENT'
UNION ALL
SELECT
e.billing_event_id AS "BillingEvent",
'Account Closed' AS "ActivityName",
e.account_closed_dt_tm AS "EventTimestamp",
p.name_full_formatted AS "UserPerformingAction",
org.organization_name AS "BillingDepartment",
NULL AS "PayerName",
e.patient_class_code AS "PatientClass",
NULL AS "AdjustmentAmount",
0 AS "OutstandingBalance",
NULL AS "DenialReasonCode"
FROM ENCOUNTER e
JOIN RelevantEncounters re ON e.billing_event_id = re.billing_event_id
LEFT JOIN PERSONNEL p ON e.closed_by_prsnl_id = p.person_id
LEFT JOIN ORGANIZATION org ON e.reg_facility_org_id = org.organization_id
WHERE e.total_account_balance = 0 AND e.account_closed_dt_tm IS NOT NULL; Klaar om aan de slag te gaan?
Gebruik deze template om je data goed in te richten. Begin vandaag nog met het verbeteren van je Revenue Cycle Management-proces.
Optimaliseer je omzetcyclus voor snellere betalingen
Verwijder knelpunten, verkort de doorlooptijd met 30% en verbeter je kasstroom.
Je hebt geen creditcard nodig. Je kunt binnen enkele minuten aan de slag.