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.0 Aantal ingezette uren personeel per cliënt

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

Heb je feedback?

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