Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Versie:

Publicatiedatum:23-12-2024

Inwerkingtreding:23-12-2024




Bekijk bron...

2.1 Aantal ingezette uren personeel

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
12	# ?zorgkantoor_vestiging
13	(SUM(?gewerkte_uren) AS ?ingezette_uren)
14{
15    # BIND(2023 AS ?jaar)
16    # BIND("Q4" AS ?kwartaal)
17    # BIND(onz-org:ZorgkantoorMenzis AS ?zorgkantoor)
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    ?overeenkomst 
33        a ?personeels_overeenkomst ;
34        onz-pers:heeftOpdrachtnemer ?persoon ;
35        onz-g:hasPart ?overeenkomst_afspraak .
36    ?overeenkomst_afspraak
37        a onz-pers:WerkOvereenkomstAfspraak ;
38        onz-g:startDatum ?start_afspraak .
39    OPTIONAL { ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak }
40    FILTER(?start_afspraak <= ?eind_periode && ((?eind_afspraak >= ?start_periode) || (!BOUND(?eind_afspraak))))
41
42    ?overeenkomst_afspraak onz-g:isAbout ?functie .                
43    ?functie a onz-pers:ZorgverlenerFunctie .
44    ?overeenkomst_afspraak onz-g:isAbout ?locatie_afspraak .
45    ?locatie_afspraak a onz-g:StationaryArtifact .
46
47    ?inzet
48        a onz-pers:GewerktePeriode ;
49        onz-g:definedBy ?overeenkomst ;
50        onz-g:hasBeginTimeStamp ?start_inzet_datetime ;
51        onz-g:hasQuality/onz-g:hasQualityValue/onz-g:hasDataValue ?gewerkte_uren .
52    OPTIONAL{ ?inzet onz-g:hasPerdurantLocation ?locatie_werk }
53    BIND(STRDT(SUBSTR(STR(?start_inzet_datetime), 1, 10), xsd:date) AS ?start_inzet)
54    FILTER(?start_inzet >= ?start_periode && ?start_inzet <= ?eind_periode)
55    FILTER(?start_inzet >= ?start_afspraak && (?start_inzet <= ?eind_afspraak || !BOUND(?eind_afspraak)))
56
57    BIND(IF(!BOUND(?locatie_werk), ?locatie_contract, ?locatie_werk) AS ?locatie)
58    ?locatie onz-g:partOf* ?vestiging_uri .
59    ?vestiging_uri a onz-org:Vestiging ;
60        onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 .
61    BIND(IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode)
62    ?pc_gebied 
63        onz-g:identifiedBy ?postcode ;
64        onz-g:partOf+ ?zk_regio .
65    ?zk_regio a onz-org:ZorgkantoorRegio .
66    ?zorgkantoor onz-g:hasOperatingRange ?zk_regio .
67    {     
68        ?vestiging_uri onz-g:identifiedBy ?vest_nr .    	
69        ?vest_nr a onz-org:Vestigingsnummer ;
70            onz-g:hasDataValue ?vestiging .
71    } UNION {
72        # Includeer ook de organisatie als geheel en label deze als vestiging
73        ?vestiging_uri onz-org:vestigingVan ?organisatie_uri .
74        BIND("Totaal organisatie" AS ?vestiging)
75        BIND("n.v.t." AS ?zk_vestiging)
76    }
77    BIND(IF(!BOUND(?zk_vestiging), ?zorgkantoor, ?zk_vestiging) AS ?zorgkantoor_vestiging)
78
79}
80GROUP BY ?vestiging ?zorgkantoor_vestiging
81ORDER BY ?vestiging

Heb je feedback?

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