Code gekopieerd
...Kopieer naar klembord
1# Indicator: ODB Personele samenstelling 2.5.1 2# Parameters: - 3# Ontologie: versie 2.0.0 of nieuwer 4 5#Deze query berekent de noemer van indicator 2.5.1. 6#De teller wordt berekend in indicator 2.1.2 7 8PREFIX onz-g: <http://purl.org/ozo/onz-g#> 9PREFIX onz-pers: <http://purl.org/ozo/onz-pers#> 10PREFIX onz-zorg: <http://purl.org/ozo/onz-zorg#> 11PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 12PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 13 14SELECT 15 (SUM(?aantal) AS ?teller) 16 (SUM(?dagen_proces)/360 AS ?noemer) 17 ((100*?teller/?noemer) AS ?indicator) 18{ 19 { 20 BIND ("2022-01-01"^^xsd:date AS ?start_periode) 21 BIND ("2022-12-31"^^xsd:date AS ?eind_periode) 22 23 #Selecteer zorgprocessen binnen geincludeerde zorgprofielen 24 VALUES ?zorgprofiel { onz-zorg:4VV onz-zorg:5VV onz-zorg:6VV onz-zorg:7VV onz-zorg:8VV onz-zorg:9BVV onz-zorg:10VV } 25 26 ?zorgproces 27 a onz-zorg:NursingProcess ; 28 onz-g:definedBy ?indicatie ; 29 onz-g:startDatum ?start_proces . 30 OPTIONAL {?zorgproces onz-g:eindDatum ?eind_proces} 31 ?indicatie 32 a onz-zorg:WlzIndicatie ; 33 onz-g:hasPart ?zorgprofiel . 34 35 #Alleen processen in gevraagde periode 36 FILTER (?start_proces <= ?eind_periode && (!BOUND(?eind_proces) || ?eind_proces >= ?start_periode)) 37 38 #Corrigeer wanneer start of eind van het zorgproces buiten de gevraagde periode valt 39 BIND(IF(?start_periode > ?start_proces, ?start_periode, ?start_proces) AS ?start_proces_corr) 40 BIND(IF((?eind_periode < ?eind_proces) || !BOUND(?eind_proces), ?eind_periode, ?eind_proces) 41 AS ?eind_proces_corr) 42 43 BIND ((360 * (YEAR(?eind_proces_corr + "P1D"^^xsd:duration) - YEAR(?start_proces_corr))) + 44 (30 * (MONTH(?eind_proces_corr + "P1D"^^xsd:duration) - MONTH(?start_proces_corr))) + 45 (DAY(?eind_proces_corr + "P1D"^^xsd:duration) - DAY(?start_proces_corr)) AS ?dagen_proces) 46 BIND (0 AS ?aantal) 47 } UNION { 48 { 49 SELECT DISTINCT 50 ?start_periode 51 ?eind_periode 52 ?gewerkte_periode 53 ?uren 54 WHERE 55 { 56 BIND ("2022-01-01"^^xsd:date AS ?start_periode) 57 BIND ("2022-12-31"^^xsd:date AS ?eind_periode) 58 59 # selecteer aantal gewerkte uren binnen periode die gekoppeld zijn aan werkovereenkomst 60 ?gewerkte_periode 61 a onz-pers:GewerktePeriode ; 62 onz-g:hasBeginTimeStamp ?start_gewerktDT ; 63 onz-g:hasEndTimeStamp ?eind_gewerktDT ; 64 onz-g:hasQuality / onz-g:hasQualityValue / onz-g:hasDataValue ?uren ; 65 onz-g:definedBy ?overeenkomst . 66 BIND(STRDT(SUBSTR(STR(?start_gewerktDT),1,10), xsd:date) AS ?start_gewerkt) 67 BIND(STRDT(SUBSTR(STR(?eind_gewerktDT),1,10), xsd:date) AS ?eind_gewerkt) 68 # selecteer gewerkte tijd in de gevraagde periode 69 FILTER(?start_gewerkt >= ?start_periode && ?eind_gewerkt <= ?eind_periode) 70 71 # selecteer werkovereenkomsten waarbij werknemer een zorgverlenerfunctie heeft 72 ?overeenkomst 73 a onz-pers:ArbeidsOvereenkomst ; 74 onz-g:isAbout/a onz-pers:ZorgverlenerFunctie . 75 } 76 } 77 onz-pers:fte_36 78 onz-g:hasDataValue ?corr_factor . 79 BIND ((360 * (YEAR(?eind_periode + "P1D"^^xsd:duration) - YEAR(?start_periode))) + 80 (30 * (MONTH(?eind_periode + "P1D"^^xsd:duration) - MONTH(?start_periode))) + 81 (DAY(?eind_periode + "P1D"^^xsd:duration) - DAY(?start_periode)) AS ?dagen_periode) 82 83 BIND (?uren/(?dagen_periode/360*47)/?corr_factor AS ?aantal) 84 BIND (0 AS ?dagen_proces) 85 } 86}```
Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!