Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
01-05-2026

Inwerkingtreding:
01-05-2026

10.1 Hoeveel BBL leerlingen zijn er?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 10.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-pers: <http://purl.org/ozo/onz-pers#>
7PREFIX onz-zorg: <http://purl.org/ozo/onz-zorg#>
8PREFIX onz-org: <http://purl.org/ozo/onz-org#>
9PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
10PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
11PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
12PREFIX time: <http://www.w3.org/2006/time#>
13
14SELECT 
15    (?vestiging AS ?Indeling)
16    (COUNT(DISTINCT ?persoon) AS ?Aantal_BBL_leerlingen)
17WHERE {
18	# BIND(2023 AS ?jaar)
19    # BIND("Q1" AS ?kwartaal)
20    VALUES ?personeels_overeenkomst { 
21        onz-pers:ArbeidsOvereenkomstBBL
22        # onz-pers:ArbeidsOvereenkomst
23    }
24    BIND(IF(?kwartaal = 'Q1', xsd:date(CONCAT(STR(?jaar), '-01-01')),
25            IF(?kwartaal = 'Q2', xsd:date(CONCAT(STR(?jaar), '-04-01')),
26            IF(?kwartaal = 'Q3', xsd:date(CONCAT(STR(?jaar), '-07-01')),
27            IF(?kwartaal = 'Q4', xsd:date(CONCAT(STR(?jaar), '-10-01')),
28            '')))) AS ?start_periode)
29    BIND(?start_periode + "P3M"^^xsd:duration + "-P1D"^^xsd:duration AS ?eind_periode)
30
31    # Selecteer alle personeelsleden met een BBL-overeenkomst binnen de meetperiode
32    ?overeenkomst 
33        a ?personeels_overeenkomst ;
34        onz-pers:heeftOpdrachtnemer ?persoon ;
35        onz-g:hasPart ?overeenkomst_afspraak .
36
37    ?overeenkomst_afspraak
38        a onz-pers:WerkOvereenkomstAfspraak ;
39        onz-g:startDatum ?start_afspraak .
40
41    OPTIONAL { ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak . }
42
43    FILTER (?start_afspraak <= ?eind_periode && (?eind_afspraak >= ?start_periode || !BOUND(?eind_afspraak)))
44
45    {
46        # Per vestiging
47        ?overeenkomst_afspraak onz-g:isAbout ?locatie .
48        ?locatie 
49            a onz-g:StationaryArtifact ;
50            onz-g:partOf* ?vestiging_uri .
51
52        ?vestiging_uri a onz-org:Vestiging ;
53            onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 ;
54            onz-g:identifiedBy ?vest_nr .
55
56        BIND(IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode)
57
58        ?pc_gebied 
59            onz-g:identifiedBy ?postcode ;
60            onz-g:partOf+ ?zk_regio .
61
62        ?zk_regio a onz-org:ZorgkantoorRegio .
63        ?zorgkantoor onz-g:hasOperatingRange ?zk_regio .
64
65        ?vest_nr a onz-org:Vestigingsnummer ;
66            onz-g:hasDataValue ?vestiging .
67    }
68    UNION
69    {
70        # Totaal organisatie (inclusief overeenkomsten zonder vestiging)
71        BIND("Organisatie (gecontracteerd + algemeen)" AS ?vestiging)
72    }
73}
74GROUP BY ?vestiging
75ORDER BY ?vestiging