Waarom productiviteit meten in de zorg lastig is

In de zorgsector is "productiviteit" een gevoelig begrip. Het gaat niet om een fabriek met stuks per uur — het gaat om de kwaliteit en kwantiteit van zorgcontacten, in een omgeving waar medewerkers te maken hebben met complexe cliëntsituaties, hoge administratieve druk en fluctuerende vraag.

Desondanks is productiviteitsmeting essentieel voor financieel gezonde zorgorganisaties. Subsidiegelden van gemeenten (WMO, Jeugdwet), zorgkantoren (WLZ) en verzekeraars worden toegekend op basis van geleverde zorg-uren. Als de geleverde uren niet worden gerapporteerd of als de verhouding directe-indirecte uren niet klopt, leidt dat tot onderfinanciering of onterechte declaraties.

Het probleem is dat de data verspreid is: geleverde zorguren staan in OnsDB, geplande diensten staan in de roostering-module, contracturen staan in het HRM-systeem, en financiële declaraties staan in de declaratiemodule of het ERP. Een geïntegreerde Power BI-rapportage vereist dat al deze data samenkomt.

De definitie van productiviteit in de zorg

De standaarddefinitie die Argus BI hanteert en die breed wordt gebruikt in de zorgsector:

Productiviteit (%) = Directe uren / (Directe uren + Indirecte uren) × 100%

Een productiviteitspercentage van 65% betekent dat een medewerker 65% van zijn werktijd besteedt aan directe cliëntcontacten. De overige 35% is indirecte activiteiten. Voor de meeste thuiszorg- en begeleidingsorganisaties ligt de streefnorm tussen 60% en 70%, afhankelijk van het type zorg en de reisafstanden.

Directe vs. indirecte uren: wat telt mee?

De definities van directe en indirecte uren zijn organisatiespecifiek, maar de volgende categorisatie is gangbaar:

CategorieDirecte urenIndirecte uren
ZorgcontactJa — persoonlijk contact met cliënt
Begeleiding individueelJa
Begeleiding groepJa
Reistijd cliëntbezoekSoms (afhankelijk van CAO en financiering)Soms
Administratie cliëntgerelateerdJa
TeamoverlegJa
Scholing en trainingJa
IntervisieJa
Verzuim en verlofNiet meegeteld

De precieze definitie wordt vastgelegd in de transformatielaag van het datawarehouse en is daarmee consistent voor alle rapporten in Power BI. Geen discussie meer over welke activiteitcodes "tellen" — dat is één keer vastgelegd en transparant.

OnsDB als databron: wat staat erin?

Nedap Ons (OnsDB) is een van de meest gebruikte softwareoplossingen voor thuiszorg, gehandicaptenzorg en GGZ-organisaties in Nederland. De software schrijft naar een SQL Server-database die direct toegankelijk is voor analytische queries.

De voor productiviteitsrapportage relevante tabellen in OnsDB zijn:

  • Activiteiten / Zorgregistraties: Geleverde zorguren per medewerker, per cliënt, per activiteitscode en per datum
  • Medewerkers: Medewerkerdata inclusief team, functie, contractomvang en aanstelling
  • Cliënten: Cliëntgegevens inclusief financieringsvorm (WMO, JW, WLZ, GGZ), gemeente en zorgplan
  • Roostering: Geplande diensten per medewerker en per cliënt (ONS Roostering-module)
  • Activiteitstypen: Codelijst met categorieën directe vs. indirecte activiteiten

Let op: de OnsDB-datastructuur varieert per versie en per implementatie. Klanten met maatwerk-activiteitscodes of aangepaste workflows hebben een andere tabelstructuur dan de standaard Nedap Ons installatie. Argus BI heeft meerdere OnsDB-implementaties geanalyseerd en kent de veelvoorkomende variaties.

De technische koppeling: OnsDB → Azure SQL → Power BI

De koppeling werkt via een directe SQL-verbinding naar de OnsDB SQL Server-database (read-only service account). De ETL-pipeline extraheert dagelijks de volgende data:

  1. Geleverde activiteiten van gisteren (incrementeel laden via activiteitsdatum)
  2. Gewijzigde medewerkerdata (nieuwe medewerkers, teamwijzigingen)
  3. Gewijzigde cliëntdata (nieuwe cliënten, financieringswijzigingen)
  4. Roostering voor de komende 4 weken (voor capaciteitsplanning in Power BI)

De data wordt geladen in de Bronze-laag van het Azure SQL datawarehouse. In de Silver-laag worden activiteiten gelabeld als direct of indirect op basis van de activiteitstype-codelijst. Medewerkers zonder teamkoppeling worden gecategoriseerd als "Onbekend team". In de Gold-laag wordt het productiviteitspercentage berekend per medewerker, per team en per periode.

Cliënten per gemeente en financiering in kaart brengen

