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

Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

2.2.0 Aantal verloonde uren

Concepten

Relaties

Eigenschappen

Instanties

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 2.2 
2# Parameters: $(kwartaal)
3# Ontologie: versie 2.0.0 of nieuwer
4
5PREFIX onz-g: <http://purl.org/ozo/onz-g#>
6PREFIX onz-fin: <http://purl.org/ozo/onz-fin#>
7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
8PREFIX onz-org: <http://purl.org/ozo/onz-org#>
9PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
10PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
11PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
12
13
14SELECT  
15	?vestiging
16	(SUM(?zorg * ?verloonde_uren) AS ?zorg_gerelateerde_uren)
17	(SUM(?niet_zorg * ?verloonde_uren) AS ?niet_zorg_gerelateerde_uren)
18{
19    # selecteer kwartaal 
20    BIND($(kwartaal) AS ?kwartaal)
21    BIND(IF(?kwartaal = 'Q1', '2023-01-01'^^xsd:date, 
22        IF(?kwartaal = 'Q2', '2023-04-01'^^xsd:date,
23        IF(?kwartaal = 'Q3', '2023-07-01'^^xsd:date,
24        IF(?kwartaal = 'Q4', '2023-10-01'^^xsd:date, 
25        '')))) AS ?start_periode)
26    BIND((?start_periode + "P3M"^^xsd:duration - "P1D"^^xsd:duration) AS ?eind_periode)
27
28    # selecteer overeenkomst met start en eind en filter binnen kwartaal
29    ?overeenkomst 
30        a onz-pers:ArbeidsOvereenkomst ;
31        onz-pers:heeftOpdrachtnemer ?persoon ;
32        onz-g:isAbout ?locatie ;
33        onz-g:startDatum ?overeenkomst_start .
34    OPTIONAL { ?overeenkomst onz-g:eindDatum ?eind_overeenkomst }
35    FILTER (?overeenkomst_start <= ?eind_periode && (!BOUND(?overeenkomst_eind) || ?overeenkomst_eind >= ?start_periode))
36    
37    # bepaal de vestiging waar de werkzaamheden verricht worden volgens de werkovereenkomst
38    {
39        ?locatie onz-g:partOf* ?vestiging_uri .
40        ?vestiging_uri 
41            a onz-org:Vestiging ;
42            onz-g:identifiedBy ?vest_nr.
43        ?vest_nr a onz-org:Vestigingsnummer ;
44            onz-g:hasDataValue ?vestiging .
45
46    } UNION {
47        # includeer ook de organisatie als geheel en label deze als vestiging
48        ?locatie onz-g:partOf*/onz-org:vestigingVan ?organisatie_uri .
49        ?organisatie_uri 
50            a onz-g:Business ;
51            rdfs:label ?organisatie .
52        BIND(CONCAT('Totaal ',?organisatie) AS ?vestiging)
53    }
54	
55    # definieer of de verloonde uren voor een zorgfunctie zijn
56    OPTIONAL {
57        ?overeenkomst onz-g:isAbout ?zorgfunctie .
58        ?zorgfunctie a onz-pers:ZorgverlenerFunctie
59    }
60    # maak variabele waarmee of de verloonde uren vermenigvuldigd kunnen worden 
61    BIND(IF(BOUND(?zorgfunctie),1,0) AS ?zorg)
62	BIND(IF(?zorg=1,0,1) AS ?niet_zorg)
63
64    # selecteer de verloonde uren en filter binnen kwartaal
65    ?overeenkomst 
66        onz-g:defines [
67        a onz-fin:VerloondePeriode ;
68        onz-g:startDatum ?verloon_start;
69        onz-g:eindDatum ?verloon_eind ;
70        onz-g:hasQuality [
71            onz-g:hasQualityValue [
72                onz-g:hasUnitOfMeasure onz-g:Uur ;
73                onz-g:hasDataValue ?verloonde_uren
74            ] ;
75        ] ;
76    ] .
77   FILTER (?verloon_start <= ?eind_periode && (!BOUND(?verloon_eind) || ?verloon_eind >= ?start_periode))
78  } 
79GROUP BY ?vestiging
80

Heb je feedback?

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