Let op: dit is een oudere versie van deze publicatie. Ga naar de laatste versie

Uitwisselprofiel Zorginstituut Openbaarmaking kwaliteitsindicatoren verpleeghuiszorg

Versie:

Publicatiedatum:20-06-2023

Inwerkingtreding:01-07-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
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}```

Heb je feedback?

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