Let op: dit is een oudere versie van deze publicatie. Ga naar de laatste versie
Code gekopieerd
...Kopieer naar klembord
1# Indicator: ODB Personele samenstelling 2.5.1 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 onz-zorg: <http://purl.org/ozo/onz-zorg#> 8PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 10PREFIX time: <http://www.w3.org/2006/time#> 11 12SELECT 13 (SUM(?aantal) AS ?teller) 14 (SUM(?dagen_proces)/360 AS ?noemer) 15 ((100*SUM(?aantal)/(SUM(?dagen_proces)/360)) AS ?indicator) 16{ 17 { 18 { 19 SELECT ?zorgproces ?indicatie ?start_proces ?eind_proces ?start_periode ?eind_periode ?zorgprofiel 20 WHERE { 21 BIND ("2023-01-01"^^xsd:date AS ?start_periode) 22 BIND ("2023-12-31"^^xsd:date AS ?eind_periode) 23 24 ?zorgproces 25 a onz-zorg:NursingProcess ; 26 onz-g:definedBy ?indicatie ; 27 onz-g:startDatum ?start_proces . 28 OPTIONAL { 29 ?zorgproces 30 a onz-zorg:NursingProcess; 31 onz-g:eindDatum ?eind_proces. 32 } 33 ?indicatie 34 a onz-zorg:WlzIndicatie ; 35 onz-g:hasPart ?zorgprofiel . 36 37 #Alleen processen in gevraagde periode 38 FILTER (?start_proces <= ?eind_periode && (!BOUND(?eind_proces) || ?eind_proces >= ?start_periode)) 39 } 40 } 41 42 #Selecteer zorgprocessen binnen geincludeerde zorgprofielen 43 VALUES ?zorgprofiel { onz-zorg:4VV onz-zorg:5VV onz-zorg:6VV onz-zorg:7VV onz-zorg:8VV onz-zorg:9BVV onz-zorg:10VV } 44 45 #Corrigeer wanneer start of eind van het zorgproces buiten de gevraagde periode valt 46 BIND(IF(?start_periode > ?start_proces, ?start_periode, ?start_proces) AS ?start_proces_corr) 47 BIND(IF((?eind_periode < ?eind_proces) || !BOUND(?eind_proces), ?eind_periode, ?eind_proces) AS ?eind_proces_corr) 48 49 ?start_proces_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_proces_reken . 50 ?eind_proces_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_proces_reken . 51 BIND(?eind_proces_reken - ?start_proces_reken + 1 AS ?dagen_proces) 52 BIND (0 AS ?aantal) 53 } UNION { 54 { 55 SELECT DISTINCT 56 ?start_periode_datum 57 ?eind_periode_datum 58 ?gewerkte_periode 59 ?uren 60 WHERE 61 { 62 BIND ("2023-01-01"^^xsd:date AS ?start_periode_datum) 63 BIND ("2023-12-31"^^xsd:date AS ?eind_periode_datum) 64 65 # selecteer zorgverlenerfuncties die geldig zijn binnen de periode 66 ?functie a onz-pers:ZorgverlenerFunctie ; 67 onz-g:startDatum ?start_functie . 68 OPTIONAL { 69 ?functie onz-g:eindDatum ?eind_functie 70 } 71 FILTER (?start_functie <= ?eind_periode_datum && (?eind_functie >= ?eind_periode_datum || !BOUND(?eind_functie))) 72 73 # selecteer de arbeidsovereenkomst die hoort bij de functie 74 ?overeenkomst 75 onz-g:isAbout ?functie ; 76 a onz-pers:ArbeidsOvereenkomst ; 77 onz-g:isAbout ?gewerkte_periode . 78 79 # selecteer aantal gewerkte uren binnen periode die gekoppeld zijn aan werkovereenkomst 80 ?gewerkte_periode 81 a onz-pers:GewerktePeriode ; 82 onz-g:hasBeginTimeStamp ?start_gewerktDT ; 83 onz-g:hasEndTimeStamp ?eind_gewerktDT ; 84 onz-g:hasQuality / onz-g:hasQualityValue / onz-g:hasDataValue ?uren . 85 BIND(STRDT(SUBSTR(STR(?start_gewerktDT),1,10), xsd:date) AS ?start_gewerkt) 86 BIND(STRDT(SUBSTR(STR(?eind_gewerktDT),1,10), xsd:date) AS ?eind_gewerkt) 87 # selecteer gewerkte tijd in de gevraagde periode 88 FILTER(?start_gewerkt >= ?start_periode_datum && ?eind_gewerkt <= ?eind_periode_datum) 89 } 90 } 91 92 # rapporteer in de eenheid fte_36 (1 fte = 36 uur/week) 93 onz-pers:fte_36 94 onz-g:hasDataValue ?corr_factor . 95 96 # bereken aantal dagen in de periode 97 ?start_periode_datum ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_periode . 98 ?eind_periode_datum ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_periode . 99 BIND(?eind_periode - ?start_periode + 1 AS ?dagen_periode) 100 101 # bereken fte (1 fte is volledig als 47 weken per jaar is gewerkt) 102 BIND (?uren/(?dagen_periode/365*47)/?corr_factor AS ?aantal) 103 BIND (0 AS ?dagen_proces) 104 } 105}
Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!