Let op: dit is een oudere versie van deze publicatie. Ga naar de laatste versie

Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

11.1.2 Kortdurend ziekteverzuimpercentage (excl. zwangerschapsverlof) Q2 2023

Concepten

Relaties

Eigenschappen

Instanties

SPARQL query

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-04-01"^^xsd:date AS ?start_periode)
21                    BIND("2023-06-30"^^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)) AS ?dagen_overeenkomst)
65
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                        BIND ((360 * (YEAR(?eind_ziekte + "P1D"^^xsd:duration) - YEAR(?start_ziekte))) +
83                            (30 * (MONTH(?eind_ziekte + "P1D"^^xsd:duration) - MONTH(?start_ziekte))) +
84                            (DAY(?eind_ziekte + "P1D"^^xsd:duration) - DAY(?start_ziekte))
85                            AS ?dagen_ziek)
86
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
114                        #Bereken correcte aantal dagen deels hersteld o.b.v. AO percentage
115                        BIND ((360 * (YEAR(?eind_aop_corr + "P1D"^^xsd:duration) - YEAR(?start_aop_corr))) +
116                            (30 * (MONTH(?eind_aop_corr + "P1D"^^xsd:duration) - MONTH(?start_aop_corr))) +
117                            (DAY(?eind_aop_corr + "P1D"^^xsd:duration) - DAY(?start_aop_corr))
118                            AS ?dagen_deelshersteld)
119
120                        BIND(IF(BOUND(?dagen_deelshersteld),?dagen_deelshersteld,0) AS ?correctie_dagen_ziekte)
121                        
122                }
123            }
124        }
125        GROUP BY ?vestiging ?zorg ?persoon ?ptf ?totaal_ziek ?dagen_overeenkomst
126    }
127}
128GROUP BY ?vestiging ?zorg```

Heb je feedback?

Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!