Let op: dit is een oudere versie van deze publicatie. Ga naar de laatste versie
Code gekopieerd
...Kopieer naar klembord
1# Indicator: Zorgkantoren 7.1 2# Parameters: $(kwartaal) 3# Ontologie: versie 2.0.0 of nieuwer 4 5PREFIX onz-g: <http://purl.org/ozo/onz-g#> 6PREFIX onz-org: <http://purl.org/ozo/onz-org#> 7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#> 8PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 10PREFIX onz-zorg: <http://purl.org/ozo/onz-zorg#> 11 12SELECT 13 ?vestiging 14 ?ingezette_uren 15 ?aantal_clienten 16 ((?ingezette_uren/?aantal_clienten) AS ?ingezetten_uren_per_client) 17WHERE 18{ 19 { 20 SELECT 21 ?vestiging 22 (SUM(?uren) AS ?ingezette_uren) 23 WHERE 24 { 25 # definieer kwartaal waarin overeenkomst geldig moet zijn 26 BIND('Q1' AS ?kwartaal) 27 BIND(IF(?kwartaal = 'Q1', '2023-01-01'^^xsd:date, 28 IF(?kwartaal = 'Q2', '2023-04-01'^^xsd:date, 29 IF(?kwartaal = 'Q3', '2023-07-01'^^xsd:date, 30 IF(?kwartaal = 'Q4', '2023-10-01'^^xsd:date, 31 '')))) AS ?start_periode) 32 BIND((?start_periode + "P3M"^^xsd:duration - "P1D"^^xsd:duration) AS ?eind_periode) 33 34 # selecteer uren van gewerkte periode binnen periode 35 ?gewerkteperiode 36 a onz-pers:GewerktePeriode ; 37 onz-g:hasBeginTimeStamp ?start_werk ; 38 onz-g:hasEndTimeStamp ?eind_werk ; 39 onz-g:hasPerdurantLocation ?locatie ; 40 onz-g:definedBy ?overeenkomst ; 41 onz-g:hasQuality / onz-g:hasQualityValue / onz-g:hasDataValue ?uren . 42 FILTER(?start_werk >= ?start_periode && ?eind_werk <= ?eind_periode) 43 44 # selecteer werkovereenkomsten waarbij werknemer een zorgverlenerfunctie heeft 45 ?overeenkomst 46 a onz-pers:ArbeidsOvereenkomst ; 47 onz-g:isAbout/a onz-pers:ZorgverlenerFunctie . 48 49 50 # selecteer vestiging van gewerkte periode 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 } 68 GROUP BY ?vestiging 69 } 70 { 71 SELECT 72 ?vestiging 73 (COUNT(DISTINCT(?client)) AS ?aantal_clienten) 74 WHERE 75 { 76 # definieer kwartaal waarin overeenkomst geldig moet zijn 77 BIND('Q1' AS ?kwartaal) 78 BIND(IF(?kwartaal = 'Q1', '2023-01-01'^^xsd:date, 79 IF(?kwartaal = 'Q2', '2023-04-01'^^xsd:date, 80 IF(?kwartaal = 'Q3', '2023-07-01'^^xsd:date, 81 IF(?kwartaal = 'Q4', '2023-10-01'^^xsd:date, 82 '')))) AS ?start_periode) 83 BIND((?start_periode + "P3M"^^xsd:duration - "P1D"^^xsd:duration) AS ?eind_periode) 84 85 VALUES ?zorgprofiel { onz-zorg:4VV onz-zorg:5VV onz-zorg:6VV onz-zorg:7VV onz-zorg:8VV onz-zorg:9BVV onz-zorg:10VV } 86 87 # selecteer zorgproces binnen periode 88 ?zorgproces 89 a onz-zorg:NursingProcess ; 90 onz-g:definedBy ?indicatie ; 91 onz-g:hasPerdurantLocation ?locatie ; 92 onz-g:startDatum ?start_proces . 93 OPTIONAL {?zorgproces onz-g:eindDatum ?eind_proces} 94 FILTER (?start_proces <= ?eind_periode && (!BOUND(?eind_proces) || ?eind_proces >= ?start_periode)) 95 96 # selecteer vestiging van gewerkte periode 97 { 98 ?locatie onz-g:partOf* ?vestiging_uri . 99 ?vestiging_uri 100 a onz-org:Vestiging ; 101 onz-g:identifiedBy ?vest_nr. 102 ?vest_nr a onz-org:Vestigingsnummer ; 103 onz-g:hasDataValue ?vestiging . 104 } UNION { 105 # includeer ook de organisatie als geheel en label deze als vestiging 106 ?locatie onz-g:partOf*/onz-org:vestigingVan ?organisatie_uri . 107 ?organisatie_uri 108 a onz-g:Business ; 109 rdfs:label ?organisatie . 110 BIND(CONCAT('Totaal ',?organisatie) AS ?vestiging) 111 } 112 113 # selecteer de bijbehordene indicatie, om unieke clienten te kunnen bepalen 114 ?indicatie 115 onz-g:hasPart ?zorgprofiel ; 116 onz-g:isAbout ?client . 117 ?client a onz-g:Human . 118 } 119 GROUP BY ?vestiging 120 } 121}
Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!