Let op: dit is een oudere versie van deze publicatie. Ga naar de laatste versie

Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

2.1.5 Aantal ingezette uren personeel Q1 2024

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 2.1.5
2# Parameters: -
3# Ontologie: versie 2.0.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#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10
11SELECT
12    ?Vestiging
13    (SUM(?inzet_uren) AS ?indicator)
14{
15    {
16        SELECT DISTINCT
17            ?locatie
18            ?locatie_werk
19            ?inzet
20            ?gewerkte_tijd
21        {
22            BIND(('Q1') AS ?kwartaal)
23            BIND(IF(?kwartaal = 'Q1', '2024-01-01'^^xsd:date,
24                 IF(?kwartaal = 'Q2', '2024-04-01'^^xsd:date,
25                 IF(?kwartaal = 'Q3', '2024-07-01'^^xsd:date,
26                 IF(?kwartaal = 'Q4', '2024-10-01'^^xsd:date,
27                 '')))) AS ?start_periode)
28            BIND(?start_periode + "P3M"^^xsd:duration - "P1D"^^xsd:duration AS ?eind_periode)
29           
30            # Alle zorgverlener functies
31            ?functie
32                a onz-pers:ZorgverlenerFunctie ;
33                onz-g:startDatum ?start_functie .
34            OPTIONAL { ?functie onz-g:eindDatum ?eind_functie . }
35           
36            # Alle zorg verlener functies die vallen binnen de periode of worden hierop aangepast
37            FILTER(?start_functie <= ?eind_periode && ((?eind_functie >= ?start_periode) || (!BOUND(?eind_functie))))
38            BIND(IF(!BOUND(?eind_functie), ?eind_periode,
39                IF(?eind_functie < ?eind_periode, ?eind_functie, ?eind_periode)
40            ) AS ?eind_functie_reken)
41            BIND(IF(?start_functie < ?start_periode, ?start_periode, ?start_functie) AS ?start_functie_reken)
42           
43            # zorgverlener functie zijn onderdeel van een contract
44            ?overeenkomst
45                a onz-pers:ArbeidsOvereenkomst ;
46                onz-g:isAbout ?locatie_contract ;
47                onz-g:isAbout ?functie .
48           
49            # Werkperiode van alle zorgverlener functies
50            ?inzet
51                a onz-pers:GewerktePeriode ;
52                onz-g:definedBy ?overeenkomst ;
53                onz-g:hasBeginTimeStamp ?start_inzet_datetime ;
54                onz-g:hasEndTimeStamp ?eind_inzet_datetime ;
55                onz-g:hasQuality ?gewerkte_tijd .
56            OPTIONAL{?inzet onz-g:hasPerdurantLocation ?locatie_werk}
57            # Als begin- en endTimeStamp van type dateTime zijn dan omzetten zodat vergeleken kan worden met start en eind period
58            BIND(STRDT(SUBSTR(STR(?start_inzet_datetime), 1, 10), xsd:date) AS ?start_inzet)
59            BIND(STRDT(SUBSTR(STR(?eind_inzet_datetime), 1, 10), xsd:date) AS ?eind_inzet)
60            FILTER (?start_inzet >= ?start_functie_reken && ?eind_inzet <= ?eind_functie_reken)
61
62            ?locatie_contract a onz-g:StationaryArtifact .
63            BIND(IF(!BOUND(?locatie_werk), ?locatie_contract, ?locatie_werk) AS ?locatie)
64        }
65    }
66    # Bepaal de vestiging waar de werkzaamheden verricht worden volgens de werkovereenkomst
67    {
68        ?locatie onz-g:partOf* ?vestiging_uri .
69        ?vestiging_uri
70            a onz-org:Vestiging ;
71            onz-g:identifiedBy ?vest_nr.
72        ?vest_nr a onz-org:Vestigingsnummer ;
73            onz-g:hasDataValue ?Vestiging .
74    } UNION {
75        # Includeer ook de organisatie als geheel en label deze als vestiging
76        ?locatie onz-g:partOf*/onz-org:vestigingVan ?organisatie_uri .
77        ?organisatie_uri
78            a onz-g:Business ;
79            rdfs:label ?Organisatie .
80        BIND(CONCAT('Totaal ',?Organisatie) AS ?Vestiging)
81    }
82
83    ?gewerkte_tijd
84        a onz-pers:GewerkteTijd ;
85        onz-g:hasQualityValue/onz-g:hasDataValue ?inzet_uren_voorl .
86
87    BIND(IF(!BOUND(?locatie_werk) && BOUND(?vestiging_uri), 0, 1) AS ?correctie)
88    BIND(?inzet_uren_voorl * ?correctie AS ?inzet_uren)
89}
90GROUP BY ?Vestiging
91ORDER BY ?Vestiging

Heb je feedback?

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