Contentverzamelaar

Nieuw valdetectiesysteem op de dienst Geriatrie

Nieuw valdetectiesysteem op de dienst Geriatrie

01 december 2022

Vallen is een niet te onderschatten risico voor oudere patiƫnten. Daarom is de dienst Geriatrie gestart met een project om sneller te kunnen detecteren wanneer een patiƫnt het risico loopt om te vallen of effectief is gevallen. Samen met de dienst Biotechniek kozen ze voor de Kepler Night Nurse. Dit systeem stelt de verpleegkundigen in staat om op een gecentraliseerde manier de hele afdeling op te volgen en om sneller in te grijpen indien nodig. Het UZ Brussel is een van de eerste ziekenhuizen dat gestart is met een op artificiƫle intelligentie gebaseerd valdetectiesysteem.

De Kepler Night Nurse (KNN) is een camerasysteem met artificiƫle intelligentie voor de detectie van bepaalde lichaamshoudingen. Zo kan het in real time valpartijen detecteren, maar ook risicovolle houdingen, bijvoorbeeld wanneer een patiƫnt op de rand van het bed zit. In reactie hierop waarschuwt het systeem onmiddellijk de verpleegkundigen, zodat zij snel kunnen reageren en de patiƫnt in veiligheid brengen. Als bijvoorbeeld een oudere patiƫnt 's nachts valt, zal het door AI gestuurde KNN-beeldanalyseprogramma onmiddellijk vaststellen wanneer hij op de grond ligt en een automatisch bericht sturen naar de verpleegkundigen om hem te helpen.

Foute detecties worden ook gebruikt om het systeem te trainen. Zo gaven bijvoorbeeld de rolstoelen een foutmelding en werd het programma aangepast zodat dit nu niet langer het geval is.

Veiliger voor de patiƫnten, makkelijk voor de verpleegkundigen

De Kepler Night Nurse werkt met een centraal dashboard waarop via kleurcodes wordt aangeduid waar de patiƫnt zich ergens in de kamer bevindt. De detectie gebeurt via camerabeelden (waarop gezichten onherkenbaar worden gemaakt), die per kamer kunnen opgevraagd worden.

De verpleegkundigen kunnen dus in real time de camerabeelden bekijken indien ze dat nodig achten. Het systeem stuurt een automatisch alarm naar het team als het een risicovolle houding of een val detecteert. Het laat de verpleegkundigen toe om gecentraliseerd patiĆ«nten op te volgen, mogelijke risico’s in te schatten en (preventief) in te grijpen indien nodig.

Het systeem monitort ā€˜s nachts ook de gangen, waardoor de verpleegkundigen meteen gewaarschuwd worden wanneer patiĆ«nten hun kamer zouden verlaten. Het is zo de ideale ondersteuning voor de nachtploeg om alle patiĆ«nten optimaal te kunnen opvolgen.

Op dit moment zijn alle eenpersoonskamers op de dienst Geriatrie (9 kamers) uitgerust met het systeem, naast 2 tweepersoonskamers. Begin 2023 zullen alle kamers op de dienst gemonitord worden.

 


Contentverzamelaar

Lijn


Contentverzamelaar

