Let op: dit is een oudere versie van deze publicatie. Ga naar de laatste versie
Uitwisselprofiel Zorginstituut Openbaarmaking kwaliteitsindicatoren verpleeghuiszorg
2.2.1. Percentage fte per niveau
Concepten
Relaties
Eigenschappen
Instanties
SPARQL query
Code gekopieerd
...Kopieer naar klembord
1# Indicator: ODB Personele samenstelling 2.2.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 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 ?kwalificatie 13 ?teller 14 ?noemer 15 (?teller/?noemer * 100 AS ?indicator) 16WHERE 17{ 18 { 19 SELECT ?kwalificatie (SUM(?aantal) AS ?teller) 20 WHERE 21 { 22 SELECT DISTINCT 23 ?gewerkte_periode 24 ?kwalificatie 25 ?aantal 26 WHERE 27 { 28 BIND ("2023-01-01"^^xsd:date AS ?start_periode_datum) 29 BIND ("2023-12-31"^^xsd:date AS ?eind_periode_datum) 30 31 # selecteer aantal gewerkte uren binnen periode die gekoppeld zijn aan werkovereenkomst 32 ?gewerkte_periode 33 a onz-pers:GewerktePeriode ; 34 onz-g:hasBeginTimeStamp ?start_gewerktDT ; 35 onz-g:hasEndTimeStamp ?eind_gewerktDT . 36 FILTER(?start_gewerkt >= ?start_periode_datum && ?eind_gewerkt <= ?eind_periode_datum) 37 ?gewerkte_periode 38 onz-g:hasQuality / onz-g:hasQualityValue / onz-g:hasDataValue ?uren ; 39 onz-g:definedBy ?overeenkomst . 40 ?overeenkomst a onz-pers:ArbeidsOvereenkomst . 41 BIND(STRDT(SUBSTR(STR(?start_gewerktDT),1,10), xsd:date) AS ?start_gewerkt) 42 BIND(STRDT(SUBSTR(STR(?eind_gewerktDT),1,10), xsd:date) AS ?eind_gewerkt) 43 44 ?functie 45 a onz-pers:ZorgverlenerFunctie ; 46 ^onz-g:isAbout ?overeenkomst ; 47 onz-g:startDatum ?start_functie . 48 OPTIONAL {?functie onz-g:eindDatum ?eind_functie} 49 FILTER (?start_functie <= ?start_gewerkt && ((?eind_functie >= ?eind_gewerkt)||(!BOUND(?eind_functie)))) 50 ?functie 51 a/onz-g:hasQuality/onz-g:hasQualityValue ?functie_niveau . 52 ?functie_niveau 53 a onz-pers:ODBKwalificatieWaarde ; 54 rdfs:label ?kwalificatie . 55 56 # rapporteer in de eenheid fte_36 (1 fte = 36 uur/week) 57 onz-pers:fte_36 58 onz-g:hasDataValue ?corr_factor . 59 60 # bereken aantal dagen in de periode 61 ?start_periode_datum ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_periode . 62 ?eind_periode_datum ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_periode . 63 BIND(?eind_periode - ?start_periode + 1 AS ?dagen_periode) 64 65 # bereken fte (1 fte is volledig als 47 weken per jaar is gewerkt) 66 BIND (?uren/(?dagen_periode/365*47)/?corr_factor AS ?aantal) 67 } 68 } GROUP BY ?kwalificatie 69 } 70 { 71 SELECT 72 (SUM(?aantal) AS ?noemer) 73 WHERE 74 { 75 { 76 SELECT DISTINCT 77 ?start_periode_datum 78 ?eind_periode_datum 79 ?gewerkte_periode 80 ?uren 81 WHERE 82 { 83 BIND ("2023-01-01"^^xsd:date AS ?start_periode_datum) 84 BIND ("2023-12-31"^^xsd:date AS ?eind_periode_datum) 85 86 # selecteer zorgverlenerfuncties die geldig zijn binnen de periode 87 ?functie a onz-pers:ZorgverlenerFunctie ; 88 onz-g:startDatum ?start_functie . 89 OPTIONAL { 90 ?functie onz-g:eindDatum ?eind_functie 91 } 92 FILTER (?start_functie <= ?eind_periode_datum && (?eind_functie >= ?eind_periode_datum || !BOUND(?eind_functie))) 93 94 # selecteer de arbeidsovereenkomst die hoort bij de functie 95 ?overeenkomst 96 onz-g:isAbout ?functie ; 97 a onz-pers:ArbeidsOvereenkomst ; 98 onz-g:isAbout ?gewerkte_periode . 99 100 # selecteer aantal gewerkte uren binnen periode die gekoppeld zijn aan werkovereenkomst 101 ?gewerkte_periode 102 a onz-pers:GewerktePeriode ; 103 onz-g:hasBeginTimeStamp ?start_gewerktDT ; 104 onz-g:hasEndTimeStamp ?eind_gewerktDT ; 105 onz-g:hasQuality / onz-g:hasQualityValue / onz-g:hasDataValue ?uren . 106 BIND(STRDT(SUBSTR(STR(?start_gewerktDT),1,10), xsd:date) AS ?start_gewerkt) 107 BIND(STRDT(SUBSTR(STR(?eind_gewerktDT),1,10), xsd:date) AS ?eind_gewerkt) 108 # selecteer gewerkte tijd in de gevraagde periode 109 FILTER(?start_gewerkt >= ?start_periode_datum && ?eind_gewerkt <= ?eind_periode_datum) 110 } 111 } 112 113 # rapporteer in de eenheid fte_36 (1 fte = 36 uur/week) 114 onz-pers:fte_36 115 onz-g:hasDataValue ?corr_factor . 116 117 # bereken aantal dagen in de periode 118 ?start_periode_datum ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_periode . 119 ?eind_periode_datum ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_periode . 120 BIND(?eind_periode - ?start_periode + 1 AS ?dagen_periode) 121 122 # bereken fte (1 fte is volledig als 47 weken per jaar is gewerkt) 123 BIND (?uren/(?dagen_periode/365*47)/?corr_factor AS ?aantal) 124 } 125 } 126} 127GROUP BY ?kwalificatie ?teller ?noemer 128ORDER BY ?kwalificatie 129
Heb je feedback?
Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!