Een van de meest gebruikte analyses in zorgrapportages is de verdeling van cliënten per financieringsvorm: WMO (Wet maatschappelijke ondersteuning), JW (Jeugdwet), WLZ (Wet langdurige zorg) en GGZ (Geestelijke gezondheidszorg). Elke financieringsvorm heeft eigen tarieven, declaratieregels en verantwoordingsvereisten.

In Power BI bouw je deze analyse op basis van de cliënttabel in OnsDB, gecombineerd met de geleverde uren per financieringsvorm. Dit geeft inzicht in: omzet per financieringsstroom, productiviteit per financieringsvorm (is de indirecte tijd bij WLZ-cliënten hoger dan bij WMO-cliënten?), en het aandeel van elke stroom in de totale omzet.

Gemeenten vragen steeds vaker om verantwoordingsrapportages per kwartaal. Met de OnsDB–Power BI koppeling zijn deze rapportages volledig geautomatiseerd en consistent.

Teamvergelijking: welk team presteert het best?

De teamvergelijking is het meest gebruikte rapport in productiviteits-dashboards voor zorgorganisaties. Het toont per team: gemiddeld productiviteitspercentage, totale directe uren, totale indirecte uren, ziekteverzuim, cliënten in zorg en geplande vs. gerealiseerde uren.

Een veelvoorkomend datakwaliteitsprobleem bij teamvergelijkingen is dat niet alle medewerkers zijn gekoppeld aan een team in OnsDB. Dit kan voorkomen bij nieuwe medewerkers (onboarding nog niet afgerond), uitzendkrachten (geen teaminventarisatie in OnsDB) of bij reorganisaties (teamstructuur is gewijzigd maar OnsDB is niet bijgewerkt).

Argus BI verwerkt dit in de transformatielaag: medewerkers zonder team worden gecategoriseerd als "Onbekend team" en zijn zichtbaar als afzonderlijke categorie in het dashboard. Dit triggert de verantwoordelijke beheerder om de koppeling in OnsDB te corrigeren, waarna de volgende dag-refresh de data automatisch bijwerkt.

Seizoenspatronen en trendanalyse

Productiviteit in de zorg is niet constant over het jaar. Zomervakantie, schoolvakanties (relevant voor jeugdzorg), feestdagen en ziektepiekperioden in de winter beïnvloeden de beschikbaarheid van medewerkers en daarmee het productiviteitspercentage.

In Power BI implementeer je trendanalyse via een 13-weekse rolling average: dit elimineert weekruis en maakt structurele trends zichtbaar. Een dalende rolling average over 6 weken is een signaal voor management om in te grijpen — ruim voordat de maandcijfers beschikbaar zijn.

OnsDB koppelen aan Power BI?

Argus BI heeft diepgaande kennis van de OnsDB-datastructuur en bouwt productiviteitsdashboards voor thuiszorg-, begeleidings- en GGZ-organisaties. Plan een analyse van uw zorgdata.

Plan een analyse van je zorgdata

Veelgestelde vragen

Hoe bereken je productiviteit vanuit OnsDB?

Productiviteit = directe uren / (directe + indirecte uren) × 100%. Directe uren zijn zorgcontacten geregistreerd op cliëntniveau in de OnsDB-registratietabellen. Indirecte uren zijn activiteiten als reistijd, administratie, overleg en scholing. Argus BI extraheert beide categorieën rechtstreeks uit de OnsDB SQL-database en laadt ze naar Azure SQL voor Power BI.

Welke modules van Nedap Ons zijn beschikbaar voor rapportage?

De relevante modules zijn: ONS Zorg (cliëntregistratie, zorglevering, declaraties), ONS Personeel (medewerkerdata, contracten), ONS Roostering (geplande en gerealiseerde diensten) en ONS Wachtlijst. Alle modules schrijven naar de centrale OnsDB SQL Server-database waaruit Argus BI direct kan extraheren.

Hoe worden lege of ontbrekende teamwaarden verwerkt?

Medewerkers zonder teamkoppeling in OnsDB worden in de Silver-laag gecategoriseerd als "Onbekend team". Ze zijn apart zichtbaar in Power BI zodat een beheerder de koppeling kan corrigeren in OnsDB. Na de volgende dag-refresh wordt de data automatisch bijgewerkt. Dit is een bewuste ontwerpkeuze die datakwaliteitsproblemen zichtbaar maakt in plaats van ze te verbergen.

Kan ik ook onderaannemers meenemen in de productiviteitsrapportage?

Ja, mits de activiteiten van onderaannemers zijn geregistreerd in OnsDB. Als ZZP-ers of onderaannemers eigen registratieaccounts hebben in OnsDB, zijn hun uren beschikbaar in dezelfde tabellen. Als hun uren buiten OnsDB worden bijgehouden (bijv. in Excel), is een aanvullende ETL-koppeling nodig om de data te consolideren.