Let op: dit is een oudere versie van deze publicatie. Ga naar de laatste versie
Code gekopieerd
...Kopieer naar klembord
1PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 2PREFIX onz-pers: <http://purl.org/ozo/onz-pers#> 3PREFIX onz-g: <http://purl.org/ozo/onz-g#> 4PREFIX onz-org: <http://purl.org/ozo/onz-org#> 5PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 6 7SELECT 8 ?vestiging 9 ?zorg 10 ((ROUND(100*SUM(?ptf * (?totaal_ziektedagen - ?correctie_totaal)))/100) AS ?teller) 11 ((ROUND(100*SUM(?ptf * ?dagen_overeenkomst))/100) AS ?noemer) 12 ((ROUND(100*SUM(?ptf * (?totaal_ziektedagen - ?correctie_totaal)) / SUM(?ptf * ?dagen_overeenkomst) * 100)/100) AS ?indicator) 13{ 14 { 15 SELECT DISTINCT ?vestiging ?zorg ?persoon ?ptf (MAX(?dagen_ziekte) AS ?totaal_ziektedagen) (SUM(?correctie_dagen_ziekte * (1 - (?aopercentage_corr / 100))) AS ?correctie_totaal) ?dagen_overeenkomst 16 { 17 { 18 SELECT DISTINCT ?vestiging ?zorg ?persoon ?omvang ?ptf ?dagen_ziekte ?correctie_dagen_ziekte ?aopercentage_corr ?dagen_overeenkomst 19 { 20 BIND("2023-01-01"^^xsd:date AS ?start_periode) 21 BIND("2023-03-31"^^xsd:date AS ?eind_periode) 22 VALUES ?type_verzuim #Keuze in-/exclusief zwangerschapsverlog 23 { 24 onz-pers:ZiektePeriode 25 #onz-pers:ZwangerschapsVerlof 26 } 27 ?overeenkomst 28 a onz-pers:ArbeidsOvereenkomst ; 29 onz-pers:heeftOpdrachtnemer ?persoon ; 30 onz-g:isAbout ?locatie ; 31 onz-g:startDatum ?start_overeenkomst . 32 OPTIONAL { ?overeenkomst onz-g:eindDatum ?eind_overeenkomst } 33 FILTER(?start_overeenkomst <= ?eind_periode && ((?eind_overeenkomst >= ?start_periode) || (!BOUND(?eind_overeenkomst)))) 34 BIND(IF(?start_overeenkomst <= ?start_periode, ?start_periode, ?start_overeenkomst) AS ?start_overeenkomst_corr) 35 BIND(IF(?eind_overeenkomst >= ?eind_periode || !BOUND(?eind_overeenkomst), ?eind_periode, ?eind_overeenkomst) AS ?eind_overeenkomst_corr) 36 ?locatie 37 a onz-g:StationaryArtifact ; 38 onz-g:partOf* ?v . 39 ?v 40 a onz-org:Vestiging ; 41 onz-g:identifiedBy ?vest_nr. 42 ?vest_nr 43 a onz-org:Vestigingsnummer ; 44 onz-g:hasDataValue ?vestiging . 45 46 OPTIONAL 47 { 48 ?overeenkomst onz-g:isAbout ?zorgfunctie . 49 ?zorgfunctie a onz-pers:ZorgverlenerFunctie 50 } 51 BIND(IF(BOUND(?zorgfunctie),"Zorg","Niet-zorg") AS ?zorg) 52 ?omvang 53 a onz-pers:ContractOmvang ; 54 onz-g:partOf ?overeenkomst ; 55 onz-g:isAbout ?omvang_waarde ; 56 onz-g:startDatum ?start_omvang . 57 OPTIONAL { ?omvang onz-g:eindDatum ?eind_omvang } 58 FILTER(?start_omvang <= ?eind_overeenkomst_corr && ((?eind_omvang >= ?start_overeenkomst_corr) || (!BOUND(?eind_omvang)))) 59 BIND(IF(?start_omvang <= ?start_periode, ?start_periode, ?start_omvang) AS ?start_omvang_corr) 60 BIND(IF(?eind_omvang >= ?eind_periode || !BOUND(?eind_omvang), ?eind_periode, ?eind_omvang) AS ?eind_omvang_corr) 61 #Bereken aantal dagen in overeenkomst 62 BIND ((360 * (YEAR(?eind_omvang_corr + "P1D"^^xsd:duration) - YEAR(?start_omvang_corr))) + 63 (30 * (MONTH(?eind_omvang_corr + "P1D"^^xsd:duration) - MONTH(?start_omvang_corr))) + 64 (DAY(?eind_omvang_corr + "P1D"^^xsd:duration) - DAY(?start_omvang_corr)) 65 AS ?dagen_overeenkomst) 66 67 ?omvang_waarde 68 onz-g:hasDataValue ?omvang_waarde_getal ; 69 onz-g:hasUnitOfMeasure ?omvang_waarde_eenheid . 70 ?omvang_waarde_eenheid 71 onz-pers:hasDenominatorQualityValue onz-g:Week ; 72 onz-pers:hasNumeratorQualityValue onz-g:Uur ; 73 onz-g:hasDataValue ?omvang_waarde_factor . 74 BIND(?omvang_waarde_getal/36*?omvang_waarde_factor AS ?ptf) 75 ?ziekteperiode 76 a ?type_verzuim ; 77 onz-g:hasParticipant ?persoon ; 78 onz-g:startDatum ?start_ziekte . 79 OPTIONAL {?ziekteperiode onz-g:eindDatum ?eind_ziekte} 80 FILTER(?start_ziekte <= ?eind_omvang_corr && ((?eind_ziekte >= ?start_omvang_corr) || (!BOUND(?eind_ziekte)))) 81 82 #Filter lang/kortdurend verzuim 83 BIND ((360 * (YEAR(?eind_ziekte + "P1D"^^xsd:duration) - YEAR(?start_ziekte))) + 84 (30 * (MONTH(?eind_ziekte + "P1D"^^xsd:duration) - MONTH(?start_ziekte))) + 85 (DAY(?eind_ziekte + "P1D"^^xsd:duration) - DAY(?start_ziekte)) 86 AS ?dagen_ziek) 87 #FILTER (?dagen_ziek < 29) #kortdurend verzuim 88 FILTER (?dagen_ziek >= 29 || !BOUND(?dagen_ziek)) #landurend verzuim 89 90 BIND(IF(?start_ziekte <= ?start_omvang_corr, ?start_omvang_corr, ?start_ziekte) AS ?start_ziekte_corr) 91 BIND(IF(?eind_ziekte >= ?eind_omvang_corr || !BOUND(?eind_ziekte), ?eind_omvang_corr, ?eind_ziekte) AS ?eind_ziekte_corr) 92 OPTIONAL 93 { 94 ?ao 95 onz-g:inheresIn ?persoon ; 96 a onz-pers:ArbeidsOngeschiktheid ; 97 onz-g:hasQualityValue ?aop . 98 ?aop 99 onz-g:hasDataValue ?aopercentage ; 100 onz-g:startDatum ?start_aop . 101 OPTIONAL { ?aop onz-g:eindDatum ?eind_aop } 102 BIND(IF(!BOUND(?eind_aop), ?eind_ziekte_corr, ?eind_aop) AS ?eind_aop_corr) 103 FILTER(?start_aop <= ?eind_ziekte_corr && ?eind_aop_corr >= ?start_ziekte_corr) 104 } 105 BIND(IF(?start_aop <= ?start_ziekte_corr, ?start_ziekte_corr, ?start_aop) AS ?start_aop_corr) 106 BIND(IF(BOUND(?aopercentage), ?aopercentage, 100) AS ?aopercentage_corr) 107 108 #Bereken aantal dagen ziek in periode 109 BIND ((360 * (YEAR(?eind_ziekte_corr + "P1D"^^xsd:duration) - YEAR(?start_ziekte_corr))) + 110 (30 * (MONTH(?eind_ziekte_corr + "P1D"^^xsd:duration) - MONTH(?start_ziekte_corr))) + 111 (DAY(?eind_ziekte_corr + "P1D"^^xsd:duration) - DAY(?start_ziekte_corr)) 112 AS ?dagen_ziekte) 113 #Bereken correcte aantal dagen deels hersteld o.b.v. AO percentage 114 BIND ((360 * (YEAR(?eind_aop_corr + "P1D"^^xsd:duration) - YEAR(?start_aop_corr))) + 115 (30 * (MONTH(?eind_aop_corr + "P1D"^^xsd:duration) - MONTH(?start_aop_corr))) + 116 (DAY(?eind_aop_corr + "P1D"^^xsd:duration) - DAY(?start_aop_corr)) 117 AS ?dagen_deelshersteld) 118 BIND(IF(BOUND(?dagen_deelshersteld),?dagen_deelshersteld,0) AS ?correctie_dagen_ziekte) 119 120 } 121 } 122 } 123 GROUP BY ?vestiging ?zorg ?persoon ?ptf ?totaal_ziek ?dagen_overeenkomst 124 } 125} 126GROUP BY ?vestiging ?zorg```
Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!