In dit artikel wordt beschreven hoe te migreren van de OnsDB 4-client naar de nieuwe OnsDB 5-client. De belangrijkste wijzigingen zitten in dataminimalisatie, toegangsbeheer en performance verbeteringen.
Volg dit stappenplan in de aangegeven volgorde. Je bent klaar wanneer de eerste OnsDB 5-run is gecontroleerd en, als er gebruik van een geplande herhaaldelijke taak gemaakt wordt, die taak naar OnsDB 5 verwijst. Bewaar de bestaande OnsDB 4-installatie en configuratie totdat die controle is geslaagd. Gebruik voor de eerste OnsDB 5-run een aparte doel-database of een apart SQLite-bestand, zodat de bestaande download beschikbaar blijft. Laat beide clients niet tegelijk naar dezelfde database schrijven.
Stap 1. Richt de toegang in via het Ons API Dashboard
Het Ons API Dashboard is het platform waar externe koppelingen met Ons worden ingericht. De OnsDB 5-client wordt als externe koppeling behandeld. In het Dashboard bepaal je welke gegevens de client mag downloaden (dataminimalisatie) en regel je de toegang tot omgevingen via Ons Podium.
- Zorg dat je toegang hebt tot het Ons API Dashboard. Heb je nog geen toegang? Kies de juiste route in Toegang tot het Ons API Dashboard voor OnsDB 5: medewerkers van zorgorganisaties die OnsDB zelf gebruiken krijgen toegang via Ons Diensten; koppelpartners melden zich als eigen entiteit aan via de intake en hebben goedkeuring nodig.
- Open de koppeling en ga naar de eerste versie.
- Ga naar je koppelingen overzicht:

- Indien je nieuw bent op het Ons API Dashboard, gebruik de koppeling die standaard wordt aangemaakt (anders maak een nieuwe koppeling aan):

- Open de initiële versie van de koppeling:

- Ga naar je koppelingen overzicht:
- Open het tabblad
Ons DB Tables:
- Er zijn drie manieren om te selecteren welke tabellen er nodig zijn:
- Maakt je huidige OnsDB-client gebruik van de
includeof/enexcludeparameters in de config? Dan kun je de import config knop gebruiken om op basis van je huidige config de benodigde tabellen te selecteren.
Importeer hiervoor je huidige OnsDB 4-configuratiebestand. De import gebruikt alleen[onsdb] includeenexclude. Controleer de importmelding en de uiteindelijke tabelselectie vóór het vastzetten van de versie.
Bij een import metexcludewordt een vaste selectie van de huidige tabellen opgeslagen. Nieuwe tabellen uit toekomstige datamodellen worden dus niet automatisch toegevoegd, zoals in OnsDB 4 bij een uitsluitend lokaleexclude-lijst. Voeg ze later toe in een nieuwe versie van de koppeling en regel daarvoor opnieuw toestemming. Kies alleen Use all OnsDB tables als je ook alle toekomstige tabellen nodig hebt.
- Zo niet, moeten de tabellen handmatig toegevoegd worden via
+. Zoek de exacte tabelnaam, bijvoorbeeldclients. De afbeelding toont de plaats van de zoekfunctie:
- Er zullen uitzonderingen zijn waarbij de OnsDB client alle tabellen nodig heeft. Over het algemeen wordt afgeraden dit te gebruiken i.v.m. dataminimalisatie. Dit is in te stellen via:

- Maakt je huidige OnsDB-client gebruik van de
- Zodra de tabelselectie compleet is, kan de de versie vastgezet worden met
lock version. Na het vastzetten van de versie is deze niet meer te wijzigen. Mochten er wijzigingen nodig zijn, dan dient er een nieuwe versie gemaakt te worden voor de koppeling.
Een koppelpartner kan vooraf op development testen metTE1002, zonder de versie vast te zetten. Een zorgorganisatie gebruikt haar eigen test- of productieomgeving. Daarvoor moet de versie wel vastgezet worden.
Een versie kan als volgt vastgezet worden:
Stap 2. Installeer OnsDB 5
Installeer de OnsDB 5-client in een aparte map en maak een kopie van het bestaande OnsDB 4-configuratiebestand. Gebruik die kopie als uitgangspunt voor de nieuwe configuratie.
Controleer eerst de platformvereisten: De macOS-client vereist nu macOS 13 Ventura of nieuwer. Gebruik op Windows Windows 10 of Windows Server 2016 of nieuwer.
Voor SQL Server op Windows is een 64-bits ODBC-driver en gegevensbron nodig. Maak een bestaande 32-bits gegevensbron opnieuw aan in de 64-bits ODBC-beheerder, ook als je dezelfde naam gebruikt. Zie Databaseconfiguratie. De ondersteunde Linux-configuratie staat in de installatiehandleiding.
Stap 3. Werk het configuratiebestand bij
OnsDB 5 weigert onbekende instellingen. Verwijder de hieronder genoemde oude instellingen ook als ze een lege waarde hebben. Het bestand moet de extensie .cfg hebben; hernoem bijvoorbeeld onsdb.ini naar onsdb.cfg en pas ook de opdracht in je geplande taak aan.
- [onsdb] stage: vul de omgeving in:
development,stagingofproduction. OnsDB 5 gebruikt één executable voor alle omgevingen; deze instelling bepaalt de omgeving. - [onsdb] customer-code: vul de klantcode van de gekozen omgeving in. Gebruik
TE1002om te testen op de development omgeving. Deze waarde vervangt de voormalige instellingurlom de omgeving te identificeren; verwijderurldaarom uit het configuratiebestand. - [onsdb] connector: vul de technische naam van de koppeling uit het Ons API Dashboard in. De technische naam van de koppeling is op de volgende plek in het Ons API Dashboard te vinden (weet je niet meer hoe je op de koppeling pagina komt, bekijk dan stap 1):