Er trad een fout op tijdens de verwerking van de sjabloon.
The following has evaluated to null or missing:
==> journalArticle.getArticleUrl  [in template "31942#31983#66321" at line 96, column 220]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign fields = restClient.get("/hea...  [in template "31942#31983#66321" at line 96, column 93]
----
1<#include "${templatesPath}/TAG SELECTION TEMPLATE" /> 
2<#assign langId = themeDisplay.getLocale() /> 
3 
4<#assign baseURL = themeDisplay.getSiteGroup().getDisplayURL(themeDisplay) /> 
5 
6<section class="blog-overview full-width-portlet"> 
7    <script type="text/javascript"> 
8        function showAllBlogs(id) { 
9            $('.' + id).removeClass('hide'); 
10            $('#moreBlogsButton').hide(); 
11
12    </script> 
13 
14    <div class="container-fluid uzb-margins"> 
15 
16        <div class="row"> 
17            <div class="col-md-6"> 
18                <h2><@liferay.language key="uzb-blog" /></h2> 
19            </div> 
20            <div class="col-md-6"> 
21                <div class="text-right"> 
22                    <#if (langId?starts_with("nl")) > 
23                        <a id="subscribeNewsButton" href="${themeDisplay.getURLHome()}/abonneren" style="margin-top: -6px;" target="_blank" class="uzb-button green"> 
24                        <span> 
25                            <@liferay.language key="subscribe-blog" /> 
26                        </span> 
27                            <svg class="icon icon-tabler icon-tabler-arrow-right" fill="none" height="24" stroke="currentColor" 
28                                 stroke-linecap="round" stroke-linejoin="round" stroke-width="1" viewbox="0 0 24 24" width="24" 
29                                 xmlns="http://www.w3.org/2000/svg"> 
30                                <path d="M0 0h24v24H0z" fill="none" stroke="none"></path> 
31                                <line x1="5" x2="19" y1="12" y2="12"></line> 
32                                <line x1="13" x2="19" y1="18" y2="12"></line> 
33                                <line x1="13" x2="19" y1="6" y2="12"></line> 
34                            </svg> 
35                        </a> 
36                    </#if> 
37                </div> 
38 
39 
40            </div> 
41 
42        </div> 
43 
44        <div class="row"> 
45            <#if entries?has_content> 
46                <div class="col-md-12 items"> 
47                <#list entries as entry> 
48                    <#assign assetRenderer = entry.getAssetRenderer() /> 
49                    <#if entry.getClassName() == "com.liferay.journal.model.JournalArticle" > 
50                        <#assign entry = entry /> 
51                        <#assign assetRenderer = entry.getAssetRenderer() /> 
52                        <#assign entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) /> 
53                        <#assign journalArticle = assetRenderer.assetObject /> 
54                        <#assign viewURL = baseURL + "/w/" + journalArticle.urlTitle /> 
55 
56                        <#assign journalArticle = assetRenderer.assetObject /> 
57                        <#assign elements = journalArticle.getDocument().getRootElement().elements("dynamic-element") /> 
58                        <#assign name = "" /> 
59                        <#assign image = "" /> 
60                        <#assign title = "" /> 
61                        <#assign nameElement = "" /> 
62 
63                        <#list elements as element > 
64                            <#assign nameElements = element.elements("dynamic-content") /> 
65                            <#if nameElements?? > 
66                                <#list nameElements as nameElement > 
67                                    <#if nameElement.attribute("language-id").getValue() == locale> 
68                                        <#if element.attribute("name").getValue() == "authorName" > 
69                                            <#assign name = nameElement.getStringValue() > 
70                                        <#elseif element.attribute("name").getValue() == "authorImage" > 
71                                            <#assign image = nameElement.getStringValue()?trim /> 
72                                        <#elseif element.attribute("name").getValue() == "authorTitle" > 
73                                            <#assign title = nameElement.getStringValue() > 
74                                        </#if> 
75                                    </#if> 
76                                </#list> 
77                            </#if> 
78                        </#list> 
79 
80 
81                        <#assign numberHiddenItems  = 0 /> 
82                        <#assign hiddenClass=getHiddenClassForTag(entry, langId)/> 
83                        <#if (hiddenClass='hidden')> 
84                            <#assign numberHiddenItems = numberHiddenItems +1 /> 
85                        </#if> 
86 
87                         <#assign cssClass = "" /> 
88                        <#if (entry?index > (3 + numberHiddenItems))> 
89                            <#assign cssClass = "hide" /> 
90                        </#if> 
91 
92                    <!-- hiddenClass ${hiddenClass} --> 
93 
94                        <article class="blogs_item_${randomNamespace} ${cssClass} ${hiddenClass}"> 
95                            <#if image != "" > 
96										            <#assign fields = restClient.get('/headless-delivery/v1.0/sites/${themeDisplay.getScopeGroupId()}/structured-contents/by-key/${journalArticle.getArticleUrl()}?fields=contentFields').contentFields![] /> 
97												        <#list fields as field> 
98													    	    <#if field.name == 'authorImage'> 
99																        <#assign authorImage = field.contentFieldValue.image!'' /> 
100														        </#if> 
101												        </#list> 
102											    	    <#if !authorImage?is_string> 
103												            <div class="image" style="background-image: url('${authorImage.contentUrl}');"> 
104                                        <img src="https://uzbthemecss-extq4j9uzbrussel-extprd.lfr.cloud/images/circle-mask.png" alt="${name}" 
105                                             class="print-hidden"/> 
106                                        <img src="${authorImage.contentUrl}" class="print-only" alt="${name}"/> 
107                                    </div> 
108											    	    </#if>                             
109                            </#if> 
110                            <div class="text"> 
111                                <a href="${viewURL}"> 
112                                    <h3> 
113                                        ${entryTitle} 
114                                    </h3> 
115                                </a> 
116                                <div class="date-min"> 
117                                    <i class="fa fa-clock-o" aria-hidden="true"></i> 
118                                    ${dateUtil.getDate(journalArticle.getDisplayDate(), "dd/MM/yyyy", locale)} 
119                                </div> 
120                                <#if name != "" > 
121                                    <div class="name">${name} </div> 
122 
123 
124                                </#if> 
125                                <#if title != "" > 
126                                    <div class="title">${title}</div> 
127                                </#if> 
128                                <#--<#if description != "" >--> 
129                                    <#--<div class="description">${description}</div>--> 
130                                <#--</#if>--> 
131                            </div> 
132                        </article> 
133 
134                    </#if> 
135                </#list> 
136                </div> 
137 
138                <div class="col-md-12 text-center"> 
139 
140                    <a id="moreBlogsButton" href="${themeDisplay.getURLHome()}/blog-archive"  class="uzb-button green"> 
141                        <span> 
142                            <@liferay.language key="more-blogs" /> 
143                        </span> 
144                        <svg class="icon icon-tabler icon-tabler-arrow-right" fill="none" height="24" stroke="currentColor" 
145                             stroke-linecap="round" stroke-linejoin="round" stroke-width="1" viewbox="0 0 24 24" width="24" 
146                             xmlns="http://www.w3.org/2000/svg"> 
147                            <path d="M0 0h24v24H0z" fill="none" stroke="none"></path> 
148                            <line x1="5" x2="19" y1="12" y2="12"></line> 
149                            <line x1="13" x2="19" y1="18" y2="12"></line> 
150                            <line x1="13" x2="19" y1="6" y2="12"></line> 
151                        </svg> 
152                    </a> 
153                </div> 
154            </#if> 
155        </div> 
156    </div> 
157</section> 

Contentverzamelaar

Abonnement op mUZt