Sla over naar inhoud

Blog Process mining

Process mining — de implementatie

Companion bij onze narratieve post over process mining op de eerste hulp. Hier ligt de technische kant: R, bupaR, eventlog-setup, process maps, conformance checking.

Auteur
Tim Grevelink
Datum
22 februari 2024
Leestijd
5 min

Deze post is een companion bij ons narratieve verhaal over process mining op de eerste hulp. Daar legden we de toegevoegde waarde uit aan de hand van een illustratieve casus. Hier kijken we naar de implementatie: hoe je dit in R bouwt met het bupaR-pakket.

Wat doen we

We gebruiken:

  • R als taal — voor de eventlog-bewerking, visualisaties en analyses.
  • bupaR — een verzameling R-pakketten gericht specifiek op process analytics.
  • De patients eventlog uit bupaR’s public logs — fictieve data, geschikt om de werking te demonstreren zonder met klantdata in aanraking te komen.

Eventlog-setup

Process mining werkt op een gestructureerde eventlog. Elke regel staat voor één activiteit, met minimaal: case-id (uniek per patiënt), activity-naam, timestamp (of start + end). bupaR’s eventlog()-functie zet een gewone data frame om in een eventlog-object dat door alle downstream functies herkend wordt.

library(bupaR)
library(dplyr)

eventlog <- patients %>%
  eventlog(
    case_id = "patient",
    activity_id = "handling",
    activity_instance_id = "handling_id",
    lifecycle_id = "registration_type",
    timestamp = "time",
    resource_id = "employee"
  )

Process maps

bupaR’s process_map()-functie genereert direct visualisaties — frequentie of performance, naar keuze.

# Frequentie-map
eventlog %>% process_map(frequency("absolute"))

# Performance-map met gemiddelde duur
eventlog %>% process_map(performance(mean, "hours"))

Voor onze casus haalde de frequentie-map een onverwachte verdeling tussen behandeling A en B naar boven. De performance-map liet zien dat behandeling A onverwacht lang duurde — basis voor de investeringsbeslissing.

Trace explorer

eventlog %>% trace_explorer(coverage = .8)

Toont de meest voorkomende paden door het proces, met percentages. Eenvoudig om uitschieters te spotten — bijvoorbeeld patiënten die het proces niet afsluiten met een checkout.

Conformance checking

bupaR ondersteunt rule-based conformance checking. Je definieert regels en krijgt terug welk percentage van de cases ze respecteert.

# Voorbeeld: bloedtest moet altijd voor behandeling B
eventlog %>%
  precedence_check(
    antecedent = "bloodtest",
    consequent = "treatment_b"
  )

In onze casus: 100% naleving van de bloedtest-regel, 98,6% van patiënten checkt netjes uit.

Conclusie

bupaR maakt process mining toegankelijk voor iedereen die met R kan werken. Voor klantprojecten waarin de data niet publiek is, gebruiken we dezelfde pipeline — alleen de bron verandert. Vaak komt die uit BigQuery of een interne database; de eventlog-vorm is hetzelfde.


Wil je process mining toepassen op jullie eigen data? Neem contact met ons op — we kijken graag of een pilot binnen jullie context zinvol is.

Onderwerpen

  • bupar
  • process-analytics
  • process-mining
  • r

Aan tafel

Een vraagstuk waar je een tweede paar ogen op wilt

Plan een vrijblijvend half uur. We kijken samen of er een project zou kunnen ontstaan — of dat een paar tips voldoende is.