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#> 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('Q2' 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
Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!