Uitwisselprofiel Ministerie van VWS Beleidsontwikkeling over Macro Economische Vraagstukken en Arbeidsmarkt

Over Uitwisselprofiel Ministerie van VWS Beleidsontwikkeling over Macro Economische Vraagstukken en Arbeidsmarkt


Publicatiedatum:
19-11-2025

Inwerkingtreding:
19-11-2025

2.20. Wat is het percentage instroom van niet-zorggerelateerd personeel in loondienst?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: MEVA 2.20
2# Parameters: ?jaar
3# Ontologie: versie 3.0 of nieuwer
4
5PREFIX onz-g:   <http://purl.org/ozo/onz-g#>
6PREFIX onz-pers:<http://purl.org/ozo/onz-pers#>
7PREFIX onz-org: <http://purl.org/ozo/onz-org#>
8PREFIX xsd:     <http://www.w3.org/2001/XMLSchema#>
9
10SELECT
11  ?Periode
12  ("Organisatie" AS ?Indeling)
13  ?Aantal_PIL_zonder_zorgfunctie
14  ?Aantal_ingestroomde_PIL_zonder_zorgfunctie
15  ?Percentage_Instroom
16WHERE {
17  {
18    # Kwartaalgegevens
19    SELECT
20      ?Periode
21      (SUM(?noemer_waarde) AS ?Aantal_PIL_zonder_zorgfunctie)
22      (SUM(?teller_waarde) AS ?Aantal_ingestroomde_PIL_zonder_zorgfunctie)
23      (IF(SUM(?noemer_waarde) = 0,
24          "Ongedefinieerd",
25          ROUND( (100.0 * SUM(?teller_waarde) / SUM(?noemer_waarde)) * 100 ) / 100
26         ) AS ?Percentage_Instroom)
27    WHERE {
28      {
29        SELECT
30          ?Periode
31          ?werknemer
32          (IF(MAX(?op_peildatum_eerder) = 1, 1, 0) AS ?noemer_waarde)
33          (IF(MAX(?op_peildatum_eerder) = 0 && MAX(?op_peildatum_later) = 1, 1, 0) AS ?teller_waarde)
34        WHERE {
35          #BIND(2024 AS ?jaar)
36          VALUES ?kw { 1 2 3 4 }
37
38          # Eerste dag van het kwartaal
39          BIND( xsd:date(CONCAT(STR(?jaar), "-",
40            IF(?kw=1,"01-01", IF(?kw=2,"04-01", IF(?kw=3,"07-01","10-01")))
41          )) AS ?p_start )
42
43          # Eerste dag van het opvolgende kwartaal
44          BIND( ?p_start + "P3M"^^xsd:duration AS ?p_next )
45          BIND( CONCAT("Q", STR(?kw)) AS ?Periode )
46
47          # ArbeidsOvereenkomst + afspraken zonder zorgverlenersfunctie
48          ?overeenkomst
49            a onz-pers:ArbeidsOvereenkomst ;
50            onz-pers:heeftOpdrachtnemer ?werknemer ;
51            onz-g:hasPart ?overeenkomst_afspraak .
52          ?overeenkomst_afspraak
53            a onz-pers:WerkOvereenkomstAfspraak ;
54            onz-g:isAbout ?functie ;
55            onz-g:startDatum ?start_afspraak .
56          OPTIONAL { ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak . }
57
58          ?functie a onz-g:OccupationalPositionRole .
59          FILTER NOT EXISTS { ?functie a onz-pers:ZorgverlenerFunctie }
60
61          # Geldig op eerste dag van het kwartaal (noemer)
62          BIND( IF(?start_afspraak <= ?p_start && (!BOUND(?eind_afspraak) || ?eind_afspraak >= ?p_start), 1, 0) AS ?op_peildatum_eerder )
63
64          # Geldig op eerste dag van het volgende kwartaal (teller)
65          BIND( IF(?start_afspraak <= ?p_next  && (!BOUND(?eind_afspraak) || ?eind_afspraak >= ?p_next ), 1, 0) AS ?op_peildatum_later )
66        }
67        GROUP BY ?Periode ?werknemer
68      }
69    }
70    GROUP BY ?Periode
71  }
72  UNION
73  {
74    # Gemiddelde per jaar
75    SELECT
76        ("Gemiddelde per jaar" AS ?Periode)
77      (ROUND(AVG(?Aantal_PIL_zonder_zorgfunctie_temp) * 100) / 100 AS ?Aantal_PIL_zonder_zorgfunctie)
78      (ROUND(AVG(?Aantal_ingestroomde_PIL_zonder_zorgfunctie_temp) * 100) / 100 AS ?Aantal_ingestroomde_PIL_zonder_zorgfunctie)
79      (ROUND(AVG(?Percentage_Instroom_temp) * 100) / 100 AS ?Percentage_Instroom)
80    WHERE {
81      {
82        SELECT
83          ?Periode_temp
84          (SUM(?noemer_waarde) AS ?Aantal_PIL_zonder_zorgfunctie_temp)
85          (SUM(?teller_waarde) AS ?Aantal_ingestroomde_PIL_zonder_zorgfunctie_temp)
86          (IF(SUM(?noemer_waarde) = 0,
87              0,
88              (100.0 * SUM(?teller_waarde) / SUM(?noemer_waarde))
89             ) AS ?Percentage_Instroom_temp)
90        WHERE {
91          {
92            SELECT
93              ?Periode_temp
94              ?werknemer
95              (IF(MAX(?op_peildatum_eerder) = 1, 1, 0) AS ?noemer_waarde)
96              (IF(MAX(?op_peildatum_eerder) = 0 && MAX(?op_peildatum_later) = 1, 1, 0) AS ?teller_waarde)
97            WHERE {
98              #BIND(2024 AS ?jaar)
99              VALUES ?kw { 1 2 3 4 }
100
101              # Eerste dag van het kwartaal
102              BIND( xsd:date(CONCAT(STR(?jaar), "-",
103                IF(?kw=1,"01-01", IF(?kw=2,"04-01", IF(?kw=3,"07-01","10-01")))
104              )) AS ?p_start )
105
106              # Eerste dag van het opvolgende kwartaal
107              BIND( ?p_start + "P3M"^^xsd:duration AS ?p_next )
108              BIND( CONCAT("Q", STR(?kw)) AS ?Periode_temp )
109
110              # ArbeidsOvereenkomst + afspraken zonder zorgverlenersfunctie
111              ?overeenkomst
112                a onz-pers:ArbeidsOvereenkomst ;
113                onz-pers:heeftOpdrachtnemer ?werknemer ;
114                onz-g:hasPart ?overeenkomst_afspraak .
115              ?overeenkomst_afspraak
116                a onz-pers:WerkOvereenkomstAfspraak ;
117                onz-g:isAbout ?functie ;
118                onz-g:startDatum ?start_afspraak .
119              OPTIONAL { ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak . }
120
121              ?functie a onz-g:OccupationalPositionRole .
122              FILTER NOT EXISTS { ?functie a onz-pers:ZorgverlenerFunctie }
123
124              # Geldig op eerste dag van het kwartaal (noemer)
125              BIND( IF(?start_afspraak <= ?p_start && (!BOUND(?eind_afspraak) || ?eind_afspraak >= ?p_start), 1, 0) AS ?op_peildatum_eerder )
126
127              # Geldig op eerste dag van het volgende kwartaal (teller)
128              BIND( IF(?start_afspraak <= ?p_next  && (!BOUND(?eind_afspraak) || ?eind_afspraak >= ?p_next ), 1, 0) AS ?op_peildatum_later )
129            }
130            GROUP BY ?Periode_temp ?werknemer
131          }
132        }
133        GROUP BY ?Periode_temp
134      }
135    }
136  }
137}
138ORDER BY 
139  (IF(?Periode = "Gemiddelde per jaar", 5, 
140     IF(?Periode = "Q1", 1, 
141        IF(?Periode = "Q2", 2, 
142           IF(?Periode = "Q3", 3, 4)))))