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

Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

7.1.2 Aantal ingezette uren personeel per cliënt Q2 2023

Concepten

Relaties

Eigenschappen

Instanties

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 7.1
2# Parameters: $(kwartaal)
3# Ontologie: versie 2.0.0 of nieuwer
4
5PREFIX onz-g: <http://purl.org/ozo/onz-g#>
6PREFIX onz-org: <http://purl.org/ozo/onz-org#>
7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
8PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10PREFIX onz-zorg: <http://purl.org/ozo/onz-zorg#>
11
12SELECT 
13    ?vestiging
14	?ingezette_uren
15	?aantal_clienten
16	((?ingezette_uren/?aantal_clienten) AS ?ingezetten_uren_per_client)
17WHERE 
18{ 	
19    {
20        SELECT 
21            ?vestiging
22            (SUM(?uren) AS ?ingezette_uren)
23        WHERE
24        {
25            # definieer kwartaal waarin overeenkomst geldig moet zijn
26            BIND('Q2' AS ?kwartaal)
27            BIND(IF(?kwartaal = 'Q1', '2023-01-01'^^xsd:date, 
28                IF(?kwartaal = 'Q2', '2023-04-01'^^xsd:date,
29                IF(?kwartaal = 'Q3', '2023-07-01'^^xsd:date,
30                IF(?kwartaal = 'Q4', '2023-10-01'^^xsd:date, 
31                '')))) AS ?start_periode)
32            BIND((?start_periode + "P3M"^^xsd:duration - "P1D"^^xsd:duration) AS ?eind_periode)
33
34            # selecteer uren van gewerkte periode binnen periode
35            ?gewerkteperiode 
36                a onz-pers:GewerktePeriode ;
37                onz-g:hasBeginTimeStamp ?start_werk ;
38                onz-g:hasEndTimeStamp ?eind_werk ;
39                onz-g:hasPerdurantLocation ?locatie ; 
40                onz-g:definedBy ?overeenkomst ;
41                onz-g:hasQuality / onz-g:hasQualityValue / onz-g:hasDataValue ?uren .
42            FILTER(?start_werk >= ?start_periode && ?eind_werk <= ?eind_periode)
43
44            # selecteer werkovereenkomsten waarbij werknemer een zorgverlenerfunctie heeft
45            ?overeenkomst 
46                a onz-pers:ArbeidsOvereenkomst ;
47                onz-g:isAbout/a onz-pers:ZorgverlenerFunctie . 
48
49            
50            # selecteer vestiging van gewerkte periode
51            {
52                ?locatie onz-g:partOf* ?vestiging_uri .
53                ?vestiging_uri 
54                    a onz-org:Vestiging ;
55                    onz-g:identifiedBy ?vest_nr.
56                ?vest_nr a onz-org:Vestigingsnummer ;
57                    onz-g:hasDataValue ?vestiging .
58            } UNION {
59            # includeer ook de organisatie als geheel en label deze als vestiging
60                ?locatie onz-g:partOf*/onz-org:vestigingVan ?organisatie_uri .
61                ?organisatie_uri 
62                    a onz-g:Business ;
63                    rdfs:label ?organisatie .
64                BIND(CONCAT('Totaal ',?organisatie) AS ?vestiging)
65            }
66            
67        }
68        GROUP BY ?vestiging
69    }
70    {
71        SELECT 
72            ?vestiging
73            (COUNT(DISTINCT(?client)) AS ?aantal_clienten)
74        WHERE
75        {
76            # definieer kwartaal waarin overeenkomst geldig moet zijn
77            BIND('Q2' AS ?kwartaal)
78            BIND(IF(?kwartaal = 'Q1', '2023-01-01'^^xsd:date, 
79                IF(?kwartaal = 'Q2', '2023-04-01'^^xsd:date,
80                IF(?kwartaal = 'Q3', '2023-07-01'^^xsd:date,
81                IF(?kwartaal = 'Q4', '2023-10-01'^^xsd:date, 
82                '')))) AS ?start_periode)
83            BIND((?start_periode + "P3M"^^xsd:duration - "P1D"^^xsd:duration) AS ?eind_periode)
84            
85            VALUES ?zorgprofiel { onz-zorg:4VV onz-zorg:5VV onz-zorg:6VV onz-zorg:7VV onz-zorg:8VV onz-zorg:9BVV onz-zorg:10VV }
86            
87            # selecteer zorgproces binnen periode
88            ?zorgproces
89                a onz-zorg:NursingProcess ;
90                onz-g:definedBy ?indicatie ;
91                onz-g:hasPerdurantLocation ?locatie ;
92                onz-g:startDatum ?start_proces .
93            OPTIONAL {?zorgproces onz-g:eindDatum ?eind_proces}
94            FILTER (?start_proces <= ?eind_periode && (!BOUND(?eind_proces) || ?eind_proces >= ?start_periode))
95
96            # selecteer vestiging van gewerkte periode
97            {
98                ?locatie onz-g:partOf* ?vestiging_uri .
99                ?vestiging_uri 
100                    a onz-org:Vestiging ;
101                    onz-g:identifiedBy ?vest_nr.
102                ?vest_nr a onz-org:Vestigingsnummer ;
103                    onz-g:hasDataValue ?vestiging .
104            } UNION {
105                # includeer ook de organisatie als geheel en label deze als vestiging
106                ?locatie onz-g:partOf*/onz-org:vestigingVan ?organisatie_uri .
107                ?organisatie_uri 
108                    a onz-g:Business ;
109                    rdfs:label ?organisatie .
110                BIND(CONCAT('Totaal ',?organisatie) AS ?vestiging)
111            }
112
113            # selecteer de bijbehordene indicatie, om unieke clienten te kunnen bepalen
114            ?indicatie 
115                onz-g:hasPart ?zorgprofiel ;
116                onz-g:isAbout ?client .
117            ?client a onz-g:Human .    
118        }
119    GROUP BY ?vestiging
120    }
121}

Heb je feedback?

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