Code gekopieerd
...Kopieer naar klembord
1# Indicator: Zorgkantoren 1.1 2# Parameters: ($kwartaal) 3# Ontologie: versie 2.0.0 of nieuwer 4 5PREFIX onz-g: <http://purl.org/ozo/onz-g#> 6PREFIX onz-pers: <http://purl.org/ozo/onz-pers#> 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(?zorg_factor) AS ?Zorg) 15 (SUM(?factor) - SUM(?zorg_factor) AS ?Niet_zorg) 16 (SUM(?factor) AS ?Totaal) 17{ 18 { 19 SELECT ?persoon ?Vestiging (MAX(?zorgfunctie) AS ?zorg_boolean) (?dagen_indicator/90 AS ?factor) 20 { 21 # Bepaal een meetperiode van drie maanden, startend vanaf een in te vullen datum 22 BIND("2023-07-01"^^xsd:date AS ?start_periode) 23 BIND(?start_periode + "P3M"^^xsd:duration - "P1D"^^xsd:duration AS ?eind_periode) 24 25 # Bepaal filter voor definitie van overeenkomsten die geldig zijn voor personeelsleden 26 VALUES ?personeels_overeenkomst 27 { 28 onz-pers:ArbeidsOvereenkomst 29# onz-pers:OproepOvereenkomst # automatically taken into account as it is a type of Arbeidsovereenkomst 30 onz-pers:UitzendOvereenkomst 31 onz-pers:InhuurOvereenkomst 32 } 33 34 ?functie 35 a onz-g:OccupationalPositionRole ; 36 a ?type_functie ; 37 onz-g:startDatum ?start_functie . 38 OPTIONAL {?functie a onz-g:OccupationalPositionRole ; 39 onz-g:eindDatum ?eind_functie} 40 FILTER(?start_functie <= ?eind_periode && ((?eind_functie >= ?start_periode) || (!BOUND(?eind_functie)))) 41 BIND(IF(?type_functie = onz-pers:ZorgverlenerFunctie, 1, 0) AS ?zorgfunctie) 42 43 ?overeenkomst 44 a ?personeels_overeenkomst ; 45 onz-pers:heeftOpdrachtnemer ?persoon ; 46 onz-g:isAbout ?locatie ; 47 onz-g:isAbout ?functie . 48 49 ?persoon a onz-g:Human . 50 51 # Bepaal de vestiging waar de werkzaamheden verricht worden volgens de werkovereenkomst 52 { 53 ?locatie onz-g:partOf* ?vestiging_uri . 54 ?vestiging_uri 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 # Bepaal aantal dagen overeenkomst in rapportageperiode 68 BIND(IF(?start_functie < ?start_periode, ?start_periode, ?start_functie) AS ?start_indicator) 69 BIND(IF(?eind_functie > ?eind_periode || !BOUND(?eind_functie), ?eind_periode, ?eind_functie) AS ?eind_indicator) 70 71 ?start_indicator ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_indicator_final . 72 ?eind_indicator ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_indicator_final . 73 BIND(?eind_indicator_final - ?start_indicator_final + 1 AS ?dagen_indicator) 74 75 } GROUP BY ?persoon ?Vestiging ?functie ?start_indicator ?eind_indicator ?dagen_indicator 76 77 } 78 BIND(?zorg_boolean * ?factor AS ?zorg_factor) 79} GROUP BY ?Vestiging
Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!