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