Utilitzem cookies pròpies i de tercers per millorar els nostres serveis i mostrar-te la publicitat relacionada amb les teves preferències mitjançant l’anàlisi dels teus hàbits de navegació. Si continues navegant, considerem que acceptes l’ús. Pots canviar la configuració i obtenir més informació consultant la nostra Política de Cookies.

Cabecera Mutual Informa

MUTUAL MÉDICA

Mutual Informa

 

Boletin 87

S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> xPathSelector.selectSingleNode(rootElement)  [in template "20116#20152#244491" at line 180, column 28]

----
Tip: If the failing expression is known to be 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 imagen = xPathSelector.select...  [in template "20116#20152#244491" at line 180, column 9]
----
1<style> 
2#articulos { 
3    padding-left: 15%; 
4    padding-right: 15%; 
5    padding-bottom: 15%; 
6
7.h2 .header-title { display: none; } 
8.h2 .header-back-to { display: none; } 
9#categoryName { 
10    font-family: 'TradeGothic-B',sans-serif; 
11    font-size: 38px; 
12    font-weight: 300; 
13    color: #006699; 
14    padding-left: 15px; 
15    padding-right: 15px; 
16
17.categoria { 
18    background-color: #EFFAFF; 
19    margin-bottom: 2% !important; 
20    margin-top: 3%; 
21    padding: 1% 5%; 
22    margin: 1px 0; 
23
24.titulo { 
25    font-size: 19px; 
26    color: var(--blue-medium); 
27    font-family: sans-serif; 
28
29.detalle { 
30    font-size: 15px; 
31    font: 400 15px/1.8 "OpenSans",sans-serif; 
32    padding-top: 20px; 
33    white-space: initial; 
34
35.enlace { 
36    text-decoration: underline; 
37    color: #29bef8; 
38
39hr { border-top: 1px solid !important;} 
40.separador { 
41    padding-left: 3%; 
42    padding-right: 3%; 
43    padding-bottom: 25px; 
44
45.imagen { 
46    float: left; 
47    padding-top: 20px; 
48    padding-bottom: 20px; 
49
50.enlance-utilmo { 
51    display: block; 
52    padding-bottom: 30px; 
53
54.espacio { 
55    padding-top: 20px; 
56    margin-top: 70px; 
57    padding-bottom: 30px; 
58
59.articulo { 
60    padding-left: 5%; 
61    padding-right: 5%; 
62
63.text-center {text-align: center;} 
64.text-right{text-align: right;} 
65.texto-izquierda {font-size: 25px; color: #0477b9;} 
66.table.no-border tr td, .table.no-border tr th { 
67    border-width: 0; 
68
69.cabecera { 
70    padding-left: 5.0%; 
71    padding-right: 4.5%; 
72    font-size: 25px; 
73    color: #0477b9; 
74
75</style> 
76 
77<#macro printCategory categoryTitle> 
78    <div class="categoria"> 
79        <div id="categoryName">${categoryTitle}</div> 
80    </div> 
81</#macro> 
82 
83<#macro printArticle article first readmore> 
84    <div class="articulo"> 
85        <div class="row"> 
86            <#if first == "false"> 
87                <div class="separador col-xs-10"> 
88                    <hr> 
89                </div> 
90            </#if> 
91            <div class="col-xs-10"> 
92                <#if readmore == "0"> 
93                    <div class="detalle col-xs-12"> 
94                        ${article.detalle} 
95                    </div> 
96                <#else>                
97                    <div class="titulo col-xs-12"> 
98                        ${article.title} 
99                    </div> 
100                    <div class="detalle col-xs-12"> 
101                        ${article.description} 
102                    </div>                     
103                </#if> 
104                <#if article.image?trim != '' > 
105                    <div class="col-xs-12 imagen"> 
106                        <img src='${article.image}' height='auto' width='457' /> 
107                    </div> 
108                <#else> 
109                    <div class="espacio"></div> 
110                </#if> 
111                 
112                    <div class="enlace enlance-utilmo col-xs-12"> 
113                    <#if readmore == "1"> 
114                        <a href="${article.url}"><@liferay.language key="read-more" /></a> 
115                    </#if> 
116                    </div> 
117                 
118            </div> 
119        </div> 
120    </div> 
121</#macro> 
122 
123<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
124<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") /> 
125<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
126<#assign assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
127<#assign assetCategoryPropertyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") /> 
128<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
129<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
130<#assign layout = themeDisplay.getLayout() /> 
131<#assign display = themeDisplay.getPortletDisplay() /> 
132<#assign portletId = display.getId() /> 
133<#assign portletPreferences = themeDisplay.getStrictLayoutPortletSetup(layout, portletId) /> 
134<#assign currentArticle = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) /> 
135<#assign document = saxReaderUtil.read(currentArticle.getContentByLocale(locale)) /> 
136<#assign rootElement = document.getRootElement() /> 
137<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='codigo']") /> 
138<#assign codigo =  xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
139<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='fecha']") /> 
140<#assign fecha =  xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
141         
142         
143<#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey() /> 
144<#assign currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey) /> 
145<#assign currentArticleAssetEntryId = currentArticleAssetEntry.getEntryId() /> 
146<#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) /> 
147<#assign languageId = request['theme-display']['language-id'] /> 
148<#assign categories = assetCategoryService.getCategories() /> 
149<#assign containsTag = '' /> 
150<#assign notContainsTag = '' /> 
151<#if portletPreferences?has_content> 
152    <#assign keys = portletPreferences.getMap() /> 
153    <#assign tag0 = portletPreferences.getValue('queryValues0','') /> 
154    <#assign tag0Show = portletPreferences.getValue('queryContains0','') /> 
155    <#assign tag1 = portletPreferences.getValue('queryValues1','') /> 
156    <#assign tag1Show = portletPreferences.getValue('queryContains1','') /> 
157</#if> 
158<#--Hacemos un json array con lo que necesitamos de los articulos --> 
159<#assign articulosJsonArray = [] > 
160<#list currentArticleRelatedLinks as related_entry> 
161    <#assign relatedAssetEntryId = related_entry.getEntryId2() /> 
162    <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) /> 
163    <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() /> 
164    <#assign relatedArticle = journalArticleLocalService.getLatestArticle(relatedAssetEntryPrimKey) /> 
165    <#assign relatedArticleId = relatedArticle.getArticleId() /> 
166    <#assign relatedCategories = assetCategoryService.getCategories("com.liferay.journal.model.JournalArticle", relatedArticle.getResourcePrimKey()) /> 
167    <#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', relatedArticle.getResourcePrimKey()) > 
168    <#assign tags = "" > 
169    <#assign add = true > 
170    <#list asset.getTags() as tag> 
171        <#assign tags = tags + tag.name + ";" > 
172        <#if (tag.name == tag0 && tag0Show == "false") || (tag.name == tag1 && tag1Show == "false") > 
173            <#assign add = false > 
174        </#if> 
175    </#list> 
176    <#if add == true > 
177        <#assign document = saxReaderUtil.read(relatedArticle.getContentByLocale(locale.toString())) /> 
178        <#assign rootElement = document.getRootElement() /> 
179        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Imagen']") /> 
180        <#assign imagen =  xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
181         
182        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Detalle']") /> 
183        <#assign detalle =  xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
184        <#assign linea = {"id" : relatedArticleId, "resourcePrimKey" : relatedArticle.getResourcePrimKey(), "title" : relatedArticle.getTitle(languageId), "description" : relatedArticle.getDescription(languageId), "image" : imagen, "detalle" : detalle, "url" : relatedArticle.getUrlTitle(), "priority" : '${relatedAssetEntry.getPriority()}', "tags" : tags }> 
185        <#assign articulosJsonArray = articulosJsonArray + [linea]> 
186    </#if> 
187</#list> 
188<#assign articulos = [] > 
189<#list articulosJsonArray?sort_by("priority")?reverse as i> 
190    <#assign linea = {"id" : i.id, "resourcePrimKey" : i.resourcePrimKey, "title" : i.title, "description" : i.description, "image" : i.image, "detalle" : i.detalle, "url" : i.url, "priority" : i.priority, "tags" : i.tags }> 
191    <#assign articulos = articulos + [linea]> 
192</#list> 
193<#--Hacemos un json array con lo que necesitamos de las categorias--> 
194<#assign categoriesJsonArray = []> 
195<#list categories as cat> 
196    <#assign prioridad = 0> 
197    <#assign readmore = "1"> 
198    <#assign properties = assetCategoryPropertyService.getCategoryProperties(cat.getCategoryId()) /> 
199    <#list properties as prop> 
200        <#if prop.getKey() == "prioridad"> 
201            <#assign prioridad = prop.getValue()> 
202        </#if> 
203        <#if prop.getKey() == "link-leer-mas"> 
204            <#assign readmore = prop.getValue()> 
205        </#if> 
206         
207    </#list> 
208    <#assign linea = {"id" : cat.getCategoryId(), "title" : cat.getTitle(languageId), "priority" : '${prioridad}', "readmore" : '${readmore}' }> 
209    <#assign categoriesJsonArray = categoriesJsonArray + [linea]> 
210</#list> 
211<#--Ordenamos las categorias por su prioridad--> 
212<#assign categories= []> 
213<#list categoriesJsonArray?sort_by("priority")?reverse as i> 
214    <#assign linea = {"id" : i.id, "title" : i.title, "priority" : i.priority, "readmore" : i.readmore}> 
215    <#assign categories = categories + [linea]> 
216</#list> 
217<div class="container"> 
218    <div class="row"> 
219        <div class="col-md-10 col-md-offset-1"> 
220            <div class="noticias-header">  
221                <div class="text-left"><h3>${currentArticle.getDescription(locale)}</h3></div>  
222                <div class="text-center">${codigo}</div>  
223                <div class="text-right text-slim">${fecha}</div>  
224            </div> 
225        </div> 
226    </div> 
227</div> 
228<#-- 
229La cabecera de la primera categoría no se imprime. 
230Después de imprimir la cabecera, se imprimen los articulos de dicha categría. 
231Las categorías están ordenadas por prioridad, dejando normalmente la categoría genérica la primera. 
232Los artículos se imprimen por prioridad en su categoría. 
233 --> 
234<#assign firstCategoryPrinted = false /> 
235<div id="articulos"> 
236    <#list categories as currentCategory> 
237        <#assign currentCategoryPrinted = false /> 
238        <#assign firstArticlePrinted = "true" /> 
239        <#list articulos as articulo > 
240            <#assign relatedCategories = assetCategoryService.getCategories("com.liferay.journal.model.JournalArticle", articulo.resourcePrimKey) /> 
241            <#list relatedCategories as relatedCategory> 
242                <#if relatedCategory.getCategoryId() == currentCategory.id > 
243                    <#if currentCategoryPrinted == false && firstCategoryPrinted == true> 
244                        <#assign currentCategoryPrinted = true /> 
245                        <@printCategory categoryTitle=currentCategory.title /> 
246                    </#if> 
247                    <@printArticle article=articulo first=firstArticlePrinted readmore=currentCategory.readmore/>                     
248                    <#assign firstArticlePrinted = "false" /> 
249                </#if> 
250            </#list> 
251        </#list> 
252        <#assign firstCategoryPrinted = true /> 
253    </#list> 
254</div> 

Editor de continguts

Per què recomanaria Mutual Mèdica als seus col·legiats?

President del Col·legi Oficial de Metges de Ciutat Real, el Dr. José Molina Cabildo

Jo ho tinc claríssim! Contracto l'Assegurança de Jubilació Estalvi Fiscal 105

Aquest any, l'Assegurança de Jubilació Estalvi Fiscal 105 de Mutual Mèdica et dona un 2,30% d'interès brut anual garantit. Tria la màxima rendibilitat per al teu futur.

La millor foto de la meva jubilació, amb l'Assegurança de Jubilació Estalvi Fiscal 105

Tens un petit capital i estàs pensant què fer amb ell abans de final d'any? Inverteix en la teva jubilació i et podràs desgravar el 100% de les aportacions en la Declaració de la Renda.

Busquem dibuix per a la felicitació nadalenca de l'entitat

Arriba el XIV Concurs de Dibuix Nadal'18 de Mutual Mèdica. Si tens entre 3 i 12 anys i ets fill o nét d'un metge mutualista, pots participar. Tens temps fins al 19 de novembre.

La veu dels graduats en Medicina - Entrevistes Promoció 2018

Mutual Mèdica col·labora amb els estudiants d'últim curs de Medicina i els acompanya en els seus actes de graduació, un dels millors moments de la seva vida professional. L'entitat ha...

20 estudiants de Medicina podran continuar amb la seva carrera gràcies al compromís d'entitats i associacions professionals

El Consell Estatal d'Estudiants de Medicina (CEEM), la Fundació per a la Protecció Social de l'Organització Mèdica Col·legial (FPSOMC) i la Fundació Mutual Mèdica van subscriure fa poc un...

La veu dels graduats en Medicina - Promoció 2018

Mutual Mèdica col·labora amb els estudiants d'últim curs de Medicina i els acompanya en els seus actes de graduació, un dels millors moments de la seva vida professional.

ja pots consultar la guia per a metges residents editada gràcies a la col·laboració de Mutual Mèdica amb l'OMC? Descárrega-te-la

ja pots consultar la guia per a metges residents editada gràcies a la col·laboració de Mutual...

Saps com protegim les teves dades personals a Mutual Mèdica?

T'expliquem de manera àgil i senzilla com estem aplicant la nova Llei de Protecció de Dades en benefici del metge.

Predomini de Cardiologia entre els projectes i articles presentats als Premis a la Recerca

El Jurat dels Premis a la Recerca de Mutual Mèdica, presidit per la Dra. M. Pilar Tornos, basa la seva decisió en l'originalitat dels treballs, en la professionalitat de l'equip...

Les xifres del primer semestre de l'any: 6,5% d'increment en quotes

Els resultats financers de la mutualitat segueixen la tendència de millora d'anys anteriors.

Assemblea 2018: més de 57.900 mutualistes confien en la seva mutualitat

El president de Mutual Mèdica, el Dr. Lluís A. Morales, es va mostrar molt satisfet amb aquest exercici 2017, any de grans canvis per a l'entitat.

Et mantenim actiu: cobreix les guàrdies MIR que tu decideixis

Saps que existeix el risc de perdre els ingressos que obtinguis a través de les teves guàrdies com a resident. No posis en perill els teus projectes del moment: viatges, màsters… Nova Assegurança...

Nova assegurança per als metges que obtenen part dels seus ingressos amb les guàrdies mèdiques i volen cobrir-les per complir amb els seus pagaments mensuals

Una assegurança que cobreix al metge des del minut 1 quan no pugui realitzar les seves guàrdies, assegurant-se una renda diària per la pèrdua d'ingressos en cas de malaltia o accident, per...

Mutual Mèdica s'ha adaptat a la nova normativa de protecció de dades

El 25 de maig va entrar en vigor el Reglament General de Protecció de Dades, normativa que unifica criteris en la matèria en l'àmbit europeu.