Uitwisselprofiel IGJ Contextinformatie t.b.v. aangekondigd inspectiebezoek

Over Uitwisselprofiel IGJ Contextinformatie t.b.v. aangekondigd inspectiebezoek

1.0.0-RC1-acc


Publicatiedatum:
01-09-2025

Inwerkingtreding:
01-09-2025

1.1.2. Wat is het aantal cliënten met een Wlz-indicatie per leveringsvorm en zorgprofiel?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: IGJ 1.1.2
2# Parameters: ?vestigingsnummer, ?peildatum 
3# Ontologie: versie 3.0.0 of nieuwer
4 
5PREFIX onz-org: <http://purl.org/ozo/onz-org#>
6PREFIX onz-g: <http://purl.org/ozo/onz-g#>
7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
8PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10PREFIX onz-zorg: <http://purl.org/ozo/onz-zorg#>
11 
12SELECT ?zorgprofiel
13       (COUNT(DISTINCT ?client) AS ?Totaal)
14       (SUM(?is_verblijf_met_behandeling) AS ?verblijf_met_behandeling)
15       (SUM(?is_verblijf_zonder_behandeling) AS ?verblijf_zonder_behandeling)
16       (SUM(?is_pgb) AS ?pgb)
17       (SUM(?is_mpt) AS ?mpt)
18       (SUM(?is_vpt) AS ?vpt)
19       (SUM(?is_pgb_en_mpt) AS ?pgb_en_mpt)
20WHERE {
21  {
22    {
23      SELECT DISTINCT ?zorgprofiel
24      WHERE {
25        ?zorgprofiel a onz-zorg:ZorgProfiel .
26      }
27    }
28    OPTIONAL {
29      SELECT ?zorgprofiel ?client
30             ?is_verblijf_met_behandeling ?is_verblijf_zonder_behandeling
31             ?is_pgb ?is_mpt ?is_vpt ?is_pgb_en_mpt
32      WHERE {
33        {
34          SELECT ?zorgprofiel ?client
35                 (MAX(?heeft_instelling_met_behandeling) AS ?is_verblijf_met_behandeling)
36                 (MAX(?heeft_instelling_zonder_behandeling) AS ?is_verblijf_zonder_behandeling)
37                 (MAX(?heeft_pgb_alleen) AS ?is_pgb)
38                 (MAX(?heeft_mpt_alleen) AS ?is_mpt)
39                 (MAX(?heeft_vpt) AS ?is_vpt)
40                 (MAX(?heeft_pgb_en_mpt) AS ?is_pgb_en_mpt)
41          WHERE {
42            #BIND("2024-01-12"^^xsd:date AS ?peildatum)
43            #BIND("000001254" AS ?target_vestigingsnummer)
44		  	BIND(?peildatum AS ?peildatum_argument)
45 
46            # Nieuwe vestigingsnummer triple
47            ?vestiging 
48                a onz-org:Vestiging ;
49                onz-g:identifiedBy ?vestigingsnummer_object .
50            ?vestigingsnummer_object
51                a onz-org:Vestigingsnummer ;
52                onz-g:hasDataValue ?vestigingsnummer .
53            #FILTER(?vestigingsnummer = ?target_vestigingsnummer)
54            ?leveringsvorm
55                a onz-zorg:Leveringsvorm .
56            ?zorgprofiel
57                a onz-zorg:ZorgProfiel .
58 
59            ?client
60                a onz-g:Human .
61            ?indicatie 
62                a onz-zorg:WlzIndicatie ;
63                onz-g:startDatum ?start_indicatie ;
64                onz-zorg:heeftIndicatieBehandeling ?behandeling ;
65                onz-g:isAbout ?client ;
66                onz-g:isAbout ?zorgproces ;
67                onz-g:hasPart ?leveringsvorm ;
68                onz-g:hasPart ?zorgprofiel .
69            OPTIONAL {?indicatie onz-g:eindDatum ?eind_indicatie}
70            #FILTER(?peildatum >= ?start_indicatie && (?peildatum <= ?eind_indicatie || !BOUND(?eind_indicatie)))
71            FILTER(?peildatum_argument >= ?start_indicatie && (?peildatum_argument <= ?eind_indicatie || !BOUND(?eind_indicatie)))
72
73            ?zorgproces
74                a onz-zorg:NursingProcess ;
75                onz-g:startDatum ?start_zorgproces ;
76                onz-g:hasPerdurantLocation/onz-g:partOf* ?vestiging ;
77                OPTIONAL {?zorgproces onz-g:eindDatum ?eind_zorgproces}
78            #FILTER(?peildatum >= ?start_zorgproces && (?peildatum <= ?eind_zorgproces || !BOUND(?eind_zorgproces)))	
79            FILTER(?peildatum_argument >= ?start_zorgproces && (?peildatum_argument <= ?eind_zorgproces || !BOUND(?eind_zorgproces)))	
80 
81 
82            # Check wat voor leveringsvormen deze indicatie heeft
83            BIND(EXISTS { ?indicatie onz-g:hasPart onz-zorg:pgb } AS ?heeft_pgb)
84            BIND(EXISTS { ?indicatie onz-g:hasPart onz-zorg:mpt } AS ?heeft_mpt)
85            BIND(EXISTS { ?indicatie onz-g:hasPart onz-zorg:vpt } AS ?heeft_vpt_check)
86            BIND(EXISTS { ?indicatie onz-g:hasPart onz-zorg:instelling } AS ?heeft_instelling)
87 
88            # Bepaal de categorieën
89            BIND(IF(?leveringsvorm = onz-zorg:instelling && ?behandeling, 1, 0) AS ?heeft_instelling_met_behandeling)
90            BIND(IF(?leveringsvorm = onz-zorg:instelling && !?behandeling, 1, 0) AS ?heeft_instelling_zonder_behandeling)
91            BIND(IF(?heeft_pgb && ?heeft_mpt, 1, 0) AS ?heeft_pgb_en_mpt)
92            BIND(IF(?heeft_pgb && !?heeft_mpt, 1, 0) AS ?heeft_pgb_alleen)
93            BIND(IF(?heeft_mpt && !?heeft_pgb, 1, 0) AS ?heeft_mpt_alleen)
94            BIND(IF(?heeft_vpt_check, 1, 0) AS ?heeft_vpt)
95          }
96          GROUP BY ?zorgprofiel ?client
97        }
98      }
99    }
100  }
101  UNION
102 
103  {
104    VALUES ?zorgprofiel { "Totaal uniek aantal clienten" }
105    
106      OPTIONAL {
107             {
108      SELECT DISTINCT ?client
109               ?is_verblijf_met_behandeling ?is_verblijf_zonder_behandeling
110             ?is_pgb ?is_mpt ?is_vpt ?is_pgb_en_mpt
111      WHERE 
112        {
113          SELECT ?client
114                 (MAX(?heeft_instelling_met_behandeling) AS ?is_verblijf_met_behandeling)
115                 (MAX(?heeft_instelling_zonder_behandeling) AS ?is_verblijf_zonder_behandeling)
116                 (MAX(?heeft_pgb_alleen) AS ?is_pgb)
117                 (MAX(?heeft_mpt_alleen) AS ?is_mpt)
118                 (MAX(?heeft_vpt) AS ?is_vpt)
119                 (MAX(?heeft_pgb_en_mpt) AS ?is_pgb_en_mpt)
120          WHERE {
121            #BIND("2024-01-12"^^xsd:date AS ?peildatum)
122            #BIND("000001254" AS ?target_vestigingsnummer)
123		    BIND(?peildatum AS ?peildatum_argument)
124 
125            # Nieuwe vestigingsnummer triple
126            ?vestiging 
127                a onz-org:Vestiging ;
128                onz-g:identifiedBy ?vestigingsnummer_object .
129            ?vestigingsnummer_object
130                a onz-org:Vestigingsnummer ;
131                onz-g:hasDataValue ?vestigingsnummer .
132            #FILTER(?vestigingsnummer = ?target_vestigingsnummer)
133            ?leveringsvorm
134                a onz-zorg:Leveringsvorm .
135            ?zorgprofiel
136                a onz-zorg:ZorgProfiel .
137 
138            ?client
139                a onz-g:Human .
140            ?indicatie 
141                a onz-zorg:WlzIndicatie ;
142                onz-g:startDatum ?start_indicatie ;
143                onz-zorg:heeftIndicatieBehandeling ?behandeling ;
144                onz-g:isAbout ?client ;
145                onz-g:isAbout ?zorgproces ;
146                onz-g:hasPart ?leveringsvorm ;
147                onz-g:hasPart ?zorgprofiel .
148            OPTIONAL {?indicatie onz-g:eindDatum ?eind_indicatie}
149            #FILTER(?peildatum >= ?start_indicatie && (?peildatum <= ?eind_indicatie || !BOUND(?eind_indicatie)))
150            FILTER(?peildatum_argument >= ?start_indicatie && (?peildatum_argument <= ?eind_indicatie || !BOUND(?eind_indicatie)))
151
152            ?zorgproces
153                a onz-zorg:NursingProcess ;
154                onz-g:startDatum ?start_zorgproces ;
155                onz-g:hasPerdurantLocation/onz-g:partOf* ?vestiging ;
156                OPTIONAL {?zorgproces onz-g:eindDatum ?eind_zorgproces}
157            #FILTER(?peildatum >= ?start_zorgproces && (?peildatum <= ?eind_zorgproces || !BOUND(?eind_zorgproces)))	
158            FILTER(?peildatum_argument >= ?start_zorgproces && (?peildatum_argument <= ?eind_zorgproces || !BOUND(?eind_zorgproces)))
159             
160   			# Check wat voor leveringsvormen deze indicatie heeft
161            BIND(EXISTS { ?indicatie onz-g:hasPart onz-zorg:pgb } AS ?heeft_pgb)
162            BIND(EXISTS { ?indicatie onz-g:hasPart onz-zorg:mpt } AS ?heeft_mpt)
163            BIND(EXISTS { ?indicatie onz-g:hasPart onz-zorg:vpt } AS ?heeft_vpt_check)
164            BIND(EXISTS { ?indicatie onz-g:hasPart onz-zorg:instelling } AS ?heeft_instelling)
165 
166            # Bepaal de categorieën
167            BIND(IF(?leveringsvorm = onz-zorg:instelling && ?behandeling, 1, 0) AS ?heeft_instelling_met_behandeling)
168            BIND(IF(?leveringsvorm = onz-zorg:instelling && !?behandeling, 1, 0) AS ?heeft_instelling_zonder_behandeling)
169            BIND(IF(?heeft_pgb && ?heeft_mpt, 1, 0) AS ?heeft_pgb_en_mpt)
170            BIND(IF(?heeft_pgb && !?heeft_mpt, 1, 0) AS ?heeft_pgb_alleen)
171            BIND(IF(?heeft_mpt && !?heeft_pgb, 1, 0) AS ?heeft_mpt_alleen)
172            BIND(IF(?heeft_vpt_check, 1, 0) AS ?heeft_vpt)
173          }
174          GROUP BY ?client
175        }
176      }
177    }
178  }
179}   
180GROUP BY ?zorgprofiel
181ORDER BY ?zorgprofiel