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

Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

4.1.4 Gemiddelde contractomvang personeel Q4 2023

Concepten

Relaties

Eigenschappen

Instanties

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 4.1 
2# Parameters: $(kwartaal)
3# Ontologie: versie 2.0.0 of nieuwer
4
5PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
6PREFIX onz-g: <http://purl.org/ozo/onz-g#>
7PREFIX onz-org: <http://purl.org/ozo/onz-org#>
8PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
9PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
10
11SELECT 
12	?vestiging
13	(SUM(?contractuele_uren_kwartaal * ?zorg)/SUM(?dagen_indicator) AS ?zorg_gerelateerd)
14	(SUM(?contractuele_uren_kwartaal * ?niet_zorg)/SUM(?dagen_indicator) AS ?niet_zorg_gerelateerd)
15WHERE { 
16    # selecteer kwartaal 
17    BIND('Q4' AS ?kwartaal)
18    BIND(IF(?kwartaal = 'Q1', '2023-01-01'^^xsd:date, 
19        IF(?kwartaal = 'Q2', '2023-04-01'^^xsd:date,
20        IF(?kwartaal = 'Q3', '2023-07-01'^^xsd:date,
21        IF(?kwartaal = 'Q4', '2023-10-01'^^xsd:date, 
22        '')))) AS ?start_periode)
23    BIND((?start_periode + "P3M"^^xsd:duration - "P1D"^^xsd:duration) AS ?eind_periode)
24    
25    # selecteer overeenkomst met start en eind en filter binnen kwartaal
26	?overeenkomst 
27    	a onz-pers:WerkOvereenkomst ;
28        onz-g:hasPart ?omvang ;
29        onz-g:isAbout ?locatie ;
30        onz-g:startDatum ?overeenkomst_start .
31    OPTIONAL { ?overeenkomst onz-g:eindDatum ?eind_overeenkomst }
32    FILTER (?overeenkomst_start <= ?eind_periode && (!BOUND(?overeenkomst_eind) || ?overeenkomst_eind >= ?start_periode))
33
34    # selecteer contractomvang
35    ?omvang
36    	a onz-pers:ContractOmvang ;
37    	onz-g:isAbout ?omvang_waarde .
38	?omvang_waarde
39        onz-g:hasDataValue ?omvang_waarde_getal ;
40        onz-g:hasUnitOfMeasure ?omvang_waarde_eenheid .
41  	?omvang_waarde_eenheid
42    	onz-pers:hasDenominatorQualityValue onz-g:Week ;
43     	onz-pers:hasNumeratorQualityValue onz-g:Uur ;
44      	onz-g:hasDataValue ?omvang_waarde_factor .
45    
46    # bepaal de vestiging waar de werkzaamheden verricht worden volgens de werkovereenkomst
47    {
48        ?locatie onz-g:partOf* ?vestiging_uri .
49        ?vestiging_uri 
50            a onz-org:Vestiging ;
51            onz-g:identifiedBy ?vest_nr.
52        ?vest_nr a onz-org:Vestigingsnummer ;
53            onz-g:hasDataValue ?vestiging .
54    } UNION {
55        #Includeer ook de organisatie als geheel en label deze als vestiging
56        ?locatie onz-g:partOf*/onz-org:vestigingVan ?organisatie_uri .
57        ?organisatie_uri 
58            a onz-g:Business ;
59            rdfs:label ?organisatie .
60        BIND(CONCAT('Totaal ',?organisatie) AS ?vestiging)
61    }
62	
63    # definieer of de verloonde uren voor een zorgfunctie zijn
64    OPTIONAL {
65        ?overeenkomst onz-g:isAbout ?zorgfunctie .
66        ?zorgfunctie a onz-pers:ZorgverlenerFunctie
67    }
68    
69	# maak variabele waarmee of de verloonde uren vermenigvuldigd kunnen worden 
70    BIND(IF(BOUND(?zorgfunctie),1,0) AS ?zorg)
71	BIND(IF(?zorg=1,0,1) AS ?niet_zorg)
72    
73    # bereken aantal uren per week en zet dit om naar kwartaal uren
74    BIND((?omvang_waarde_getal * ?omvang_waarde_factor) AS ?uren_per_week)
75   	BIND((47*?uren_per_week/4) AS ?contractuele_uren_kwartaal)
76    
77    # bepaal aantal dagen overeenkomst in rapportageperiode
78    BIND(IF(?overeenkomst_start < ?start_periode, ?start_periode, ?overeenkomst_start) AS ?start_indicator)
79    BIND(IF(?overeenkomst_eind > ?eind_periode || !BOUND(?overeenkomst_eind), ?eind_periode, ?eind_overeenkomst) AS ?eind_indicator)
80    BIND (
81        (360 * (YEAR(?eind_indicator) - YEAR(?start_indicator))) +
82        (30 * (MONTH(?eind_indicator) - MONTH(?start_indicator))) +
83        IF(
84            (DAY(?eind_indicator) - DAY(?start_indicator)) < 29, (DAY(?eind_indicator) - DAY(?start_indicator)), 29) + 1
85        AS ?dagen_indicator)
86} 
87GROUP BY ?vestiging

Heb je feedback?

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