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...

1.1.0 Gemiddeld aantal personeelsleden

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("2022-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!