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("2023-04-01"^^xsd:date 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("2023-04-01"^^xsd:date 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
Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!