- API
- REST met JSON, sinds medio 2024 alleen nog JSON. De paden beginnen met /v0/ en de naam van de applicatie, zoals /v0/administration/clients. Er zijn geen versienummers: een resource wordt zes maanden voor verwijdering als verouderd gemarkeerd, en het technisch contact in het Ons API Dashboard krijgt bericht. Nieuwe resources voegt Nedap zonder aankondiging toe.
- Authenticatie
- Mutual TLS met een clientcertificaat dat de certificaatautoriteit van Nedap ondertekent. De leverancier maakt zelf de private sleutel en een CSR en uploadt alleen de CSR; de sleutel deelt hij met niemand, ook niet met Nedap. Toegang tot een test- of productieomgeving begint pas na toestemming van de zorgorganisatie in Ons Podium. Volgens het supportportaal is het certificaat pas dan te downloaden; volgens de documentatiesite van de Ons API wordt een globaal of connectorcertificaat direct ondertekend, maar geeft het zonder die toestemming geen toegang.
- Geldigheid
- Hier zijn de pagina’s van Nedap het niet eens. Het supportportaal noemt één certificaat per omgeving per zorgorganisatie, jaarlijks te vernieuwen. De documentatiesite van de Ons API noemt drie bereiken: een globaal certificaat voor alle connectors van een leverancier (90 dagen), een certificaat per connector (180 dagen) en een per klantomgeving (365 dagen). Nedap mailt een maand voor het verlopen.
- Omgevingen
- Drie vaste omgevingen: ontwikkeling met fictieve data, staging (de testomgeving van een zorgorganisatie, volgens Nedap meestal met gegevens uit productie) en productie. Een softwareleverancier krijgt de ontwikkelomgeving pas na de intake; een zorgorganisatie die zelf ontwikkelt, werkt op haar eigen test- en productieomgeving, want de algemene ontwikkelomgeving van Nedap hoort daar niet bij. Een conceptversie werkt alleen op de ontwikkelomgeving; voor een test- of productieomgeving moet de versie eerst vastgezet zijn. De schakelaar Sandbox mode is geen aparte omgeving maar een filter op de connector, en de twee documentaties beschrijven aan en uit precies andersom; beide zeggen dat hij uit moet voor productie.
- Toegang
- Bedoeld voor een externe partij die altijd namens minstens één zorgorganisatie werkt. Na de intake tekenen leverancier en Nedap een aansluitovereenkomst. Elke versie zet de leverancier zelf vast. Voordat een versie naar het volgende stadium gaat, beoordeelt Nedap haar volgens de artikelen over webhooks, rechten en OnsDB-tabellen, en het supportartikel over API-koppelingen noemt een reviewproces; de beschrijving van de ontwikkelstadia noemt alleen bij de intake waarop Nedap beoordeelt. Een vastgezette versie is niet meer te wijzigen. Een zorgorganisatie kan ook zelf voor haar eigen omgevingen ontwikkelen; dan krijgen alleen haar eigen medewerkers toegang tot het Ons API Dashboard, en een externe partij die voor haar in het dashboard werkt, meldt zich als koppelpartner zelf via de intake aan. Dat die eigen medewerkers geen intake nodig hebben, beschrijft Nedap in zijn artikelen over OnsDB 5. Of dat ook voor andere koppelingen geldt, en of een externe ontwikkelaar die zonder toegang tot het dashboard alleen de code schrijft, zoals ik, als koppelpartner geldt, zeggen de pagina’s van Nedap niet; dat vraag ik bij Nedap na voordat ik begin. De zorgorganisatie geeft per versie en per omgeving toestemming in Ons Podium, sinds 5 september 2025 zonder supportticket, door een medewerker met de taak Toestemming voor externe koppelingen beheren.
- Limieten
- Per connector vier gelijktijdige aanroepen per certificaat; alleen die limiet handhaaft Nedap nu. Honderd aanroepen per seconde en tienduizend seconden aanroeptijd per dag staan erbij, maar worden nog niet gehandhaafd. Wie te veel vraagt, krijgt een 429.
- Webhooks
- Ondertekend met HMAC-SHA512. Een melding over een record bevat alleen het type en het id; de eigen meldingen van Nedap, zoals over roosters, hebben een kleine payload met ids en datums. Een melding mislukt zonder 200 binnen drie seconden en wordt niet automatisch herhaald; mislukte meldingen bewaart Nedap 24 uur en zijn dan opnieuw op te vragen. Meldingen komen alleen uit omgevingen met een actief certificaat, en de volgorde is niet gegarandeerd.
- Gegevens beperken
- Een connector krijgt alleen de modellen, handelingen en velden uit zijn specificatie. Losse OnsDB-tabellen geven altijd alle velden, want daarop filtert Nedap niet, en Nedap raadt ze alleen aan als een API-model de gegevens niet heeft. Het filteren van velden geldt alleen voor lezen: een PUT of POST op een model waarvan de koppeling niet alle velden ziet, kan verborgen velden leegmaken.
- Wat niet kan
- De Ons API is niet geschikt om gegevens uit te wisselen tussen verschillende zorgorganisaties. Nedap geeft zelf geen ondersteuning bij het uitwerken van een use case en verwijst naar zijn integratiepartners: drie op het supportportaal, vier op de documentatiesite van de Ons API.
- Kosten
- Het opzetten en activeren van koppelingen via de Ons API is volgens Nedap kosteloos. Een plek in Ons Podium is voor leveranciers een betaald pakket, Basis of Plus. Voor zorgorganisaties is Ons Podium gratis, al kunnen diensten in Ons Podium licenties of eenmalige kosten rekenen. Een eigen testomgeving vraagt een zorgorganisatie via een ticket aan, en Nedap rekent daarvoor kosten vanaf de activering.
- Hosting
- Nedap Healthcare host Nedap Ons op eigen servers en netwerkapparatuur in meerdere datacenters van juridisch gescheiden leveranciers, verspreid over Nederland, en treedt meestal op als verwerker. Nedap Healthcare noemt onder meer ISO 27001, ISO 27701 en NEN 7510.
- Bereik
- Nedap noemt meer dan 1900 zorginstellingen en zo’n 400.000 zorgcollega’s die Nedap Ons dagelijks gebruiken, en meer dan 300 koppelingen.