Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Versie:

Publicatiedatum:30-04-2024

Inwerkingtreding:18-04-2024




Bekijk bron...

4.1.5 Gemiddelde contractomvang personeel Q1 2024

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

Heb je feedback?

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