Notícies de l’Hospital de Sant Pau
El Servei de Cardiologia, de Cirurgia Cardíaca i de Cirurgia Vascular de l'Hospital de la Santa Creu i Sant Pau han posat en marxa una plataforma transversal d'impressió 3D amb equips d'última generació orientada a la investigació, docència i aplicació clínica com a suport a procediments d'alta complexitat en l'àmbit cardiovascular. La plataforma compta amb el suport, a través del Servei de Cardiologia, del Centre d'Investigacions Biomèdiques en Xarxa - Cardiovascular (CIBERCV) i de l'Institut de Recerca de Sant Pau – IIB Sant Pau.
Aquesta tecnologia ja s'ha aplicat fins el moment per al tractament de 3 pacients del Servei de Cirurgia vascular, 5 pacients del Servei de Cirurgia i 6 pacients sotmesos a procediments d’intervencionisme en cardiopaties estructurals complexes amb excel·lents resultats. L'últim cas, es tracta d'un pacient ingressat en estat crític per una complicació greu d'un infart agut de miocardi amb trencament cardíac. La impressió del cor va proporcionar una informació única i molt detallada del problema, que va permetre als cirurgians cardíacs individualitzar el tipus de cirurgia i reparar de manera satisfactòria el cor danyat aconseguint una evolució favorable del pacient.
L'anàlisi d'imatges biomèdiques i la impressió 3D estan revolucionant la manera de comprendre i planificar procediments mèdics complexos. Disposar la informació anatòmica tridimensional, prèvia a procediments quirúrgics, permet un coneixement més precís i tangible de la patologia i la personalització de la cirurgia d'acord a les característiques anatòmiques de cada pacient. D'aquesta manera, el cirurgià pot explicar millor al pacient l'acte quirúrgic que ha de realitzar-li i alhora facilita de manera important la seva tasca, i pot planificar l'abordatge i preveure les possibles dificultats que es pot trobar. Aquest avanç tecnològic està encaminat a millorar els resultats de la cirurgia i evitar complicacions.
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>