Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Versie:

Publicatiedatum:23-12-2024

Inwerkingtreding:23-12-2024




Bekijk bron...

8.1 Percentage ingezette uren personeel niet in loondienst (PNIL).

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 8.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#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10
11SELECT 
12    ?vestiging
13    # ?zorgkantoor_vestiging
14    (SUM(?uren * ?pil) AS ?uren_pil)
15    (SUM(?uren * ?pnil) AS ?uren_pnil)
16    (100*SUM(?uren * ?pnil)/SUM(?uren) AS ?percentage_ingezette_uren_pnil)
17{
18    # BIND(2023 AS ?jaar)
19    # BIND("Q3" AS ?kwartaal)
20    # BIND(onz-org:ZorgkantoorMenzis AS ?zorgkantoor)
21    BIND(IF(?kwartaal = 'Q1', xsd:date(CONCAT(STR(?jaar), '-01-01')),
22        IF(?kwartaal = 'Q2', xsd:date(CONCAT(STR(?jaar), '-04-01')),
23        IF(?kwartaal = 'Q3', xsd:date(CONCAT(STR(?jaar), '-07-01')),
24        IF(?kwartaal = 'Q4', xsd:date(CONCAT(STR(?jaar), '-10-01')),
25        '')))) AS ?start_periode)
26    BIND(?start_periode + "P3M"^^xsd:duration + "-P1D"^^xsd:duration AS ?eind_periode)
27
28    VALUES ?type_overeenkomst {onz-pers:ArbeidsOvereenkomst onz-pers:InhuurOvereenkomst onz-pers:UitzendOvereenkomst}
29    
30    ?overeenkomst 
31        a ?type_overeenkomst ; # personeel in loondienst (arbeidsovereenkomst) en personeel niet in loondienst (inhuur- en uitzendovereenkomst)
32        onz-pers:heeftOpdrachtnemer ?persoon ;
33        onz-g:hasPart ?overeenkomst_afspraak .
34    ?overeenkomst_afspraak
35        a onz-pers:WerkOvereenkomstAfspraak ;
36        onz-g:startDatum ?start_afspraak .
37    OPTIONAL { ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak }
38    FILTER(?start_afspraak <= ?eind_periode && ((?eind_afspraak >= ?start_periode) || (!BOUND(?eind_afspraak))))
39
40    ?overeenkomst_afspraak onz-g:isAbout ?locatie_afspraak .
41    ?locatie_afspraak a onz-g:StationaryArtifact .
42
43    ?inzet
44        a onz-pers:GewerktePeriode ;
45        onz-g:definedBy ?overeenkomst ;
46        onz-g:hasBeginTimeStamp ?start_inzet_datetime ;
47        onz-g:hasQuality/onz-g:hasQualityValue/onz-g:hasDataValue ?uren .
48    OPTIONAL{ ?inzet onz-g:hasPerdurantLocation ?locatie_werk }
49    BIND(STRDT(SUBSTR(STR(?start_inzet_datetime), 1, 10), xsd:date) AS ?start_inzet)
50    FILTER(?start_inzet >= ?start_periode && ?start_inzet <= ?eind_periode)
51    FILTER(?start_inzet >= ?start_afspraak && (?start_inzet <= ?eind_afspraak || !BOUND(?eind_afspraak)))
52
53    # Bepaal de locatie voor uren. Gebruik urenregistratie. Als die geen locatie bevat, gebruik locatie van contract
54    BIND(IF(!BOUND(?locatie_werk), ?locatie_contract, ?locatie_werk) AS ?locatie)
55    ?locatie onz-g:partOf* ?vestiging_uri .
56    ?vestiging_uri a onz-org:Vestiging ;
57        onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 .
58    BIND(IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode)
59    ?pc_gebied 
60        onz-g:identifiedBy ?postcode ;
61        onz-g:partOf+ ?zk_regio .
62    ?zk_regio a onz-org:ZorgkantoorRegio .
63    ?zorgkantoor onz-g:hasOperatingRange ?zk_regio .
64    {     
65        ?vestiging_uri onz-g:identifiedBy ?vest_nr .    	
66        ?vest_nr a onz-org:Vestigingsnummer ;
67            onz-g:hasDataValue ?vestiging .
68    } UNION {
69        # Includeer ook de organisatie als geheel en label deze als vestiging
70        ?vestiging_uri onz-org:vestigingVan ?organisatie_uri .
71        BIND("Totaal organisatie" AS ?vestiging)
72        BIND("n.v.t." AS ?zk_vestiging)
73    }
74    BIND(IF(!BOUND(?zk_vestiging), ?zorgkantoor, ?zk_vestiging) AS ?zorgkantoor_vestiging) .
75	BIND(IF (?type_overeenkomst = onz-pers:ArbeidsOvereenkomst, 1, 0) AS ?pil)
76    BIND(IF (?pil = 0, 1, 0) AS ?pnil)
77
78}
79GROUP BY ?vestiging ?zorgkantoor_vestiging
80ORDER BY ?vestiging ?zorgkantoor_vestiging
81

Heb je feedback?

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