Cabecera Mutual Informa

MUTUAL MÉDICA

Mutual Informa

 

Boletin 87

Se ha producido un error al procesar la plantilla.
No error description was specified for this error; low-level message: java.lang.ClassNotFoundException: com.liferay.document.library.kernel.service.DLAppLocalServiceUtil cannot be found by com.liferay.portal.template.freemarker_4.0.15

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign dlAppLocalServiceUtil = stati...  [in template "20116#20152#244491" at line 123, column 1]
----
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 dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"] > 
124<#assign dlUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"] > 
125<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
126<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") /> 
127<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
128<#assign assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
129<#assign assetCategoryPropertyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") /> 
130<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
131 
132<#assign layout = themeDisplay.getLayout() /> 
133<#assign display = themeDisplay.getPortletDisplay() /> 
134<#assign portletId = display.getId() /> 
135<#assign portletPreferences = themeDisplay.getStrictLayoutPortletSetup(layout, portletId) /> 
136<#assign currentArticle = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) /> 
137<#assign document = saxReaderUtil.read(currentArticle.getContentByLocale(locale)) /> 
138<#assign rootElement = document.getRootElement() /> 
139<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='codigo']") /> 
140<#assign codigo =  xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
141<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='fecha']") /> 
142<#assign fecha =  xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
143         
144         
145<#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey() /> 
146<#assign currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey) /> 
147<#assign currentArticleAssetEntryId = currentArticleAssetEntry.getEntryId() /> 
148<#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) /> 
149<#assign languageId = themeDisplay.getLanguageId() /> 
150<#assign categories = assetCategoryService.getCategories() /> 
151<#assign containsTag = '' /> 
152<#assign notContainsTag = '' /> 
153<#if portletPreferences?has_content> 
154    <#assign keys = portletPreferences.getMap() /> 
155    <#assign tag0 = portletPreferences.getValue('queryValues0','') /> 
156    <#assign tag0Show = portletPreferences.getValue('queryContains0','') /> 
157    <#assign tag1 = portletPreferences.getValue('queryValues1','') /> 
158    <#assign tag1Show = portletPreferences.getValue('queryContains1','') /> 
159</#if> 
160<#--Hacemos un json array con lo que necesitamos de los articulos --> 
161<#assign articulosJsonArray = [] > 
162<#list currentArticleRelatedLinks as related_entry> 
163    <#assign relatedAssetEntryId = related_entry.getEntryId2() /> 
164    <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) /> 
165    <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() /> 
166    <#assign relatedArticle = journalArticleLocalService.getLatestArticle(relatedAssetEntryPrimKey) /> 
167    <#assign relatedArticleId = relatedArticle.getArticleId() /> 
168    <#assign relatedCategories = assetCategoryService.getCategories("com.liferay.journal.model.JournalArticle", relatedArticle.getResourcePrimKey()) /> 
169    <#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', relatedArticle.getResourcePrimKey()) > 
170    <#assign tags = "" > 
171    <#assign add = true > 
172    <#list asset.getTags() as tag> 
173        <#assign tags = tags + tag.name + ";" > 
174        <#if (tag.name == tag0 && tag0Show == "false") || (tag.name == tag1 && tag1Show == "false") > 
175            <#assign add = false > 
176        </#if> 
177    </#list> 
178    <#if add == true > 
179        <#assign document = saxReaderUtil.read(relatedArticle.getContentByLocale(locale.toString())) /> 
180        <#assign rootElement = document.getRootElement() /> 
181        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Imagen']") /> 
182        <#assign imagen =  xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
183         
184        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Detalle']") /> 
185        <#assign detalle =  xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
186         
187        <#assign relatedArticleURL = relatedArticle.getUrlTitle()/> 
188        <#if relatedArticle.getFriendlyURLMap()?has_content> 
189        	 
190        	<#assign friendlyUrlMap =  relatedArticle.getFriendlyURLMap()/> 
191        	 
192        	<#assign posKey = 0/> 
193        	<#assign posKeyValue = 0/> 
194        	<#list friendlyUrlMap?keys as key> 
195        		<#assign keyString = "" + key/> 
196        		<#if keyString == locale.toString()> 
197        			<#assign posKeyValue = posKey/> 
198        		<#else> 
199        			<#assign posKey++/> 
200        		</#if> 
201        	</#list> 
202        	 
203        	<#assign posVal = 0/> 
204        	<#list friendlyUrlMap?values as val> 
205        		<#if posKeyValue == posVal> 
206        			<#assign relatedArticleURL = val /> 
207        		</#if> 
208        		<#assign posVal++/> 
209        	</#list> 
210        </#if> 
211         
212        <#assign linea = {"id" : relatedArticleId, "resourcePrimKey" : relatedArticle.getResourcePrimKey(), "title" : relatedArticle.getTitle(languageId), "description" : relatedArticle.getDescription(languageId), "image" : imagen, "detalle" : detalle, "url" : relatedArticleURL, "priority" : '${relatedAssetEntry.getPriority()}', "tags" : tags }> 
213        <#assign articulosJsonArray = articulosJsonArray + [linea]> 
214    </#if> 
215</#list> 
216<#assign articulos = [] > 
217<#list articulosJsonArray?sort_by("priority")?reverse as i> 
218	<#assign imgURL = ""> 
219	<#if i.image?? && i.image?has_content> 
220		<#assign imageJson = jsonFactoryUtil.createJSONObject(i.image?trim)> 
221		<#if imageJson?has_content && imageJson.uuid??> 
222			  <#assign imageJson = imageJson 
223							uuid = imageJson.uuid 
224						 groupId = imageJson.groupId  
225						  dlFile = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(uuid,groupId?number) 
226						  imgURL = dlUtil.getPreviewURL(dlFile, dlFile.getFileVersion(),themeDisplay,'') 
227
228		</#if> 
229	<#else>		 
230		<#assign imgURL = i.image> 
231	</#if>  
232    <#assign linea = {"id" : i.id, "resourcePrimKey" : i.resourcePrimKey, "title" : i.title, "description" : i.description, "image" : imgURL, "detalle" : i.detalle, "url" : i.url, "priority" : i.priority, "tags" : i.tags }> 
233    <#assign articulos = articulos + [linea]> 
234</#list> 
235<#--Hacemos un json array con lo que necesitamos de las categorias--> 
236<#assign categoriesJsonArray = []> 
237<#list categories as cat> 
238    <#assign prioridad = 0> 
239    <#assign readmore = "1"> 
240    <#assign properties = assetCategoryPropertyService.getCategoryProperties(cat.getCategoryId()) /> 
241    <#list properties as prop> 
242        <#if prop.getKey() == "prioridad"> 
243            <#assign prioridad = prop.getValue()> 
244        </#if> 
245        <#if prop.getKey() == "link-leer-mas"> 
246            <#assign readmore = prop.getValue()> 
247        </#if> 
248         
249    </#list> 
250    <#assign linea = {"id" : cat.getCategoryId(), "title" : cat.getTitle(languageId), "priority" : '${prioridad}', "readmore" : '${readmore}' }> 
251    <#assign categoriesJsonArray = categoriesJsonArray + [linea]> 
252</#list> 
253<#--Ordenamos las categorias por su prioridad--> 
254<#assign categories= []> 
255<#list categoriesJsonArray?sort_by("priority")?reverse as i> 
256    <#assign linea = {"id" : i.id, "title" : i.title, "priority" : i.priority, "readmore" : i.readmore}> 
257    <#assign categories = categories + [linea]> 
258</#list> 
259<div class="container"> 
260    <div class="row"> 
261        <div class="col-md-10 col-md-offset-1"> 
262            <div class="noticias-header">  
263                <div class="text-left"><h3>${htmlUtil.extractText(currentArticle.getDescription(locale))}</h3></div> 
264                <div class="text-center">${codigo}</div>  
265                <div class="text-right text-slim">${fecha}</div>  
266            </div> 
267        </div> 
268    </div> 
269</div> 
270<#-- 
271La cabecera de la primera categoría no se imprime. 
272Después de imprimir la cabecera, se imprimen los articulos de dicha categría. 
273Las categorías están ordenadas por prioridad, dejando normalmente la categoría genérica la primera. 
274Los artículos se imprimen por prioridad en su categoría. 
275 --> 
276<#assign firstCategoryPrinted = false /> 
277<div id="articulos"> 
278    <#list categories as currentCategory> 
279        <#assign currentCategoryPrinted = false /> 
280        <#assign firstArticlePrinted = "true" /> 
281        <#list articulos as articulo > 
282            <#assign relatedCategories = assetCategoryService.getCategories("com.liferay.journal.model.JournalArticle", articulo.resourcePrimKey) /> 
283            <#list relatedCategories as relatedCategory> 
284                <#if relatedCategory.getCategoryId() == currentCategory.id > 
285                    <#if currentCategoryPrinted == false && firstCategoryPrinted == true> 
286                        <#assign currentCategoryPrinted = true /> 
287                        <@printCategory categoryTitle=currentCategory.title /> 
288                    </#if> 
289                    <@printArticle article=articulo first=firstArticlePrinted readmore=currentCategory.readmore/>                     
290                    <#assign firstArticlePrinted = "false" /> 
291                </#if> 
292            </#list> 
293        </#list> 
294        <#assign firstCategoryPrinted = true /> 
295    </#list> 
296</div> 

