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

Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Versie:

Publicatiedatum:04-10-2023

Inwerkingtreding:04-10-2023




Bekijk bron...

7.1.3 Aantal ingezette uren personeel per cliënt Q3 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('Q3' 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('Q3' 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!