Entender + con la ciencia

Las patentes de las vacunas no se suspenderán: ¿y ahora qué?

La Organización Mundial del Comercio niega a los países en desarrollo la suspensión de la propiedad intelectual de los productos farmacéuticos útiles para el covid-19. Los productores mantienen el control de la tecnología para aplicaciones futuras. De momento, no cambia nada en el marco legal que ha generado desigualdad y ganancias desorbitadas. 

Un ciudadano de Nairobi, Kenia, recibe la vacuna de AstraZeneca contra la covid 19

Un ciudadano de Nairobi, Kenia, recibe la vacuna de AstraZeneca contra la covid 19 / REUTERS/Monicah Mwangi

4
Se lee en minutos
Michele Catanzaro
Michele Catanzaro

Periodista

ver +

El primer y tercer producto farmacéutico más vendidos en 2021 fueron las vacunas de Pfizer y Moderna, que les proporcionaron 37.000 millones y 18.000 millones de dólares, respectivamente. Mientras se repartían estos dividendos, el covid mataba el doble en los países pobres que en los ricos. En octubre de 2020, India y Sudáfrica solicitaron que se suspendiera la propiedad intelectual de vacunas, fármacos y test para el covid, para producirlos en masa a bajo coste. 

Casi dos años después, la Organización Mundial del Comercio (OMC) les ha contestado con un no rotundo. El 17 de junio, la organización aprobó una medida que deja prácticamente intacto el marco legal que ha resultado en una desigualdad y unas ganancias descomunales.

¿Cómo nos quedamos antes las próximas olas y pandemias?

“Si surgiera otra emergencia, nos enfrentaremos al mismo tipo de respuesta. Este ejercicio no ha demostrado solidaridad, sino un enorme interés en proteger la industria farmacéutica”, comenta Carlos Correa, director de la ONG Soutch Centre.

“A la opinión pública le ha quedado claro que la industria se ha lucrado y que hay muchas muertes que se podían evitar. Esto se podría usar como escarnio para exigirle algo. Pero desde el punto de vista de la regulación nos quedamos como estábamos”, afirma Guillem López Casanovas, catedrático de economía de la Universitat Pompeu Fabra. 

¿Qué ha decidido la OMC?

La Unión Europea, contraria a la suspensión de patentes, consiguió que la OMC discutiera un borrador que no incluía esa opción, sino tan sólo una modificación de los TRIPS, los acuerdos internacionales que blindan la propiedad intelectual. 

La medida tomada por la OMC es transitoria (5 años) y se aplica exclusivamente a las vacunas y a sus patentes (el secreto industrial sigue protegido). Su aplicación a tratamientos y diagnósticos se decidirá dentro de seis meses. 

La OMC reafirma un mecanismo ya existente: la licencia obligatoria. Por medio de este sistema, una país puede copiar una vacuna bajo patente, si hay una emergencia sanitaria. La organización amplía un poco su alcance: los países que copiaran una vacuna podrían exportarla bajo ciertas condiciones, cosa que normalmente está prohibida. 

“La implementación de la licencia obligatoria es harto difícil: hay que ir país por país y producto por producto”, afirma Vanessa López, directora de la ONG Salud por Derecho. 

“Es una decisión vacía, decepcionante, que llega tarde y no cumple con lo esperado. No creo que conducirá a la manufactura de vacunas”, comenta Ellen ‘t Hoen, abogada y activista experta en patentes.  

¿Quién controla la tecnología?

La mayoría de los expertos coinciden en que la suspensión de patentes no habría sido ninguna panacea de por sí. Tener el permiso para producir no equivale a ser capaces de hacerlo. Para ello, hubiera sido necesario que las empresas inventoras colaboraran activamente en comunicar los conocimientos necesarios al resto de productores.

Esa era la cuestión candente. “Las vacunas de ARN mensajero tienen un largo recorrido más allá del covid: cáncer, diabetes… Los países que se han negado [a la suspensión] son los que tienen una gran industria que quiere controlar la cadena de producción”, afirma Rafael Vilasanjuan, director de análisis del Institut de Salut Global de Barcelona (ISGlobal).

El hecho es que ningún otro mecanismo ha funcionado. La OMS creó el sistema C-TAP: las organizaciones que se adhieren a ello renuncian a cobrar regalías por sus productos. Sin embargo, ningún gran productor de vacunas se ha adherido. 

El pecado original: los contratos

Muchos expertos apuntan a un pecado original: los contratos entre estados y empresas productoras. “Las vacunas de Pfizer y Moderna se han beneficiado de una gran inversión pública, tanto directa como en forma de compras adelantadas. Merkel, Macron y Von der Leyen prometieron que las vacunas serían un bien común. Biden apoyó la suspensión de patentes. Sin embargo, no se incluyó en los contratos que el conocimiento desarrollado con fondos públicos se tenía que compartir con los países en desarrollo”, afirma ‘t Hoen.

