Distribución farma
En movimiento
La fabricación de medicamentos en España, un activo estratégico: 174 fábricas en 13 comunidades autónomas
La salud se ha convertido en una prioridad global y los países que apuestan por fomentar esta producción impulsan y adquieren una posición de ventaja respecto a sus competidores.
Medicamentos termolábiles y el rol fundamental del farmacéutico
La conservación adecuada de los medicamentos sensibles al calor o termolábiles es muy importante para no poner en riesgo su eficacia y seguridad. En esta labor los farmacéuticos también son clave, te contamos porqué.
La fabricación de medicamentos en España, un activo estratégico: 174 fábricas en 13 comunidades autónomas
La salud se ha convertido en una prioridad global y los países que apuestan por fomentar esta producción impulsan y adquieren una posición de ventaja respecto a sus competidores.
Medicamentos termolábiles y el rol fundamental del farmacéutico
La conservación adecuada de los medicamentos sensibles al calor o termolábiles es muy importante para no poner en riesgo su eficacia y seguridad. En esta labor los farmacéuticos también son clave, te contamos porqué.
La OMS lidera una iniciativa que impulsa la producción de fármacos en países de medianos y bajos ingresos
La OMS ha puesto en marcha un plan para mejorar la producción de medicamentos en países de ingresos bajos y medianos, un primer paso para fomentar la autonomía sanitaria y reducir la dependencia externa.
Garantía del medicamento: el papel de la sociedad también es importante
Con más de 7.300 millones de códigos generados y un descenso del 20% en alertas desde 2019, España ha demostrado tener buenas herramientas contra los fármacos fraudulentos.
The following has evaluated to null or missing: ==> renderer.getArticle [in template "20097#20123#111551" at line 14, column 59] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- 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 journalArticle = renderer.get... [in template "20097#20123#111551" at line 14, column 33] ----
1<#if entries?has_content>
2 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
3
4 <#assign listaContenidos = [] />
5 <#assign listaRenderersContenidos = [] />
6 <#assign portletDisplay = themeDisplay.getPortletDisplay() />
7 <#assign portletId = portletDisplay.getId() />
8 <#assign templateKey = "110969" />
9
10 <div class="slickCarousel${portletId} CuadriculaWidth carouselCards">
11 <#list entries as curEntry>
12 <#assign renderer = curEntry.getAssetRenderer() />
13 <#assign className = renderer.getClassName() />
14 <#assign journalArticle = renderer.getArticle() />
15 <#assign listaContenidos = listaContenidos + [journalArticle] />
16 <#assign listaRenderersContenidos = listaRenderersContenidos + [renderer] />
17 </#list>
18
19 <#list listaContenidos as contenido>
20 <div class="slick-carousel-item">
21 ${journalArticleLocalService.getArticleContent(contenido, templateKey, "VIEW", locale.toString(), null, themeDisplay)}
22 </div>
23 </#list>
24 </div>
25
26 <script type="text/javascript">
27 $(document).ready(function(){
28 $(".slickCarousel${portletId}").slick({
29 dots: false,
30 infinite: true,
31 speed: 300,
32 slidesToShow: 3,
33 prevArrow: '<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button"><svg width="18" height="33" viewBox="0 0 18 33" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.3058 30.5373C16.7469 31.0237 16.7027 31.7689 16.2071 32.2017C15.7665 32.5865 15.1176 32.595 14.669 32.2505L14.511 32.1049L1.30393 17.5431C0.953945 17.1573 0.905707 16.6011 1.16181 16.1682L1.29022 15.991L14.4973 0.910537C14.9297 0.416751 15.6882 0.360467 16.1914 0.784824C16.6387 1.16203 16.7337 1.79203 16.4456 2.27418L16.3195 2.44727L3.79855 16.745L16.3058 30.5373Z" fill="#183657" stroke="#183657"/></svg></button>',
34 nextArrow: '<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button"><svg width="16" height="33" viewBox="0 0 16 33" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.8499 16.0019C15.1587 16.3905 15.1933 16.9358 14.9558 17.3592L14.8373 17.5324L2.85008 32.0941C2.44541 32.5857 1.73961 32.6381 1.27364 32.2112C0.859439 31.8317 0.774151 31.2012 1.04453 30.7206L1.16264 30.5481L12.5252 16.745L1.1501 2.4364C0.797606 1.99294 0.807338 1.35616 1.14598 0.926309L1.28833 0.775596C1.70868 0.403731 2.3123 0.413998 2.71976 0.771254L2.86262 0.921421L14.8499 16.0019Z" fill="#183657" stroke="#183657"/></svg></button>',
35
36 responsive: [
37 {
38 breakpoint: 600,
39 settings: {
40 slidesToShow: 2,
41 slidesToScroll: 1,
42 arrows: false,
43 dots: true,
44 }
45 },
46 {
47 breakpoint: 480,
48 settings: {
49 slidesToShow: 1,
50 slidesToScroll: 1,
51 arrows: false,
52 dots: true,
53 }
54 }
55 ]
56 });
57 });
58 </script>
59 </#if>
The following has evaluated to null or missing: ==> renderer.getArticle [in template "20097#20123#111551" at line 14, column 59] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- 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 journalArticle = renderer.get... [in template "20097#20123#111551" at line 14, column 33] ----
1<#if entries?has_content>
2 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
3
4 <#assign listaContenidos = [] />
5 <#assign listaRenderersContenidos = [] />
6 <#assign portletDisplay = themeDisplay.getPortletDisplay() />
7 <#assign portletId = portletDisplay.getId() />
8 <#assign templateKey = "110969" />
9
10 <div class="slickCarousel${portletId} CuadriculaWidth carouselCards">
11 <#list entries as curEntry>
12 <#assign renderer = curEntry.getAssetRenderer() />
13 <#assign className = renderer.getClassName() />
14 <#assign journalArticle = renderer.getArticle() />
15 <#assign listaContenidos = listaContenidos + [journalArticle] />
16 <#assign listaRenderersContenidos = listaRenderersContenidos + [renderer] />
17 </#list>
18
19 <#list listaContenidos as contenido>
20 <div class="slick-carousel-item">
21 ${journalArticleLocalService.getArticleContent(contenido, templateKey, "VIEW", locale.toString(), null, themeDisplay)}
22 </div>
23 </#list>
24 </div>
25
26 <script type="text/javascript">
27 $(document).ready(function(){
28 $(".slickCarousel${portletId}").slick({
29 dots: false,
30 infinite: true,
31 speed: 300,
32 slidesToShow: 3,
33 prevArrow: '<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button"><svg width="18" height="33" viewBox="0 0 18 33" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.3058 30.5373C16.7469 31.0237 16.7027 31.7689 16.2071 32.2017C15.7665 32.5865 15.1176 32.595 14.669 32.2505L14.511 32.1049L1.30393 17.5431C0.953945 17.1573 0.905707 16.6011 1.16181 16.1682L1.29022 15.991L14.4973 0.910537C14.9297 0.416751 15.6882 0.360467 16.1914 0.784824C16.6387 1.16203 16.7337 1.79203 16.4456 2.27418L16.3195 2.44727L3.79855 16.745L16.3058 30.5373Z" fill="#183657" stroke="#183657"/></svg></button>',
34 nextArrow: '<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button"><svg width="16" height="33" viewBox="0 0 16 33" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.8499 16.0019C15.1587 16.3905 15.1933 16.9358 14.9558 17.3592L14.8373 17.5324L2.85008 32.0941C2.44541 32.5857 1.73961 32.6381 1.27364 32.2112C0.859439 31.8317 0.774151 31.2012 1.04453 30.7206L1.16264 30.5481L12.5252 16.745L1.1501 2.4364C0.797606 1.99294 0.807338 1.35616 1.14598 0.926309L1.28833 0.775596C1.70868 0.403731 2.3123 0.413998 2.71976 0.771254L2.86262 0.921421L14.8499 16.0019Z" fill="#183657" stroke="#183657"/></svg></button>',
35
36 responsive: [
37 {
38 breakpoint: 600,
39 settings: {
40 slidesToShow: 2,
41 slidesToScroll: 1,
42 arrows: false,
43 dots: true,
44 }
45 },
46 {
47 breakpoint: 480,
48 settings: {
49 slidesToShow: 1,
50 slidesToScroll: 1,
51 arrows: false,
52 dots: true,
53 }
54 }
55 ]
56 });
57 });
58 </script>
59 </#if>
The following has evaluated to null or missing: ==> renderer.getArticle [in template "20097#20123#111551" at line 14, column 59] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- 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 journalArticle = renderer.get... [in template "20097#20123#111551" at line 14, column 33] ----
1<#if entries?has_content>
2 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
3
4 <#assign listaContenidos = [] />
5 <#assign listaRenderersContenidos = [] />
6 <#assign portletDisplay = themeDisplay.getPortletDisplay() />
7 <#assign portletId = portletDisplay.getId() />
8 <#assign templateKey = "110969" />
9
10 <div class="slickCarousel${portletId} CuadriculaWidth carouselCards">
11 <#list entries as curEntry>
12 <#assign renderer = curEntry.getAssetRenderer() />
13 <#assign className = renderer.getClassName() />
14 <#assign journalArticle = renderer.getArticle() />
15 <#assign listaContenidos = listaContenidos + [journalArticle] />
16 <#assign listaRenderersContenidos = listaRenderersContenidos + [renderer] />
17 </#list>
18
19 <#list listaContenidos as contenido>
20 <div class="slick-carousel-item">
21 ${journalArticleLocalService.getArticleContent(contenido, templateKey, "VIEW", locale.toString(), null, themeDisplay)}
22 </div>
23 </#list>
24 </div>
25
26 <script type="text/javascript">
27 $(document).ready(function(){
28 $(".slickCarousel${portletId}").slick({
29 dots: false,
30 infinite: true,
31 speed: 300,
32 slidesToShow: 3,
33 prevArrow: '<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button"><svg width="18" height="33" viewBox="0 0 18 33" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.3058 30.5373C16.7469 31.0237 16.7027 31.7689 16.2071 32.2017C15.7665 32.5865 15.1176 32.595 14.669 32.2505L14.511 32.1049L1.30393 17.5431C0.953945 17.1573 0.905707 16.6011 1.16181 16.1682L1.29022 15.991L14.4973 0.910537C14.9297 0.416751 15.6882 0.360467 16.1914 0.784824C16.6387 1.16203 16.7337 1.79203 16.4456 2.27418L16.3195 2.44727L3.79855 16.745L16.3058 30.5373Z" fill="#183657" stroke="#183657"/></svg></button>',
34 nextArrow: '<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button"><svg width="16" height="33" viewBox="0 0 16 33" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.8499 16.0019C15.1587 16.3905 15.1933 16.9358 14.9558 17.3592L14.8373 17.5324L2.85008 32.0941C2.44541 32.5857 1.73961 32.6381 1.27364 32.2112C0.859439 31.8317 0.774151 31.2012 1.04453 30.7206L1.16264 30.5481L12.5252 16.745L1.1501 2.4364C0.797606 1.99294 0.807338 1.35616 1.14598 0.926309L1.28833 0.775596C1.70868 0.403731 2.3123 0.413998 2.71976 0.771254L2.86262 0.921421L14.8499 16.0019Z" fill="#183657" stroke="#183657"/></svg></button>',
35
36 responsive: [
37 {
38 breakpoint: 600,
39 settings: {
40 slidesToShow: 2,
41 slidesToScroll: 1,
42 arrows: false,
43 dots: true,
44 }
45 },
46 {
47 breakpoint: 480,
48 settings: {
49 slidesToShow: 1,
50 slidesToScroll: 1,
51 arrows: false,
52 dots: true,
53 }
54 }
55 ]
56 });
57 });
58 </script>
59 </#if>
The following has evaluated to null or missing: ==> renderer.getArticle [in template "20097#20123#111551" at line 14, column 59] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- 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 journalArticle = renderer.get... [in template "20097#20123#111551" at line 14, column 33] ----
1<#if entries?has_content>
2 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
3
4 <#assign listaContenidos = [] />
5 <#assign listaRenderersContenidos = [] />
6 <#assign portletDisplay = themeDisplay.getPortletDisplay() />
7 <#assign portletId = portletDisplay.getId() />
8 <#assign templateKey = "110969" />
9
10 <div class="slickCarousel${portletId} CuadriculaWidth carouselCards">
11 <#list entries as curEntry>
12 <#assign renderer = curEntry.getAssetRenderer() />
13 <#assign className = renderer.getClassName() />
14 <#assign journalArticle = renderer.getArticle() />
15 <#assign listaContenidos = listaContenidos + [journalArticle] />
16 <#assign listaRenderersContenidos = listaRenderersContenidos + [renderer] />
17 </#list>
18
19 <#list listaContenidos as contenido>
20 <div class="slick-carousel-item">
21 ${journalArticleLocalService.getArticleContent(contenido, templateKey, "VIEW", locale.toString(), null, themeDisplay)}
22 </div>
23 </#list>
24 </div>
25
26 <script type="text/javascript">
27 $(document).ready(function(){
28 $(".slickCarousel${portletId}").slick({
29 dots: false,
30 infinite: true,
31 speed: 300,
32 slidesToShow: 3,
33 prevArrow: '<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button"><svg width="18" height="33" viewBox="0 0 18 33" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.3058 30.5373C16.7469 31.0237 16.7027 31.7689 16.2071 32.2017C15.7665 32.5865 15.1176 32.595 14.669 32.2505L14.511 32.1049L1.30393 17.5431C0.953945 17.1573 0.905707 16.6011 1.16181 16.1682L1.29022 15.991L14.4973 0.910537C14.9297 0.416751 15.6882 0.360467 16.1914 0.784824C16.6387 1.16203 16.7337 1.79203 16.4456 2.27418L16.3195 2.44727L3.79855 16.745L16.3058 30.5373Z" fill="#183657" stroke="#183657"/></svg></button>',
34 nextArrow: '<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button"><svg width="16" height="33" viewBox="0 0 16 33" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.8499 16.0019C15.1587 16.3905 15.1933 16.9358 14.9558 17.3592L14.8373 17.5324L2.85008 32.0941C2.44541 32.5857 1.73961 32.6381 1.27364 32.2112C0.859439 31.8317 0.774151 31.2012 1.04453 30.7206L1.16264 30.5481L12.5252 16.745L1.1501 2.4364C0.797606 1.99294 0.807338 1.35616 1.14598 0.926309L1.28833 0.775596C1.70868 0.403731 2.3123 0.413998 2.71976 0.771254L2.86262 0.921421L14.8499 16.0019Z" fill="#183657" stroke="#183657"/></svg></button>',
35
36 responsive: [
37 {
38 breakpoint: 600,
39 settings: {
40 slidesToShow: 2,
41 slidesToScroll: 1,
42 arrows: false,
43 dots: true,
44 }
45 },
46 {
47 breakpoint: 480,
48 settings: {
49 slidesToShow: 1,
50 slidesToScroll: 1,
51 arrows: false,
52 dots: true,
53 }
54 }
55 ]
56 });
57 });
58 </script>
59 </#if>
Realice una búsqueda para mostrar un listado de resultados.