Notícies de l’Hospital de Sant Pau
Sant Pau primer hospital a Catalunya amb un navegador bronquial per pacients amb lesions pulmonars periferiques
L’Hospital de la Santa Creu i Sant Pau és un dels pocs centres europeus i el primer de Catalunya que comptarà amb un navegador electromagnètic per realitzar broncoscòpies que utilitza una combinació d’imatges del mateix pacient per arribar a les zones perifèriques del pulmó i, així, evitar la cirurgia per abordar-les. Aquest equipament ha rebut un ajut del Fons Europeu de Desenvolupament Regional – FEDER – de la Unió Europea i és un projecte compartit de risc entre la indústria i l’Hospital.
En aquests moments, quan a un pacient se li localitza una lesió sospitosa en el pulmó en una zona perifèrica a través d’una prova d’imatge, l’única via per arribar-hi i realitzar una biòpsia o resecció és un abordatge quirúrgic. En alguns casos, com en pacients d’edat avançada o amb patologies associades, la cirurgia pot comportar certs riscos.
Amb el nou navegador bronquial que l’Hospital de Sant Pau ha incorporat al seu Servei de Pneumologia, els professionals que realitzen les broncoscòpies arriben fins a les zones perifèriques del pulmó utilitzant una cànula d’un diàmetre molt reduït, guiada pel professional, amb l’ajuda d’una reconstrucció virtual del pulmó del pacient a través d’imatge digital, reduint els riscos inherents a una cirurgia complexa i obtenint diagnòstics més precisos i de manera menys invasiva.
El professional veu en una pantalla la reconstrucció del pulmó del pacient i d’aquesta manera pot avançar a través dels bronquis fins a arribar als límits dels pulmons on es trobi la lesió. Un cop localitzada, a través de la guia o cànula es poden prendre mostres per analitzar-les i consensuar el millor tractament, coneixent la naturalesa exacta del teixit extret. El pacient sotmès a aquest procediment, igual que en altres processos endoscòpics, es pot incorporar el mateix dia a la seva vida normal.
En aquests moments, els estudis realitzats permeten assegurar que aquesta tecnologia augmenta el rendiment del diagnòstic més d’un 60%. Per altra banda, el navegador bronquial obre les portes a tractaments amb radiofreqüència o braquiteràpia local, en casos de càncer de pulmó o d’altres tumors.
El nou navegador bronquial de l’Hospital de Sant Pau ha estat adquirit en un 50% amb fons FEDER amb el compromís entre l’Hospital i la indústria de compartir els riscos i l’assumpció dels costos a través del balanç de resultats.
The following has evaluated to null or missing: ==> themeDisplay.getRequest().getParameter("_assetEntryId") [in template "20155#20195#3894213" at line 7, column 32] ---- 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 assetEntryIdFromUrl = themeDi... [in template "20155#20195#3894213" at line 7, column 1] ----
1<#assign groupService = serviceLocator.findService('com.liferay.portal.kernel.service.GroupLocalService') />
2<#assign tagsService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetTagLocalService") />
3<#assign entryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryService") />
4<#assign journalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
5<#assign saxReader = serviceLocator.findService("com.liferay.portal.kernel.xml.SAXReader") />
6
7<#assign assetEntryIdFromUrl = themeDisplay.getRequest().getParameter("_assetEntryId") />
8<#assign assetEntryIdFromUrlNumber = assetEntryIdFromUrl?number>
9<#if entries?has_content>
10
11<#if themeDisplay.getURLCurrent()?contains("/comunic-actualitat/-/asset_publisher/")>
12
13<div class="homeActualitat homeActualitatAltres">
14 <div>
15 <div>
16 <h3>
17 ${portletDisplay.getTitle()}
18 </h3>
19 </div>
20
21 <ul class="homeActualitatContinguts clearfix">
22 <#assign count = 0>
23 <#if entries?has_content>
24 <#list entries as curEntry>
25 <#attempt>
26 <#assign curEntryId = curEntry.getEntryId() />
27 <#assign curEntryIdNumber = curEntryId?number>
28 <#if curEntryIdNumber != assetEntryIdFromUrlNumber>
29 <#if count < 4> <!-- Limitar a 4 resultados -->
30 <#assign count = count + 1>
31 <#assign journalArticle = journalService.getLatestArticle(curEntry.getClassPK()) />
32
33 <#assign contenidoArticulo = journalArticle.getContent() />
34
35 <#assign document = saxReader.read(contenidoArticulo) />
36
37 <#assign rootElement =document.getRootElement()>
38
39 <#if locale?contains("en")>
40 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Titol']/dynamic-content[@language-id='en_GB']") >
41 <#if xPathSelector.selectSingleNode(rootElement)?has_content>
42 <#assign titol = xPathSelector.selectSingleNode(rootElement).getStringValue() >
43 <#else>
44 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Titol']/dynamic-content[@language-id='ca_ES']") >
45 <#assign titol = xPathSelector.selectSingleNode(rootElement).getStringValue()>
46 </#if>
47 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Resum']/dynamic-content[@language-id='en_GB']") >
48 <#if xPathSelector.selectSingleNode(rootElement)?has_content>
49 <#assign resum = xPathSelector.selectSingleNode(rootElement).getStringValue() >
50 <#else>
51 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Resum']/dynamic-content[@language-id='ca_ES']") >
52 <#assign resum = xPathSelector.selectSingleNode(rootElement).getStringValue()>
53 </#if>
54 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Descripcio']/dynamic-content[@language-id='en_GB']") >
55 <#if xPathSelector.selectSingleNode(rootElement)?has_content>
56 <#assign texto = xPathSelector.selectSingleNode(rootElement).getStringValue() >
57 <#else>
58 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Descripcio']/dynamic-content[@language-id='ca_ES']") >
59 <#assign texto = xPathSelector.selectSingleNode(rootElement).getStringValue()>
60 </#if>
61 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Data']/dynamic-content[@language-id='en_GB']") >
62 <#if xPathSelector.selectSingleNode(rootElement)?has_content>
63 <#assign fechaAlta = xPathSelector.selectSingleNode(rootElement).getStringValue() >
64 <#else>
65 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Data']/dynamic-content[@language-id='ca_ES']") >
66 <#assign fechaAlta = xPathSelector.selectSingleNode(rootElement).getStringValue()>
67 </#if>
68 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Imatge']/dynamic-content[@language-id='ca_ES']") >
69 <#if xPathSelector.selectSingleNode(rootElement)?has_content>
70 <#assign imagentmp = xPathSelector.selectSingleNode(rootElement).getStringValue() >
71 <#assign jsonObject = jsonFactoryUtil.createJSONObject(imagentmp)>
72 <#assign uuid = jsonObject.getString("uuid")>
73 <#assign groupId = jsonObject.getLong("groupId")>
74
75 <#assign fileEntryId = jsonObject.getLong("fileEntryId")>
76 <#if fileEntryId != 0>
77 <#assign fileEntry = staticUtil["com.liferay.portal.kernel.portletfilerepository.PortletFileRepositoryUtil"].getPortletFileEntry(fileEntryId) />
78 <#assign imagen = staticUtil["com.liferay.portal.kernel.portletfilerepository.PortletFileRepositoryUtil"].getDownloadPortletFileEntryURL(themeDisplay,fileEntry,"") />
79 <#else>
80 <#assign imagen = "">
81 </#if>
82 <#else>
83 <#assign imagen = "">
84 </#if>
85
86 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='OrdreHome']/dynamic-content[@language-id='en_GB']") >
87 <#if xPathSelector.selectSingleNode(rootElement)?has_content>
88 <#assign OrdreHome = xPathSelector.selectSingleNode(rootElement).getStringValue() >
89 <#else>
90 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='OrdreHome']/dynamic-content[@language-id='ca_ES']") >
91 <#assign OrdreHome = xPathSelector.selectSingleNode(rootElement).getStringValue()>
92 </#if>
93 <#elseif locale?contains("es")>
94 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Titol']/dynamic-content[@language-id='es_ES']") >
95 <#if xPathSelector.selectSingleNode(rootElement)?has_content>
96 <#assign titol = xPathSelector.selectSingleNode(rootElement).getStringValue() >
97 <#else>
98 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Titol']/dynamic-content[@language-id='ca_ES']") >
99 <#assign titol = xPathSelector.selectSingleNode(rootElement).getStringValue()>
100 </#if>
101 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Resum']/dynamic-content[@language-id='es_ES']") >
102 <#if xPathSelector.selectSingleNode(rootElement)?has_content>
103 <#assign resum = xPathSelector.selectSingleNode(rootElement).getStringValue() >
104 <#else>
105 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Resum']/dynamic-content[@language-id='ca_ES']") >
106 <#assign resum = xPathSelector.selectSingleNode(rootElement).getStringValue()>
107 </#if>
108 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Descripcio']/dynamic-content[@language-id='es_ES']") >
109 <#if xPathSelector.selectSingleNode(rootElement)?has_content>
110 <#assign texto = xPathSelector.selectSingleNode(rootElement).getStringValue() >
111 <#else>
112 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Descripcio']/dynamic-content[@language-id='ca_ES']") >
113 <#assign texto = xPathSelector.selectSingleNode(rootElement).getStringValue()>
114 </#if>
115 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Data']/dynamic-content[@language-id='es_ES']") >
116 <#if xPathSelector.selectSingleNode(rootElement)?has_content>
117 <#assign fechaAlta = xPathSelector.selectSingleNode(rootElement).getStringValue() >
118 <#else>
119 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Data']/dynamic-content[@language-id='ca_ES']") >
120 <#assign fechaAlta = xPathSelector.selectSingleNode(rootElement).getStringValue()>
121 </#if>
122 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Imatge']/dynamic-content[@language-id='ca_ES']") >
123 <#if xPathSelector.selectSingleNode(rootElement)?has_content>
124 <#assign imagentmp = xPathSelector.selectSingleNode(rootElement).getStringValue() >
125 <#assign jsonObject = jsonFactoryUtil.createJSONObject(imagentmp)>
126 <#assign uuid = jsonObject.getString("uuid")>
127 <#assign groupId = jsonObject.getLong("groupId")>
128
129 <#assign fileEntryId = jsonObject.getLong("fileEntryId")>
130 <#if fileEntryId != 0>
131 <#assign fileEntry = staticUtil["com.liferay.portal.kernel.portletfilerepository.PortletFileRepositoryUtil"].getPortletFileEntry(fileEntryId) />
132 <#assign imagen = staticUtil["com.liferay.portal.kernel.portletfilerepository.PortletFileRepositoryUtil"].getDownloadPortletFileEntryURL(themeDisplay,fileEntry,"") />
133 <#else>
134 <#assign imagen = "">
135 </#if>
136 <#else>
137 <#assign imagen = "">
138 </#if>
139
140 <#else>
141 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Titol']/dynamic-content[@language-id='ca_ES']") >
142 <#assign titol = xPathSelector.selectSingleNode(rootElement).getStringValue() >
143 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Resum']/dynamic-content[@language-id='ca_ES']") >
144 <#assign resum = xPathSelector.selectSingleNode(rootElement).getStringValue() >
145 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Descripcio']/dynamic-content[@language-id='ca_ES']") >
146 <#assign texto = xPathSelector.selectSingleNode(rootElement).getStringValue() >
147 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Data']/dynamic-content[@language-id='ca_ES']") >
148 <#assign fechaAlta = xPathSelector.selectSingleNode(rootElement).getStringValue() >
149 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Imatge']/dynamic-content[@language-id='ca_ES']") >
150 <#if xPathSelector.selectSingleNode(rootElement)?has_content>
151 <#assign imagentmp = xPathSelector.selectSingleNode(rootElement).getStringValue() >
152 <#assign jsonObject = jsonFactoryUtil.createJSONObject(imagentmp)>
153 <#assign uuid = jsonObject.getString("uuid")>
154 <#assign groupId = jsonObject.getLong("groupId")>
155
156 <#assign fileEntryId = jsonObject.getLong("fileEntryId")>
157 <#if fileEntryId != 0>
158 <#assign fileEntry = staticUtil["com.liferay.portal.kernel.portletfilerepository.PortletFileRepositoryUtil"].getPortletFileEntry(fileEntryId) />
159 <#assign imagen = staticUtil["com.liferay.portal.kernel.portletfilerepository.PortletFileRepositoryUtil"].getDownloadPortletFileEntryURL(themeDisplay,fileEntry,"") />
160 <#else>
161 <#assign imagen = "">
162 </#if>
163 <#else>
164 <#assign imagen = "">
165 </#if>
166
167 </#if>
168 <#assign url = "/web/public/comunic-actualitat/-/asset_publisher/0n2ILqhO4yy6/content/" + curEntry.getAssetRenderer().getUrlTitle()
169 + "?_assetEntryId=" + curEntry.getEntryId() />
170
171 <#if fechaAlta != "">
172 <#assign dia = fechaAlta[8..] >
173 <#assign mes = fechaAlta[5..6] >
174 <#assign ano = fechaAlta[0..3] >
175 </#if>
176
177 <li class="homeActualitatContingut ${curEntryId} ${assetEntryIdFromUrl}">
178 <a href="${url }" target="_self">
179 <#if imagen != "">
180 <div class="homeActualitatImatge">
181 <img src="${imagen}" title="${titol}" alt="${titol}">
182 </div>
183 </#if>
184 <div class="homeActualitatDescripcio">
185 <span class="data">${dia }/${mes }/${ano }</span>
186 <div class="homeActualitatTitol">${titol}</div>
187 <div class="homeActualitatVeureMes">
188 <#if locale?contains("en")>
189 Read news
190 <#elseif locale?contains("es")>
191 Leer noticia
192 <#else>
193 Llegir notícia
194 </#if>
195 </div>
196 </div>
197 </a>
198 </li>
199 </#if> <!-- Fin Limitar a 4 resultados -->
200 </#if>
201 <#recover>
202 <#assign journalArticle = journalService.getLatestArticle(curEntry.getClassPK()) />
203
204 <#assign contenidoArticulo = journalArticle.getContent() />
205
206 <#assign document = saxReader.read(contenidoArticulo) />
207
208 <#assign rootElement =document.getRootElement()>
209
210 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Titol']/dynamic-content[@language-id='ca_ES']") >
211 <#assign titol = xPathSelector.selectSingleNode(rootElement).getStringValue() >
212 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Resum']/dynamic-content[@language-id='ca_ES']") >
213 <#assign resum = xPathSelector.selectSingleNode(rootElement).getStringValue() >
214 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Descripcio']/dynamic-content[@language-id='ca_ES']") >
215 <#assign texto = xPathSelector.selectSingleNode(rootElement).getStringValue() >
216 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Data']/dynamic-content[@language-id='ca_ES']") >
217 <#assign fechaAlta = xPathSelector.selectSingleNode(rootElement).getStringValue() >
218 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Imatge']/dynamic-content[@language-id='ca_ES']") >
219 <#if xPathSelector.selectSingleNode(rootElement)?has_content>
220 <#assign imagentmp = xPathSelector.selectSingleNode(rootElement).getStringValue() >
221 <#assign jsonObject = jsonFactoryUtil.createJSONObject(imagentmp)>
222 <#assign uuid = jsonObject.getString("uuid")>
223 <#assign groupId = jsonObject.getLong("groupId")>
224
225 <#assign fileEntryId = jsonObject.getLong("fileEntryId")>
226 <#if fileEntryId != 0>
227 <#assign fileEntry = staticUtil["com.liferay.portal.kernel.portletfilerepository.PortletFileRepositoryUtil"].getPortletFileEntry(fileEntryId) />
228 <#assign imagen = staticUtil["com.liferay.portal.kernel.portletfilerepository.PortletFileRepositoryUtil"].getDownloadPortletFileEntryURL(themeDisplay,fileEntry,"") />
229 <#else>
230 <#assign imagen = "">
231 </#if>
232 <#else>
233 <#assign imagen = "">
234 </#if>
235
236 <#assign url = "/web/public/comunic-actualitat/-/asset_publisher/0n2ILqhO4yy6/content/" + curEntry.getAssetRenderer().getUrlTitle()
237 + "?_assetEntryId=" + curEntry.getEntryId() />
238
239 <#if fechaAlta != "">
240 <#assign dia = fechaAlta[8..] >
241 <#assign mes = fechaAlta[5..6] >
242 <#assign ano = fechaAlta[0..3] >
243 </#if>
244
245 <li class="homeActualitatContingut">
246 <a href="${url }" target="_self">
247 <#if imagen != "">
248 <div class="homeActualitatImatge">
249 <img src="${imagen}" title="${titol}" alt="${titol}">
250 </div>
251 </#if>
252 <div class="homeActualitatDescripcio">
253 <span class="data">${dia }/${mes }/${ano }</span>
254 <div class="homeActualitatTitol">${titol}</div>
255 <div class="homeActualitatVeureMes">
256 <#if locale?contains("en")>
257 Read news
258 <#elseif locale?contains("es")>
259 Leer noticia
260 <#else>
261 Llegir notícia
262 </#if>
263 </div>
264 </div>
265 </a>
266 </li>
267
268
269 </#attempt>
270 </#list>
271 </#if>
272 </ul>
273
274 </div>
275</div>
276
277</#if>
278</#if>