Repastero / GeoCOVID-19

Modelo basado en agentes realizado en Repast Simphony
0 stars 0 forks source link

Implementación de vacuna #42

Closed Pierino91 closed 3 years ago

Pierino91 commented 3 years ago

Is your feature request related to a problem? Please describe. A partir del 29 de dic 2020 hasta la fecha se ha empezado a implementar la vacuna Sputnik V la aplicación se realiza de forma escalonada, empezando por el personal de salud y terminando en otras poblaciones estratégicas definidas por las jurisdicciones y disponibilidad de dosis

Describe the solution you'd like Implementar un nuevo atributo que nos avlare si el agente es Personal de salud, Adulto de 70 años y más, etc. además deberiamos implementar los mismos compartimentos (susceptibles ,sintomaticos, asintomáticos, etc) pero con la diferencia de ser personas tratadas/vacunadas, las cuales poseerian características infectivas y sintomáticas más leves, lo cual reflejaria más realismo.

Describe alternatives you've considered Podriamos simplemente de forma lineal realizar pasaje de agentes de susceptibles a recuperados, de forma escalonada dependiendo el estracto social al cuial pertenece.

Additional context Datos de relevancia: -> La vacunación comenzó 29 de dic de 2020. -> La aplicación con lleva una velocidad de 5 personas/hs -> La estractificación de la aplicación de la vacuna es la siguiente

  1. Personal de salud
  2. Adultos de 70 años y más
  3. Adultos entre 60 y 69 años.
  4. Fuerzas Armadas, de seguridad y Personal penitenciario.
  5. Adultos 18 a 59 años de grupos de riesgos.
  6. Personal docente y no docente.
  7. otras poblaciones estratégicas definidas según la juridiccion

->Se poseen 7900 dosis para toda la provincia, lo que aproximadamente se estimó que se repartieron 1500-1600 dosis en la localidad de Paraná ->A la fecha 14 de ene de 2021, se han aplicado en la provincia 4643 dosis, se estima que 925 dosis han sido aplicadas en Paraná. -> Según la bibliografía se estima que va a haber una tasa de pérdida del 15% de dosis, debido a diferentes. -> En Paraná existen 2 vacunatorios principales, el Hospital San Martín y el San Roque

https://docs.google.com/document/d/1juvBPX0bXCMB3fUGel4RCDtgA0WYSKwmDjs_QN_rnGU/edit?usp=sharing

Pierino91 commented 3 years ago

La idea es que los dias 29 de dic, el 5 , 12, 19, de enero se apliquen dosis a un porcentaje de la población d eun grupo etario dado, luego se actualizará cuando se tenga la información a estracto social, donde se simulará al personal de salud, fuerzas armadas, y demás grupos de prioridad para la vacunación.

private void scheduleForcedVaccination (int doses, int[] ageGroupPerc )

La función administra dosis a un porcentaje especifico de un grupo etario,

Pierino91 commented 3 years ago

Propuesta de programación

La implementación del método de vacunación consistiría en aplicar una dosis (la segunda como parte de que la persona se inmunice) a partir de los datos recopilados se realizan las siguientes funciones.

  1. En determinados tiempos se vacuna a un porcentaje de la población. Hablar al respecto de esto, si existe mucha diferencia en vacunar personas cada una semana o vacunar personas todos los dias.
  2. Las vacunaciones van a tener un porcentaje de 15% de fallar en la inmunización.
  3. Las primeras dosis en Paraná van a ser un total de 1500 vacunas ya que en la provincia llegaron 7900 dosis. Este número se calculó en proporción de la cantidad de personas total de la provincia ya que en la bibliografía encontrada no especifica el número de dosis para la ciudad en cuestión.
  4. La vacunación de distintos grupo prioritarios se van a calcular a partir de los porcentajes de personas que hay por ejemplo en el personal de salud, en las fuerzas armadas etc. (averiguar sobre esto) y a partir de esto calcular el porcentaje que representan del total de la población de Paraná.
  5. Cuando la persona se vacuna la inmunización es por tiempo indefinido.
  6. La inmunización se concede luego de 21 días de la aplicación.
Pierino91 commented 3 years ago

Tira error en el tick 2463

