Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
03-10-2025

Inwerkingtreding:
03-10-2025

13.3 Hoeveel personeel stroomt door naar een oplopend kwalificatieniveau?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 13.3
2# Parameters: ?peildatum, ?zorgkantoor
3# Ontologie: versie 3.0 of nieuwer
4
5PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
6PREFIX onz-org: <http://purl.org/ozo/onz-org#>
7PREFIX onz-g: <http://purl.org/ozo/onz-g#>
8PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
9PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
10
11SELECT
12    ("Aantal:" AS ?Indeling)
13    (IF(SUM(?noemer_waarde) = 0, "Ongedefinieerd", 100 * SUM(?teller_waarde)/SUM(?noemer_waarde)) AS ?percentage_personeelsleden_met_een_oplopend_kwalificatieniveau)
14{
15    SELECT
16        (IF(?niveau_eerder > 0 && ?niveau_peildatum > 0, 1, 0) AS ?noemer_waarde)
17        (IF(?noemer_waarde = 1 && ?niveau_eerder < ?niveau_peildatum, 1, 0) AS ?teller_waarde)
18    {
19        SELECT
20            ?werknemer
21            (MAX(?op_peildatum) AS ?niveau_peildatum)
22            (MAX(?op_peildatum_eerder) AS ?niveau_eerder)
23        {
24            SELECT
25                ?werknemer
26                ?op_peildatum
27                ?op_peildatum_eerder
28            {   
29                # BIND(xsd:date("2024-01-01") AS ?peildatum)
30                # BIND(onz-org:ZorgkantoorMenzis AS ?zorgkantoor)
31                BIND((?peildatum - "P3M"^^xsd:duration) AS ?peildatum_eerder)
32                
33                # Alle werknemers met een zorgverlenerfunctie
34                ?overeenkomst
35                    a onz-pers:ArbeidsOvereenkomst ;
36                    onz-pers:heeftOpdrachtnemer ?werknemer ;
37                    onz-g:hasPart ?overeenkomst_afspraak .
38                ?overeenkomst_afspraak
39                    a onz-pers:WerkOvereenkomstAfspraak ;
40                    onz-g:isAbout ?functie ;
41                    onz-g:startDatum ?start_afspraak .
42                ?functie 
43                    a onz-pers:ZorgverlenerFunctie ;
44                    onz-g:hasQuality /onz-g:hasQualityValue ?functie_niveau .
45                ?overeenkomst_afspraak
46                    onz-g:isAbout ?locatie .
47                ?locatie 
48                    a onz-g:StationaryArtifact ;
49                    onz-g:partOf* ?vestiging_uri .
50                ?vestiging_uri a onz-org:Vestiging ;
51                    onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 .
52                BIND(IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode)
53                ?pc_gebied 
54                    onz-g:identifiedBy ?postcode ;
55                    onz-g:partOf+ ?zk_regio .
56                ?zk_regio a onz-org:ZorgkantoorRegio .
57                ?zorgkantoor onz-g:hasOperatingRange ?zk_regio .
58                OPTIONAL {
59                    ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak
60                }
61                # selecteer kwalificatie niveau en converteer naar integer
62                ?functie_niveau
63                    a onz-pers:ODBKwalificatieWaarde ;
64                    rdfs:label ?niveau .
65                BIND(xsd:integer(REPLACE(?niveau, "\\D+", "")) AS ?niveau_number)
66                
67                # filter medewerkers met kwalificatieniveau 1 t/m 6
68                FILTER((?niveau_number >=1) && (?niveau_number <=6))
69
70                # filter de functies relevant tijdens de peildatum
71                BIND(IF(?start_afspraak <= ?peildatum && ((?eind_afspraak >= ?peildatum)||(!BOUND(?eind_afspraak))), ?niveau_number, 0) AS ?op_peildatum)
72                BIND(IF(?start_afspraak <= ?peildatum_eerder && ((?eind_afspraak >= ?peildatum_eerder)||(!BOUND(?eind_afspraak))), ?niveau_number, 0) AS ?op_peildatum_eerder)
73            }
74        }
75        GROUP BY ?werknemer
76    }
77}