“Las empresas recibieron los subsidios y se apropiaron de los beneficios”, dice Correa. “Los estados están en una posición débil para exigir cosas a cambio”, constata López Casanovas.

¿Qué opciones hay para una salida más justa?

Si dentro de seis meses la OMC aplica la medida a test y tratamientos, podría haber algún efecto, ya que estas tecnologías son más fáciles de copiar

Algunos expertos ponen sus esperanzas en el tratado de pandemias que la OMS está preparando, pero activistas como López creen que la decisión de la OMC sienta un mal precedente.

Correa y Vilasanjuan coinciden en pedir que, cuando en un futuro haya financiación pública para investigar vacunas, se contabilice esta contribución y se incluyan cláusulas más justas en los contratos. 

Noticias relacionadas

López Casanovas quisiera ver una refundación de la OMS, junto con una mejor financiación de la organización, para que se convierta en el protector global de la salud, con poder de decisión real delegado por parte de los estados. 

“Tenemos que movilizar capacidades regulatorias para tener productos que responden a necesidades de salud pública en vez que de mercado”, concluye Vilasanjuan.

  • Status 404
  • Error Not Found
  • Exception : org.springframework.beans.TypeMismatchException
  • Trace : org.springframework.beans.TypeMismatchException: Failed to convert value of type [java.lang.String] to required type [long]; nested exception is java.lang.NumberFormatException: For input string: ""
    	at org.springframework.beans.TypeConverterSupport.doConvert(TypeConverterSupport.java:77)
    	at org.springframework.beans.TypeConverterSupport.convertIfNecessary(TypeConverterSupport.java:47)
    	at org.springframework.validation.DataBinder.convertIfNecessary(DataBinder.java:604)
    	at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:104)
    	at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:78)
    	at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:162)
    	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:129)
    	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
    	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:775)
    	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)
    	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
    	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:965)
    	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:856)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
    	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:841)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration$ApplicationContextHeaderFilter.doFilterInternal(EndpointWebMvcAutoConfiguration.java:300)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.ctv.publisher.filter.cache.HtmlCacheFilter.cacheMiss(HtmlCacheFilter.java:179)
    	at com.ctv.publisher.filter.cache.HtmlCacheFilter.doFilterInternal(HtmlCacheFilter.java:113)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.ctv.publisher.filter.StaticResourceURLFilter.doFilter(StaticResourceURLFilter.java:46)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:186)
    	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.ctv.publisher.filter.AcceptHeaderFilter.doFilter(AcceptHeaderFilter.java:47)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.springframework.boot.context.web.ErrorPageFilter.doFilter(ErrorPageFilter.java:117)
    	at org.springframework.boot.context.web.ErrorPageFilter.access$000(ErrorPageFilter.java:61)
    	at org.springframework.boot.context.web.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:92)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.springframework.boot.context.web.ErrorPageFilter.doFilter(ErrorPageFilter.java:110)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.ctv.publisher.filter.SemaphoreFilter.doFilter(SemaphoreFilter.java:51)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.ctv.web.tenancy.TenancyConfigurerFilter.doFilterInternal(TenancyConfigurerFilter.java:117)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.stagemonitor.web.monitor.MonitoredHttpRequest.execute(MonitoredHttpRequest.java:160)
    	at org.stagemonitor.requestmonitor.RequestMonitor.monitor(RequestMonitor.java:179)
    	at org.stagemonitor.web.monitor.filter.HttpRequestMonitorFilter.monitorRequest(HttpRequestMonitorFilter.java:157)
    	at org.stagemonitor.web.monitor.filter.HttpRequestMonitorFilter.doMonitor(HttpRequestMonitorFilter.java:120)
    	at org.stagemonitor.web.monitor.filter.HttpRequestMonitorFilter.doFilterInternal(HttpRequestMonitorFilter.java:98)
    	at org.stagemonitor.web.monitor.filter.AbstractExclusionFilter.doFilter(AbstractExclusionFilter.java:75)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
    	at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:479)
    	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468)
    	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:750)
    Caused by: java.lang.NumberFormatException: For input string: ""
    	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    	at java.lang.Long.parseLong(Long.java:601)
    	at java.lang.Long.valueOf(Long.java:803)
    	at org.springframework.util.NumberUtils.parseNumber(NumberUtils.java:196)
    	at org.springframework.beans.propertyeditors.CustomNumberEditor.setAsText(CustomNumberEditor.java:113)
    	at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:449)
    	at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:422)
    	at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:195)
    	at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:107)
    	at org.springframework.beans.TypeConverterSupport.doConvert(TypeConverterSupport.java:64)
    	... 88 more
    
  • Fields :[timestamp, status, error, exception, message, trace, path, error_fields, error_snippet_style]