Uitwisselprofiel Zorginstituut Openbaarmaking kwaliteitsindicatoren verpleeghuiszorg

Versie:

Publicatiedatum:21-12-2023

Inwerkingtreding:21-12-2023




Bekijk bron...

2.5.1. Aantal fte zorg client ratio

Concepten

Relaties

Eigenschappen

Instanties

SPARQL query

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}

Heb je feedback?

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