- [onsdb] email Moet worden verwijderd. OnsDB 5 verstuurt geen rapporten meer per e-mail. Gebruik eventueel [onsdb] report-file om na iedere run een rapportbestand op te slaan, bijvoorbeeld
report-file = onsdb-report-{date}.txt. Dit bestand bevat dezelfde informatie als het email-rapport van OnsDB 4 en kan door eigen tooling worden uitgelezen om een notificatie te versturen. In de bestandsnaam wordt{date}vervangen door de startdatum van de run. - [onsdb] workers: vervang door download-workers. Dit bepaalt het aantal gelijktijdige downloads. Kies een waarde van 1 tot en met 4; de standaardwaarde is 4. Het aantal workers voor het schrijven naar de database kan apart met [database] workers worden ingesteld.
- [onsdb] threads: verwijder deze instelling. Deze oude instelling bepaalde het aantal processorthreads en heeft geen directe vervanger. Heb je alleen threads ingesteld en geen workers, dan kun je download-workers weglaten om de standaardwaarde 4 te gebruiken.
- [onsdb] daysize: verwijder deze instelling. OnsDB 5 gebruikt geen instelbare dagvensters meer om downloads op te delen.
- [onsdb] exclude-retrieval-by-date: verwijder deze instelling. Globale start- en end-grenzen gelden voor alle resources die datumfilters ondersteunen. Zet voor een uitgezonderde tabel
start =enend =in de betreffende[resource.<tabelnaam>]-sectie om beide grenzen onbegrensd te maken. Je kunt ook één grens leegmaken; een weggelaten instelling blijft de globale grens erven. Zie Instellingen per resource. - [onsdb] start en end: de standaardperiode blijft gelijk aan OnsDB 4: 1 januari van het vorige jaar tot en met gisteren. Ontbrekende of uitgecommentarieerde instellingen gebruiken deze standaardwaarden (
start = now/y-1yenend = now-1d). Een expliciet lege waarde maakt de betreffende grens onbegrensd; zet zowelstart =alsend =om de volledige periode op te halen. Een ontbrekende resourcegrens erft de globale grens; een expliciet lege resourcegrens maakt alleen voor die tabel de grens onbegrensd. - [certificate] email, name en tel moeten worden verwijderd. OnsDB 5 gebruikt deze instellingen niet meer voor het certificaat.
- [database] host en opts worden niet meer ondersteund. Hernoem ze naar respectievelijk
hostnameenoptions. Staan beide namen al in het bestand, behoud dan de bestaande waarde vanhostnameofoptionsen verwijder de oude alias; deze bestaande waarde had ook in OnsDB 4 voorrang. - [onsdb] include, exclude: controleer na het importeren de tabelselectie in het Ons API Dashboarde lokale
includeenexcludekunnen de daar verleende toegang alleen verder beperken. Een tabel inincludedie niet beschikbaar is, of ook doorexcludewordt uitgesloten, laat OnsDB stoppen voordat de doel-database wordt gewijzigd. Onbekende namen inexcludeworden genegeerd; controleer ze daarom zelf. - [onsdb] schema-version: controleer of een vastgezet datamodel nog beschikbaar is voor de gekozen omgeving. Gebruik na de certificaataanvraag
--list-versionszoals beschreven in Beschikbare datamodellen. Kies zo nodig een ondersteunde versie en controleer je queries, of laat de instelling weg om het nieuwste datamodel te gebruiken. - [onsdb] pagesize: een ingestelde geldige waarde kan blijven staan. Zonder instelling is de standaardwaarde nu 200.000 in plaats van 50.000; de maximale waarde is 1.000.000. Ook datumgebonden tabellen worden automatisch opgehaald zonder de oude dagvensters. Controleer de doorlooptijd met je eigen tabelselectie.
- [onsdb] drop-unselected-tables: net als OnsDB 4 verwijdert OnsDB 5 standaard tabellen die niet bij de download horen, ook eigen tabellen. Nieuw is dat
falsedit uitzet; doe dat vóór de eerste run als de database eigen tabellen bevat.
Andere instellingen kunnen blijven staan: [onsdb] proxy en timezone, [database] type, odbc, username, password, database, hostname, port en options, en [certificate] identifier. Pas de databaseverwijzing wel aan voor de aparte eerste download. Stel numerieke waarden en datums in volgens de configuratiereferentie; OnsDB 5 controleert onder meer dat start niet na end ligt.
Controleer ook waarden die geheel tussen aanhalingstekens of backticks staan. OnsDB 4 behandelde die tekens als onderdeel van de waarde; OnsDB 5 leest ze als INI-notatie en verwijdert de omringende tekens. Bevat bijvoorbeeld het echte databasewachtwoord zulke tekens aan beide uiteinden, geef dan de exacte waarde via ONSDB_DATABASE_PASSWORD mee. Omgevingsvariabelen en --set worden niet als INI-waarden uitgepakt. Tekens zoals #, ; en een afsluitende backslash blijven in het configuratiebestand onderdeel van de waarde; zet opmerkingen op een eigen regel.
Stap 4. Start OnsDB 5 eenmaal
Start de OnsDB 5-client eenmalig om de certificaataanvraag te maken. Bevestig via de link die OnsDB logt in het Ons API Dashboard dat de aanvraag door de juiste partij is gedaan. Zodra via Ons Podium toestemming is gegeven om de OnsDB-client voor de gekozen omgeving te gebruiken, start je OnsDB opnieuw; de OnsDB run kan dan beginnen.
Neem het OnsDB 4-certificaat en de private key niet over. OnsDB 5 maakt in de nieuwe map zelf de map ssl aan voor zijn certificaat en sleutels. De eerste aanvraag stopt met exitcode 1 zolang de bevestiging of toestemming ontbreekt; dat is op dit moment verwacht.
Let op
Een certificaat is één jaar geldig. Eén maand vóór de verloopdatum start OnsDB automatisch een aanvraag voor een nieuw certificaat met een nieuw sleutelpaar. De enige benodigde handeling is het bevestigen van deze aanvraag via de link die de OnsDB-client logt.
Stap 5. Pas de opdracht en eventuele geplande taak aan
- OnsDB 5 geeft exitcode
2terug wanneer de download is afgerond met job- of recordfouten. OnsDB 4 kon dan nog exitcode0teruggeven. Een succesvolle download gevolgd door een rapportfout geeft exitcode3; bij zowel downloadfouten als een rapportfout krijgt code2voorrang. Als de opdracht niet normaal kan worden afgerond, geeft OnsDB exitcode1terug. Waarschuwingen tijdens de download blijven exitcode0toestaan. Controleer of je script of geplande taak hiermee rekening houdt. Zie Exitcodes. - In OnsDB 4 werd het configuratiebestand als los argument meegegeven, zoals:
onsdb.exe onsdb.cfg. In OnsDB 5 kan--configworden gebruikt, bijvoorbeeld:onsdb.exe --config onsdb_config.cfg. Als deze niet expliciet wordt meegegeven, wordt standaardonsdb.cfggebruikt. - De oude versieopdracht
onsdb.exe onsdb.cfg -list-versionswordtonsdb.exe --config onsdb.cfg --list-versions. De oude opdracht-speedtestis niet meer beschikbaar. - Gebruik desgewenst
--set categorie.instelling=waardevoor een runtimewaarde, bijvoorbeeld een databasewachtwoord (--set database.password=secret). Een waarde van--setoverschrijft dezelfde instelling in het configuratiebestand.--setkan meerdere keren herhaald worden om meerdere instellingen via de CLI mee te geven. - Een instelling kan ook met een omgevingsvariabele worden overschreven, bijvoorbeeld
ONSDB_DATABASE_PASSWORD. GebruikONSDB_, gevolgd door de sectienaam en instelling in hoofdletters; vervang.en-door_. Omgevingsvariabelen hebben voorrang op het configuratiebestand, maar--setheeft voorrang op beide. - Stel de werkmap van de geplande taak expliciet in op de nieuwe OnsDB-map en voorkom dat downloads overlappen.
Stap 6. Controleer de eerste run voordat je de geplande taak inschakelt
- Controleer de log en, indien ingesteld, het lokale rapportbestand op fouten.
- Controleer of alle verwachte tabellen in de doel-database aanwezig zijn.
- SQL Server-datum-tijdkolommen gebruiken in OnsDB 5
DATETIME2(3)in plaats vanDATETIME. Dit bewaart milliseconden en ondersteunt datums vanaf0001-01-01. Datumkolommen blijvenDATE. Controleer of eigen queries en tooling met deze kolomtypen werken. - Controleer of de gegevens tot en met de verwachte einddatum zijn opgehaald.
- Vergelijk, waar mogelijk, de aantallen records met de laatste succesvolle OnsDB 4-run.
Schakel pas daarna de geplande taak voor OnsDB 5 in en zet OnsDB 4 uit.