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

Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

1.1.1 Gemiddeld aantal personeelsleden Q1 2023

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1PREFIX onz-g: <http://purl.org/ozo/onz-g#>
2PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
3PREFIX onz-zorg: <http://purl.org/ozo/onz-zorg#>
4PREFIX onz-org: <http://purl.org/ozo/onz-org#>
5PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
6PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
7PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
8
9SELECT 
10    ?Vestiging 
11    (SUM(?zorg_factor) AS ?Zorg) 
12    (SUM(?factor) - SUM(?zorg_factor) AS ?Niet_zorg)
13    (SUM(?factor) AS ?Totaal) 
14{
15    {
16        SELECT ?persoon ?Vestiging (MAX(?zorgfunctie) AS ?zorg_boolean) (?dagen_indicator/90 AS ?factor)
17        {
18            #Bepaal een meetperiode van drie maanden, startend vanaf een in te vullen datum
19            BIND("2023-01-01"^^xsd:date AS ?start_periode)
20            BIND(?start_periode + "P3M"^^xsd:duration - "P1D"^^xsd:duration AS ?eind_periode)
21            
22            #Bepaal filter voor definitie van overeenkomsten die geldig zijn voor personeelsleden
23            VALUES ?personeels_overeenkomst 
24      		{ 
25        		onz-pers:ArbeidsOvereenkomst
26        		onz-pers:OproepOvereenkomst
27        		onz-pers:UitzendOvereenkomst
28        		onz-pers:InhuurOvereenkomst
29      		}
30
31            #Selecteer alle personeelsleden (personen met een arbeids-, oproep,- uitzend,- of inhuurovereenkomst) binnen de meetperiode
32            ?persoon
33                a onz-g:Human ;
34                ^onz-pers:heeftOpdrachtnemer ?overeenkomst .
35            ?overeenkomst
36                a ?personeels_overeenkomst ;
37                onz-g:isAbout ?functie ;
38                onz-g:isAbout ?locatie ;
39                onz-g:startDatum ?start_overeenkomst .
40                OPTIONAL {?overeenkomst onz-g:eindDatum ?eind_overeenkomst}
41                FILTER(?start_overeenkomst <= ?eind_periode && ((?eind_overeenkomst >= ?start_periode) || (!BOUND(?eind_overeenkomst))))
42
43            #Bepaal de vestiging waar de werkzaamheden verricht worden volgens de werkovereenkomst
44            {
45                ?locatie onz-g:partOf* ?vestiging_uri .
46                ?vestiging_uri a onz-org:Vestiging ;
47                               onz-g:identifiedBy ?vest_nr.
48                ?vest_nr a onz-org:Vestigingsnummer ;
49                         onz-g:hasDataValue ?Vestiging .
50            } UNION {
51                #Includeer ook de organisatie als geheel en label deze als vestiging
52                ?locatie onz-g:partOf*/onz-org:vestigingVan ?organisatie_uri .
53                ?organisatie_uri 
54                    a onz-g:Business ;
55                    rdfs:label ?Organisatie .
56                BIND(CONCAT('Totaal ',?Organisatie) AS ?Vestiging)
57            }
58            #Bepaal of de functie op de overeenkomst van het type ZorgverlenerFunctie is
59            ?functie 
60                a onz-g:OccupationalPositionRole ;
61                a ?type_functie .
62            BIND(IF(?type_functie = onz-pers:ZorgverlenerFunctie, 1, 0) AS ?zorgfunctie)
63
64            #Bepaal aantal dagen overeenkomst in rapportageperiode
65            BIND(IF(?start_overeenkomst < ?start_periode, ?start_periode, ?start_overeenkomst) AS ?start_indicator)
66            BIND(IF(?eind_overeenkomst > ?eind_periode || !BOUND(?eind_overeenkomst), ?eind_periode, ?eind_overeenkomst) AS ?eind_indicator)
67            BIND((360 * (YEAR(?eind_indicator + "P1D"^^xsd:duration) - YEAR(?start_indicator))) +
68                            (30 * (MONTH(?eind_indicator + "P1D"^^xsd:duration) - MONTH(?start_indicator))) +
69                            (DAY(?eind_indicator + "P1D"^^xsd:duration) - DAY(?start_indicator)) AS ?dagen_indicator)
70
71        } 
72        GROUP BY ?persoon ?Vestiging ?start_indicator ?eind_indicator ?dagen_indicator
73    }
74    BIND(?zorg_boolean * ?factor AS ?zorg_factor)
75} 
76GROUP BY ?Vestiging```

Heb je feedback?

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