Absence reporting (SIVI)
Sympa to the occupational health service via SIVI: approved absence as absence reports
With an integration between Sympa and the occupational health service, approved sickness of Dutch employees in Sympa automatically becomes a sick, change or recovery report at the health service, in the SIVI format. The integration only reads the fields your Sympa administrator opens in a dedicated API interface, so no reason or diagnosis.
What the integration does
Organisations that use Sympa for HR and absence in the Netherlands and other countries record sickness in Sympa and then enter it by hand in the health service portal. A recovery date that arrives in Sympa later therefore often reaches the health service too late.
- The Sympa administrator creates an API interface on the employee cards, with only the fields the health service needs.
- Every hour KoppelHet requests the absence rows changed since the previous run, for employees of the Dutch employer.
- Approved sickness goes to the health service as a sickness report, with employment and safety net.
- A new end date or extent becomes a change or recovery report.
- The health service's return notification shows in the KoppelHet platform; a rejected or withdrawn report becomes a task for HR.
What to watch for with Sympa and Arbodienst (SIVI)
- Sympa has no fixed field list for the API. An administrator builds an interface and chooses which fields it contains. For the health service we only open dates, extent, type and employment; reason and comments are not in the interface and therefore cannot leak.
- Every absence row in Sympa has an approval status as a number, from awaiting approval to declined and approved. Only approved rows become a sickness report. If a reported row is later declined, HR gets a task.
- Sympa's API allows at most one hundred requests per hour per interface by default, for reading and writing combined. KoppelHet therefore only fetches the changed rows per run, in large pages, and stays well below the limit.
- Sympa answers API queries from a pre-calculated reporting database. An approval usually appears there within a minute, but sometimes only after half an hour. The integration looks back an hour on every run, so a late approval does not fall between two runs.
- With the since and until parameters Sympa returns rows whose validity overlaps the window, if the table is set up for it. That way the daily check also finds sickness that began long before the window and is still running.
- A filter on a table within the card returns fewer rows in Sympa, but not fewer employees. KoppelHet therefore first filters on the Dutch employer and then on changed absence, so colleagues in Finland or Sweden do not enter the integration.
- The Sympa API activity log only shows the last ten requests. KoppelHet keeps its own record of what was fetched and sent per sickness report, so HR can still see weeks later why a report did or did not reach the health service.
How we build and run it
- The integration runs on the KoppelHet platform, hosted in a data centre in the EU.
- Every sync and every error is visible in the functional log; on an error your administrator is notified.
- A change that cannot go through is not half-applied but queued for another attempt.
- KoppelHet is ISO 27001 certified. Data travels encrypted and stays on the platform no longer than needed.
- After go-live we manage the integration and adjust it when your process changes.
- The integration fits next to your existing integration layer. Only the fields in the design are transferred; the platform keeps no register of its own.
Implementation and price
This is not an app you switch on. We build the integration for your organisation on our platform, with building blocks we reuse on every project. So it is custom work that does not start from scratch.
A consultant prepares the intake and analyses both systems. We then record the mapping and exceptions field by field, test in the test or acceptance environment and go live at a moment you choose. Costs are a one-off amount for the setup and a monthly amount for platform, monitoring and support.
Frequently asked questions
Who creates the API interface in Sympa?
Your Sympa administrator, in Settings under API. We supply the list of fields.
How quickly does the health service know?
Usually within an hour of approval in Sympa.
Does the absence reason go along?
No. It is not in the interface and stays in Sympa.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Sympa Integration API (OData v4 subset) on a dedicated interface under https://api.sympahr.net/api, with X-ApiKey or basic authentication (key and secret). Reading with $filter (eq, gt, ge, and, or; no in), $top, $skip, $orderby, $count, $expand on the absence table with a filter on modified, and since/until for validity. Approval per table row as a number (0 Undef, 1 WaitingSave, 2 WaitingRequest, 3 WaitingApproval, 4 Declined, 5 Approved). By default 100 requests per hour per interface.
- The SIVI messages Employments, Employee data and Absence reports go to the health service, with Vangnet J/N (mandatory), organisational unit and a cause code without diagnosis. Transport under the SIVI 2025 interface specification (REST endpoint at the health service, XML in Base64 inside JSON, OAuth 2.0), with a return and processing message back.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Sympa | Field in Arbodienst (SIVI) | Notes |
|---|---|---|
Uniek veld van de medewerkerskaart | Identificatie werknemer | No citizen service number |
Dienstverband bij de Nederlandse werkgever | Identificatie dienstverband | |
Begindatum afwezigheidsregel | Datum eerste verzuimdag | |
Omvang van de afwezigheid | Percentage verzuim | |
Einddatum + 1 dag | Datum hersteld en Einde verzuim J/N | |
Afwezigheidssoort | Filter op ziekte | Not sent itself |
Goedkeuring (5 = goedgekeurd) | Alleen goedgekeurde regels | |
Eigen veld in Sympa | Vangnet J/N | Set up at the start |
Related
Greenhouse → Sympa
Greenhouse to Sympa integration: hired candidate as a data card with contract row in Sympa
Recruitee → Sympa
Recruitee to Sympa integration: hired candidates as a data card in Sympa
SmartRecruiters → Sympa
SmartRecruiters to Sympa integration: ready to onboard becomes a data card in Sympa
Sympa → 4PS Construct
Sympa to 4PS Construct integration: fitters of the Dutch employer from Sympa in 4PS, with cost centre as a dimension