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

Uitwisselprofiel NZa Basisinformatie kostenonderzoek

Versie:

Publicatiedatum:03-10-2023

Inwerkingtreding:03-10-2023




Bekijk bron...

1.1. Ziekteverzuimpercentage (excl. zwangerschapsverlof)

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	((ROUND(100*SUM(?ptf * (?totaal_ziektedagen - ?correctie_totaal)))/100) AS ?teller)
9    ((ROUND(100*SUM(?ptf * ?dagen_overeenkomst))/100) AS ?noemer)
10    ((ROUND(100*SUM(?ptf * (?totaal_ziektedagen - ?correctie_totaal)) / SUM(?ptf * ?dagen_overeenkomst) * 100)/100) AS ?indicator)
11{
12    {
13        SELECT DISTINCT ?persoon ?ptf (MAX(?dagen_ziekte) AS ?totaal_ziektedagen) (SUM(?correctie_dagen_ziekte * (1 - (?aopercentage_corr / 100))) AS ?correctie_totaal) ?dagen_overeenkomst
14        {
15            {
16                SELECT DISTINCT ?persoon ?omvang ?ptf ?dagen_ziekte ?correctie_dagen_ziekte ?aopercentage_corr ?dagen_overeenkomst
17                {
18                    BIND("2022-01-01"^^xsd:date AS ?start_periode)
19                    BIND("2022-12-31"^^xsd:date AS ?eind_periode)
20
21                    ?overeenkomst 
22                        a onz-pers:ArbeidsOvereenkomst ;
23                        onz-pers:heeftOpdrachtnemer ?persoon ;
24                        onz-g:isAbout ?locatie ;
25                        onz-g:startDatum ?start_overeenkomst .
26                        OPTIONAL { ?overeenkomst onz-g:eindDatum ?eind_overeenkomst }
27                        FILTER(?start_overeenkomst <= ?eind_periode && ((?eind_overeenkomst >= ?start_periode) || (!BOUND(?eind_overeenkomst))))
28                        BIND(IF(?start_overeenkomst <= ?start_periode, ?start_periode, ?start_overeenkomst) AS ?start_overeenkomst_corr)
29                        BIND(IF(?eind_overeenkomst >= ?eind_periode || !BOUND(?eind_overeenkomst), ?eind_periode, ?eind_overeenkomst) AS ?eind_overeenkomst_corr)
30                    ?omvang
31                        onz-g:partOf ?overeenkomst ;
32                        onz-g:isAbout ?omvang_waarde ;
33                        onz-g:startDatum ?start_omvang .
34                        OPTIONAL { ?omvang onz-g:eindDatum ?eind_omvang }
35                        FILTER(?start_omvang <= ?eind_overeenkomst_corr && ((?eind_omvang >= ?start_overeenkomst_corr) || (!BOUND(?eind_omvang))))
36                        BIND(IF(?start_omvang <= ?start_periode, ?start_periode, ?start_omvang) AS ?start_omvang_corr)
37                        BIND(IF(?eind_omvang >= ?eind_periode || !BOUND(?eind_omvang), ?eind_periode, ?eind_omvang) AS ?eind_omvang_corr)
38                        #Bereken aantal dagen in overeenkomst
39                        BIND ((360 * (YEAR(?eind_omvang_corr + "P1D"^^xsd:duration) - YEAR(?start_omvang_corr))) +
40                            (30 * (MONTH(?eind_omvang_corr + "P1D"^^xsd:duration) - MONTH(?start_omvang_corr))) +
41                            (DAY(?eind_omvang_corr + "P1D"^^xsd:duration) - DAY(?start_omvang_corr))
42                            AS ?dagen_overeenkomst)
43                    ?omvang_waarde
44                        onz-g:hasDataValue ?omvang_waarde_getal ;
45                        onz-g:hasUnitOfMeasure ?omvang_waarde_eenheid .
46                    ?omvang_waarde_eenheid
47                        onz-pers:hasDenominatorQualityValue onz-g:Week ;
48                        onz-pers:hasNumeratorQualityValue onz-g:Uur ;
49                        onz-g:hasDataValue ?omvang_waarde_factor .
50                        BIND(?omvang_waarde_getal/36*?omvang_waarde_factor AS ?ptf)
51                    ?ziekteperiode 
52                        a onz-pers:ZiektePeriode ;
53                        onz-g:hasParticipant ?persoon ;
54                        onz-g:startDatum ?start_ziekte .
55                    OPTIONAL {?ziekteperiode a onz-pers:ZiektePeriode ;
56                                                onz-g:hasQuality ?ao .}
57                    OPTIONAL {?ziekteperiode onz-g:eindDatum ?eind_ziekte .}
58                    FILTER(?start_ziekte <= ?eind_omvang_corr && ((?eind_ziekte >= ?start_omvang_corr) || (!BOUND(?eind_ziekte))))
59                    BIND(IF(?start_ziekte <= ?start_omvang_corr, ?start_omvang_corr, ?start_ziekte) AS ?start_ziekte_corr)
60                    BIND(IF(?eind_ziekte >= ?eind_omvang_corr || !BOUND(?eind_ziekte), ?eind_omvang_corr, ?eind_ziekte) AS ?eind_ziekte_corr)
61                    OPTIONAL
62                    {
63                        ?ao 
64                            a onz-pers:VerzuimTijdKwaliteit ;
65                            onz-g:hasQualityValue ?aop .
66                        ?aop
67                            onz-g:hasDataValue ?aopercentage ;
68                            onz-g:startDatum ?start_aop .
69                            OPTIONAL { ?aop onz-g:eindDatum ?eind_aop }
70                            BIND(IF(!BOUND(?eind_aop), ?eind_ziekte_corr, ?eind_aop) AS ?eind_aop_corr)
71                            FILTER(?start_aop <= ?eind_ziekte_corr && ?eind_aop_corr >= ?start_ziekte_corr)
72                    }
73                    BIND(IF(?start_aop <= ?start_ziekte_corr, ?start_ziekte_corr, ?start_aop) AS ?start_aop_corr)
74                    BIND(IF(BOUND(?aopercentage), ?aopercentage, 100) AS ?aopercentage_corr)
75
76                    #Bereken aantal dagen ziek in periode
77                    BIND ((360 * (YEAR(?eind_ziekte_corr + "P1D"^^xsd:duration) - YEAR(?start_ziekte_corr))) +
78                        (30 * (MONTH(?eind_ziekte_corr + "P1D"^^xsd:duration) - MONTH(?start_ziekte_corr))) +
79                        (DAY(?eind_ziekte_corr + "P1D"^^xsd:duration) - DAY(?start_ziekte_corr))
80                        AS ?dagen_ziekte)
81                    #Bereken correcte aantal dagen deels hersteld o.b.v. AO percentage
82                    BIND ((360 * (YEAR(?eind_aop_corr + "P1D"^^xsd:duration) - YEAR(?start_aop_corr))) +
83                        (30 * (MONTH(?eind_aop_corr + "P1D"^^xsd:duration) - MONTH(?start_aop_corr))) +
84                        (DAY(?eind_aop_corr + "P1D"^^xsd:duration) - DAY(?start_aop_corr))
85                        AS ?dagen_deelshersteld)
86                    BIND(IF(BOUND(?dagen_deelshersteld),?dagen_deelshersteld,0) AS ?correctie_dagen_ziekte)                      
87                }
88            }
89        }
90        GROUP BY ?persoon ?ptf ?totaal_ziek ?dagen_overeenkomst
91    }
92}```

Heb je feedback?

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