Uitwisselprofiel NZa basisinformatie kostenonderzoek
Over Uitwisselprofiel NZa basisinformatie kostenonderzoek
1.1.2-pilot
- Publicatiedatum:
- 06-03-2025
- Inwerkingtreding:
- 06-03-2025
1.1. Ziekteverzuimpercentage (excl. zwangerschapsverlof)
Concepten
- Arbeidsovereenkomst
- Contractomvang
- Contractomvangwaarde
- Verzuimtijd
- Werkovereenkomst afspraak
- Ziekteperiode
Relaties
- gaat over
- gedefinieerd door
- heeft deel
- heeft eigenschap of kenmerk
- heeft eigenschapswaarde
- heeft meeteenheid
Eigenschappen
Instanties
SPARQL query
Code gekopieerd
...Kopieer naar klembord
1# Indicator: NZA 1.1 2# Parameters: ?startperiode, ?eindperiode 3# Ontologie: versie 3.0 of nieuwer 4 5PREFIX onz-pers: <http://purl.org/ozo/onz-pers#> 6PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 7PREFIX onz-g: <http://purl.org/ozo/onz-g#> 8PREFIX time: <http://www.w3.org/2006/time#> 9 10SELECT 11 ?teller 12 ?noemer 13 (IF(?noemer = 0, "Ongedefineerd", 100 * ?teller / ?noemer) AS ?indicator) 14WHERE { 15 SELECT 16 (SUM(?netto_verzuim_totaal) AS ?teller) 17 (SUM(?netto_dagen_afspraak) AS ?noemer) 18 { 19 { 20 SELECT 21 ?overeenkomst_afspraak 22 (MAX(?dagen_afspraak * ?ptf) AS ?netto_dagen_afspraak) 23 (SUM((?dagen_verzuim - ?totaal_hersteld) * ?ptf) AS ?netto_verzuim_totaal) 24 { 25 SELECT 26 ?overeenkomst_afspraak 27 ?ptf 28 ?ziekte 29 ?dagen_afspraak 30 ?dagen_verzuim 31 (SUM(?dagen_hersteld) AS ?totaal_hersteld) 32 { 33 BIND ("2024-01-01"^^xsd:date AS ?startperiode) 34 BIND ("2024-12-31"^^xsd:date AS ?eindperiode) 35 36 ?eindperiode ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eindperiode_reken . 37 ?overeenkomst 38 a onz-pers:ArbeidsOvereenkomst ; 39 onz-g:hasPart ?overeenkomst_afspraak . 40 ?overeenkomst_afspraak 41 a onz-pers:WerkOvereenkomstAfspraak ; 42 onz-g:startDatum ?start_afspraak . 43 OPTIONAL { ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak } 44 FILTER (?start_afspraak <= ?eindperiode && (?eind_afspraak >= ?startperiode || !BOUND(?eind_afspraak))) 45 ?overeenkomst_afspraak onz-g:hasPart ?omvang . 46 ?omvang 47 a onz-pers:ContractOmvang ; 48 onz-g:isAbout ?omvang_waarde . 49 ?omvang_waarde 50 a onz-pers:ContractOmvangWaarde ; 51 onz-g:hasDataValue ?omvang_getal ; 52 onz-g:hasUnitOfMeasure ?omvang_eenheid . 53 ?omvang_eenheid onz-g:hasDataValue ?eenheid_factor . 54 BIND(?omvang_getal/(36/?eenheid_factor) AS ?ptf) 55 56 BIND(IF(?start_afspraak < ?startperiode, ?startperiode, ?start_afspraak) AS ?start_afspraak_corr) 57 BIND(IF(?eind_afspraak > ?eindperiode || !BOUND(?eind_afspraak), ?eindperiode, ?eind_afspraak) AS ?eind_afspraak_corr) 58 ?start_afspraak_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_afspraak_reken . 59 ?eind_afspraak_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_afspraak_reken . 60 BIND(?eind_afspraak_reken - ?start_afspraak_reken + 1 AS ?dagen_afspraak) 61 OPTIONAL { 62 VALUES ?type_verzuim # Keuze in-/exclusief zwangerschapsverlog 63 { 64 onz-pers:ZiektePeriode 65 # onz-pers:ZwangerschapsVerlof 66 } 67 ?ziekte 68 a ?type_verzuim ; 69 onz-g:definedBy ?overeenkomst ; 70 onz-g:startDatum ?start_ziekte_periode . 71 ?start_ziekte_periode ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_ziekte_periode_reken . 72 OPTIONAL { 73 ?ziekte onz-g:eindDatum ?eind_ziekte_periode_temp . 74 ?eind_ziekte_periode_temp ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_ziekte_periode_temp_reken . 75 } 76 # FILTER(?start_ziekte_periode <= ?eind_afspraak_corr && (?eind_ziekte_periode_temp >= ?start_afspraak_corr || !BOUND(?eind_ziekte_periode_temp))) 77 OPTIONAL { 78 ?ziekte onz-g:hasQuality ?verzuim_tijd . 79 ?verzuim_tijd 80 a onz-pers:VerzuimTijdKwaliteit ; 81 onz-g:hasQualityValue ?verzuim_waarde . 82 ?verzuim_waarde 83 onz-g:hasUnitOfMeasure onz-g:percent ; 84 onz-g:startDatum ?start_verzuim_waarde_temp ; 85 onz-g:hasDataValue ?verzuim_percentage . 86 ?start_verzuim_waarde_temp ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_verzuim_waarde_temp_reken_temp 87 OPTIONAL { 88 ?verzuim_waarde onz-g:eindDatum ?eind_verzuim_waarde_temp . 89 ?eind_verzuim_waarde_temp ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_verzuim_waarde_temp_reken_temp 90 } 91 } 92 } 93 BIND(IF(!BOUND(?start_verzuim_waarde_temp), ?unbound, IF(?start_verzuim_waarde_temp_reken_temp < ?start_afspraak_reken, ?start_afspraak_reken, ?start_verzuim_waarde_temp_reken_temp)) AS ?start_verzuim_waarde_reken) 94 BIND(IF(!BOUND(?start_verzuim_waarde_temp), ?unbound, IF(!BOUND(?eind_verzuim_waarde_temp_reken_temp) || ?eind_verzuim_waarde_temp_reken_temp > ?eind_afspraak_reken, ?eind_afspraak_reken, ?eind_verzuim_waarde_temp_reken_temp)) AS ?eind_verzuim_waarde_reken) 95 96 # Gebruikt totale ziekteperiode t/m eind meetperiode als maat voor kort/langdurend verzuim 97 BIND(IF(!BOUND(?ziekte), ?unbound, IF(!BOUND(?eind_ziekte_periode_temp) || ?eind_ziekte_periode_temp > ?eindperiode, ?eindperiode, ?eind_ziekte_periode_temp)) AS ?eind_ziekte_periode) 98 BIND(IF(!BOUND(?ziekte), ?unbound, IF(!BOUND(?eind_ziekte_periode_temp_reken) || ?eind_ziekte_periode_temp_reken > ?eindperiode_reken, ?eindperiode_reken, ?eind_ziekte_periode_temp_reken)) AS ?eind_ziekte_periode_reken) 99 BIND(IF(!BOUND(?ziekte), ?unbound, ?eind_ziekte_periode_reken - ?start_ziekte_periode_reken + 1) AS ?dagen_ziekte_periode) 100 # Filter kort/langdurend verzuim 101 #BIND(IF(?dagen_ziekte_periode <= 28 || !BOUND(?ziekte), 1, 0) AS ?voorwaarde_1) 102 BIND(IF(BOUND(?ziekte) && (?start_ziekte_periode <= ?eind_afspraak_corr && (?eind_ziekte_periode >= ?start_afspraak_corr || !BOUND(?eind_ziekte_periode))), 1, 0) AS ?voorwaarde_2) 103 BIND(IF(!BOUND(?verzuim_tijd) || (BOUND(?verzuim_tijd) && (?start_verzuim_waarde_temp <= ?eind_afspraak_corr && (?eind_verzuim_waarde_temp >= ?start_afspraak_corr || !BOUND(?eind_verzuim_waarde_temp)))), 1, 0) AS ?voorwaarde_3) 104 BIND(?voorwaarde_2 * ?voorwaarde_3 AS ?geldige_ziekte) 105 106 BIND(IF(BOUND(?verzuim_tijd), ?geldige_ziekte * (100 - ?verzuim_percentage)/100 * (?eind_verzuim_waarde_reken - ?start_verzuim_waarde_reken + 1), 0) AS ?dagen_hersteld) 107 BIND(IF(!BOUND(?ziekte), ?unbound, IF(?start_ziekte_periode_reken < ?start_afspraak_reken, ?start_afspraak_reken, ?start_ziekte_periode_reken)) AS ?start_ziekte_reken) 108 BIND(IF(!BOUND(?ziekte), ?unbound, IF(?eind_ziekte_periode_temp_reken > ?eind_afspraak_reken || !BOUND(?eind_ziekte_periode_temp_reken), ?eind_afspraak_reken, ?eind_ziekte_periode_temp_reken)) AS ?eind_ziekte_reken) 109 BIND(IF(BOUND(?ziekte), ?geldige_ziekte * (?eind_ziekte_reken - ?start_ziekte_reken + 1), 0) AS ?dagen_verzuim) 110 } 111 GROUP BY 112 ?overeenkomst_afspraak 113 ?ptf 114 ?ziekte 115 ?dagen_afspraak 116 ?dagen_verzuim 117 } 118 GROUP BY 119 ?overeenkomst_afspraak 120 } 121 } 122} 123