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

Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

5.1.2 Leeftijdsopbouw personeel Q2 2023

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 5.1
2# Parameters: ($kwartaal)
3# Ontologie: versie 2.1.1
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
14    (SUM(?1620) AS ?16_20)
15    (SUM(?2125) AS ?21_25)
16    (SUM(?2630) AS ?26_30)
17    (SUM(?3135) AS ?31_35)
18    (SUM(?3640) AS ?36_40)
19    (SUM(?4145) AS ?41_45)
20    (SUM(?4650) AS ?46_50)
21    (SUM(?5155) AS ?51_55)
22    (SUM(?5660) AS ?56_60)
23    (SUM(?6165) AS ?61_65)
24    (SUM(?6670) AS ?66_70)
25    (SUM(?7175) AS ?71_75)
26{
27    {
28        SELECT DISTINCT ?v ?werknemer ?start_periode ?eind_periode
29        WHERE {
30            BIND('Q2' AS ?kwartaal)
31            BIND(
32                IF(?kwartaal = 'Q1', '2023-01-01'^^xsd:date, 
33                IF(?kwartaal = 'Q2', '2023-04-01'^^xsd:date,
34                IF(?kwartaal = 'Q3', '2023-07-01'^^xsd:date,
35                IF(?kwartaal = 'Q4', '2023-10-01'^^xsd:date, 
36                '')))) AS ?start_periode )
37            BIND(?start_periode + "P3M"^^xsd:duration - "P1D"^^xsd:duration AS ?eind_periode)
38            
39            ?overeenkomst
40                a onz-pers:ArbeidsOvereenkomst ;
41                onz-pers:heeftOpdrachtnemer ?werknemer ;
42                onz-g:isAbout ?locatie ;
43                onz-g:isAbout ?functie .
44            ?functie 
45                a onz-g:OccupationalPositionRole ;
46                onz-g:startDatum ?start_functie .
47            OPTIONAL {?functie onz-g:eindDatum ?eind_functie}
48            FILTER(?start_functie <= ?eind_periode && 
49                  (?eind_functie >= ?start_periode || !BOUND(?eind_functie)))
50            ?locatie 
51                a onz-g:StationaryArtifact ;
52                onz-g:partOf* ?v .
53        }
54    }
55    {
56        ?v 
57            a onz-org:Vestiging ;
58            onz-g:identifiedBy ?vest_nr.
59        ?vest_nr a onz-org:Vestigingsnummer ;
60            onz-g:hasDataValue ?vestiging .
61    } UNION {
62        #Includeer ook de organisatie als geheel en label deze als vestiging
63        ?v onz-org:vestigingVan ?organisatie_uri .
64        ?organisatie_uri 
65            a onz-g:Business ;
66            rdfs:label ?Organisatie .
67        BIND(CONCAT('Totaal ',?Organisatie) AS ?vestiging)
68    }        
69    ?werknemer 
70        a onz-g:Human ;
71        onz-g:hasDateOfBirth ?geboortedatum .
72    
73    BIND(YEAR(?eind_periode) - YEAR(?geboortedatum) AS ?leeftijd_voorl)
74    BIND(IF(MONTH(?geboortedatum) > MONTH(?eind_periode) 
75        || (MONTH(?geboortedatum) = MONTH(?eind_periode) && DAY(?geboortedatum) > DAY(?eind_periode)), 
76        ?leeftijd_voorl - 1, ?leeftijd_voorl) AS ?leeftijd)
77    
78    BIND(IF(?leeftijd >= 16 && ?leeftijd <= 20, 1, 0) AS ?1620)
79    BIND(IF(?leeftijd >= 21 && ?leeftijd <= 25, 1, 0) AS ?2125)
80    BIND(IF(?leeftijd >= 26 && ?leeftijd <= 30, 1, 0) AS ?2630)
81    BIND(IF(?leeftijd >= 31 && ?leeftijd <= 35, 1, 0) AS ?3135)
82    BIND(IF(?leeftijd >= 36 && ?leeftijd <= 40, 1, 0) AS ?3640)
83    BIND(IF(?leeftijd >= 41 && ?leeftijd <= 45, 1, 0) AS ?4145)
84    BIND(IF(?leeftijd >= 46 && ?leeftijd <= 50, 1, 0) AS ?4650)
85    BIND(IF(?leeftijd >= 51 && ?leeftijd <= 55, 1, 0) AS ?5155)
86    BIND(IF(?leeftijd >= 56 && ?leeftijd <= 60, 1, 0) AS ?5660)
87    BIND(IF(?leeftijd >= 61 && ?leeftijd <= 65, 1, 0) AS ?6165)
88    BIND(IF(?leeftijd >= 66 && ?leeftijd <= 70, 1, 0) AS ?6670)
89    BIND(IF(?leeftijd >= 71 && ?leeftijd <= 75, 1, 0) AS ?7175)
90    BIND(IF(?leeftijd >= 75 , 1, 0) AS ?75_)
91}
92GROUP BY ?vestiging
93ORDER BY ?vestiging
94

Heb je feedback?

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