Publicador de contenidos

“Después del MIR me plantearé si me merece la pena trabajar en otro país donde mis capacidades laborales sean más apreciadas”, Julio Marcotegui, graduado en el Hospital Clínico San Carlos

Mutual Médica ha entrevistado a Julio Marcotegui, representante de los estudiantes graduados en Medicina en el Hospital Clínico San Carlos (Universidad Complutense de Madrid), con motivo de la...

Incapacidad Profesional Permanente

¿Y si una enfermedad o accidente le impide seguir ejerciendo su especialidad? Mutual Médica asegura su nuevo futuro. El seguro de Incapacidad Profesional Permanente es un seguro que cubre al...

Médico joven, contigo desde el principio

Con el producto Mutualista Joven podrás entrar a formar parte, totalmente gratis durante el primer año, de Mutual Médica, una mutualidad de previsión social exclusiva para médicos.

Seguro de Ahorro Inversión: ahorrar a corto plazo es posible

Es un seguro de ahorro que garantiza un interés técnico anual y bonifica la permanencia hasta el vencimiento con un sobre tipo de interés.

Editorial: La previsión social, instrumento de sostenibilidad para el médico

Como los demás ciudadanos, las y los médicos viven expuestos a los riesgos biológicos como la enfermedad, la invalidez, la jubilación, la dependencia, la muerte y otros. Son riesgos inherentes a la...

