Uitwisselprofiel Zorginstituut Openbaarmaking kwaliteitsindicatoren verpleeghuiszorg

Versie:

Publicatiedatum:06-06-2024

Inwerkingtreding:06-06-2024




Bekijk bron...

2.1.2. Aantal fte

Concepten

Relaties

Eigenschappen

Instanties

SPARQL query

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

Heb je feedback?

Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!