ene. 28, 2021 3:41:45 P. M. gov.nasa.worldwind.util.SessionCacheRetrievalPostProcessor run GRAVE: Retrieval returned no content for https://worldwind20.arc.nasa.gov/mapcache?EXCEPTIONS=application/vnd.ogc.se_xml&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0 ene. 28, 2021 3:41:50 P. M. gov.nasa.worldwind.util.SessionCacheRetrievalPostProcessor run GRAVE: Retrieval failed for https://worldwind26.arc.nasa.gov/elev?EXCEPTIONS=application/vnd.ogc.se_xml&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0 ene. 28, 2021 3:41:50 P. M. gov.nasa.worldwind.util.SessionCacheUtils retrieveSessionData GRAVE: Exception while retrieving resources for https://worldwind26.arc.nasa.gov/elev?EXCEPTIONS=application/vnd.ogc.se_xml&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0 java.net.SocketTimeoutException: connect timed out at java.base/java.net.PlainSocketImpl.waitForConnect(Native Method) at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:107) at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399) at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242) at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224) at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403) at java.base/java.net.Socket.connect(Socket.java:591) at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:285) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569) at java.base/sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:265) at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:372) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515) at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:334) at gov.nasa.worldwind.retrieve.HTTPRetriever.doRead(HTTPRetriever.java:48) at gov.nasa.worldwind.retrieve.URLRetriever.read(URLRetriever.java:368) at gov.nasa.worldwind.retrieve.URLRetriever.call(URLRetriever.java:244) at gov.nasa.worldwind.retrieve.URLRetriever.call(URLRetriever.java:27) at gov.nasa.worldwind.util.SessionCacheUtils.retrieveSessionData(SessionCacheUtils.java:80) at gov.nasa.worldwind.util.SessionCacheUtils.getOrRetrieveSessionCapabilities(SessionCacheUtils.java:170) at gov.nasa.worldwind.terrain.BasicElevationModel.retrieveResources(BasicElevationModel.java:2028) at gov.nasa.worldwind.terrain.BasicElevationModel$3.run(BasicElevationModel.java:2118) at java.base/java.lang.Thread.run(Thread.java:834)

ene. 28, 2021 3:41:51 P. M. gov.nasa.worldwind.util.SessionCacheRetrievalPostProcessor run GRAVE: Retrieval failed for https://worldwind26.arc.nasa.gov/elev?EXCEPTIONS=application/vnd.ogc.se_xml&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0 ene. 28, 2021 3:41:51 P. M. gov.nasa.worldwind.util.SessionCacheUtils retrieveSessionData GRAVE: Exception while retrieving resources for https://worldwind26.arc.nasa.gov/elev?EXCEPTIONS=application/vnd.ogc.se_xml&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0 java.net.SocketTimeoutException: connect timed out at java.base/java.net.PlainSocketImpl.waitForConnect(Native Method) at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:107) at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399) at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242) at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224) at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403) at java.base/java.net.Socket.connect(Socket.java:591) at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:285) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569) at java.base/sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:265) at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:372) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515) at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:334) at gov.nasa.worldwind.retrieve.HTTPRetriever.doRead(HTTPRetriever.java:48) at gov.nasa.worldwind.retrieve.URLRetriever.read(URLRetriever.java:368) at gov.nasa.worldwind.retrieve.URLRetriever.call(URLRetriever.java:244) at gov.nasa.worldwind.retrieve.URLRetriever.call(URLRetriever.java:27) at gov.nasa.worldwind.util.SessionCacheUtils.retrieveSessionData(SessionCacheUtils.java:80) at gov.nasa.worldwind.util.SessionCacheUtils.getOrRetrieveSessionCapabilities(SessionCacheUtils.java:170) at gov.nasa.worldwind.terrain.BasicElevationModel.retrieveResources(BasicElevationModel.java:2028) at gov.nasa.worldwind.terrain.BasicElevationModel$3.run(BasicElevationModel.java:2118) at java.base/java.lang.Thread.run(Thread.java:834)

