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.


Leer más

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

... Mutual Médica ya tiene perfil en Instagram?

... Mutual Médica ya tiene perfil en Instagram? Mutual Médica estrena perfil de Instagram para estar a tu lado desde esta popular plataforma. Desde ahí compartiremos novedades, informaciones...

¿Te has preguntado para qué necesitas un plan de pensiones?

La mayoría de los médicos que contratan un plan de pensiones no lo hacen pensando en su futuro, sino en la inmediatez de los beneficios fiscales

Entrevistamos al Dr. Carles Subirà Cuyàs, ganador del Premio Doctor Font 2020

"Me gustaría que el futuro de la Medicina fuera más humano, y creo que en los últimos años se están haciendo grandes progresos en ese sentido", explica el doctor Subirà 

¿Sabías que las mujeres no accedieron a la carrera de Medicina hasta finales del s. XIX?

En un vídeo de menos de un minuto repasamos cómo se abrieron camino en el mundo de la Medicina las mujeres. En Mutual Médica queremos apoyar y dar visibilidad a las médicas que conforman la...

Abrimos nueva oficina en Alicante

Mutual Médica abre una nueva oficina en el Colegio de Médicos de Alicante para poder atenderte de manera más personalizada 

Mutual Médica es una mutualidad de previsión social y se rige por un modelo de economía colaborativa, ¿sabes en qué consiste?

Las mutualidades de previsión social son entidades sin ánimo de lucro basadas en los principios de colaboración y solidaridad

Entrevistamos al Dr. Aleix Olivella San Emeterio, ganador de la Beca Mutual Médica 2020

"La Beca Mutual Médica supone un empuje imprescindible en la financiación y desarrollo del proyecto que hemos diseñado y que ya se encuentra en marcha", afirma el Dr. Olivella

Jornadas de Orientación Profesional Post-Mir

Mutual Médica colabora con las Jornadas de Orientación Profesional Post-Mir en más de 20 hospitales para que todos los médicos estén informados sobre como iniciar la actividad privada

Más de 11.000 médicos se han beneficiado de las ayudas

Mutual Médica reinvierte 2.000.000 € en ayudas para paliar la crisis de la COVID-19 que también ha azotado al colectivo médico 

Mutual Médica estrena perfil de Instagram

Ahora, además de poder informarte a través de Twitter, Linkedin y nuestra página web, también podrás hacerlo a través de nuestro perfil de Instagram 

... Mutual Médica y INESE han publicado una revista con contenidos especiales para ti?

... Mutual Médica y INESE han publicado una revista con contenidos especiales para ti? En esta publicación especial encontrarás entrevistas, estudios, infografías y muchas más informaciones que,...

¿Cómo va a afectarte como médico la Ley de Presupuestos Generales 2021?

La Ley de Presupuestos Generales de 2021 incluye modificaciones relevantes en el IRPF para los denominados "sistemas de previsión social", entre los que se encuentran los seguros de Mutual Médica

Cumplimos 100 años con la mirada puesta en los 100 que vendrán

La entidad sigue con una prioridad clara: el médico joven. Te acompañamos desde los actos de graduación hasta que inicias tus primeros pasos como médico. ¡Te lo explicamos en este vídeo en menos de...

¿Destinarías lo que te cuesta un café al día en ahorrar para cuando más lo necesitas?

En un minuto te explicamos por qué es tan importante empezar a ahorrar cuanto antes para tu jubilación. ¡Te lo contamos en un vídeo de un minuto!

Mutual Médica lleva a cabo cambios organizativos orientados a optimizar la experiencia del médico con su mutualidad

La mutualidad de los médicos está inmersa en el Plan de Transformación de la entidad, que prioriza la creación de nuevos canales de comunicación con el médico y el rediseño de los procesos clave de...

¿Han tenido los médicos de España siempre las mismas oportunidades de crecer en el ámbito privado?

A mediados de los noventa surgió la siguiente pregunta: "si los médicos de España comparten una misma red sanitaria, ¿por qué no van a compartir las mismas oportunidades?" y así fue como desde...

“Te invitamos a acercarte a la mutualidad de los médicos y a colaborar en los órganos de gobierno", Dr. Javier Mareque Bueno, consejero de Mutual Médica

Entrevistamos al Dr. Javier Mareque Bueno, nombrado recientemente contador del Consejo de Administración de Mutual Médica.

¿Cómo puede afectar la propuesta de cambios en el IRPF a los seguros de Mutual Médica? Te lo contamos a continuación

Están en trámite de aprobación cambios importantes en el IRPF que afectan a la desgravación fiscal de los planes de pensiones y seguros de previsión social: la Ley de Presupuestos del Estado prevé...

... hemos adaptado completamente nuestros horarios a la nueva normalidad?

Nuestra prioridad es seguir ofreciendo un servicio completo de atención al mutualista y, por esta razón, nos hemos adaptado a la nueva normalidad con unos horarios que permiten combinar la...

Mutual Médica y la OMC editan un nuevo libro MIR sobre la Responsabilidad de los residentes de Ciencias de la Salud, tutores y especialistas

Ahora ya puedes descargarte en pdf esta nueva edición del libro MIR, una obra indispensable para conocer toda la información jurídica que cualquier médico necesita para su ejercicio profesional