Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Versie:

Publicatiedatum:23-12-2024

Inwerkingtreding:23-12-2024




Bekijk bron...

1.1 Gemiddeld aantal personeelsleden

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 1.1
2# Parameters: ?jaar, ?kwartaal ?zorgkantoor
3# Ontologie: versie 3.0.0 of nieuwer
4
5PREFIX onz-g: <http://purl.org/ozo/onz-g#>
6PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
7PREFIX onz-org: <http://purl.org/ozo/onz-org#>
8PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
9PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
10PREFIX time: <http://www.w3.org/2006/time#>
11
12SELECT
13	?vestiging
14	# ?zorgkantoor_vestiging
15	(SUM(?zorg_boolean * ?dagen_afspraak / ?dagen_periode) AS ?zorg)
16	(SUM(IF(?zorg_boolean = 0, ?dagen_afspraak / ?dagen_periode, 0)) AS ?niet_zorg)
17	(SUM(?dagen_afspraak / ?dagen_periode) AS ?totaal)
18{
19    SELECT
20        ?vestiging
21        ?zorgkantoor_vestiging
22        ?overeenkomst_afspraak
23        ?zorg_boolean
24        ?dagen_afspraak
25        ?dagen_periode
26    {
27        # BIND(2023 AS ?jaar)
28        # BIND("Q2" AS ?kwartaal)
29        BIND(IF(?kwartaal = 'Q1', xsd:date(CONCAT(STR(?jaar), '-01-01')),
30        	IF(?kwartaal = 'Q2', xsd:date(CONCAT(STR(?jaar), '-04-01')),
31            IF(?kwartaal = 'Q3', xsd:date(CONCAT(STR(?jaar), '-07-01')),
32            IF(?kwartaal = 'Q4', xsd:date(CONCAT(STR(?jaar), '-10-01')),
33            '')))) AS ?start_periode)
34        BIND(?start_periode + "P3M"^^xsd:duration + "-P1D"^^xsd:duration AS ?eind_periode)
35        ?start_periode ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_periode_numeriek .
36        ?eind_periode ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_periode_numeriek .
37        BIND(?eind_periode_numeriek - ?start_periode_numeriek + 1 AS ?dagen_periode)
38
39        VALUES ?personeels_overeenkomst 
40        { 
41            onz-pers:ArbeidsOvereenkomst
42            onz-pers:UitzendOvereenkomst
43            onz-pers:InhuurOvereenkomst
44        }
45        ?overeenkomst 
46            a ?personeels_overeenkomst ;
47            onz-pers:heeftOpdrachtnemer ?persoon ;
48            onz-g:hasPart ?overeenkomst_afspraak .
49        ?overeenkomst_afspraak
50            a onz-pers:WerkOvereenkomstAfspraak ;
51            onz-g:startDatum ?start_afspraak .
52        OPTIONAL {
53            ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak
54        }
55        
56        FILTER (?start_afspraak <= ?eind_periode && (?eind_afspraak >= ?start_periode || !BOUND(?eind_afspraak)))
57        BIND(IF(?start_afspraak < ?start_periode, ?start_periode, ?start_afspraak) AS ?start_afspraak_corr)
58        BIND(IF(?eind_afspraak > ?eind_periode || !BOUND(?eind_afspraak), ?eind_periode, ?eind_afspraak) AS ?eind_afspraak_corr)            
59        ?start_afspraak_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_afspraak_numeriek .
60        ?eind_afspraak_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_afspraak_numeriek .
61        BIND(?eind_afspraak_numeriek - ?start_afspraak_numeriek + 1 AS ?dagen_afspraak)
62
63		?overeenkomst_afspraak onz-g:isAbout ?functie .
64        ?functie a onz-g:OccupationalPositionRole .
65        ?overeenkomst_afspraak onz-g:isAbout ?locatie .
66        ?locatie 
67            a onz-g:StationaryArtifact ;
68        	onz-g:partOf* ?vestiging_uri .
69        ?vestiging_uri a onz-org:Vestiging ;
70            onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 .
71        BIND(IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode)
72        ?pc_gebied 
73            onz-g:identifiedBy ?postcode ;
74            onz-g:partOf+ ?zk_regio .
75        ?zk_regio a onz-org:ZorgkantoorRegio .
76        ?zorgkantoor onz-g:hasOperatingRange ?zk_regio .
77
78        {     
79            ?vestiging_uri onz-g:identifiedBy ?vest_nr .    	
80            ?vest_nr a onz-org:Vestigingsnummer ;
81            	onz-g:hasDataValue ?vestiging .
82        } UNION {
83            # Includeer ook de organisatie als geheel en label deze als vestiging
84            ?vestiging_uri onz-org:vestigingVan ?organisatie_uri .
85            BIND("Totaal organisatie" AS ?vestiging)
86            BIND("n.v.t." AS ?zk_vestiging)
87        }
88        BIND(IF(!BOUND(?zk_vestiging), ?zorgkantoor, ?zk_vestiging) AS ?zorgkantoor_vestiging)
89            
90        BIND(IF(EXISTS {?functie a onz-pers:ZorgverlenerFunctie}, 1, 0) AS ?zorg_boolean)
91    }
92} 
93GROUP BY ?vestiging ?zorgkantoor_vestiging
94ORDER BY ?vestiging

Heb je feedback?

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