Officient logoAS

Absence reporting (SIVI)

Officient to the occupational health service via SIVI: absence periods from Exact Officient as absence reports

With an integration between Officient and the occupational health service, the absence periods HR records in Exact Officient automatically become sick, change or recovery reports at the health service, in the SIVI format. A period without an end date stays open at the health service; as soon as Officient closes the period, the recovery report follows.

What the integration does

Organisations that use Exact Officient for HR and absence, and have a health service with SIVI messages, record a sickness report in Officient and then also enter it in the health service portal. With a relapse after recovery, the health service often does not know it is the same absence.

  1. At the start we check that the Officient account has the absence module and which employees fall under the health service.
  2. KoppelHet reads the absence periods of this and last year per employee.
  3. A new open period becomes a sickness report, with a shorter first day if someone went home halfway.
  4. A partly closed period becomes a change; a closed period a recovery report.
  5. A period that disappears after it was reported goes to HR as a task.
Officient → KoppelHet → Arbodienst (SIVI)SOURCEOfficientTARGETArbodienst (SIVI)Arbodienst (SIVI)KoppelHetmapping · logging · monitoringOfficient → KoppelHet → Arbodienst (SIVI)SOURCEOfficientTARGETArbodienst (SIVI)Arbodienst (SIVI)KoppelHetmapping · logging · monitoring
Out: Absence periods per employee and year · Status open, closed or partly closed · Duration on the first day in minutes · Employee and employment · Return notification from the health service

What to watch for with Officient and Arbodienst (SIVI)

  • Exact Officient has its own list of absence periods, separate from leave. KoppelHet therefore does not need to derive sickness from leave types. If the account has no absence module, the API refuses the request with a message that sickness is not supported; we check that at the start.
  • Officient returns the periods per employee and per calendar year. A sickness that starts in December is in a different list in January. KoppelHet therefore always reads the current and previous year, so an absence across the turn of the year stays one absence case.
  • A period without an end date is still open in Officient. That fits an open absence case at the health service. When the period gets an end date and the status closed, KoppelHet sends the recovery report with the day after the end date as the recovery date.
  • Officient groups periods that belong together, and a period can be partly closed. KoppelHet treats a group as one absence case at the health service and sends a change for a partly closed period, so a relapse does not arrive as a new sickness report.
  • Officient records whether a period covers full days or a custom duration, and how many minutes someone was sick on the first day. Someone who goes home after half a working day therefore gets a first day with the right percentage at the health service.
  • Officient's webhooks cover people and assets, not absence. KoppelHet therefore requests the periods itself, every hour for those already sick and every night for everyone. The OAuth client only gets read rights on the calendar and personal data.

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, architecture and compliance

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.

Price indication · Basic

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

Frequently asked questions

Do we need Officient's absence module?

Yes. Without that module Officient returns no absence periods through the API.

What if someone falls sick again after recovery?

If the new period is in the same group in Officient, it stays one absence case at the health service. Otherwise it becomes a new sickness report.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Exact Officient through the API (https://api.officient.io) with OAuth 2.0 and the scope calendar:read. GET /1.0/calendar/{person_id}/verzuim/{year} returns groups of periods with start_date, end_date (null when there is no end yet), duration_type (all_day or custom), duration_minutes_on_first_day and status (open, closed or partially_closed); 400 with 'Your account doesn't support sickness' without the absence module. People through the people endpoints. Rate limit of 30 calls per 5 seconds.
  • The SIVI messages Employments, Employee data and Absence reports go to the health service, with processing code new, changed or correction, Vangnet J/N (mandatory) 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 OfficientField in Arbodienst (SIVI)Notes
Person idIdentificatie werknemerNo citizen service number
Contract van de persoonIdentificatie dienstverband
Eerste periode van een groepVerzuimgeval identificatiePeriods in one group keep the same absence case
start_date en duration_minutes_on_first_dayDatum eerste verzuimdag
status en duration_typePercentage verzuim
end_date + 1 dagDatum hersteld en Einde verzuim J/NEmpty while end_date is empty
Eigen veld in OfficientVangnet J/N

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.