Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarte la publicidad relacionada con tus preferencias mediante el análisis de tus hábitos de navegación. Si continúas navegando, consideramos que aceptas su uso. Puedes cambiar la configuración y obtener más información consultando nuestra Política de Cookies.

Cabecera Mutual Informa

MUTUAL MÉDICA

Mutual Informa

 

Boletin 87

Se ha producido un error al procesar 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> 

Publicador de contenidos

Buscamos dibujo para la felicitación navideña de la entidad

Llega el XIV Concurso de Dibujo Navidad'18 de Mutual Médica. Si tienes entre 3 y 12 años y eres hijo o nieto de un médico mutualista, puedes participar. Tienes tiempo hasta el 19 de noviembre.

Si eres Mirialista y te diviertes con Mirial, ya tienes disponible una nueva actualización de la App

Benefíciate de una App más dinámica, con la que te divertirás, aprenderás y generarás más conocimiento con las preguntas de los exámenes MIR.

¿Has participado en el XIV Concurso de Dibujo Navidad 2018? Busca tu dibujo aquí

¡Ya tenemos ganadores del Concurso de Dibujo de este año!

¿Sabías que...

¿Sabías que... ...

¿Por qué recomendarías Mutual Médica a tus colegiados?

Dra. Manuela García Romero, presidenta del Colegio Oficial de Médicos de las Islas Baleares.

La Fundación Mutual Médica premia a la Fundación Andrés Marcio en el marco de los Premios Solidarios de INESE

El proyecto de la Fundación Andrés Marcio premiado fue "Identificación precoz de arritmias malignas en niños con laminopatía".

Los trabajos de investigación premiados por la Fundación Mutual Médica están liderados por médicos jóvenes que dan sus primeros pasos

La Beca Mutual Médica ha sido para la Dra. Vanesa Antón Vázquez, de la especialidad de Medicina Interna, por un proyecto sobre el VHI que se llevará a cabo en Tanzania. El Premio Dr. J. Font ha...

Feliz Navidad y Próspero 2019

Mutual Médica te desea Feliz Navidad y Próspero 2019 con el dibujo ganador del XIV Concurso de Dibujo Navidad'18

¿Sabías que...

¿Sabías que... ...

Vacaciones de invierno, con la tranquilidad que te da ser mutualista

Solo por ser mutualista tienes asistencia en viaje, que te cubre ante los imprevistos que puedan surgir. Si además eres Mutualista Joven, la asistencia en viaje viene con ventajas pensadas para las...

Predominio de Cardiología entre los proyectos y artículos presentados a los Premios a la Investigación

El Jurado de los Premios a la Investigación de Mutual Médica, presidido por la Dra. M. Pilar Tornos, basa su decisión en la originalidad de los trabajos, en la profesionalidad del equipo de...

¿Por qué recomendaría Mutual Médica a sus colegiados?

Presidente del Colegio Oficial de Médicos de Ciudad Real, el Dr. José Molina Cabildo

¡Yo lo tengo clarísimo! Contrato el Seguro de Jubilación Ahorro Fiscal 105

Este año, el Seguro de Jubilación Ahorro Fiscal 105 de Mutual Médica te da un 2,30% de interés bruto anual garantizado. Elige la máxima rentabilidad para tu futuro.

La mejor foto de mi jubilación, con el Seguro de Jubilación Ahorro Fiscal 105

¿Tienes un pequeño capital y estás pensando en qué hacer con él antes de final de año? Inviértelo en tu jubilación y te podrás desgravar el 100% de las aportaciones en la Declaración de la Renta.

La voz de los graduados en Medicina - Entrevistas Promoción 2018

Mutual Médica colabora con los estudiantes de último curso de Medicina y los acompaña en sus actos de graduación, uno de los mejores momentos de su vida profesional. La entidad ha entrevistado a...

20 estudiantes de Medicina podrán continuar su carrera gracias al compromiso de entidades y asociaciones profesionales

El Consejo Estatal de Estudiantes de Medicina (CEEM), la Fundación para la Protección Social de la Organización Médica Colegial (FPSOMC) y la Fundación Mutual Médica suscribieron hace poco un...

La voz de los graduados en Medicina - Promoción 2018

Mutual Médica colabora con los estudiantes de último curso de Medicina y los acompaña en sus actos de graduación, uno de los mejores momentos de su vida profesional.

Ya puedes consultar la guía para médicos residentes editada gracias a la colaboración de Mutual Médica con la OMC? Descárgatela

Ya puedes consultar la guía para médicos residentes editada gracias a la colaboración de...

¿Sabes cómo protegemos tus datos personales en Mutual Médica?

Te explicamos de manera ágil y sencilla cómo estamos aplicando la nueva Ley de Protección de Datos en beneficio del médico.

Las cifras del primer semestre del año: 6,5% de incremento en cuotas

Los resultados financieros de la mutualidad siguen la tendencia de mejora de años anteriores.