Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

12.1 Verzuimfrequentie (excl. zwangerschapsverlof)

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 12.1
2# Parameters: ?jaar, ?kwartaal, ?zorgkantoor
3# Ontologie: versie 3.0 of nieuwer
4
5PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
6PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
7PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
8PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
9PREFIX onz-g: <http://purl.org/ozo/onz-g#>
10PREFIX onz-org: <http://purl.org/ozo/onz-org#>
11PREFIX onz-zorg: <http://purl.org/ozo/onz-zorg#>
12
13SELECT 
14    (?vestiging AS ?organisatieonderdeel)
15    # ?zorgkantoor_vestiging
16    (COUNT(DISTINCT ?persoon) AS ?aantal_personeelsleden_in_loondienst)
17    (SUM(?meldingen) AS ?aantal_nieuwe_ziekmeldingen)
18    (SUM(?meldingen) / COUNT(DISTINCT ?persoon) AS ?verzuimfrequentie_excl_zwangerschap)
19{
20    {
21        SELECT 
22            ?persoon
23            ?vestiging
24            # ?zorgkantoor_vestiging
25            (COUNT(DISTINCT ?ziekteperiode) AS ?meldingen)
26        {
27            # BIND(2023 AS ?jaar)
28            # BIND("Q1" AS ?kwartaal)
29            # BIND(onz-org:ZorgkantoorMenzis AS ?zorgkantoor)
30
31            BIND(
32                IF(?kwartaal = 'Q1', xsd:date(CONCAT(STR(?jaar), '-01-01')),
33                IF(?kwartaal = 'Q2', xsd:date(CONCAT(STR(?jaar), '-04-01')),
34                IF(?kwartaal = 'Q3', xsd:date(CONCAT(STR(?jaar), '-07-01')),
35                IF(?kwartaal = 'Q4', xsd:date(CONCAT(STR(?jaar), '-10-01')),
36                '')))) AS ?start_periode)
37            BIND(?start_periode + "P3M"^^xsd:duration + "-P1D"^^xsd:duration AS ?eind_periode)
38
39            
40            # Keuze in-/exclusief zwangerschapsverlog
41            VALUES ?type_verzuim
42            { 
43                onz-pers:ZiektePeriode
44                #onz-pers:ZwangerschapsVerlof
45            }
46
47            ?overeenkomst 
48                a onz-pers:ArbeidsOvereenkomst ; # personeel in loondienst
49                onz-pers:heeftOpdrachtnemer ?persoon ;
50                onz-g:hasPart ?overeenkomst_afspraak .
51            ?overeenkomst_afspraak
52                a onz-pers:WerkOvereenkomstAfspraak ;
53                onz-g:isAbout ?locatie ;
54                onz-g:startDatum ?start_afspraak .
55            OPTIONAL {
56                ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak
57            }
58            FILTER (?start_afspraak <= ?eind_periode && ((!BOUND(?eind_afspraak)) || (?eind_afspraak >= ?start_periode)))
59
60            #Aantal ziekte meldingen
61            OPTIONAL {
62                ?persoon
63                    ^onz-g:hasParticipant ?ziekteperiode .
64                ?ziekteperiode
65                    a ?type_verzuim ;
66                    onz-g:startDatum ?start_ziekte .
67                FILTER (
68                    ?start_ziekte >= ?start_periode &&
69                    ?start_ziekte <= ?eind_periode &&
70                    ?start_ziekte >= ?start_afspraak &&
71                    ((!BOUND(?eind_afspraak)) || (?start_ziekte <= ?eind_afspraak))
72                )
73            }
74
75            #Bepaal de vestigingen
76            ?locatie 
77                a onz-g:StationaryArtifact ;
78        	    onz-g:partOf* ?vestiging_uri .
79            ?vestiging_uri a onz-org:Vestiging ;
80                onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 .
81            BIND(IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode)
82            ?pc_gebied 
83                onz-g:identifiedBy ?postcode ;
84                onz-g:partOf+ ?zk_regio .
85            ?zk_regio a onz-org:ZorgkantoorRegio .
86            ?zorgkantoor onz-g:hasOperatingRange ?zk_regio .
87
88            {     
89                ?vestiging_uri onz-g:identifiedBy ?vest_nr .    	
90                ?vest_nr a onz-org:Vestigingsnummer ;
91                    onz-g:hasDataValue ?vestiging .
92            } UNION {
93                # Includeer ook de organisatie als geheel en label deze als vestiging
94                ?vestiging_uri onz-org:vestigingVan ?organisatie_uri .
95                BIND("Totaal organisatie" AS ?vestiging)
96                BIND("n.v.t." AS ?zk_vestiging)
97            }
98            BIND(IF(!BOUND(?zk_vestiging), ?zorgkantoor, ?zk_vestiging) AS ?zorgkantoor_vestiging)
99        }
100        GROUP BY ?persoon ?vestiging ?zorgkantoor_vestiging
101    }
102}
103GROUP BY ?vestiging ?zorgkantoor_vestiging
104ORDER BY ?vestiging ?zorgkantoor_vestiging
105

Heb je feedback?

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