Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
03-10-2025

Inwerkingtreding:
03-10-2025

5.1 Wat is de leeftijdsopbouw van het personeel in loondienst?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 5.1
2# Parameters: ?kwartaal, ?jaar, ?zorgkantoor
3# Ontologie: versie 3.0 of nieuwer
4
5PREFIX onz-g: <http://purl.org/ozo/onz-g#>
6PREFIX onz-org: <http://purl.org/ozo/onz-org#>
7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
8PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
11
12SELECT 
13    (?vestiging AS ?Indeling)
14    # ?zorgkantoor_vestiging
15    (SUM(?1620) AS ?16_20)
16    (SUM(?2125) AS ?21_25)
17    (SUM(?2630) AS ?26_30)
18    (SUM(?3135) AS ?31_35)
19    (SUM(?3640) AS ?36_40)
20    (SUM(?4145) AS ?41_45)
21    (SUM(?4650) AS ?46_50)
22    (SUM(?5155) AS ?51_55)
23    (SUM(?5660) AS ?56_60)
24    (SUM(?6165) AS ?61_65)
25    (SUM(?6670) AS ?66_70)
26    (SUM(?7175) AS ?71_75)
27{
28    {
29        SELECT  DISTINCT 
30            ?vestiging 
31            ?zorgkantoor_vestiging
32            ?persoon
33            ?leeftijd
34        {
35            # BIND(2023 AS ?jaar)
36            # BIND("Q1" AS ?kwartaal)
37            # BIND(onz-org:ZorgkantoorMenzis AS ?zorgkantoor)
38
39            BIND(IF(?kwartaal = 'Q1', xsd:date(CONCAT(STR(?jaar), '-01-01')),
40                IF(?kwartaal = 'Q2', xsd:date(CONCAT(STR(?jaar), '-04-01')),
41                IF(?kwartaal = 'Q3', xsd:date(CONCAT(STR(?jaar), '-07-01')),
42                IF(?kwartaal = 'Q4', xsd:date(CONCAT(STR(?jaar), '-10-01')),
43                '')))) AS ?start_periode)
44            BIND(?start_periode + "P3M"^^xsd:duration + "-P1D"^^xsd:duration AS ?eind_periode)
45            
46            ?overeenkomst 
47                a onz-pers:ArbeidsOvereenkomst ;
48                onz-pers:heeftOpdrachtnemer ?persoon ;
49                onz-g:hasPart ?overeenkomst_afspraak .
50            ?overeenkomst_afspraak
51                a onz-pers:WerkOvereenkomstAfspraak ;
52                onz-g:startDatum ?start_afspraak .
53            OPTIONAL {
54                ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak
55            }
56            FILTER (?start_afspraak <= ?eind_periode && (?eind_afspraak >= ?start_periode || !BOUND(?eind_afspraak)))
57
58            ?persoon 
59                a onz-g:Human ;
60                onz-g:hasDateOfBirth ?geboortedatum .
61            
62            BIND(YEAR(?eind_periode) - YEAR(?geboortedatum) AS ?leeftijd_voorl)
63            BIND(IF(MONTH(?geboortedatum) > MONTH(?eind_periode) 
64                || (MONTH(?geboortedatum) = MONTH(?eind_periode) && DAY(?geboortedatum) > DAY(?eind_periode)), 
65                ?leeftijd_voorl - 1, ?leeftijd_voorl) AS ?leeftijd)
66        
67            # bepaal vestiging en zorgkantoor regio voor iedere contractafspraak
68            ?overeenkomst_afspraak onz-g:isAbout ?locatie .
69            ?locatie 
70                a onz-g:StationaryArtifact ;
71                onz-g:partOf* ?vestiging_uri .
72            ?vestiging_uri a onz-org:Vestiging ;
73                onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 .
74            BIND(IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode)
75            ?pc_gebied 
76                onz-g:identifiedBy ?postcode ;
77                onz-g:partOf+ ?zk_regio .
78            ?zk_regio a onz-org:ZorgkantoorRegio .
79            ?zorgkantoor onz-g:hasOperatingRange ?zk_regio .
80            {     
81                ?vestiging_uri onz-g:identifiedBy ?vest_nr .    	
82                ?vest_nr a onz-org:Vestigingsnummer ;
83                    onz-g:hasDataValue ?vestiging .
84            } UNION {
85                # Includeer ook de organisatie als geheel en label deze als vestiging
86                ?vestiging_uri onz-org:vestigingVan ?organisatie_uri .
87                BIND("Totaal organisatie" AS ?vestiging)
88                BIND("n.v.t." AS ?zk_vestiging)
89            }
90            BIND(IF(!BOUND(?zk_vestiging), ?zorgkantoor, ?zk_vestiging) AS ?zorgkantoor_vestiging)
91
92        }
93    }
94    BIND(IF(?leeftijd >= 16 && ?leeftijd <= 20, 1, 0) AS ?1620)
95    BIND(IF(?leeftijd >= 21 && ?leeftijd <= 25, 1, 0) AS ?2125)
96    BIND(IF(?leeftijd >= 26 && ?leeftijd <= 30, 1, 0) AS ?2630)
97    BIND(IF(?leeftijd >= 31 && ?leeftijd <= 35, 1, 0) AS ?3135)
98    BIND(IF(?leeftijd >= 36 && ?leeftijd <= 40, 1, 0) AS ?3640)
99    BIND(IF(?leeftijd >= 41 && ?leeftijd <= 45, 1, 0) AS ?4145)
100    BIND(IF(?leeftijd >= 46 && ?leeftijd <= 50, 1, 0) AS ?4650)
101    BIND(IF(?leeftijd >= 51 && ?leeftijd <= 55, 1, 0) AS ?5155)
102    BIND(IF(?leeftijd >= 56 && ?leeftijd <= 60, 1, 0) AS ?5660)
103    BIND(IF(?leeftijd >= 61 && ?leeftijd <= 65, 1, 0) AS ?6165)
104    BIND(IF(?leeftijd >= 66 && ?leeftijd <= 70, 1, 0) AS ?6670)
105    BIND(IF(?leeftijd >= 71 && ?leeftijd <= 75, 1, 0) AS ?7175)
106    BIND(IF(?leeftijd >= 75 , 1, 0) AS ?75_)
107}
108GROUP BY ?vestiging ?zorgkantoor_vestiging 
109ORDER BY ?vestiging