Code gekopieerd
...Kopieer naar klembord
1# Indicator: ODB Personele samenstelling 2.1.2 2# Parameters: - 3# Ontologie: versie 2.0.0 of nieuwer 4 5PREFIX onz-g: <http://purl.org/ozo/onz-g#> 6PREFIX onz-pers: <http://purl.org/ozo/onz-pers#> 7PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 8PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 9PREFIX time: <http://www.w3.org/2006/time#> 10 11SELECT 12 (SUM(?aantal) AS ?indicator) 13WHERE 14{ 15 { 16 SELECT DISTINCT 17 ?start_periode_datum 18 ?eind_periode_datum 19 ?gewerkte_periode 20 ?uren 21 WHERE 22 { 23 BIND ("2023-01-01"^^xsd:date AS ?start_periode_datum) 24 BIND ("2023-12-31"^^xsd:date AS ?eind_periode_datum) 25 26 # selecteer zorgverlenerfuncties die geldig zijn binnen de periode 27 ?functie a onz-pers:ZorgverlenerFunctie ; 28 onz-g:startDatum ?start_functie . 29 OPTIONAL { 30 ?functie onz-g:eindDatum ?eind_functie 31 } 32 FILTER (?start_functie <= ?eind_periode_datum && (?eind_functie >= ?start_periode_datum || !BOUND(?eind_functie))) 33 BIND(IF(?start_functie <= ?start_periode_datum, ?start_periode_datum, ?start_functie) AS ?start_functie_corr) 34 BIND(IF(!BOUND(?eind_functie) || ?eind_functie > ?eind_periode_datum, ?eind_periode_datum, ?eind_functie) AS ?eind_functie_corr) 35 # selecteer de arbeidsovereenkomst die hoort bij de functie 36 ?overeenkomst 37 onz-g:isAbout ?functie ; 38 a onz-pers:ArbeidsOvereenkomst ; 39 onz-g:isAbout ?gewerkte_periode . 40 41 # selecteer aantal gewerkte uren binnen periode die gekoppeld zijn aan werkovereenkomst 42 ?gewerkte_periode 43 a onz-pers:GewerktePeriode ; 44 onz-g:hasBeginTimeStamp ?start_gewerktDT ; 45 onz-g:hasEndTimeStamp ?eind_gewerktDT ; 46 onz-g:hasQuality / onz-g:hasQualityValue / onz-g:hasDataValue ?uren . 47 BIND(STRDT(SUBSTR(STR(?start_gewerktDT),1,10), xsd:date) AS ?start_gewerkt) 48 BIND(STRDT(SUBSTR(STR(?eind_gewerktDT),1,10), xsd:date) AS ?eind_gewerkt) 49 # selecteer gewerkte tijd in de gevraagde periode 50 FILTER(?start_gewerkt >= ?start_functie_corr && ?eind_gewerkt <= ?eind_functie_corr) 51 } 52 } 53 54 # rapporteer in de eenheid fte_36 (1 fte = 36 uur/week) 55 onz-pers:fte_36 56 onz-g:hasDataValue ?corr_factor . 57 58 # bereken aantal dagen in de periode 59 ?start_periode_datum ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_periode . 60 ?eind_periode_datum ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_periode . 61 BIND(?eind_periode - ?start_periode + 1 AS ?dagen_periode) 62 63 # bereken fte (1 fte is volledig als 47 weken per jaar is gewerkt) 64 BIND (?uren/(?dagen_periode/365*47)/?corr_factor AS ?aantal) 65} 66
Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!