Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Versie:

Publicatiedatum:23-12-2024

Inwerkingtreding:23-12-2024




Bekijk bron...

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

Heb je feedback?

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