Datarapportages voor medicatietransport

Zoals veel anderen krijg ik vaak de vraag: ‘wat doe jij voor werk?’ Doorgaans geef ik dan als antwoord: ‘Ik ben BI-consultant in de zorgsector’, met daarbij de korte uitleg: ‘ik bouw datawarehouses en rapportages voor zorgorganisaties’. Vaak is dit al genoeg om het enthousiasme bij de vrager te temperen en niet verder te vragen, waarschijnlijk omdat het te ingewikkeld klinkt. En dat is jammer, want werken met data is ronduit fascinerend, omdat het veel inzicht geeft. Dus laat ik dit podium eens gebruiken om uit te leggen wat mijn werk inhoudt. 

Ik noemde het al: ik werk als BI’er in de zorg. In de meeste gevallen werk ik aan maatwerkoplossingen voor ziekenhuizen. Denk daarbij aan dashboards en overzichten die ervoor zorgen dat bestuurders en managers in ziekenhuizen inzicht krijgen in de dagelijkse bedrijfsvoering.

Om mijn werk nog uitdagender te maken, is een zijstapje best eens welkom. Die kwam een aantal maanden geleden in de vorm van een opdracht voor een non-profit organisatie die de logistieke planning verzorgd om medicatie van A naar B te krijgen.

Eén dataoverzicht; één waarheid

De opdracht was om een datawarehouse te bouwen waarin diverse bronsystemen uitgelezen konden worden om zo tot één dataoverzicht oftewel één waarheid te komen. Het ene bronsysteem was de opvolger van het andere systeem, echter was er niet voor gekozen de voorloper stop te zetten. Als je deze bronsystemen klakkeloos onder elkaar zou zetten, konden hierdoor dubbeltellingen ontstaan

Daarnaast wilde de klant de mogelijkheid om terug te kijken in de tijd, om zo de stand van zaken van bijvoorbeeld een jaar geleden te bekijken. Al deze resultaten moeten natuurlijk ook terug te vinden zijn in één rapportage-omgeving.

Net als bij alle andere bedrijven wordt bij dit logistieke bedrijf gigantisch veel data vastgelegd, maar lang niet alle informatie is altijd even relevant. Daarom begonnen we bij de uitvoering van de opdracht met het inventariseren welke data nou echt noodzakelijk is. Zoals datums (per transport worden veel datums vastgelegd, maar niet elke datum is essentieel voor indicatoren), maar ook data als het soort transportmiddel, de productinformatie van medicijnen, de houdbaarheid ervan, transportkosten, enzovoort.

Van de benodigde data, maakten we een datamodel. Dit is niks anders dan tabellen met kolomnamen en hoe deze tabellen gekoppeld kunnen worden aan andere tabellen. Dit is het raamwerk van elk datawarehouse.

De ‘Corridor’

Aangezien er in deze opdracht drie bronsystemen waren, is dit raamwerk drie keer neergezet, met het grote verschil dat elk raamwerk afzonderlijk gevuld werd met data uit één bronsysteem. De database waarin dit raamwerk werd neergezet heet Corridor.

Het bedenken van het raamwerk was essentieel, dit is namelijk de basis voor alle volgende stappen. In het geval van één bronsysteem, zou je in theorie hier al rapportages op kunnen bouwen. In dit geval was het verzoek om één waarheid te creëren vanuit drie bronsystemen. Dit vroeg om een extra tussenstap en die kreeg vorm in een extra database genaamd ODS, welke hetzelfde raamwerk had als de Corridor.

In het ODS wordt van elke tabel de uniek makende kolom geselecteerd. Op basis hiervan kunnen de drie bronsystemen samengevoegd worden. Dit geeft zelfs de mogelijk om per kolom te kiezen uit welk bronsysteem het veld gevuld moet worden, zoals in onderstaande voorbeeld te zien is.

Dit is het eerste deel van de oplossing: één waarheid creëren in een datawarehouse.

Data uit het verleden ophalen

Het tweede vraagstuk was om terug te kunnen kijken in het verleden. Dit is opgelost door gebruik te maken van een Microsoft techniek genaamd Temporal tables. Dit houdt in dat elke keer als het datawarehouse ververst wordt per veld gekeken wordt wat veranderd is ten opzichte van wat al in het datawarehouse stond. Denk daarbij aan de status van een transport: ‘klaargezet door leverancier’, ‘opgepikt transporteur’,  ‘douane in / uit’, ‘ontvangstbevestiging klant’.

Wordt er een verschil geconstateerd, dan wordt de oude regel weggeschreven in een historietabel met een ‘geldig vanaf’ en ‘geldig tot’ kenmerk. Hierdoor kan vervolgens heel gemakkelijk ‘ingeprikt’ worden op een bepaalde datum. Dit is een vrij eenvoudige oplossing om een vrij complex probleem snel op te lossen.

Al deze data is natuurlijk heel mooi maar voor de uiteindelijke gebruiker nog steeds niet heel toegankelijk. Daarom zijn er voor deze zogenoemde eindgebruikers rapportages en dashboards gemaakt in Microsoft PowerBI. De rapportages zijn via een webportaal in te zien en te downloaden. Gebruikers kunnen met behulp van PowerBI desktop ook heel gemakkelijk zelf rapportages maken.

Manipuleren, ordenen en visualiseren

Met behulp van de rapportages kan de klant nu heel gemakkelijk inzien waar zich een bepaald transport bevindt. Daarnaast zijn natuurlijk inzichten gemaakt met betrekking tot geplande transportkosten ten opzichte van werkelijke kosten én biedt het de eindklant, de ontvanger van het medicijn inzicht in de voorraad.

Ik hoop dat bovenstaande stuk een beeld heeft kunnen schetsen ik als BI-consultant zoal doe. Deze opdracht omvatte het hele spectrum van bronsystemen ontsluiten, deze data manipuleren en ordenen tot het visualiseren van de data in een reporting tool.

Staat uw zorgorganisatie ook voor een data-uitdaging? Mijn collega’s en ik denken graag eens met u mee, dus neem gerust contact met mij op.

Mark Lobbezoo
Mark Lobbezoo, BI-consultant m.lobbezoo@performation.com