Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Versie:

Publicatiedatum:30-04-2024

Inwerkingtreding:18-04-2024




Bekijk bron...

2.1.4 Aantal ingezette uren personeel Q4 2023

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 2.1.4
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(('Q4') AS ?kwartaal)
23            BIND(IF(?kwartaal = 'Q1', '2023-01-01'^^xsd:date,
24                 IF(?kwartaal = 'Q2', '2023-04-01'^^xsd:date,
25                 IF(?kwartaal = 'Q3', '2023-07-01'^^xsd:date,
26                 IF(?kwartaal = 'Q4', '2023-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!