Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
01-05-2026

Inwerkingtreding:
01-05-2026

2.1 Hoeveel uren zorggerelateerd-personeel wordt ingezet?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 2.1
2# Parameters: ?jaar, ?kwartaal, ?zorgkantoor
3# Ontologie: versie 3.0 of nieuwer
4 
5PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
6PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
7PREFIX onz-g: <http://purl.org/ozo/onz-g#>
8PREFIX onz-org: <http://purl.org/ozo/onz-org#>
9 
10SELECT
11	(?vestiging AS ?Indeling)
12	(SUM(?gewerkte_uren) AS ?Ingezette_uren)
13{
14    # BIND(2024 AS ?jaar)
15    # BIND("Q1" AS ?kwartaal)
16    # BIND(onz-org:ZorgkantoorMenzis AS ?zorgkantoor)
17
18	BIND(IF(?kwartaal = 'Q1', xsd:date(CONCAT(STR(?jaar), '-01-01')),
19        IF(?kwartaal = 'Q2', xsd:date(CONCAT(STR(?jaar), '-04-01')),
20        IF(?kwartaal = 'Q3', xsd:date(CONCAT(STR(?jaar), '-07-01')),
21        IF(?kwartaal = 'Q4', xsd:date(CONCAT(STR(?jaar), '-10-01')),
22        '')))) AS ?start_periode)
23    BIND(?start_periode + "P3M"^^xsd:duration + "-P1D"^^xsd:duration AS ?eind_periode)
24
25    # Bepaal filter voor definitie van overeenkomsten die geldig zijn voor personeelsleden
26    VALUES ?personeels_overeenkomst 
27    { 
28        onz-pers:ArbeidsOvereenkomst
29        onz-pers:UitzendOvereenkomst
30        onz-pers:InhuurOvereenkomst
31    }
32
33    ?overeenkomst 
34      	a ?personeels_overeenkomst;
35              onz-pers:heeftOpdrachtnemer ?persoon ;
36              onz-g:hasPart ?overeenkomst_afspraak .
37    ?overeenkomst_afspraak
38      	a onz-pers:WerkOvereenkomstAfspraak ;
39        onz-g:startDatum ?start_afspraak .
40    OPTIONAL { ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak }
41    FILTER(?start_afspraak <= ?eind_periode && ((?eind_afspraak >= ?start_periode) || (!BOUND(?eind_afspraak))))
42 
43    ?overeenkomst_afspraak onz-g:isAbout ?functie .                
44    ?functie a onz-pers:ZorgverlenerFunctie .
45    OPTIONAL {
46      ?overeenkomst_afspraak onz-g:isAbout ?locatie_afspraak .
47      ?locatie_afspraak a onz-g:StationaryArtifact .
48    }
49 
50    ?inzet
51        a onz-pers:GewerktePeriode ;
52        onz-g:definedBy ?overeenkomst ;
53        onz-g:hasBeginTimeStamp ?start_inzet_datetime ;
54        onz-g:hasQuality/onz-g:hasQualityValue/onz-g:hasDataValue ?gewerkte_uren .
55    OPTIONAL{ ?inzet onz-g:hasPerdurantLocation ?locatie_werk }
56    BIND(STRDT(SUBSTR(STR(?start_inzet_datetime), 1, 10), xsd:date) AS ?start_inzet)
57    FILTER(?start_inzet >= ?start_periode && ?start_inzet <= ?eind_periode)
58    FILTER(?start_inzet >= ?start_afspraak && (?start_inzet <= ?eind_afspraak || !BOUND(?eind_afspraak)))
59 
60    BIND(IF(!BOUND(?locatie_werk), ?locatie_afspraak, ?locatie_werk) AS ?locatie)
61
62    {   
63        # Onderdeel per vestiging, inclusief BIND & COALESCE fix voor Fuseki zodat er geen verschillen
64        # zijn in filtercontext per SPARQL engine
65        BIND(COALESCE(?locatie, <urn:sparql:guard:no-locatie>) AS ?locatie_safe)
66
67        ?locatie_safe onz-g:partOf* ?vestiging_uri .
68        ?vestiging_uri a onz-org:Vestiging ;
69            onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 ;
70            onz-g:identifiedBy ?vest_nr .    
71        ?vest_nr a onz-org:Vestigingsnummer ;
72            onz-g:hasDataValue ?vestiging .
73        BIND(IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode)
74        
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    } UNION {
81        # Onderdeel totaal organisatie, inclusief gevallen zonder vestiging
82        BIND("Organisatie (gecontracteerd + algemeen)" AS ?vestiging)
83    }
84 
85}
86GROUP BY ?vestiging
87ORDER BY ?vestiging