Let op: dit is een oudere versie van deze publicatie. Ga naar de laatste versie

Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

13.4.0 Percentage doorstroom personeel in loondienst naar aflopend kwalificatieniveau

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 13.4
2# Parameters: $(peildatum)
3# Ontologie: versie 2.0.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-zorg: <http://purl.org/ozo/onz-zorg#>
11
12SELECT 
13	(SUM(?daling_kwalificatieniveau) AS ?teller)
14	(SUM(?aantal_medewerkers) AS ?noemer)
15	(SUM(?daling_kwalificatieniveau)/SUM(?aantal_medewerkers) AS ?indicator)
16WHERE
17{   
18    {
19        SELECT 
20            ?medewerker
21            (MIN(?niveau_number) AS ?kwalificatie_peildatum)
22        WHERE
23        {   
24            # definieer peildatum
25            BIND($(peildatum) AS ?peildatum)
26
27            # selecteer medewerkers met functie
28            ?medewerker 
29                a onz-g:Human ;
30                ^onz-pers:heeftOpdrachtnemer/ onz-g:isAbout ?functie .
31            
32            # selecteer werkovereenkomsten waarbij werknemer een zorgverlenerfunctie heeft
33            ?functie 
34                a onz-pers:ZorgverlenerFunctie ;  
35                onz-g:startDatum ?start_functie ;
36                a/ onz-g:hasQuality /onz-g:hasQualityValue ?functie_niveau .
37            OPTIONAL {?functie a onz-pers:ZorgverlenerFunctie ; 
38                onz-g:eindDatum ?eind_functie}
39           
40            # selecteer kwalificatie niveau en converteer naar integer
41            ?functie_niveau
42                a onz-pers:ODBKwalificatieWaarde ;
43                rdfs:label ?niveau .
44            BIND(xsd:integer(REPLACE(?niveau, "\\D+", "")) AS ?niveau_number)
45            
46            # filter medewerkers met kwalificatieniveau 1 t/m 6
47            FILTER((?niveau_number >=1) && (?niveau_number <=6))
48            
49            # filter de functies relevant tijdens de peildatum
50            FILTER (?start_functie <= ?peildatum && ((?eind_functie >= ?peildatum)||(!BOUND(?eind_functie))))
51        }
52        GROUP BY ?medewerker 
53	}
54    {
55        SELECT 
56            ?medewerker
57            (MIN(?niveau_number) AS ?kwalificatie_kwartaal)
58        WHERE
59        {    
60            # definieer peildatum  
61            BIND($(peildatum) AS ?peildatum)
62
63            # functie om kwartaal eerder de berekenen 
64            BIND((?peildatum - "P3M"^^xsd:duration) AS ?kwartaal_datum)
65            
66            # selecteer medewerkers met functie
67            ?medewerker 
68                a onz-g:Human ;
69                ^onz-pers:heeftOpdrachtnemer/ onz-g:isAbout ?functie .
70            
71            # selecteer werkovereenkomsten waarbij werknemer een zorgverlenerfunctie heeft
72            ?functie 
73                a onz-pers:ZorgverlenerFunctie ;  
74                onz-g:startDatum ?start_functie ;
75                a/ onz-g:hasQuality /onz-g:hasQualityValue ?functie_niveau .
76            OPTIONAL {?functie a onz-pers:ZorgverlenerFunctie ; 
77                onz-g:eindDatum ?eind_functie}
78            
79            # selecteer kwalificatie niveau en converteer naar integer
80            ?functie_niveau
81                a onz-pers:ODBKwalificatieWaarde ;
82                rdfs:label ?niveau .
83            BIND(xsd:integer(REPLACE(?niveau, "\\D+", "")) AS ?niveau_number)
84            
85            # filter medewerkers met kwalificatieniveau 1 t/m 6
86            FILTER((?niveau_number >=1) && (?niveau_number <=6))
87            
88            # filter de functies relevant tijdens de kwartaal_datum
89            FILTER (?start_functie <= ?kwartaal_datum && ((?eind_functie >= ?kwartaal_datum)||(!BOUND(?eind_functie))))
90        }
91        GROUP BY ?medewerker
92	}
93    # definieer teller en noemer
94    BIND(1 AS ?aantal_medewerkers)
95    BIND(IF(?kwalificatie_kwartaal > ?kwalificatie_peildatum, 1, 0) AS ?daling_kwalificatieniveau)
96}
97

Heb je feedback?

Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!