Uitwisselprofiel ActiZ Belangenbehartiging

Over Uitwisselprofiel ActiZ Belangenbehartiging


Publicatiedatum:
22-01-2026

Inwerkingtreding:
01-02-2026

2.8. Wat is de verzuimfrequentie (excl. zwangerschapsverlof)?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: ActiZ 2.8
2# Parameters: ?jaar, ?kwartaal
3# Ontologie: versie 3.0 of nieuwer
4
5PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
6PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
7PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
8PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
9PREFIX onz-g: <http://purl.org/ozo/onz-g#>
10PREFIX onz-org: <http://purl.org/ozo/onz-org#>
11PREFIX onz-zorg: <http://purl.org/ozo/onz-zorg#>
12
13SELECT 
14    (?vestiging AS ?Indeling)
15	(?zk_regio_code AS ?Zorgkantoorregio_code)
16    (COUNT(DISTINCT ?persoon) AS ?Aantal_personeelsleden_in_loondienst)
17    (SUM(?meldingen) AS ?Aantal_nieuwe_ziekmeldingen)
18    (IF(COUNT(DISTINCT ?persoon)=0,
19        "Ongedefinieerd",
20        (ROUND( ( (xsd:decimal(SUM(?meldingen)) / xsd:decimal(COUNT(DISTINCT ?persoon))) * 100.0 ) * 100.0 ) / 100.0)
21    ) AS ?Verzuimfrequentie)
22{
23    {
24        SELECT 
25        	?zk_regio_code
26            ?persoon
27            ?vestiging
28            (COUNT(DISTINCT ?ziekte) AS ?meldingen)
29        {
30			#BIND(2024 AS ?jaar)
31            #BIND("Q1" AS ?kwartaal)
32
33            BIND(
34                IF(?kwartaal = 'Q1', xsd:date(CONCAT(STR(?jaar), '-01-01')),
35                IF(?kwartaal = 'Q2', xsd:date(CONCAT(STR(?jaar), '-04-01')),
36                IF(?kwartaal = 'Q3', xsd:date(CONCAT(STR(?jaar), '-07-01')),
37                IF(?kwartaal = 'Q4', xsd:date(CONCAT(STR(?jaar), '-10-01')),
38                '')))) AS ?start_periode)
39            BIND(?start_periode + "P3M"^^xsd:duration + "-P1D"^^xsd:duration AS ?eind_periode)
40
41            ?overeenkomst 
42                a onz-pers:ArbeidsOvereenkomst ; # personeel in loondienst
43                onz-pers:heeftOpdrachtnemer ?persoon ;
44                onz-g:hasPart ?overeenkomst_afspraak .
45            ?overeenkomst_afspraak
46                a onz-pers:WerkOvereenkomstAfspraak ;
47                onz-g:isAbout ?locatie ;
48                onz-g:startDatum ?start_afspraak .
49            OPTIONAL {?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak}
50            FILTER (?start_afspraak <= ?eind_periode && ((!BOUND(?eind_afspraak)) || (?eind_afspraak >= ?start_periode)))
51			
52            OPTIONAL {
53                  VALUES ?type_verzuim {
54                    onz-pers:ZiektePeriode
55                    # onz-pers:ZwangerschapsVerlof
56                  }
57
58                  ?ziekte
59                    a ?type_verzuim ;
60                    onz-g:definedBy ?overeenkomst ;
61                    onz-g:startDatum ?start_ziekte_periode .
62
63                  # Alleen nieuwe ziekmeldingen binnen meetperiode
64                  FILTER(?start_ziekte_periode >= ?start_periode && ?start_ziekte_periode <= ?eind_periode)
65
66                  # Zorg dat ziekmelding valt binnen looptijd van de afspraak 
67                  FILTER(?start_ziekte_periode >= ?start_afspraak && ( !BOUND(?eind_afspraak) || ?start_ziekte_periode <= ?eind_afspraak )
68                  )
69                }
70
71          {
72           # Tak 1: echte vestiging + afleiding zorgkantoorregio
73           ?locatie onz-g:partOf* ?vestiging_uri .
74           ?vestiging_uri a onz-org:Vestiging ;
75           onz-g:identifiedBy ?vest_nr ;
76           onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 .
77           ?vest_nr a onz-org:Vestigingsnummer ; onz-g:hasDataValue ?vestiging .
78
79           BIND(IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode)
80           ?pc_gebied onz-g:identifiedBy ?postcode ; onz-g:partOf+ ?zk_regio .
81           ?zk_regio a onz-org:ZorgkantoorRegio .
82           }
83           UNION
84           {
85           # Tak 2: totaal organisatie, laat ?zk_regio ongebonden (leeg in output)
86           ?locatie onz-g:partOf* ?vestiging_uri .
87           ?vestiging_uri onz-org:vestigingVan ?organisatie_uri .
88           BIND("Totaal organisatie" AS ?vestiging)
89           }
90
91           BIND(IF(BOUND(?zk_regio), STRAFTER(STR(?zk_regio), "/onz-org/"), ?unbound) AS ?zk_regio_code)
92        }
93        GROUP BY ?persoon ?vestiging ?zk_regio_code
94    }
95}
96GROUP BY ?vestiging ?zk_regio_code
97ORDER BY ?vestiging 
98