Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Versie:

Publicatiedatum:23-12-2024

Inwerkingtreding:23-12-2024




Bekijk bron...

4.1 Gemiddelde contractomvang personeel op een peildatum

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 4.1 
2# Parameters: ?jaar ?kwartaal ?zorgkantoor
3# Ontologie: versie 3.0 of nieuwer
4
5PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
6PREFIX onz-g: <http://purl.org/ozo/onz-g#>
7PREFIX time: <http://www.w3.org/2006/time#>
8PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
9PREFIX onz-org: <http://purl.org/ozo/onz-org#>
10
11SELECT
12    ?vestiging
13    # ?zorgkantoor_vestiging
14	(IF(COUNT(DISTINCT ?zorg_persoon)=0, "Ongedefineerd", SUM(?teller_waarde * ?zorg)/COUNT(DISTINCT ?zorg_persoon)) AS ?zorggerelateerd)
15	(IF(COUNT(DISTINCT ?niet_zorg_persoon)=0, "Ongedefineerd", SUM(?teller_waarde * ?niet_zorg)/COUNT(DISTINCT ?niet_zorg_persoon)) AS ?niet_zorggerelateerd)
16
17{
18    # BIND(2023 AS ?jaar)
19    # BIND("Q3" AS ?kwartaal)
20    # BIND(onz-org:ZorgkantoorMenzis AS ?zorgkantoor)
21
22    BIND(IF(?kwartaal = 'Q1', xsd:date(CONCAT(STR(?jaar), '-01-01')),
23        IF(?kwartaal = 'Q2', xsd:date(CONCAT(STR(?jaar), '-04-01')),
24        IF(?kwartaal = 'Q3', xsd:date(CONCAT(STR(?jaar), '-07-01')),
25        IF(?kwartaal = 'Q4', xsd:date(CONCAT(STR(?jaar), '-10-01')),
26        '')))) AS ?peildatum)
27
28    ?overeenkomst 
29        a onz-pers:ArbeidsOvereenkomst ;
30        onz-pers:heeftOpdrachtnemer ?persoon ;
31        onz-g:hasPart ?overeenkomst_afspraak .
32    ?overeenkomst_afspraak
33        a onz-pers:WerkOvereenkomstAfspraak ;
34        onz-g:startDatum ?start_afspraak .
35    OPTIONAL {
36        ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak
37    }
38    FILTER (?start_afspraak <= ?peildatum && (?eind_afspraak >= ?peildatum || !BOUND(?eind_afspraak)))
39
40    # Bepaal de omvang van het contract in uren per week
41    ?overeenkomst_afspraak onz-g:hasPart/onz-g:isAbout ?contract_omvang .
42    ?contract_omvang
43        a onz-pers:ContractOmvangWaarde ;
44        onz-g:hasDataValue ?omvang_waarde ;
45        onz-g:hasUnitOfMeasure ?omvang_eenheid .
46    ?omvang_eenheid onz-g:hasDataValue ?omvang_correctie .
47    BIND(?omvang_waarde*?omvang_correctie AS ?teller_waarde)
48    
49    # bepaal vestiging en zorgkantoor regio voor iedere contractafspraak
50    ?overeenkomst_afspraak onz-g:isAbout ?locatie .
51    ?locatie 
52        a onz-g:StationaryArtifact ;
53        onz-g:partOf* ?vestiging_uri .
54    ?vestiging_uri a onz-org:Vestiging ;
55        onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 .
56    BIND(IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode)
57    ?pc_gebied 
58        onz-g:identifiedBy ?postcode ;
59        onz-g:partOf+ ?zk_regio .
60    ?zk_regio a onz-org:ZorgkantoorRegio .
61    ?zorgkantoor onz-g:hasOperatingRange ?zk_regio .
62
63    {     
64        ?vestiging_uri onz-g:identifiedBy ?vest_nr .    	
65        ?vest_nr a onz-org:Vestigingsnummer ;
66            onz-g:hasDataValue ?vestiging .
67    } UNION {
68        # Includeer ook de organisatie als geheel en label deze als vestiging
69        ?vestiging_uri onz-org:vestigingVan ?organisatie_uri .
70        BIND("Totaal organisatie" AS ?vestiging)
71        BIND("n.v.t." AS ?zk_vestiging)
72    }
73    BIND(IF(!BOUND(?zk_vestiging), ?zorgkantoor, ?zk_vestiging) AS ?zorgkantoor_vestiging)
74
75    # Bepaal of de functie op de overeenkomst van het type ZorgverlenerFunctie is
76    ?overeenkomst_afspraak onz-g:isAbout ?functie .
77    ?functie a onz-g:OccupationalPositionRole .
78    BIND(IF (EXISTS {?functie a onz-pers:ZorgverlenerFunctie}, 1, 0) AS ?zorg)
79    BIND(IF (?zorg = 0, 1, 0) AS ?niet_zorg)
80    BIND(IF(?zorg = 1, ?persoon, ?unbound) AS ?zorg_persoon)
81    BIND(IF(?niet_zorg = 1, ?persoon, ?unbound) AS ?niet_zorg_persoon)
82} 
83GROUP BY ?vestiging ?zorgkantoor_vestiging
84

Heb je feedback?

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