ene. 28, 2021 3:41:51 P. M. gov.nasa.worldwind.util.SessionCacheRetrievalPostProcessor run GRAVE: Retrieval failed for https://worldwind26.arc.nasa.gov/elev?EXCEPTIONS=application/vnd.ogc.se_xml&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0 ene. 28, 2021 3:41:51 P. M. gov.nasa.worldwind.util.SessionCacheUtils retrieveSessionData GRAVE: Exception while retrieving resources for https://worldwind26.arc.nasa.gov/elev?EXCEPTIONS=application/vnd.ogc.se_xml&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0 java.net.SocketTimeoutException: connect timed out at java.base/java.net.PlainSocketImpl.waitForConnect(Native Method) at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:107) at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399) at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242) at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224) at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403) at java.base/java.net.Socket.connect(Socket.java:591) at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:285) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569) at java.base/sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:265) at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:372) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515) at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:334) at gov.nasa.worldwind.retrieve.HTTPRetriever.doRead(HTTPRetriever.java:48) at gov.nasa.worldwind.retrieve.URLRetriever.read(URLRetriever.java:368) at gov.nasa.worldwind.retrieve.URLRetriever.call(URLRetriever.java:244) at gov.nasa.worldwind.retrieve.URLRetriever.call(URLRetriever.java:27) at gov.nasa.worldwind.util.SessionCacheUtils.retrieveSessionData(SessionCacheUtils.java:80) at gov.nasa.worldwind.util.SessionCacheUtils.getOrRetrieveSessionCapabilities(SessionCacheUtils.java:170) at gov.nasa.worldwind.terrain.BasicElevationModel.retrieveResources(BasicElevationModel.java:2028) at gov.nasa.worldwind.terrain.BasicElevationModel$3.run(BasicElevationModel.java:2118) at java.base/java.lang.Thread.run(Thread.java:834)

¿Saben a que se puede deber?

Pierino91 commented 3 years ago

Para mi ya estaría faltaria el okey de Carlos. Pero bueno la implementación esta hecha

Pierino91 commented 3 years ago

Me estaria tirando este error:

ERROR [AWT-EventQueue-0] 13:01:21,095 repast.simphony.ui.RSApplication - Error while initializing simulation java.lang.NullPointerException at geocovid.ContextCreator.loadFeaturesFromShapefile(ContextCreator.java:864) at geocovid.ContextCreator.loadParcelsShapefile(ContextCreator.java:672) at geocovid.ContextCreator.build(ContextCreator.java:138) at repast.simphony.dataLoader.engine.ClassNameContextBuilder.build(ClassNameContextBuilder.java:41) at repast.simphony.dataLoader.engine.DataLoaderControllerAction.runInitialize(DataLoaderControllerAction.java:48) at repast.simphony.engine.controller.DefaultController$2.visit(DefaultController.java:214) at repast.simphony.engine.controller.DefaultController$2.visit(DefaultController.java:1) at repast.simphony.util.collections.NaryTree.preOrderTraverals(NaryTree.java:292) at repast.simphony.util.collections.NaryTree.preOrderTraverals(NaryTree.java:295) at repast.simphony.util.collections.NaryTree.preOrderTraverals(NaryTree.java:295) at repast.simphony.util.collections.NaryTree.preOrderTraversal(NaryTree.java:288) at repast.simphony.engine.controller.DefaultController.runInitialize(DefaultController.java:212) at repast.simphony.engine.controller.DefaultController.runInitialize(DefaultController.java:383) at repast.simphony.ui.RSApplication.initSim(RSApplication.java:157) at repast.simphony.ui.RSApplication.start(RSApplication.java:189) at repast.simphony.ui.action.StartRun.actionPerformed(StartRun.java:17) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342) at java.desktop/java.awt.Component.processEvent(Component.java:6397) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) FATAL [Thread-1] 13:01:21,105 repast.simphony.ui.GUIScheduleRunner - RunTimeException when running the schedule Current tick (0.0) java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at repast.simphony.engine.schedule.CallBackAction.execute(CallBackAction.java:129) at repast.simphony.engine.schedule.DefaultAction.execute(DefaultAction.java:38) at repast.simphony.engine.schedule.ScheduleGroup.executeList(ScheduleGroup.java:205) at repast.simphony.engine.schedule.ScheduleGroup.execute(ScheduleGroup.java:231) at repast.simphony.engine.schedule.Schedule.execute(Schedule.java:352) at repast.simphony.ui.GUIScheduleRunner$ScheduleLoopRunnable.run(GUIScheduleRunner.java:52) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.reflect.InvocationTargetException at geocovid.ContextCreator$$FastClassByCGLIB$$f840cd57.invoke() at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) at repast.simphony.engine.schedule.CallBackAction.execute(CallBackAction.java:127) ... 6 more Caused by: java.lang.NullPointerException at geocovid.ContextCreator.infectLocalRandos(ContextCreator.java:213) ... 9 more

Pierino91 commented 3 years ago

Implementado