Mutualidad de referencia en previsión social

Durante la Asamblea General 2011 de Mutual Médica, celebrada el pasado 14 de junio en Barcelona, se aprobó la gestión del año 2010, pero también se habló de futuro

Con Mutual Médica se asegura un capital para su jubilación con la máxima desgravación fiscal

A finales de año, como siempre, le ofrecemos la posibilidad de realizar aportaciones únicas para su jubilación y, a pesar del contexto socioeconómico desfavorable, Mutual Médica le garantiza un...

Mutual Médica garantiza tu futuro de jubilación

Mutual Médica se ha consolidado como referente de los médicos en su previsión social. Ahora también de sus familiares y compañeros de profesión, y para hacerlo hemos creado los productos de...

Con Estudios Garantizados los médicos tienen la posibilidad de cubrir el mejor activo de sus hijos: su formación

Mutual Médica trabaja para asegurar la tranquilidad de aquellos que confían en ella en todo momento y entiende que no hay nada más importante para el médico que sus hijos. Por eso, la mutualidad...

El Dr. Javier Ros, oncólogo del Hospital Vall d’Hebrón de Barcelona, gana la Beca Mutual Médica por su investigación sobre el cáncer colorrectal

Este año 236 profesionales médicos han presentado sus candidaturas a los XXXI Premios a la Investigación de Mutual Médica 2021 dotados con 45.000 €

¡Feliz Navidad y próspero 2022!

Mutual Médica te desea Feliz Navidad y próspero 2022 con el dibujo ganador del XVII Concurso de Dibujo Navidad 2021

Descubre los congresos médicos a los que asistir en 2022

Asistir a congresos médicos te puede ayudar a ampliar conocimientos, crear nuevas redes de contactos y entender diferentes posturas acerca de temas de actualidad de la profesión médica

El curso para tutores MIR permite a los profesionales adquirir las competencias docentes necesarias para asumir este rol tan importante para la formación de los especialistas

Este curso cubre una necesidad por parte de los profesionales que asumen el rol de tutor de los MIR, la excelencia en la calidad de los contenidos, la adecuación a la situación y la flexibilidad...

El Dr. Juan Fortea, neurólogo del Hospital de Sant Pau de Barcelona, gana el Premio Dr. Font por su artículo ‘Clinical and biomarker changes of Alzheimer’s disease in adults with Down syndrome: a cross-sectional study’ 

Este año 236 profesionales médicos han presentado sus candidaturas a los XXXI Premios a la Investigación de Mutual Médica 2021 dotados con 45.000 €

La campaña del Seguro de Jubilación Ahorro Fiscal 105 vuelve a ser un éxito

Mutual Médica ofrece a todos los médicos, durante el último trimestre, el Seguro de Jubilación Ahorro Fiscal 105. Un seguro de ahorro para garantizar la jubilación, con un rendimiento...

Estamos a tu lado ante las agresiones en el ejercicio de tu profesión con el curso online "Agresiones a Sanitarios: Fundamentos de prevención, protección y respuesta"

Para apoyar a los médicos ante este tipo de situaciones, Mutual Médica tiene suscritos acuerdos con 29 colegios de médicos para que sus colegiados accedan a un Seguro gratuito de Incapacidad...

Webinars sobre salud financiera para médicos: tu futuro es nuestra prioridad

Como médico tú cuidas de la salud de los demás, pero ¿quién cuida de tu salud financiera? Desde Mutual Médica queremos proteger tu salud financiera, ahora y siempre.

... con el nuevo portal de prestaciones puedes contactar directamente con la persona responsable de tu solicitud para agilizar el proceso? ontacta directamente con la persona responsable de tu solicitud para atender tus dudas o enviar información?

... con el nuevo portal de prestaciones puedes contactar directamente con la persona responsable de tu solicitud para agilizar el proceso? También encontrarás más agilidad para atender tus dudas o...

... Mutual Médica te ofrece una aplicación gratuita con más de 3.000 preguntas oficiales del examen MIR?

... Mutual Médica te ofrece una aplicación gratuita con más de 3.000 preguntas oficiales del examen MIR? MirialApp es una interfaz en la que ya confían más de 18.000 estudiantes de medicina y...

Nuestra razón de ser

Nuestro objetivo, como entidad, es proteger a la profesión médica. Ese es el cometido de una mutualidad de previsión: cuidar el presente y el futuro de los mutualistas. Pero no basta con eso....