Uitwisselprofiel Kwaliteitsbeeld

Voorbeeld 2 Wat is het aantal medewerkers met een zorgverlener functie per kwalificatieniveau per soort werkovereenkomst?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Kwaliteitsbeeld Voorbeeld 2 Wat is het aantal medewerkers met een zorgverlener functie per kwalificatieniveau per soort werkovereenkomst?
2# Parameters: ?peildatum
3# Ontologie: versie 3.0 of nieuwer
4
5PREFIX onz-g: <http://purl.org/ozo/onz-g#>
6PREFIX onz-org: <http://purl.org/ozo/onz-org#>
7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
8PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10
11SELECT
12    ?kwalificatie_niveau
13    (SUM(?onbepaald) AS ?Aantal_werknemers_met_een_werkovereenkomst_voor_onbepaalde_tijd_met_een_zorgverlener_functie)
14    (SUM(?bepaald) AS ?Aantal_werknemers_met_een_werkovereenkomst_voor_bepaalde_tijd_met_een_zorgverlener_functie)
15    (SUM(?oproep) AS ?Aantal_werknemers_met_een_oproepovereenkomst_met_een_zorgverlener_functie)
16    (SUM(?bbl) AS ?Aantal_werknemers_met_een_werkovereenkomst_BBL_met_een_zorgverlener_functie)
17    (SUM(?inhuur) AS ?Aantal_werknemers_met_een_inhuurovereenkomst_met_een_zorgverlener_functie)
18    (SUM(?uitzend) AS ?Aantal_werknemers_met_een_uitzendovereenkomst_met_een_zorgverlener_functie)
19    (SUM(?stage) AS ?Aantal_werknemers_met_een_stageovereenkomst_met_een_zorgverlener_functie)
20    (SUM(?vrijwilliger) AS ?Aantal_werknemers_met_een_vrijwilligersovereenkomst_met_een_zorgverlener_functie)
21    (SUM(?alle_soorten_ok) AS ?Totaal)
22WHERE {
23    
24    SELECT DISTINCT
25        ?medewerker
26        ?kwalificatie_niveau
27        #?type_overeenkomst
28        ?onbepaald ?bepaald ?oproep ?bbl ?inhuur ?uitzend ?stage ?vrijwilliger
29        ?alle_soorten_ok
30    WHERE {
31        # BIND("2024-06-01"^^xsd:date AS ?peildatum)
32        
33        # selecteer werkovereenkomsten waarbij werknemer een zorgverlenerfunctie heeft
34        ?functie 
35            a onz-pers:ZorgverlenerFunctie ;
36            ^onz-g:isAbout ?overeenkomst_afspraak ;
37            onz-g:hasQuality /onz-g:hasQualityValue ?functie_niveau .
38        
39        ?overeenkomst_afspraak
40            a onz-pers:WerkOvereenkomstAfspraak ;
41            onz-g:startDatum ?start_afspraak .
42        OPTIONAL { ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak . }
43        # filter op peildatum
44        FILTER(?start_afspraak <= ?peildatum && ((?eind_afspraak >= ?peildatum) || (!BOUND(?eind_afspraak))))
45        
46        ?overeenkomst_afspraak ^onz-g:hasPart ?overeenkomst .
47        VALUES ?type_overeenkomst {
48            onz-pers:ArbeidsOvereenkomstOnbepaaldeTijd
49            onz-pers:ArbeidsOvereenkomstBepaaldeTijd
50            onz-pers:OproepOvereenkomst
51            onz-pers:ArbeidsOvereenkomstBBL
52            onz-pers:InhuurOvereenkomst
53            onz-pers:UitzendOvereenkomst
54            onz-pers:StageOvereenkomst
55            onz-pers:VrijwilligersOvereenkomst
56        }
57        ?overeenkomst 
58            a ?type_overeenkomst ;
59            onz-pers:heeftOpdrachtnemer ?medewerker .
60        {
61            ?functie_niveau
62                a onz-pers:ODBKwalificatieWaarde ;
63                rdfs:label ?kwalificatie_niveau .
64        } UNION {
65            BIND("Totaal aantal werknemers" AS ?kwalificatie_niveau ) 
66        } 
67        BIND(IF (?type_overeenkomst = onz-pers:ArbeidsOvereenkomstOnbepaaldeTijd, 1, 0) AS ?onbepaald)
68        BIND(IF (?type_overeenkomst = onz-pers:ArbeidsOvereenkomstBepaaldeTijd, 1, 0) AS ?bepaald)
69        BIND(IF (?type_overeenkomst = onz-pers:OproepOvereenkomst, 1, 0) AS ?oproep)
70        BIND(IF (?type_overeenkomst = onz-pers:ArbeidsOvereenkomstBBL, 1, 0) AS ?bbl)
71        BIND(IF (?type_overeenkomst = onz-pers:InhuurOvereenkomst, 1, 0) AS ?inhuur)
72        BIND(IF (?type_overeenkomst = onz-pers:UitzendOvereenkomst, 1, 0) AS ?uitzend)
73        BIND(IF (?type_overeenkomst = onz-pers:StageOvereenkomst, 1, 0) AS ?stage)
74        BIND(IF (?type_overeenkomst = onz-pers:VrijwilligersOvereenkomst, 1, 0) AS ?vrijwilliger)
75        BIND(1 AS ?alle_soorten_ok)
76    }
77}
78GROUP BY ?kwalificatie_niveau
79ORDER BY ?kwalificatie_niveau
80

Heb je feedback?

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