Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Versie:

Publicatiedatum:29-02-2024

Inwerkingtreding:29-02-2024




Bekijk bron...

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!