Uitwisselprofiel Kwaliteitsbeeld

Voorbeeld 3 Wat is het aantal ingezette uren aan medewerkers met een zorgverlener functie per kwalificatieniveau per soort werkovereenkomst?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: VOORBEELD 3 Wat is het aantal ingezette uren aan werknemers met een zorgverlener functie per kwalificatieniveau per soort werkovereenkomst
2# Parameters:
3# Ontologie: versie 3.0
4
5PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
6PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
7PREFIX onz-g: <http://purl.org/ozo/onz-g#>
8PREFIX onz-org: <http://purl.org/ozo/onz-org#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10
11SELECT
12    ?Kwalificatieniveau
13    (SUM(?onbepaald) AS ?Aantal_ingezette_uren_mbt_werkovereenkomst_voor_onbepaalde_tijd_met_een_zorgverlener_functie)
14    (SUM(?bepaald) AS ?Aantal_ingezette_uren_mbt_werkovereenkomst_voor_bepaalde_tijd_met_een_zorgverlener_functie)
15    (SUM(?oproep) AS ?Aantal_ingezette_uren_mbt_oproepovereenkomst_met_een_zorgverlener_functie)
16    (SUM(?bbl) AS ?Aantal_ingezette_uren_mbt_werkovereenkomst_BBL_met_een_zorgverlener_functie)
17    (SUM(?inhuur) AS ?Aantal_ingezette_uren_mbt_inhuurovereenkomst_met_een_zorgverlener_functie)
18    (SUM(?uitzend) AS ?Aantal_ingezette_uren_mbt_uitzendovereenkomst_met_een_zorgverlener_functie)
19    (SUM(?stage) AS ?Aantal_ingezette_uren_mbt_stageovereenkomst_met_een_zorgverlener_functie)
20    (SUM(?vrijwilliger) AS ?Aantal_ingezette_uren_mbt_vrijwilligersovereenkomst_met_een_zorgverlener_functie)
21    (SUM(?inzet_uren) AS ?Totaal)     
22
23{
24    BIND("2024-01-01"^^xsd:date AS ?start_periode)
25    BIND("2024-01-31"^^xsd:date AS ?eind_periode)
26    VALUES ?type_overeenkomst 
27    { 
28        onz-pers:ArbeidsOvereenkomstOnbepaaldeTijd
29        onz-pers:ArbeidsOvereenkomstBepaaldeTijd
30        onz-pers:OproepOvereenkomst
31        onz-pers:ArbeidsOvereenkomstBBL
32        onz-pers:InhuurOvereenkomst
33        onz-pers:UitzendOvereenkomst
34        onz-pers:StageOvereenkomst
35        onz-pers:VrijwilligersOvereenkomst
36    }
37
38    ?overeenkomst 
39        a ?type_overeenkomst ; # personeel in loondienst
40        onz-pers:heeftOpdrachtnemer ?persoon ;
41        onz-g:hasPart ?overeenkomst_afspraak .
42    ?overeenkomst_afspraak
43        a onz-pers:WerkOvereenkomstAfspraak ;
44        onz-g:startDatum ?start_afspraak .
45    OPTIONAL { ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak }
46    FILTER(?start_afspraak <= ?eind_periode && ((?eind_afspraak >= ?start_periode) || (!BOUND(?eind_afspraak))))
47
48    ?overeenkomst_afspraak onz-g:isAbout ?functie .                
49    ?functie 
50        a onz-pers:ZorgverlenerFunctie ;
51        onz-g:hasQuality/onz-g:hasQualityValue ?kwal_niveau .
52    ?kwal_niveau a onz-pers:ODBKwalificatieWaarde .
53
54    ?inzet
55        a onz-pers:GewerktePeriode ;
56        onz-g:definedBy ?overeenkomst ;
57        onz-g:hasBeginTimeStamp ?start_inzet_datetime ;
58        onz-g:hasQuality/onz-g:hasQualityValue/onz-g:hasDataValue ?inzet_uren .
59    BIND(STRDT(SUBSTR(STR(?start_inzet_datetime), 1, 10), xsd:date) AS ?start_inzet)
60    FILTER(?start_inzet >= ?start_periode && ?start_inzet <= ?eind_periode)
61    FILTER(?start_inzet >= ?start_afspraak && (?start_inzet <= ?eind_afspraak || !BOUND(?eind_afspraak)))
62    {
63        ?kwal_niveau a onz-pers:ODBKwalificatieWaarde ;
64            rdfs:label ?Kwalificatieniveau
65    } UNION {
66        BIND("Totaal" AS ?Kwalificatieniveau)
67    } 
68    # ?kwal_niveau rdfs:label ?Kwalificatieniveau
69    BIND(IF (?type_overeenkomst = onz-pers:ArbeidsOvereenkomstOnbepaaldeTijd, ?inzet_uren, 0) AS ?onbepaald)
70    BIND(IF (?type_overeenkomst = onz-pers:ArbeidsOvereenkomstBepaaldeTijd, ?inzet_uren, 0) AS ?bepaald)
71    BIND(IF (?type_overeenkomst = onz-pers:OproepOvereenkomst, ?inzet_uren, 0) AS ?oproep)
72    BIND(IF (?type_overeenkomst = onz-pers:ArbeidsOvereenkomstBBL, ?inzet_uren, 0) AS ?bbl)
73    BIND(IF (?type_overeenkomst = onz-pers:InhuurOvereenkomst, ?inzet_uren, 0) AS ?inhuur)
74    BIND(IF (?type_overeenkomst = onz-pers:UitzendOvereenkomst, ?inzet_uren, 0) AS ?uitzend)
75    BIND(IF (?type_overeenkomst = onz-pers:StageOvereenkomst, ?inzet_uren, 0) AS ?stage)
76    BIND(IF (?type_overeenkomst = onz-pers:VrijwilligersOvereenkomst, ?inzet_uren, 0) AS ?vrijwilliger)
77}
78GROUP BY ?Kwalificatieniveau
79ORDER BY ?Kwalificatieniveau
80

Heb je feedback?

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