diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml deleted file mode 100644 index 936dc2f..0000000 --- a/.github/workflows/lint.yaml +++ /dev/null @@ -1,35 +0,0 @@ ---- -# This workflow will lint all YAML and Docker files -name: Global File Linting -# yamllint disable-line rule:truthy -on: - workflow_call: - push: - paths: - - '**.yaml' - - '**.yml' - - '**/Dockerfile*' - branches: ['main'] - pull_request: - paths: - - '**.yaml' - - '**.yml' - - '**/Dockerfile*' - branches: ['main'] - -concurrency: - group: ${{ github.workflow }}-${{ github.ref || github.run_id }} - cancel-in-progress: true - -jobs: - lintYaml: - name: Lint YAML Files - uses: darpa-askem/.github/.github/workflows/lint-yaml.yaml@main - with: - strict: false - - lintDocker: - name: Lint Docker Files - uses: darpa-askem/.github/.github/workflows/lint-docker.yaml@main - with: - failure-threshold: 'error' diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8852315..0b156ad 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,7 +4,3 @@ repos: rev: v4.4.0 hooks: - id: check-yaml - - repo: https://github.com/psf/black - rev: 23.1.0 - hooks: - - id: black diff --git a/Makefile b/Makefile index 865f030..d08be92 100644 --- a/Makefile +++ b/Makefile @@ -9,6 +9,7 @@ export LANG .PHONY:init init:.env poetry install --with api + poetry run pre-commit install git submodule update --init; # Environment file copy diff --git a/README.md b/README.md index 3f0ecb3..5a7a480 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# Terarium TA1 Middleware Service +# Terarium Knowledge Middleware -[![codecov](https://codecov.io/github/DARPA-ASKEM/TA1-Service/branch/main/graph/badge.svg?token=XEARJHESHY)](https://codecov.io/github/DARPA-ASKEM/TA1-Service) +[![codecov](https://codecov.io/github/DARPA-ASKEM/knowledge-middleware/branch/main/graph/badge.svg?token=XEARJHESHY)](https://codecov.io/github/DARPA-ASKEM/knowledge-middleware) -The TA1 Middleware Service is designed to provide an intermediate job queue for management of long running TA1 extraction and profiling tasks. It enables the Terarium HMI to request TA1 tasks to be performed asynchronously, with robust error handling, and with customized ETL of TA1 responses into Terarium specific schemas and specifications. It currently supports the following functions: +The Knowledge Middleware is designed to provide an intermediate job queue for management of long-running extraction and profiling tasks. It enables the Terarium HMI to request large knowledge discovery and curation tasks to be performed asynchronously, with robust error handling, and with customized ETL of backend service responses into Terarium specific schemas and specifications. It currently supports the following functions: 1. Equation to AMR: both LaTeX and MathML 2. Code to AMR: code snippets only @@ -44,8 +44,11 @@ pytest --cov . tests ### Testing Configuration -To modify your test configuration, edit the `tests/conftest.py` file. In particular note that setting `LIVE` to `TRUE` and adding the correct endpoints for TA1 will send real payloads to TA1 services and validate the results. +Set environment variable `MOCK_TA1` to `False` and adding the correct endpoints for TA1 will send real payloads to TA1 services and validate the results. + +To add additional scenarios, create a new directory in `tests/scenarios`. The directory must contain a `config.yaml` where each tests you wish to be run +will be specified in `enabled`. ## License -[Apache License 2.0](LICENSE) \ No newline at end of file +[Apache License 2.0](LICENSE) diff --git a/api/Dockerfile b/api/Dockerfile index 0ecf4de..4984124 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -15,10 +15,10 @@ RUN pip install --no-cache-dir poetry==1.5.1 RUN poetry config virtualenvs.create false && \ poetry install --no-root --no-cache --with api -COPY api ta1-service/api -COPY lib ta1-service/lib -WORKDIR /ta1-service +COPY api knowledge-middleware/api +COPY lib knowledge-middleware/lib +WORKDIR /knowledge-middleware EXPOSE 8000 -ENV PYTHONPATH=/ta1-service +ENV PYTHONPATH=/knowledge-middleware CMD [ "uvicorn", "api.server:app", "--reload", "--host", "0.0.0.0", "--port", "8000" ] diff --git a/api/server.py b/api/server.py index 622398e..760d10b 100644 --- a/api/server.py +++ b/api/server.py @@ -21,8 +21,8 @@ def build_api(*args) -> FastAPI: api = FastAPI( - title="Terarium TA1 Middleware Service", - description="Middleware for managing interactions with various TA1 services.", + title="Terarium Knowledge Middleware Service", + description="Middleware for managing interactions with various services.", docs_url="/", ) origins = [ @@ -98,21 +98,21 @@ def equations_to_amr( @app.post("/code_to_amr") def code_to_amr( - artifact_id: str, name: Optional[str] = None, description: Optional[str] = None, redis=Depends(get_redis) + code_id: str, name: Optional[str] = None, description: Optional[str] = None, redis=Depends(get_redis) ) -> ExtractionJob: """ - Converts a code artifact to an AMR. Assumes that the code file is the first - file (and only) attached to the artifact. + Converts a code object to an AMR. Assumes that the code file is the first + file (and only) attached to the code. Args: ``` - artifact_id (str): the id of the code artifact + code_id (str): the id of the code name (str, optional): the name to set on the newly created model description (str, optional): the description to set on the newly created model ``` """ operation_name = "operations.code_to_amr" - options = {"artifact_id": artifact_id, "name": name, "description": description} + options = {"code_id": code_id, "name": name, "description": description} resp = create_job(operation_name=operation_name, options=options, redis=redis) diff --git a/api/utils.py b/api/utils.py index 522360a..d404497 100644 --- a/api/utils.py +++ b/api/utils.py @@ -28,7 +28,7 @@ # REDIS CONNECTION AND QUEUE OBJECTS def get_redis(): - redis = Redis( + return Redis( settings.REDIS_HOST, settings.REDIS_PORT, ) diff --git a/docker-bake.hcl b/docker-bake.hcl index 3240550..f702e4f 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -28,11 +28,11 @@ function "check_suffix" { # ---------------------------------------------------------------------------------------------------------------------- group "prod" { - targets = ["ta1-service-api", "ta1-service-worker"] + targets = ["knowledge-middleware-api", "knowledge-middleware-worker"] } group "default" { - targets = ["ta1-service-api-base", "ta1-service-worker-base"] + targets = ["knowledge-middleware-api-base", "knowledge-middleware-worker-base"] } # ---------------------------------------------------------------------------------------------------------------------- @@ -41,22 +41,22 @@ target "_platforms" { platforms = ["linux/amd64", "linux/arm64"] } -target "ta1-service-api-base" { +target "knowledge-middleware-api-base" { context = "." - tags = tag("ta1-service-api", "", "") + tags = tag("knowledge-middleware-api", "", "") dockerfile = "api/Dockerfile" } -target "ta1-service-worker-base" { +target "knowledge-middleware-worker-base" { context = "." - tags = tag("ta1-service-worker", "", "") + tags = tag("knowledge-middleware-worker", "", "") dockerfile = "worker/Dockerfile" } -target "ta1-service-api" { - inherits = ["_platforms", "ta1-service-api-base"] +target "knowledge-middleware-api" { + inherits = ["_platforms", "knowledge-middleware-api-base"] } -target "ta1-service-worker" { - inherits = ["_platforms", "ta1-service-worker-base"] +target "knowledge-middleware-worker" { + inherits = ["_platforms", "knowledge-middleware-worker-base"] } diff --git a/docker-compose.prod.yaml b/docker-compose.prod.yaml index 532ba1b..5e95cfd 100644 --- a/docker-compose.prod.yaml +++ b/docker-compose.prod.yaml @@ -1,12 +1,12 @@ --- version: "3.9" networks: - ta1-service: + knowledge-middleware: driver: bridge - name: ta1-service + name: knowledge-middleware services: api: - container_name: api-ta1-service + container_name: api-knowledge-middleware build: context: ./ dockerfile: api/Dockerfile @@ -15,7 +15,7 @@ services: env_file: - .env networks: - - ta1-service + - knowledge-middleware depends_on: - redis volumes: @@ -23,14 +23,14 @@ services: extra_hosts: - "host.docker.internal:host-gateway" redis: - container_name: redis-ta1-service + container_name: redis-knowledge-middleware image: redis ports: - "6379:6379" networks: - - ta1-service + - knowledge-middleware rqworker: - container_name: worker-ta1-service + container_name: worker-knowledge-middleware build: context: ./ dockerfile: worker/Dockerfile @@ -39,4 +39,4 @@ services: depends_on: - redis networks: - - ta1-service + - knowledge-middleware diff --git a/docker-compose.yaml b/docker-compose.yaml index d49b30b..937cdc3 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,14 +1,14 @@ --- version: "3.9" networks: - ta1-service: + knowledge-middleware: driver: bridge - name: ta1-service + name: knowledge-middleware data-api: external: true services: extraction-api: - container_name: api-ta1-service + container_name: api-knowledge-middleware build: context: ./ dockerfile: api/Dockerfile @@ -17,7 +17,7 @@ services: env_file: - .env networks: - - ta1-service + - knowledge-middleware - data-api depends_on: - redis @@ -26,14 +26,14 @@ services: extra_hosts: - "host.docker.internal:host-gateway" redis: - container_name: redis-ta1-service + container_name: redis-knowledge-middleware image: redis ports: - "6379:6379" networks: - - ta1-service + - knowledge-middleware rqworker: - container_name: worker-ta1-service + container_name: worker-knowledge-middleware build: context: ./ dockerfile: worker/Dockerfile @@ -42,26 +42,26 @@ services: depends_on: - redis networks: - - ta1-service + - knowledge-middleware - data-api mit-tr: extends: file: ./askem-ta1-dockervm/end-to-end-rest/docker-compose.yml service: mit-tr networks: - - ta1-service + - knowledge-middleware skema-tr: extends: file: ./askem-ta1-dockervm/end-to-end-rest/docker-compose.yml service: skema-tr networks: - - ta1-service + - knowledge-middleware skema-py: extends: file: ./askem-ta1-dockervm/end-to-end-rest/docker-compose.yml service: skema-py networks: - - ta1-service + - knowledge-middleware skema-unified: extends: file: ./askem-ta1-dockervm/end-to-end-rest/docker-compose.yml @@ -71,25 +71,25 @@ services: file: ./askem-ta1-dockervm/end-to-end-rest/docker-compose.yml service: skema-rs networks: - - ta1-service + - knowledge-middleware graphdb: extends: file: ./askem-ta1-dockervm/end-to-end-rest/docker-compose.yml service: graphdb networks: - - ta1-service + - knowledge-middleware eq2mml: extends: file: ./askem-ta1-dockervm/end-to-end-rest/docker-compose.yml service: eq2mml networks: - - ta1-service + - knowledge-middleware mathjax: extends: file: ./askem-ta1-dockervm/end-to-end-rest/docker-compose.yml service: mathjax networks: - - ta1-service + - knowledge-middleware volumes: mg_lib: diff --git a/env.sample b/env.sample index 3d3ae09..dffead4 100644 --- a/env.sample +++ b/env.sample @@ -4,4 +4,5 @@ TDS_URL=http://data-service.staging.terarium.ai SKEMA_RS_URL=http://skema-rs.staging.terarium.ai TA1_UNIFIED_URL=http://skema-unified.staging.terarium.ai MIT_TR_URL=http://mit-tr.staging.terarium.ai -LOG_LEVEL=INFO \ No newline at end of file +LOG_LEVEL=INFO +MOCK_TA1=True \ No newline at end of file diff --git a/lib/settings.py b/lib/settings.py index 3eddc98..d6755a0 100644 --- a/lib/settings.py +++ b/lib/settings.py @@ -1,8 +1,8 @@ from pydantic_settings import BaseSettings class Settings(BaseSettings): - LIVE: bool = False - REDIS_HOST: str = "redis.ta1-service" + MOCK_TA1: bool = True + REDIS_HOST: str = "redis.knowledge-middleware" REDIS_PORT: int = 6379 TA1_UNIFIED_URL: str = "http://ta1:5" SKEMA_RS_URL: str = "http://skema-rs.staging.terarium.ai" @@ -11,5 +11,4 @@ class Settings(BaseSettings): OPENAI_API_KEY: str = "foo" LOG_LEVEL: str = "INFO" - -settings = Settings() \ No newline at end of file +settings = Settings() diff --git a/poetry.lock b/poetry.lock index 06f031f..31e7bd9 100644 --- a/poetry.lock +++ b/poetry.lock @@ -72,6 +72,17 @@ files = [ {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, ] +[[package]] +name = "cfgv" +version = "3.4.0" +description = "Validate configuration and produce human readable error messages." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, + {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, +] + [[package]] name = "charset-normalizer" version = "3.2.0" @@ -248,6 +259,17 @@ tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.1 [package.extras] toml = ["tomli"] +[[package]] +name = "distlib" +version = "0.3.7" +description = "Distribution utilities" +optional = false +python-versions = "*" +files = [ + {file = "distlib-0.3.7-py2.py3-none-any.whl", hash = "sha256:2e24928bc811348f0feb63014e97aaae3037f2cf48712d51ae61df7fd6075057"}, + {file = "distlib-0.3.7.tar.gz", hash = "sha256:9dafe54b34a028eafd95039d5e5d4851a13734540f1331060d31c9916e7147a8"}, +] + [[package]] name = "exceptiongroup" version = "1.1.3" @@ -300,6 +322,24 @@ typing-extensions = ">=4.5.0" [package.extras] all = ["email-validator (>=2.0.0)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.5)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] +[[package]] +name = "filelock" +version = "3.12.3" +description = "A platform independent file lock." +optional = false +python-versions = ">=3.8" +files = [ + {file = "filelock-3.12.3-py3-none-any.whl", hash = "sha256:f067e40ccc40f2b48395a80fcbd4728262fab54e232e090a4063ab804179efeb"}, + {file = "filelock-3.12.3.tar.gz", hash = "sha256:0ecc1dd2ec4672a10c8550a8182f1bd0c0a5088470ecd5a125e45f49472fac3d"}, +] + +[package.dependencies] +typing-extensions = {version = ">=4.7.1", markers = "python_version < \"3.11\""} + +[package.extras] +docs = ["furo (>=2023.7.26)", "sphinx (>=7.1.2)", "sphinx-autodoc-typehints (>=1.24)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3)", "diff-cover (>=7.7)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "pytest-timeout (>=2.1)"] + [[package]] name = "h11" version = "0.14.0" @@ -355,6 +395,20 @@ cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] +[[package]] +name = "identify" +version = "2.5.27" +description = "File identification library for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "identify-2.5.27-py2.py3-none-any.whl", hash = "sha256:fdb527b2dfe24602809b2201e033c2a113d7bdf716db3ca8e3243f735dcecaba"}, + {file = "identify-2.5.27.tar.gz", hash = "sha256:287b75b04a0e22d727bc9a41f0d4f3c1bcada97490fa6eabb5b28f0e9097e733"}, +] + +[package.extras] +license = ["ukkonen"] + [[package]] name = "idna" version = "3.4" @@ -412,6 +466,20 @@ files = [ [package.dependencies] referencing = ">=0.28.0" +[[package]] +name = "nodeenv" +version = "1.8.0" +description = "Node.js virtual environment builder" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" +files = [ + {file = "nodeenv-1.8.0-py2.py3-none-any.whl", hash = "sha256:df865724bb3c3adc86b3876fa209771517b0cfe596beff01a92700e0e8be4cec"}, + {file = "nodeenv-1.8.0.tar.gz", hash = "sha256:d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2"}, +] + +[package.dependencies] +setuptools = "*" + [[package]] name = "numpy" version = "1.25.2" @@ -546,6 +614,21 @@ files = [ {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, ] +[[package]] +name = "platformdirs" +version = "3.10.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +optional = false +python-versions = ">=3.7" +files = [ + {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, + {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, +] + +[package.extras] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] + [[package]] name = "pluggy" version = "1.2.0" @@ -579,6 +662,24 @@ tomli = ">=1.2.2" [package.extras] poetry-plugin = ["poetry (>=1.0,<2.0)"] +[[package]] +name = "pre-commit" +version = "3.3.3" +description = "A framework for managing and maintaining multi-language pre-commit hooks." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pre_commit-3.3.3-py2.py3-none-any.whl", hash = "sha256:10badb65d6a38caff29703362271d7dca483d01da88f9d7e05d0b97171c136cb"}, + {file = "pre_commit-3.3.3.tar.gz", hash = "sha256:a2256f489cd913d575c145132ae196fe335da32d91a8294b7afe6622335dd023"}, +] + +[package.dependencies] +cfgv = ">=2.0.0" +identify = ">=1.0.0" +nodeenv = ">=0.11.1" +pyyaml = ">=5.1" +virtualenv = ">=20.10.0" + [[package]] name = "pydantic" version = "2.2.1" @@ -1088,6 +1189,22 @@ files = [ click = ">=5.0.0" redis = ">=4.0.0" +[[package]] +name = "setuptools" +version = "68.1.2" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-68.1.2-py3-none-any.whl", hash = "sha256:3d8083eed2d13afc9426f227b24fd1659489ec107c0e86cec2ffdde5c92e790b"}, + {file = "setuptools-68.1.2.tar.gz", hash = "sha256:3d4dfa6d95f1b101d695a6160a7626e15583af71a5f52176efa5d39a054d475d"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5,<=7.1.2)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + [[package]] name = "six" version = "1.16.0" @@ -1207,6 +1324,26 @@ h11 = ">=0.8" [package.extras] standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] +[[package]] +name = "virtualenv" +version = "20.24.3" +description = "Virtual Python Environment builder" +optional = false +python-versions = ">=3.7" +files = [ + {file = "virtualenv-20.24.3-py3-none-any.whl", hash = "sha256:95a6e9398b4967fbcb5fef2acec5efaf9aa4972049d9ae41f95e0972a683fd02"}, + {file = "virtualenv-20.24.3.tar.gz", hash = "sha256:e5c3b4ce817b0b328af041506a2a299418c98747c4b1e68cb7527e74ced23efc"}, +] + +[package.dependencies] +distlib = ">=0.3.7,<1" +filelock = ">=3.12.2,<4" +platformdirs = ">=3.9.1,<4" + +[package.extras] +docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] +test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] + [[package]] name = "yamllint" version = "1.32.0" @@ -1228,4 +1365,4 @@ dev = ["doc8", "flake8", "flake8-import-order", "rstcheck[sphinx]", "sphinx"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "57a6d3f697de24d30dd4364958e1176e9638c7de5740ff606328523f460570b1" +content-hash = "3d7525f277113c497afb858b4b66e841397e96334fe69d5030cb0f1872296496" diff --git a/pyproject.toml b/pyproject.toml index 1513a77..4b335a5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [tool.poetry] -name = "ta1-service" +name = "knowledge-middleware" version = "1.6.0" description = "" authors = ["Powell Fendley"] @@ -35,10 +35,12 @@ jsonschema = "^4.19.0" yamllint = "^1.32.0" poethepoet = "^0.22.0" requests-mock = "^1.11.0" +pyyaml = "^6.0.1" +pre-commit = "^3.3.3" [tool.pytest.ini_options] markers = ["resource"] [build-system] requires = ["poetry-core"] -build-backend = "poetry.core.masonry.api" \ No newline at end of file +build-backend = "poetry.core.masonry.api" diff --git a/tests/conftest.py b/tests/conftest.py index e7a7e46..aee99ce 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -57,9 +57,8 @@ def client(redis): @pytest.fixture -def context_dir(request): - chosen = request.node.get_closest_marker("resource").args[0] - yield f"./tests/resources/{chosen}" +def context_dir(resource): + yield f"./tests/scenarios/{resource}" @pytest.fixture @@ -115,16 +114,24 @@ def upload(filename, content): def gen_tds_artifact(context_dir, http_mock, file_storage): # Mock the TDS artifact counter = count() - def generate(): + def generate(code=False): + if code: + _type = "code" + else: + _type = "artifacts" artifact = { - "id": f"artifact-{next(counter)}", - "name": "artifact", - "description": "test artifact", + "id": f"{_type}-{next(counter)}", + "name": _type, + "description": f"test {_type}", "timestamp": "2023-07-17T19:11:43", - "file_names": [], "metadata": {}, } - artifact_url = f"{settings.TDS_URL}/artifacts/{artifact['id']}" + if code: + artifact["filename"] = "code.py" + artifact["language"] = "python" + else: + artifact["file_names"]: [] + artifact_url = f"{settings.TDS_URL}/{_type}/{artifact['id']}" http_mock.get(artifact_url, json=artifact) http_mock.put(artifact_url) return artifact diff --git a/tests/output/qual.csv b/tests/output/qual.csv new file mode 100644 index 0000000..21657c2 --- /dev/null +++ b/tests/output/qual.csv @@ -0,0 +1,2 @@ +basic,Structural Simularity,1.0 +basic,Structural Simularity,1.0 diff --git a/tests/output/tests.json b/tests/output/tests.json new file mode 100644 index 0000000..937a02a --- /dev/null +++ b/tests/output/tests.json @@ -0,0 +1 @@ +{"created": 1693323913.775213, "duration": 1.6597132682800293, "exitcode": 0, "root": "/home/five/ta1-service", "environment": {}, "summary": {"passed": 6, "total": 6, "collected": 6}, "collectors": [{"nodeid": "", "outcome": "passed", "result": [{"nodeid": "api/__init__.py", "type": "Package"}, {"nodeid": "askem-ta1-dockervm/end-to-end-rest/code/__init__.py", "type": "Package"}, {"nodeid": "lib/__init__.py", "type": "Package"}, {"nodeid": "tests/__init__.py", "type": "Package"}, {"nodeid": "worker/__init__.py", "type": "Package"}]}, {"nodeid": "api/__init__.py", "outcome": "passed", "result": []}, {"nodeid": "askem-ta1-dockervm/end-to-end-rest/code/__init__.py", "outcome": "passed", "result": []}, {"nodeid": "lib/__init__.py", "outcome": "passed", "result": []}, {"nodeid": "tests/test_e2e.py", "outcome": "passed", "result": [{"nodeid": "tests/test_e2e.py::test_pdf_extraction[basic]", "type": "Function", "lineno": 18}, {"nodeid": "tests/test_e2e.py::test_pdf_to_text[basic]", "type": "Function", "lineno": 59}, {"nodeid": "tests/test_e2e.py::test_code_to_amr[basic]", "type": "Function", "lineno": 95}, {"nodeid": "tests/test_e2e.py::test_equations_to_amr[basic]", "type": "Function", "lineno": 144}, {"nodeid": "tests/test_e2e.py::test_profile_dataset[basic]", "type": "Function", "lineno": 192}, {"nodeid": "tests/test_e2e.py::test_profile_model[basic]", "type": "Function", "lineno": 242}]}, {"nodeid": "tests/__init__.py", "outcome": "passed", "result": [{"nodeid": "tests/test_e2e.py", "type": "Module"}]}, {"nodeid": "worker/__init__.py", "outcome": "passed", "result": []}], "tests": [{"nodeid": "tests/test_e2e.py::test_pdf_extraction[basic]", "lineno": 18, "outcome": "passed", "keywords": ["test_pdf_extraction[basic]", "parametrize", "pytestmark", "basic", "test_e2e.py", "tests/__init__.py", "ta1-service"], "setup": {"duration": 0.0017117870156653225, "outcome": "passed"}, "call": {"duration": 0.23334916701423936, "outcome": "passed", "stderr": "INFO:httpx:HTTP Request: POST http://testserver/pdf_extractions?artifact_id=artifact-0&annotate_skema=true&annotate_mit=true&name=&description= \"HTTP/1.1 200 OK\"\nINFO:rq.worker:Worker rq:worker:ecd59ceb4fef4c3983a4296cbb0697af started with PID 308817, version 1.15.1\nINFO:rq.worker:Subscribing to channel rq:pubsub:ecd59ceb4fef4c3983a4296cbb0697af\nINFO:rq.worker:*** Listening on default...\nINFO:rq.worker:Cleaning registries for queue: default\nINFO:rq.worker:default: worker.operations.pdf_extractions(annotate_mit=True, annotate_skema=True, artifact_id='artifact-0', description='', job_id='extraction-c313069d-616a-40e2-9432-f14991c810f5', name='') (extraction-c313069d-616a-40e2-9432-f14991c810f5)\n2023-08-29 10:45:12,388 - worker.utils - INFO - [119] - mock://filesave?filename=paper.pdf\nINFO:worker.utils:mock://filesave?filename=paper.pdf\n2023-08-29 10:45:12,388 - worker.utils - INFO - [123] - ARTIFACT RETRIEVAL STATUS:200\nINFO:worker.utils:ARTIFACT RETRIEVAL STATUS:200\n2023-08-29 10:45:12,388 - worker.operations - INFO - [173] - Sending PDF to TA1 service with artifact id artifact-0 at http://ta1:5/text-reading/integrated-text-extractions?annotate_skema=True&annotate_mit=True\nINFO:worker.operations:Sending PDF to TA1 service with artifact id artifact-0 at http://ta1:5/text-reading/integrated-text-extractions?annotate_skema=True&annotate_mit=True\n2023-08-29 10:45:12,390 - worker.operations - INFO - [177] - Response received from TA1 with status code: 200\nINFO:worker.operations:Response received from TA1 with status code: 200\nINFO:root:HERE!\n2023-08-29 10:45:12,392 - worker.utils - INFO - [94] - Storing extraction to TDS for artifact: artifact-0\nINFO:worker.utils:Storing extraction to TDS for artifact: artifact-0\nINFO:rq.worker:default: Job OK (extraction-c313069d-616a-40e2-9432-f14991c810f5)\nINFO:rq.worker:Result is kept for 500 seconds\nINFO:rq.worker:Worker rq:worker:ecd59ceb4fef4c3983a4296cbb0697af: done, quitting\nINFO:rq.worker:Unsubscribing from channel rq:pubsub:ecd59ceb4fef4c3983a4296cbb0697af\nINFO:httpx:HTTP Request: GET http://testserver/status/extraction-c313069d-616a-40e2-9432-f14991c810f5 \"HTTP/1.1 200 OK\"\n", "log": [{"name": "httpx", "msg": "HTTP Request: POST http://testserver/pdf_extractions?artifact_id=artifact-0&annotate_skema=true&annotate_mit=true&name=&description= \"HTTP/1.1 200 OK\"", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/httpx/_client.py", "filename": "_client.py", "module": "_client", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1013, "funcName": "_send_single_request", "created": 1693323912.1876395, "msecs": 187.0, "relativeCreated": 525.5379676818848, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Worker rq:worker:ecd59ceb4fef4c3983a4296cbb0697af started with PID 308817, version 1.15.1", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 569, "funcName": "bootstrap", "created": 1693323912.1881702, "msecs": 188.0, "relativeCreated": 526.0686874389648, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Subscribing to channel rq:pubsub:ecd59ceb4fef4c3983a4296cbb0697af", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 613, "funcName": "subscribe", "created": 1693323912.1882217, "msecs": 188.0, "relativeCreated": 526.1201858520508, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "*** Listening on default...", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 573, "funcName": "bootstrap", "created": 1693323912.1886048, "msecs": 188.0, "relativeCreated": 526.503324508667, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Cleaning registries for queue: default", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 315, "funcName": "clean_registries", "created": 1693323912.1888688, "msecs": 188.0, "relativeCreated": 526.7672538757324, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "default: worker.operations.pdf_extractions(annotate_mit=True, annotate_skema=True, artifact_id='artifact-0', description='', job_id='extraction-c313069d-616a-40e2-9432-f14991c810f5', name='') (extraction-c313069d-616a-40e2-9432-f14991c810f5)", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 669, "funcName": "dequeue_job_and_maintain_ttl", "created": 1693323912.1903288, "msecs": 190.0, "relativeCreated": 528.2273292541504, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "worker.utils", "msg": "mock://filesave?filename=paper.pdf", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 119, "funcName": "get_artifact_from_tds", "created": 1693323912.3881087, "msecs": 388.0, "relativeCreated": 726.0072231292725, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,388"}, {"name": "worker.utils", "msg": "ARTIFACT RETRIEVAL STATUS:200", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 123, "funcName": "get_artifact_from_tds", "created": 1693323912.3885407, "msecs": 388.0, "relativeCreated": 726.4392375946045, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,388"}, {"name": "worker.operations", "msg": "Sending PDF to TA1 service with artifact id artifact-0 at http://ta1:5/text-reading/integrated-text-extractions?annotate_skema=True&annotate_mit=True", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 173, "funcName": "pdf_extractions", "created": 1693323912.3886056, "msecs": 388.0, "relativeCreated": 726.5040874481201, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,388"}, {"name": "worker.operations", "msg": "Response received from TA1 with status code: 200", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 177, "funcName": "pdf_extractions", "created": 1693323912.3909233, "msecs": 390.0, "relativeCreated": 728.8217544555664, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,390"}, {"name": "root", "msg": "HERE!", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 198, "funcName": "pdf_extractions", "created": 1693323912.3924518, "msecs": 392.0, "relativeCreated": 730.3502559661865, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "worker.utils", "msg": "Storing extraction to TDS for artifact: artifact-0", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 94, "funcName": "put_artifact_extraction_to_tds", "created": 1693323912.3924928, "msecs": 392.0, "relativeCreated": 730.391263961792, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,392"}, {"name": "rq.worker", "msg": "default: Job OK (extraction-c313069d-616a-40e2-9432-f14991c810f5)", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1463, "funcName": "perform_job", "created": 1693323912.3963602, "msecs": 396.0, "relativeCreated": 734.2586517333984, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Result is kept for 500 seconds", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1472, "funcName": "perform_job", "created": 1693323912.3979588, "msecs": 397.0, "relativeCreated": 735.8572483062744, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Worker rq:worker:ecd59ceb4fef4c3983a4296cbb0697af: done, quitting", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 426, "funcName": "work", "created": 1693323912.3985884, "msecs": 398.0, "relativeCreated": 736.4869117736816, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Unsubscribing from channel rq:pubsub:ecd59ceb4fef4c3983a4296cbb0697af", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 621, "funcName": "unsubscribe", "created": 1693323912.3988087, "msecs": 398.0, "relativeCreated": 736.7072105407715, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "httpx", "msg": "HTTP Request: GET http://testserver/status/extraction-c313069d-616a-40e2-9432-f14991c810f5 \"HTTP/1.1 200 OK\"", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/httpx/_client.py", "filename": "_client.py", "module": "_client", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1013, "funcName": "_send_single_request", "created": 1693323912.406632, "msecs": 406.0, "relativeCreated": 744.530439376831, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}]}, "teardown": {"duration": 0.0001881869975477457, "outcome": "passed"}}, {"nodeid": "tests/test_e2e.py::test_pdf_to_text[basic]", "lineno": 59, "outcome": "passed", "keywords": ["test_pdf_to_text[basic]", "parametrize", "pytestmark", "basic", "test_e2e.py", "tests/__init__.py", "ta1-service"], "setup": {"duration": 0.0014208999928086996, "outcome": "passed"}, "call": {"duration": 0.22749987099086866, "outcome": "passed", "stderr": "INFO:httpx:HTTP Request: POST http://testserver/pdf_to_text?artifact_id=artifact-0 \"HTTP/1.1 200 OK\"\nINFO:rq.worker:Worker rq:worker:df74c1acb0e94c75b544bf9b5a59be2c started with PID 308817, version 1.15.1\nINFO:rq.worker:Subscribing to channel rq:pubsub:df74c1acb0e94c75b544bf9b5a59be2c\nINFO:rq.worker:*** Listening on default...\nINFO:rq.worker:Cleaning registries for queue: default\nINFO:rq.worker:default: worker.operations.pdf_to_text(artifact_id='artifact-0', job_id='extraction-c91bf47a-a36d-4e0d-9ad2-b6177bbfd719') (extraction-c91bf47a-a36d-4e0d-9ad2-b6177bbfd719)\n2023-08-29 10:45:12,419 - worker.utils - INFO - [119] - mock://filesave?filename=paper.pdf\nINFO:worker.utils:mock://filesave?filename=paper.pdf\n2023-08-29 10:45:12,419 - worker.utils - INFO - [123] - ARTIFACT RETRIEVAL STATUS:200\nINFO:worker.utils:ARTIFACT RETRIEVAL STATUS:200\n2023-08-29 10:45:12,419 - worker.operations - INFO - [110] - Sending PDF to TA1 service with artifact id artifact-0 at http://ta1:5/text-reading/cosmos_to_json\nINFO:worker.operations:Sending PDF to TA1 service with artifact id artifact-0 at http://ta1:5/text-reading/cosmos_to_json\n2023-08-29 10:45:12,420 - worker.operations - INFO - [114] - Response received from TA1 with status code: 200\nINFO:worker.operations:Response received from TA1 with status code: 200\n2023-08-29 10:45:12,422 - worker.utils - INFO - [94] - Storing extraction to TDS for artifact: artifact-0\nINFO:worker.utils:Storing extraction to TDS for artifact: artifact-0\nINFO:rq.worker:default: Job OK (extraction-c91bf47a-a36d-4e0d-9ad2-b6177bbfd719)\nINFO:rq.worker:Result is kept for 500 seconds\nINFO:rq.worker:Worker rq:worker:df74c1acb0e94c75b544bf9b5a59be2c: done, quitting\nINFO:rq.worker:Unsubscribing from channel rq:pubsub:df74c1acb0e94c75b544bf9b5a59be2c\nINFO:httpx:HTTP Request: GET http://testserver/status/extraction-c91bf47a-a36d-4e0d-9ad2-b6177bbfd719 \"HTTP/1.1 200 OK\"\n", "log": [{"name": "httpx", "msg": "HTTP Request: POST http://testserver/pdf_to_text?artifact_id=artifact-0 \"HTTP/1.1 200 OK\"", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/httpx/_client.py", "filename": "_client.py", "module": "_client", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1013, "funcName": "_send_single_request", "created": 1693323912.4163861, "msecs": 416.0, "relativeCreated": 754.2846202850342, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Worker rq:worker:df74c1acb0e94c75b544bf9b5a59be2c started with PID 308817, version 1.15.1", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 569, "funcName": "bootstrap", "created": 1693323912.4168222, "msecs": 416.0, "relativeCreated": 754.7206878662109, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Subscribing to channel rq:pubsub:df74c1acb0e94c75b544bf9b5a59be2c", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 613, "funcName": "subscribe", "created": 1693323912.416864, "msecs": 416.0, "relativeCreated": 754.7624111175537, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "*** Listening on default...", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 573, "funcName": "bootstrap", "created": 1693323912.417153, "msecs": 417.0, "relativeCreated": 755.0513744354248, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Cleaning registries for queue: default", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 315, "funcName": "clean_registries", "created": 1693323912.4174314, "msecs": 417.0, "relativeCreated": 755.3298473358154, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "default: worker.operations.pdf_to_text(artifact_id='artifact-0', job_id='extraction-c91bf47a-a36d-4e0d-9ad2-b6177bbfd719') (extraction-c91bf47a-a36d-4e0d-9ad2-b6177bbfd719)", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 669, "funcName": "dequeue_job_and_maintain_ttl", "created": 1693323912.4180343, "msecs": 418.0, "relativeCreated": 755.9328079223633, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "worker.utils", "msg": "mock://filesave?filename=paper.pdf", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 119, "funcName": "get_artifact_from_tds", "created": 1693323912.4193857, "msecs": 419.0, "relativeCreated": 757.2841644287109, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,419"}, {"name": "worker.utils", "msg": "ARTIFACT RETRIEVAL STATUS:200", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 123, "funcName": "get_artifact_from_tds", "created": 1693323912.4197645, "msecs": 419.0, "relativeCreated": 757.6630115509033, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,419"}, {"name": "worker.operations", "msg": "Sending PDF to TA1 service with artifact id artifact-0 at http://ta1:5/text-reading/cosmos_to_json", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 110, "funcName": "pdf_to_text", "created": 1693323912.419821, "msecs": 419.0, "relativeCreated": 757.7195167541504, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,419"}, {"name": "worker.operations", "msg": "Response received from TA1 with status code: 200", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 114, "funcName": "pdf_to_text", "created": 1693323912.4209971, "msecs": 420.0, "relativeCreated": 758.8956356048584, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,420"}, {"name": "worker.utils", "msg": "Storing extraction to TDS for artifact: artifact-0", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 94, "funcName": "put_artifact_extraction_to_tds", "created": 1693323912.422336, "msecs": 422.0, "relativeCreated": 760.2345943450928, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,422"}, {"name": "rq.worker", "msg": "default: Job OK (extraction-c91bf47a-a36d-4e0d-9ad2-b6177bbfd719)", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1463, "funcName": "perform_job", "created": 1693323912.4237547, "msecs": 423.0, "relativeCreated": 761.6531848907471, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Result is kept for 500 seconds", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1472, "funcName": "perform_job", "created": 1693323912.4246206, "msecs": 424.0, "relativeCreated": 762.519121170044, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Worker rq:worker:df74c1acb0e94c75b544bf9b5a59be2c: done, quitting", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 426, "funcName": "work", "created": 1693323912.4250846, "msecs": 425.0, "relativeCreated": 762.9830837249756, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Unsubscribing from channel rq:pubsub:df74c1acb0e94c75b544bf9b5a59be2c", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 621, "funcName": "unsubscribe", "created": 1693323912.4252393, "msecs": 425.0, "relativeCreated": 763.1378173828125, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "httpx", "msg": "HTTP Request: GET http://testserver/status/extraction-c91bf47a-a36d-4e0d-9ad2-b6177bbfd719 \"HTTP/1.1 200 OK\"", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/httpx/_client.py", "filename": "_client.py", "module": "_client", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1013, "funcName": "_send_single_request", "created": 1693323912.6360018, "msecs": 636.0, "relativeCreated": 973.900318145752, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}]}, "teardown": {"duration": 0.0004941659863106906, "outcome": "passed"}}, {"nodeid": "tests/test_e2e.py::test_code_to_amr[basic]", "lineno": 95, "outcome": "passed", "keywords": ["test_code_to_amr[basic]", "parametrize", "pytestmark", "basic", "test_e2e.py", "tests/__init__.py", "ta1-service"], "setup": {"duration": 0.0034063130151480436, "outcome": "passed"}, "call": {"duration": 0.34743352298391983, "outcome": "passed", "stderr": "INFO:httpx:HTTP Request: POST http://testserver/code_to_amr?artifact_id=artifact-0&name=test%20model&description=test%20description \"HTTP/1.1 200 OK\"\nINFO:rq.worker:Worker rq:worker:c3ac1639ba394f8d82469420d10512dc started with PID 308817, version 1.15.1\nINFO:rq.worker:Subscribing to channel rq:pubsub:c3ac1639ba394f8d82469420d10512dc\nINFO:rq.worker:*** Listening on default...\nINFO:rq.worker:Cleaning registries for queue: default\nINFO:rq.worker:default: worker.operations.code_to_amr(artifact_id='artifact-0', description='test description', job_id='extraction-5ede8fdd-9aa6-4b07-ad7a-579c6204ebd6', name='test model') (extraction-5ede8fdd-9aa6-4b07-ad7a-579c6204ebd6)\n2023-08-29 10:45:12,663 - worker.utils - INFO - [119] - mock://filesave?filename=code.py\nINFO:worker.utils:mock://filesave?filename=code.py\n2023-08-29 10:45:12,664 - worker.utils - INFO - [123] - ARTIFACT RETRIEVAL STATUS:200\nINFO:worker.utils:ARTIFACT RETRIEVAL STATUS:200\n2023-08-29 10:45:12,664 - worker.operations - INFO - [453] - def sir(\n s: float, i: float, r: float, beta: float, gamma: float, n: float\n) -> Tuple[float, float, float]:\n \"\"\"The SIR model, one time step.\"\"\"\n s_n = (-beta * s * i) + s\n i_n = (beta * s * i - gamma * i) + i\n r_n = gamma * i + r\n \nINFO:worker.operations:def sir(\n s: float, i: float, r: float, beta: float, gamma: float, n: float\n) -> Tuple[float, float, float]:\n \"\"\"The SIR model, one time step.\"\"\"\n s_n = (-beta * s * i) + s\n i_n = (beta * s * i - gamma * i) + i\n r_n = gamma * i + r\n \n2023-08-29 10:45:12,664 - worker.operations - INFO - [461] - Sending code to TA1 service with artifact id: artifact-0 at http://ta1:5/workflows/code/snippets-to-pn-amr\nINFO:worker.operations:Sending code to TA1 service with artifact id: artifact-0 at http://ta1:5/workflows/code/snippets-to-pn-amr\n2023-08-29 10:45:12,665 - worker.operations - INFO - [467] - Response received from TA1 with status code: 200\nINFO:worker.operations:Response received from TA1 with status code: 200\n2023-08-29 10:45:12,667 - worker.utils - INFO - [67] - Created model in TDS with id test\nINFO:worker.utils:Created model in TDS with id test\n2023-08-29 10:45:12,667 - worker.utils - INFO - [68] - Created model config in TDS with id test\nINFO:worker.utils:Created model config in TDS with id test\n2023-08-29 10:45:12,667 - worker.utils - INFO - [94] - Storing extraction to TDS for artifact: artifact-0\nINFO:worker.utils:Storing extraction to TDS for artifact: artifact-0\n2023-08-29 10:45:12,668 - worker.utils - INFO - [185] - Storing provenance to http://tds:15/provenance\nINFO:worker.utils:Storing provenance to http://tds:15/provenance\n2023-08-29 10:45:12,668 - worker.utils - INFO - [193] - Stored provenance to TDS for left test and right artifact-0\nINFO:worker.utils:Stored provenance to TDS for left test and right artifact-0\nINFO:rq.worker:default: Job OK (extraction-5ede8fdd-9aa6-4b07-ad7a-579c6204ebd6)\nINFO:rq.worker:Result is kept for 500 seconds\nINFO:rq.worker:Worker rq:worker:c3ac1639ba394f8d82469420d10512dc: done, quitting\nINFO:rq.worker:Unsubscribing from channel rq:pubsub:c3ac1639ba394f8d82469420d10512dc\nINFO:httpx:HTTP Request: GET http://testserver/status/extraction-5ede8fdd-9aa6-4b07-ad7a-579c6204ebd6 \"HTTP/1.1 200 OK\"\n", "log": [{"name": "httpx", "msg": "HTTP Request: POST http://testserver/code_to_amr?artifact_id=artifact-0&name=test%20model&description=test%20description \"HTTP/1.1 200 OK\"", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/httpx/_client.py", "filename": "_client.py", "module": "_client", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1013, "funcName": "_send_single_request", "created": 1693323912.6545165, "msecs": 654.0, "relativeCreated": 992.4149513244629, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Worker rq:worker:c3ac1639ba394f8d82469420d10512dc started with PID 308817, version 1.15.1", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 569, "funcName": "bootstrap", "created": 1693323912.6558273, "msecs": 655.0, "relativeCreated": 993.7257766723633, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Subscribing to channel rq:pubsub:c3ac1639ba394f8d82469420d10512dc", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 613, "funcName": "subscribe", "created": 1693323912.6559558, "msecs": 655.0, "relativeCreated": 993.854284286499, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "*** Listening on default...", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 573, "funcName": "bootstrap", "created": 1693323912.6567435, "msecs": 656.0, "relativeCreated": 994.6420192718506, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Cleaning registries for queue: default", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 315, "funcName": "clean_registries", "created": 1693323912.657623, "msecs": 657.0, "relativeCreated": 995.5215454101562, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "default: worker.operations.code_to_amr(artifact_id='artifact-0', description='test description', job_id='extraction-5ede8fdd-9aa6-4b07-ad7a-579c6204ebd6', name='test model') (extraction-5ede8fdd-9aa6-4b07-ad7a-579c6204ebd6)", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 669, "funcName": "dequeue_job_and_maintain_ttl", "created": 1693323912.659592, "msecs": 659.0, "relativeCreated": 997.490406036377, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "worker.utils", "msg": "mock://filesave?filename=code.py", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 119, "funcName": "get_artifact_from_tds", "created": 1693323912.663399, "msecs": 663.0, "relativeCreated": 1001.2974739074707, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,663"}, {"name": "worker.utils", "msg": "ARTIFACT RETRIEVAL STATUS:200", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 123, "funcName": "get_artifact_from_tds", "created": 1693323912.664138, "msecs": 664.0, "relativeCreated": 1002.0365715026855, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,664"}, {"name": "worker.operations", "msg": "def sir(\n s: float, i: float, r: float, beta: float, gamma: float, n: float\n) -> Tuple[float, float, float]:\n \"\"\"The SIR model, one time step.\"\"\"\n s_n = (-beta * s * i) + s\n i_n = (beta * s * i - gamma * i) + i\n r_n = gamma * i + r\n ", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 453, "funcName": "code_to_amr", "created": 1693323912.6642234, "msecs": 664.0, "relativeCreated": 1002.1219253540039, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,664"}, {"name": "worker.operations", "msg": "Sending code to TA1 service with artifact id: artifact-0 at http://ta1:5/workflows/code/snippets-to-pn-amr", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 461, "funcName": "code_to_amr", "created": 1693323912.664286, "msecs": 664.0, "relativeCreated": 1002.1843910217285, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,664"}, {"name": "worker.operations", "msg": "Response received from TA1 with status code: 200", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 467, "funcName": "code_to_amr", "created": 1693323912.6651857, "msecs": 665.0, "relativeCreated": 1003.0841827392578, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,665"}, {"name": "worker.utils", "msg": "Created model in TDS with id test", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 67, "funcName": "put_amr_to_tds", "created": 1693323912.6674857, "msecs": 667.0, "relativeCreated": 1005.3842067718506, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,667"}, {"name": "worker.utils", "msg": "Created model config in TDS with id test", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 68, "funcName": "put_amr_to_tds", "created": 1693323912.6675477, "msecs": 667.0, "relativeCreated": 1005.446195602417, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,667"}, {"name": "worker.utils", "msg": "Storing extraction to TDS for artifact: artifact-0", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 94, "funcName": "put_artifact_extraction_to_tds", "created": 1693323912.6676102, "msecs": 667.0, "relativeCreated": 1005.5086612701416, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,667"}, {"name": "worker.utils", "msg": "Storing provenance to http://tds:15/provenance", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 185, "funcName": "set_provenance", "created": 1693323912.6680956, "msecs": 668.0, "relativeCreated": 1005.9940814971924, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,668"}, {"name": "worker.utils", "msg": "Stored provenance to TDS for left test and right artifact-0", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 193, "funcName": "set_provenance", "created": 1693323912.6686015, "msecs": 668.0, "relativeCreated": 1006.5000057220459, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:12,668"}, {"name": "rq.worker", "msg": "default: Job OK (extraction-5ede8fdd-9aa6-4b07-ad7a-579c6204ebd6)", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1463, "funcName": "perform_job", "created": 1693323912.6697125, "msecs": 669.0, "relativeCreated": 1007.6110363006592, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Result is kept for 500 seconds", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1472, "funcName": "perform_job", "created": 1693323912.669859, "msecs": 669.0, "relativeCreated": 1007.7574253082275, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Worker rq:worker:c3ac1639ba394f8d82469420d10512dc: done, quitting", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 426, "funcName": "work", "created": 1693323912.670336, "msecs": 670.0, "relativeCreated": 1008.2345008850098, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Unsubscribing from channel rq:pubsub:c3ac1639ba394f8d82469420d10512dc", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 621, "funcName": "unsubscribe", "created": 1693323912.67049, "msecs": 670.0, "relativeCreated": 1008.3885192871094, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "httpx", "msg": "HTTP Request: GET http://testserver/status/extraction-5ede8fdd-9aa6-4b07-ad7a-579c6204ebd6 \"HTTP/1.1 200 OK\"", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/httpx/_client.py", "filename": "_client.py", "module": "_client", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1013, "funcName": "_send_single_request", "created": 1693323912.871344, "msecs": 871.0, "relativeCreated": 1209.242582321167, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}]}, "teardown": {"duration": 0.0005006070132367313, "outcome": "passed"}}, {"nodeid": "tests/test_e2e.py::test_equations_to_amr[basic]", "lineno": 144, "outcome": "passed", "keywords": ["test_equations_to_amr[basic]", "parametrize", "pytestmark", "basic", "test_e2e.py", "tests/__init__.py", "ta1-service"], "setup": {"duration": 0.0036731750005856156, "outcome": "passed"}, "call": {"duration": 0.31601477100048214, "outcome": "passed", "stderr": "INFO:httpx:HTTP Request: POST http://testserver/equations_to_amr?equation_type=latex&model=petrinet&name=test%20model&description=test%20description \"HTTP/1.1 200 OK\"\nINFO:rq.worker:Worker rq:worker:efa3b82facff43d7aef440625a2b8583 started with PID 308817, version 1.15.1\nINFO:rq.worker:Subscribing to channel rq:pubsub:efa3b82facff43d7aef440625a2b8583\nINFO:rq.worker:*** Listening on default...\nINFO:rq.worker:Cleaning registries for queue: default\nINFO:rq.worker:default: worker.operations.equations_to_amr(description='test description', equation_type='latex', equations=['\\\\frac{dS}{dt} = - \\\\beta I \\\\frac{S}{N}', '\\\\frac{dE}{dt} = \\\\beta I \\\\f..., job_id='extraction-8ad50aa5-0b71-4ff4-9d63-caed357200e6', model='petrinet', name='test model') (extraction-8ad50aa5-0b71-4ff4-9d63-caed357200e6)\n2023-08-29 10:45:13,006 - worker.operations - INFO - [54] - Processing latex\nINFO:worker.operations:Processing latex\n2023-08-29 10:45:13,006 - worker.operations - INFO - [60] - Sending equations of type latex to TA1 at http://ta1:5/workflows/latex/equations-to-amr\nINFO:worker.operations:Sending equations of type latex to TA1 at http://ta1:5/workflows/latex/equations-to-amr\n2023-08-29 10:45:13,008 - worker.utils - INFO - [67] - Created model in TDS with id test\nINFO:worker.utils:Created model in TDS with id test\n2023-08-29 10:45:13,009 - worker.utils - INFO - [68] - Created model config in TDS with id test\nINFO:worker.utils:Created model config in TDS with id test\nINFO:rq.worker:default: Job OK (extraction-8ad50aa5-0b71-4ff4-9d63-caed357200e6)\nINFO:rq.worker:Result is kept for 500 seconds\nINFO:rq.worker:Worker rq:worker:efa3b82facff43d7aef440625a2b8583: done, quitting\nINFO:rq.worker:Unsubscribing from channel rq:pubsub:efa3b82facff43d7aef440625a2b8583\nINFO:httpx:HTTP Request: GET http://testserver/status/extraction-8ad50aa5-0b71-4ff4-9d63-caed357200e6 \"HTTP/1.1 200 OK\"\n", "log": [{"name": "httpx", "msg": "HTTP Request: POST http://testserver/equations_to_amr?equation_type=latex&model=petrinet&name=test%20model&description=test%20description \"HTTP/1.1 200 OK\"", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/httpx/_client.py", "filename": "_client.py", "module": "_client", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1013, "funcName": "_send_single_request", "created": 1693323913.0023885, "msecs": 2.0, "relativeCreated": 1340.2869701385498, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Worker rq:worker:efa3b82facff43d7aef440625a2b8583 started with PID 308817, version 1.15.1", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 569, "funcName": "bootstrap", "created": 1693323913.0032313, "msecs": 3.0, "relativeCreated": 1341.1297798156738, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Subscribing to channel rq:pubsub:efa3b82facff43d7aef440625a2b8583", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 613, "funcName": "subscribe", "created": 1693323913.0033078, "msecs": 3.0, "relativeCreated": 1341.2063121795654, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "*** Listening on default...", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 573, "funcName": "bootstrap", "created": 1693323913.003827, "msecs": 3.0, "relativeCreated": 1341.7255878448486, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Cleaning registries for queue: default", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 315, "funcName": "clean_registries", "created": 1693323913.0043674, "msecs": 4.0, "relativeCreated": 1342.2658443450928, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "default: worker.operations.equations_to_amr(description='test description', equation_type='latex', equations=['\\\\frac{dS}{dt} = - \\\\beta I \\\\frac{S}{N}', '\\\\frac{dE}{dt} = \\\\beta I \\\\f..., job_id='extraction-8ad50aa5-0b71-4ff4-9d63-caed357200e6', model='petrinet', name='test model') (extraction-8ad50aa5-0b71-4ff4-9d63-caed357200e6)", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 669, "funcName": "dequeue_job_and_maintain_ttl", "created": 1693323913.0054271, "msecs": 5.0, "relativeCreated": 1343.3256149291992, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "worker.operations", "msg": "Processing latex", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 54, "funcName": "equations_to_amr", "created": 1693323913.0062475, "msecs": 6.0, "relativeCreated": 1344.1460132598877, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,006"}, {"name": "worker.operations", "msg": "Sending equations of type latex to TA1 at http://ta1:5/workflows/latex/equations-to-amr", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 60, "funcName": "equations_to_amr", "created": 1693323913.0063498, "msecs": 6.0, "relativeCreated": 1344.2482948303223, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,006"}, {"name": "worker.utils", "msg": "Created model in TDS with id test", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 67, "funcName": "put_amr_to_tds", "created": 1693323913.0089843, "msecs": 8.0, "relativeCreated": 1346.8828201293945, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,008"}, {"name": "worker.utils", "msg": "Created model config in TDS with id test", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 68, "funcName": "put_amr_to_tds", "created": 1693323913.0090394, "msecs": 9.0, "relativeCreated": 1346.937894821167, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,009"}, {"name": "rq.worker", "msg": "default: Job OK (extraction-8ad50aa5-0b71-4ff4-9d63-caed357200e6)", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1463, "funcName": "perform_job", "created": 1693323913.010042, "msecs": 10.0, "relativeCreated": 1347.940444946289, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Result is kept for 500 seconds", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1472, "funcName": "perform_job", "created": 1693323913.0102313, "msecs": 10.0, "relativeCreated": 1348.1297492980957, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Worker rq:worker:efa3b82facff43d7aef440625a2b8583: done, quitting", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 426, "funcName": "work", "created": 1693323913.0108047, "msecs": 10.0, "relativeCreated": 1348.703145980835, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Unsubscribing from channel rq:pubsub:efa3b82facff43d7aef440625a2b8583", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 621, "funcName": "unsubscribe", "created": 1693323913.0109956, "msecs": 10.0, "relativeCreated": 1348.8941192626953, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "httpx", "msg": "HTTP Request: GET http://testserver/status/extraction-8ad50aa5-0b71-4ff4-9d63-caed357200e6 \"HTTP/1.1 200 OK\"", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/httpx/_client.py", "filename": "_client.py", "module": "_client", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1013, "funcName": "_send_single_request", "created": 1693323913.2170181, "msecs": 217.0, "relativeCreated": 1554.9166202545166, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}]}, "teardown": {"duration": 0.00046321400441229343, "outcome": "passed"}}, {"nodeid": "tests/test_e2e.py::test_profile_dataset[basic]", "lineno": 192, "outcome": "passed", "keywords": ["test_profile_dataset[basic]", "parametrize", "pytestmark", "basic", "test_e2e.py", "tests/__init__.py", "ta1-service"], "setup": {"duration": 0.003240972990170121, "outcome": "passed"}, "call": {"duration": 0.22221302599064074, "outcome": "passed", "stderr": "INFO:httpx:HTTP Request: POST http://testserver/profile_dataset/artifact-0?artifact_id=artifact-0 \"HTTP/1.1 200 OK\"\nINFO:rq.worker:Worker rq:worker:2ad4bb57f98a4c15b612f1984472c4dd started with PID 308817, version 1.15.1\nINFO:rq.worker:Subscribing to channel rq:pubsub:2ad4bb57f98a4c15b612f1984472c4dd\nINFO:rq.worker:*** Listening on default...\nINFO:rq.worker:Cleaning registries for queue: default\nINFO:rq.worker:default: worker.operations.data_card(artifact_id='artifact-0', dataset_id='artifact-0', job_id='extraction-29f92daa-aacd-4135-9bc7-fa5560f0fb45') (extraction-29f92daa-aacd-4135-9bc7-fa5560f0fb45)\n2023-08-29 10:45:13,331 - worker.utils - INFO - [119] - mock://filesave?filename=paper.pdf\nINFO:worker.utils:mock://filesave?filename=paper.pdf\n2023-08-29 10:45:13,331 - worker.utils - INFO - [123] - ARTIFACT RETRIEVAL STATUS:200\nINFO:worker.utils:ARTIFACT RETRIEVAL STATUS:200\n2023-08-29 10:45:13,332 - worker.utils - INFO - [134] - DATASET RESPONSE JSON: {'id': 'artifact-0', 'name': 'data', 'description': 'test data', 'timestamp': '2023-07-17T19:11:43', 'file_names': ['data.csv'], 'metadata': {}}\nINFO:worker.utils:DATASET RESPONSE JSON: {'id': 'artifact-0', 'name': 'data', 'description': 'test data', 'timestamp': '2023-07-17T19:11:43', 'file_names': ['data.csv'], 'metadata': {}}\n2023-08-29 10:45:13,332 - worker.utils - INFO - [141] - mock://filesave?filename=data.csv\nINFO:worker.utils: mock://filesave?filename=data.csv\n2023-08-29 10:45:13,333 - worker.utils - INFO - [145] - \nINFO:worker.utils:\n2023-08-29 10:45:13,340 - worker.operations - INFO - [263] - Sending dataset artifact-0 to MIT service at http://mit:10/cards/get_data_card\nINFO:worker.operations:Sending dataset artifact-0 to MIT service at http://mit:10/cards/get_data_card\n2023-08-29 10:45:13,341 - worker.operations - INFO - [268] - Response received from MIT with status: 200\nINFO:worker.operations:Response received from MIT with status: 200\nINFO:rq.worker:default: Job OK (extraction-29f92daa-aacd-4135-9bc7-fa5560f0fb45)\nINFO:rq.worker:Result is kept for 500 seconds\nINFO:rq.worker:Worker rq:worker:2ad4bb57f98a4c15b612f1984472c4dd: done, quitting\nINFO:rq.worker:Unsubscribing from channel rq:pubsub:2ad4bb57f98a4c15b612f1984472c4dd\nINFO:httpx:HTTP Request: GET http://testserver/status/extraction-29f92daa-aacd-4135-9bc7-fa5560f0fb45 \"HTTP/1.1 200 OK\"\n", "log": [{"name": "httpx", "msg": "HTTP Request: POST http://testserver/profile_dataset/artifact-0?artifact_id=artifact-0 \"HTTP/1.1 200 OK\"", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/httpx/_client.py", "filename": "_client.py", "module": "_client", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1013, "funcName": "_send_single_request", "created": 1693323913.3268352, "msecs": 326.0, "relativeCreated": 1664.733648300171, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Worker rq:worker:2ad4bb57f98a4c15b612f1984472c4dd started with PID 308817, version 1.15.1", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 569, "funcName": "bootstrap", "created": 1693323913.3274713, "msecs": 327.0, "relativeCreated": 1665.3697490692139, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Subscribing to channel rq:pubsub:2ad4bb57f98a4c15b612f1984472c4dd", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 613, "funcName": "subscribe", "created": 1693323913.3275394, "msecs": 327.0, "relativeCreated": 1665.437936782837, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "*** Listening on default...", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 573, "funcName": "bootstrap", "created": 1693323913.32804, "msecs": 328.0, "relativeCreated": 1665.938377380371, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Cleaning registries for queue: default", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 315, "funcName": "clean_registries", "created": 1693323913.3285015, "msecs": 328.0, "relativeCreated": 1666.3999557495117, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "default: worker.operations.data_card(artifact_id='artifact-0', dataset_id='artifact-0', job_id='extraction-29f92daa-aacd-4135-9bc7-fa5560f0fb45') (extraction-29f92daa-aacd-4135-9bc7-fa5560f0fb45)", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 669, "funcName": "dequeue_job_and_maintain_ttl", "created": 1693323913.3295312, "msecs": 329.0, "relativeCreated": 1667.4296855926514, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "worker.utils", "msg": "mock://filesave?filename=paper.pdf", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 119, "funcName": "get_artifact_from_tds", "created": 1693323913.3314123, "msecs": 331.0, "relativeCreated": 1669.3108081817627, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,331"}, {"name": "worker.utils", "msg": "ARTIFACT RETRIEVAL STATUS:200", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 123, "funcName": "get_artifact_from_tds", "created": 1693323913.3318973, "msecs": 331.0, "relativeCreated": 1669.7957515716553, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,331"}, {"name": "worker.utils", "msg": "DATASET RESPONSE JSON: {'id': 'artifact-0', 'name': 'data', 'description': 'test data', 'timestamp': '2023-07-17T19:11:43', 'file_names': ['data.csv'], 'metadata': {}}", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 134, "funcName": "get_dataset_from_tds", "created": 1693323913.3324277, "msecs": 332.0, "relativeCreated": 1670.3262329101562, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,332"}, {"name": "worker.utils", "msg": " mock://filesave?filename=data.csv", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 141, "funcName": "get_dataset_from_tds", "created": 1693323913.3329716, "msecs": 332.0, "relativeCreated": 1670.870065689087, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,332"}, {"name": "worker.utils", "msg": "", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 145, "funcName": "get_dataset_from_tds", "created": 1693323913.3334086, "msecs": 333.0, "relativeCreated": 1671.30708694458, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,333"}, {"name": "worker.operations", "msg": "Sending dataset artifact-0 to MIT service at http://mit:10/cards/get_data_card", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 263, "funcName": "data_card", "created": 1693323913.3405654, "msecs": 340.0, "relativeCreated": 1678.4639358520508, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,340"}, {"name": "worker.operations", "msg": "Response received from MIT with status: 200", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 268, "funcName": "data_card", "created": 1693323913.3412187, "msecs": 341.0, "relativeCreated": 1679.117202758789, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,341"}, {"name": "rq.worker", "msg": "default: Job OK (extraction-29f92daa-aacd-4135-9bc7-fa5560f0fb45)", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1463, "funcName": "perform_job", "created": 1693323913.342825, "msecs": 342.0, "relativeCreated": 1680.7234287261963, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Result is kept for 500 seconds", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1472, "funcName": "perform_job", "created": 1693323913.342869, "msecs": 342.0, "relativeCreated": 1680.76753616333, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Worker rq:worker:2ad4bb57f98a4c15b612f1984472c4dd: done, quitting", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 426, "funcName": "work", "created": 1693323913.3433528, "msecs": 343.0, "relativeCreated": 1681.2512874603271, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Unsubscribing from channel rq:pubsub:2ad4bb57f98a4c15b612f1984472c4dd", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 621, "funcName": "unsubscribe", "created": 1693323913.3435106, "msecs": 343.0, "relativeCreated": 1681.4091205596924, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "httpx", "msg": "HTTP Request: GET http://testserver/status/extraction-29f92daa-aacd-4135-9bc7-fa5560f0fb45 \"HTTP/1.1 200 OK\"", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/httpx/_client.py", "filename": "_client.py", "module": "_client", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1013, "funcName": "_send_single_request", "created": 1693323913.5401132, "msecs": 540.0, "relativeCreated": 1878.011703491211, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}]}, "teardown": {"duration": 0.0005304999940562993, "outcome": "passed"}}, {"nodeid": "tests/test_e2e.py::test_profile_model[basic]", "lineno": 242, "outcome": "passed", "keywords": ["test_profile_model[basic]", "parametrize", "pytestmark", "basic", "test_e2e.py", "tests/__init__.py", "ta1-service"], "setup": {"duration": 0.003552034992026165, "outcome": "passed"}, "call": {"duration": 0.22752022801432759, "outcome": "passed", "stderr": "INFO:httpx:HTTP Request: POST http://testserver/profile_model/artifact-0?paper_artifact_id=artifact-0 \"HTTP/1.1 200 OK\"\nINFO:rq.worker:Worker rq:worker:2a5b76fa21b4414fa115943e7460b4fc started with PID 308817, version 1.15.1\nINFO:rq.worker:Subscribing to channel rq:pubsub:2a5b76fa21b4414fa115943e7460b4fc\nINFO:rq.worker:*** Listening on default...\nINFO:rq.worker:Cleaning registries for queue: default\nINFO:rq.worker:default: worker.operations.model_card(job_id='extraction-ed80dc9d-c1fe-4ef1-9e5c-bd17e52917a2', model_id='artifact-0', paper_artifact_id='artifact-0') (extraction-ed80dc9d-c1fe-4ef1-9e5c-bd17e52917a2)\n2023-08-29 10:45:13,564 - worker.utils - INFO - [211] - Provenance code lookup for model ID artifact-0: {'result': ['artifact-0']}\nINFO:worker.utils:Provenance code lookup for model ID artifact-0: {'result': ['artifact-0']}\n2023-08-29 10:45:13,566 - worker.utils - INFO - [119] - mock://filesave?filename=paper.pdf\nINFO:worker.utils:mock://filesave?filename=paper.pdf\n2023-08-29 10:45:13,567 - worker.utils - INFO - [123] - ARTIFACT RETRIEVAL STATUS:200\nINFO:worker.utils:ARTIFACT RETRIEVAL STATUS:200\n2023-08-29 10:45:13,568 - worker.utils - INFO - [119] - mock://filesave?filename=paper.pdf\nINFO:worker.utils:mock://filesave?filename=paper.pdf\n2023-08-29 10:45:13,568 - worker.utils - INFO - [123] - ARTIFACT RETRIEVAL STATUS:200\nINFO:worker.utils:ARTIFACT RETRIEVAL STATUS:200\n2023-08-29 10:45:13,569 - worker.operations - INFO - [351] - Sending model artifact-0 to MIT service at http://mit:10/cards/get_model_card\nINFO:worker.operations:Sending model artifact-0 to MIT service at http://mit:10/cards/get_model_card\n2023-08-29 10:45:13,570 - worker.operations - INFO - [354] - Response received from MIT with status: 200\nINFO:worker.operations:Response received from MIT with status: 200\n2023-08-29 10:45:13,570 - worker.operations - INFO - [370] - Updated model artifact-0 in TDS: 200\nINFO:worker.operations:Updated model artifact-0 in TDS: 200\nINFO:rq.worker:default: Job OK (extraction-ed80dc9d-c1fe-4ef1-9e5c-bd17e52917a2)\nINFO:rq.worker:Result is kept for 500 seconds\nINFO:rq.worker:Worker rq:worker:2a5b76fa21b4414fa115943e7460b4fc: done, quitting\nINFO:rq.worker:Unsubscribing from channel rq:pubsub:2a5b76fa21b4414fa115943e7460b4fc\nINFO:httpx:HTTP Request: GET http://testserver/status/extraction-ed80dc9d-c1fe-4ef1-9e5c-bd17e52917a2 \"HTTP/1.1 200 OK\"\n", "log": [{"name": "httpx", "msg": "HTTP Request: POST http://testserver/profile_model/artifact-0?paper_artifact_id=artifact-0 \"HTTP/1.1 200 OK\"", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/httpx/_client.py", "filename": "_client.py", "module": "_client", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1013, "funcName": "_send_single_request", "created": 1693323913.5584726, "msecs": 558.0, "relativeCreated": 1896.3711261749268, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Worker rq:worker:2a5b76fa21b4414fa115943e7460b4fc started with PID 308817, version 1.15.1", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 569, "funcName": "bootstrap", "created": 1693323913.5597584, "msecs": 559.0, "relativeCreated": 1897.6569175720215, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Subscribing to channel rq:pubsub:2a5b76fa21b4414fa115943e7460b4fc", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 613, "funcName": "subscribe", "created": 1693323913.5598886, "msecs": 559.0, "relativeCreated": 1897.787094116211, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "*** Listening on default...", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 573, "funcName": "bootstrap", "created": 1693323913.56061, "msecs": 560.0, "relativeCreated": 1898.5085487365723, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Cleaning registries for queue: default", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 315, "funcName": "clean_registries", "created": 1693323913.5615034, "msecs": 561.0, "relativeCreated": 1899.4019031524658, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "default: worker.operations.model_card(job_id='extraction-ed80dc9d-c1fe-4ef1-9e5c-bd17e52917a2', model_id='artifact-0', paper_artifact_id='artifact-0') (extraction-ed80dc9d-c1fe-4ef1-9e5c-bd17e52917a2)", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 669, "funcName": "dequeue_job_and_maintain_ttl", "created": 1693323913.56296, "msecs": 562.0, "relativeCreated": 1900.8584022521973, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "worker.utils", "msg": "Provenance code lookup for model ID artifact-0: {'result': ['artifact-0']}", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 211, "funcName": "find_source_code", "created": 1693323913.5649834, "msecs": 564.0, "relativeCreated": 1902.8818607330322, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,564"}, {"name": "worker.utils", "msg": "mock://filesave?filename=paper.pdf", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 119, "funcName": "get_artifact_from_tds", "created": 1693323913.566598, "msecs": 566.0, "relativeCreated": 1904.496431350708, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,566"}, {"name": "worker.utils", "msg": "ARTIFACT RETRIEVAL STATUS:200", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 123, "funcName": "get_artifact_from_tds", "created": 1693323913.5672386, "msecs": 567.0, "relativeCreated": 1905.137062072754, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,567"}, {"name": "worker.utils", "msg": "mock://filesave?filename=paper.pdf", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 119, "funcName": "get_artifact_from_tds", "created": 1693323913.5683455, "msecs": 568.0, "relativeCreated": 1906.2440395355225, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,568"}, {"name": "worker.utils", "msg": "ARTIFACT RETRIEVAL STATUS:200", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/utils.py", "filename": "utils.py", "module": "utils", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 123, "funcName": "get_artifact_from_tds", "created": 1693323913.5687644, "msecs": 568.0, "relativeCreated": 1906.662940979004, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,568"}, {"name": "worker.operations", "msg": "Sending model artifact-0 to MIT service at http://mit:10/cards/get_model_card", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 351, "funcName": "model_card", "created": 1693323913.5696194, "msecs": 569.0, "relativeCreated": 1907.517910003662, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,569"}, {"name": "worker.operations", "msg": "Response received from MIT with status: 200", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 354, "funcName": "model_card", "created": 1693323913.5701797, "msecs": 570.0, "relativeCreated": 1908.0781936645508, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,570"}, {"name": "worker.operations", "msg": "Updated model artifact-0 in TDS: 200", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/ta1-service/worker/operations.py", "filename": "operations.py", "module": "operations", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 370, "funcName": "model_card", "created": 1693323913.5707242, "msecs": 570.0, "relativeCreated": 1908.6227416992188, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817, "asctime": "2023-08-29 10:45:13,570"}, {"name": "rq.worker", "msg": "default: Job OK (extraction-ed80dc9d-c1fe-4ef1-9e5c-bd17e52917a2)", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1463, "funcName": "perform_job", "created": 1693323913.5714614, "msecs": 571.0, "relativeCreated": 1909.3599319458008, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Result is kept for 500 seconds", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1472, "funcName": "perform_job", "created": 1693323913.5715005, "msecs": 571.0, "relativeCreated": 1909.3990325927734, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Worker rq:worker:2a5b76fa21b4414fa115943e7460b4fc: done, quitting", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 426, "funcName": "work", "created": 1693323913.57196, "msecs": 571.0, "relativeCreated": 1909.8584651947021, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "rq.worker", "msg": "Unsubscribing from channel rq:pubsub:2a5b76fa21b4414fa115943e7460b4fc", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "filename": "worker.py", "module": "worker", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 621, "funcName": "unsubscribe", "created": 1693323913.5721145, "msecs": 572.0, "relativeCreated": 1910.01296043396, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}, {"name": "httpx", "msg": "HTTP Request: GET http://testserver/status/extraction-ed80dc9d-c1fe-4ef1-9e5c-bd17e52917a2 \"HTTP/1.1 200 OK\"", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/httpx/_client.py", "filename": "_client.py", "module": "_client", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 1013, "funcName": "_send_single_request", "created": 1693323913.773076, "msecs": 773.0, "relativeCreated": 2110.9745502471924, "thread": 140505407432512, "threadName": "MainThread", "processName": "MainProcess", "process": 308817}]}, "teardown": {"duration": 0.0005158160056453198, "outcome": "passed"}}], "warnings": [{"message": "CLIENT SETNAME command not supported, setting ip_address to unknown", "category": "Warning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "lineno": 206}, {"message": "The `push_connection` function is deprecated. Pass the `connection` explicitly instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/connections.py", "lineno": 58}, {"message": "The `pop_connection` function is deprecated. Pass the `connection` explicitly instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/connections.py", "lineno": 72}, {"message": "job.exc_info is deprecated, use job.latest_result() instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/job.py", "lineno": 796}, {"message": "CLIENT SETNAME command not supported, setting ip_address to unknown", "category": "Warning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "lineno": 206}, {"message": "The `push_connection` function is deprecated. Pass the `connection` explicitly instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/connections.py", "lineno": 58}, {"message": "The `pop_connection` function is deprecated. Pass the `connection` explicitly instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/connections.py", "lineno": 72}, {"message": "job.exc_info is deprecated, use job.latest_result() instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/job.py", "lineno": 796}, {"message": "CLIENT SETNAME command not supported, setting ip_address to unknown", "category": "Warning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "lineno": 206}, {"message": "The `push_connection` function is deprecated. Pass the `connection` explicitly instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/connections.py", "lineno": 58}, {"message": "The `pop_connection` function is deprecated. Pass the `connection` explicitly instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/connections.py", "lineno": 72}, {"message": "job.exc_info is deprecated, use job.latest_result() instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/job.py", "lineno": 796}, {"message": "job.result is deprecated, use job.return_value instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/job.py", "lineno": 860}, {"message": "CLIENT SETNAME command not supported, setting ip_address to unknown", "category": "Warning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "lineno": 206}, {"message": "Use 'content=<...>' to upload raw bytes/text content.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/httpx/_content.py", "lineno": 204}, {"message": "The `push_connection` function is deprecated. Pass the `connection` explicitly instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/connections.py", "lineno": 58}, {"message": "The `pop_connection` function is deprecated. Pass the `connection` explicitly instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/connections.py", "lineno": 72}, {"message": "job.exc_info is deprecated, use job.latest_result() instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/job.py", "lineno": 796}, {"message": "job.result is deprecated, use job.return_value instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/job.py", "lineno": 860}, {"message": "CLIENT SETNAME command not supported, setting ip_address to unknown", "category": "Warning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "lineno": 206}, {"message": "The `push_connection` function is deprecated. Pass the `connection` explicitly instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/connections.py", "lineno": 58}, {"message": "The `pop_connection` function is deprecated. Pass the `connection` explicitly instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/connections.py", "lineno": 72}, {"message": "job.exc_info is deprecated, use job.latest_result() instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/job.py", "lineno": 796}, {"message": "CLIENT SETNAME command not supported, setting ip_address to unknown", "category": "Warning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/worker.py", "lineno": 206}, {"message": "The `push_connection` function is deprecated. Pass the `connection` explicitly instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/connections.py", "lineno": 58}, {"message": "The `pop_connection` function is deprecated. Pass the `connection` explicitly instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/connections.py", "lineno": 72}, {"message": "job.exc_info is deprecated, use job.latest_result() instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "/home/five/.cache/pypoetry/virtualenvs/ta1-service-MhzP-1Eq-py3.11/lib/python3.11/site-packages/rq/job.py", "lineno": 796}]} \ No newline at end of file diff --git a/tests/resources.yaml b/tests/resources.yaml new file mode 100644 index 0000000..e9270af --- /dev/null +++ b/tests/resources.yaml @@ -0,0 +1,24 @@ +--- +pdf_extraction: + - text.json + - paper.pdf + - extractions.json +pdf_to_text: + - text.json + - paper.pdf +code_to_amr: + - code.py + - amr.json +equations_to_amr: + - equations.txt + - amr.json +profile_dataset: + - text.json + - paper.pdf + - data.csv + - data_card.json +profile_model: + - text.json + - paper.pdf + - code.py + - amr.json diff --git a/tests/resources/basic_code_to_amr/amr.json b/tests/resources/basic_code_to_amr/amr.json deleted file mode 100644 index 124f811..0000000 --- a/tests/resources/basic_code_to_amr/amr.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "name":"mathml model", - "schema":"https://github.com/DARPA-ASKEM/Model-Representations/blob/main/petrinet/petrinet_schema.json", - "schema_name":"PetriNet", - "description":"This is a model from mathml equations", - "model_version":"0.1", - "model":{ - "states":[ - { - "id":"i", - "name":"i" - }, - { - "id":"r", - "name":"r" - }, - { - "id":"s", - "name":"s" - } - ], - "transitions":[ - { - "id":"t0", - "input":[ - "i" - ], - "output":[ - "r" - ], - "grounding":null - } - ] - }, - "semantics":{ - "ode":{ - "rates":[ - { - "target":"t0", - "expression":"gamma*i*", - "expression_mathml":"igamma" - } - ], - "initials":[ - { - "target":"s", - "expression":"s0", - "expression_mathml":"" - }, - { - "target":"i", - "expression":"i0", - "expression_mathml":"" - }, - { - "target":"r", - "expression":"r0", - "expression_mathml":"" - } - ], - "parameters":[ - { - "id":"beta", - "name":"beta", - "description":"beta rate" - }, - { - "id":"gamma", - "name":"gamma", - "description":"gamma rate" - }, - { - "id":"i0", - "name":"i0", - "description":"The total i population at timestep 0" - }, - { - "id":"r0", - "name":"r0", - "description":"The total r population at timestep 0" - }, - { - "id":"s0", - "name":"s0", - "description":"The total s population at timestep 0" - } - ] - } - } -} \ No newline at end of file diff --git a/tests/resources/basic_equations_to_amr/amr.json b/tests/resources/basic_equations_to_amr/amr.json deleted file mode 100644 index b4b0079..0000000 --- a/tests/resources/basic_equations_to_amr/amr.json +++ /dev/null @@ -1,254 +0,0 @@ -{ - "name": "LaTex Model", - "schema": "https://github.com/DARPA-ASKEM/Model-Representations/blob/main/petrinet/petrinet_schema.json", - "schema_name": "PetriNet", - "description": "Example LaTeX model", - "model_version": "0.1", - "model": { - "states": [ - { - "id": "D", - "name": "D" - }, - { - "id": "E", - "name": "E" - }, - { - "id": "H", - "name": "H" - }, - { - "id": "I", - "name": "I" - }, - { - "id": "R", - "name": "R" - }, - { - "id": "S", - "name": "S" - } - ], - "transitions": [ - { - "id": "t0", - "input": [ - "S", - "I" - ], - "output": [ - "E", - "I" - ], - "grounding": null - }, - { - "id": "t1", - "input": [ - "E" - ], - "output": [ - "I" - ], - "grounding": null - }, - { - "id": "t2", - "input": [ - "I" - ], - "output": [ - "H" - ], - "grounding": null - }, - { - "id": "t3", - "input": [ - "I" - ], - "output": [ - "R" - ], - "grounding": null - }, - { - "id": "t4", - "input": [ - "H" - ], - "output": [ - "R" - ], - "grounding": null - }, - { - "id": "t5", - "input": [ - "H" - ], - "output": [ - "D" - ], - "grounding": null - } - ] - }, - "semantics": { - "ode": { - "rates": [ - { - "target": "t0", - "expression": "β*N*S*I", - "expression_mathml": "SβIN" - }, - { - "target": "t1", - "expression": "r_{EI}*E*", - "expression_mathml": "r_{EI}E" - }, - { - "target": "t2", - "expression": "r_{IH}*p_{IH}*I*", - "expression_mathml": "Ir_{IH}p_{IH}" - }, - { - "target": "t3", - "expression": "r_{IR}*p_{IR}*I*", - "expression_mathml": "Ir_{IR}p_{IR}" - }, - { - "target": "t4", - "expression": "r_{HR}*p_{HR}*H*", - "expression_mathml": "Hr_{HR}p_{HR}" - }, - { - "target": "t5", - "expression": "r_{HD}*p_{HD}*H*", - "expression_mathml": "Hr_{HD}p_{HD}" - } - ], - "initials": [ - { - "target": "S", - "expression": "S0", - "expression_mathml": "" - }, - { - "target": "E", - "expression": "E0", - "expression_mathml": "" - }, - { - "target": "I", - "expression": "I0", - "expression_mathml": "" - }, - { - "target": "H", - "expression": "H0", - "expression_mathml": "" - }, - { - "target": "R", - "expression": "R0", - "expression_mathml": "" - }, - { - "target": "D", - "expression": "D0", - "expression_mathml": "" - } - ], - "parameters": [ - { - "id": "D0", - "name": "D0", - "description": "The total D population at timestep 0" - }, - { - "id": "E0", - "name": "E0", - "description": "The total E population at timestep 0" - }, - { - "id": "H0", - "name": "H0", - "description": "The total H population at timestep 0" - }, - { - "id": "I0", - "name": "I0", - "description": "The total I population at timestep 0" - }, - { - "id": "N", - "name": "N", - "description": "N rate" - }, - { - "id": "R0", - "name": "R0", - "description": "The total R population at timestep 0" - }, - { - "id": "S0", - "name": "S0", - "description": "The total S population at timestep 0" - }, - { - "id": "p_{HD}", - "name": "p_{HD}", - "description": "p_{HD} rate" - }, - { - "id": "p_{HR}", - "name": "p_{HR}", - "description": "p_{HR} rate" - }, - { - "id": "p_{IH}", - "name": "p_{IH}", - "description": "p_{IH} rate" - }, - { - "id": "p_{IR}", - "name": "p_{IR}", - "description": "p_{IR} rate" - }, - { - "id": "r_{EI}", - "name": "r_{EI}", - "description": "r_{EI} rate" - }, - { - "id": "r_{HD}", - "name": "r_{HD}", - "description": "r_{HD} rate" - }, - { - "id": "r_{HR}", - "name": "r_{HR}", - "description": "r_{HR} rate" - }, - { - "id": "r_{IH}", - "name": "r_{IH}", - "description": "r_{IH} rate" - }, - { - "id": "r_{IR}", - "name": "r_{IR}", - "description": "r_{IR} rate" - }, - { - "id": "β", - "name": "β", - "description": "β rate" - } - ] - } - } - } \ No newline at end of file diff --git a/tests/resources/basic_pdf_to_text/text.json b/tests/resources/basic_pdf_to_text/text.json deleted file mode 100644 index 5eaa7d7..0000000 --- a/tests/resources/basic_pdf_to_text/text.json +++ /dev/null @@ -1,5172 +0,0 @@ -[ - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 107.0, - 1275.0, - 195.0 - ], - "classes":[ - "Equation label", - "Section Header", - "Page Header", - "Body Text", - "Figure", - "Other", - "Equation", - "Reference text", - "Figure Caption", - "Table", - "Page Footer", - "Table Note", - "Table Caption", - "Abstract" - ], - "scores":[ - -5.158577919, - -8.3714532852, - -10.0183992386, - -10.2071590424, - -11.1120090485, - -11.1143541336, - -11.2161874771, - -13.0983781815, - -15.0558624268, - -15.1471719742, - -15.9366912842, - -18.405462265, - -18.7139511108, - -18.9916629791 - ], - "content":"", - "postprocess_cls":"Page Header", - "postprocess_score":0.9985458851, - "detect_cls":"Equation label", - "detect_score":-5.158577919 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 80.0, - 234.0, - 1197.0, - 305.0 - ], - "classes":[ - "Body Text", - "Other", - "Equation label", - "Section Header", - "Reference text", - "Table Note", - "Page Footer", - "Figure", - "Abstract", - "Equation", - "Page Header", - "Table", - "Figure Caption", - "Table Caption" - ], - "scores":[ - -1.9848747253, - -7.259475708, - -11.0177192688, - -12.7866334915, - -13.10891819, - -14.0849218369, - -14.3103981018, - -14.6399879456, - -14.7027568817, - -15.8481864929, - -16.2041015625, - -17.3444747925, - -17.9344902039, - -20.9808273315 - ], - "content":"Article Dynamical Analysis of Universal Masking on the Pandemic", - "postprocess_cls":"Body Text", - "postprocess_score":0.9914546013, - "detect_cls":"Body Text", - "detect_score":-1.9848747253 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 83.0, - 343.0, - 1044.0, - 370.0 - ], - "classes":[ - "Section Header", - "Other", - "Equation label", - "Equation", - "Body Text", - "Page Footer", - "Figure", - "Reference text", - "Abstract", - "Table Note", - "Table Caption", - "Table", - "Figure Caption", - "Page Header" - ], - "scores":[ - -2.0326740742, - -2.7304286957, - -4.5183801651, - -5.2259273529, - -6.2282066345, - -6.3734707832, - -6.7899360657, - -7.0165834427, - -7.4191837311, - -7.4662895203, - -7.9870581627, - -8.0286159515, - -8.2380943298, - -8.6224336624 - ], - "content":"Brandon Kaiheng Tay † , Carvalho Andrea Roby †, Jodi Wenjiang Wu † and Da Yang Tan *", - "postprocess_cls":"Section Header", - "postprocess_score":0.9072340131, - "detect_cls":"Section Header", - "detect_score":-2.0326740742 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 418.0, - 1226.0, - 535.0 - ], - "classes":[ - "Page Footer", - "Other", - "Table Note", - "Table", - "Page Header", - "Figure", - "Body Text", - "Table Caption", - "Figure Caption", - "Reference text", - "Abstract", - "Section Header", - "Equation label", - "Equation" - ], - "scores":[ - -2.5388700962, - -3.7671117783, - -5.0030655861, - -5.7867355347, - -6.5778765678, - -6.8421964645, - -6.8604774475, - -7.6586065292, - -7.836004734, - -7.9547429085, - -8.0516815186, - -9.3464565277, - -9.8778991699, - -10.1746559143 - ], - "content":"Science, Mathematics and Technology, Singapore University of Technology and Design, 8 Somapah Road, Singapore 487372, Singapore; brandontay6@gmail.com (B.K.T.); andwea3@gmail.com (C.A.R.); jodiwwj@gmail.com (J.W.W.) * Correspondence: dayang_tan@sutd.edu.sg † These authors contributed equally to this work.", - "postprocess_cls":"Other", - "postprocess_score":0.6949161887, - "detect_cls":"Page Footer", - "detect_score":-2.5388700962 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 573.0, - 1278.0, - 890.0 - ], - "classes":[ - "Abstract", - "Other", - "Section Header", - "Body Text", - "Equation label", - "Reference text", - "Table Note", - "Table", - "Figure Caption", - "Figure", - "Page Footer", - "Table Caption", - "Page Header", - "Equation" - ], - "scores":[ - -6.553381443, - -7.0592031479, - -7.5321784019, - -8.1746530533, - -9.3305721283, - -9.5875043869, - -10.8356370926, - -10.9991464615, - -11.3415498734, - -11.5023822784, - -11.6590452194, - -11.7893009186, - -12.5354270935, - -14.5688781738 - ], - "content":"Abstract: We investigate the impact of the delay in compulsory mask wearing on the spread of COVID-19 in the community, set in the Singapore context. By using modified SEIR-based compart- mental models, we focus on macroscopic population-level analysis of the relationships between the delay in compulsory mask wearing and the maximum infection, through a series of scenario-based analysis. Our analysis suggests that collective masking can meaningfully reduce the transmission of COVID-19 in the community, but only if implemented within a critical time window of approximately before 80–100 days delay after the first infection is detected, coupled with strict enforcement to ensure compliance throughout the duration. We also identify a delay threshold of about 100 days that results in masking enforcement having little significant impact on the Maximum Infected Values. The results therefore highlight the necessity for rapid implementation of compulsory mask wearing to curb the spread of the pandemic.", - "postprocess_cls":"Abstract", - "postprocess_score":0.9484135509, - "detect_cls":"Abstract", - "detect_score":-6.553381443 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 926.0, - 1275.0, - 984.0 - ], - "classes":[ - "Body Text", - "Page Header", - "Other", - "Equation label", - "Figure", - "Section Header", - "Equation", - "Table", - "Figure Caption", - "Page Footer", - "Reference text", - "Abstract", - "Table Caption", - "Table Note" - ], - "scores":[ - -5.5984277725, - -6.6887278557, - -7.2796764374, - -7.5727577209, - -8.1192560196, - -8.3920602798, - -9.5373849869, - -9.6610832214, - -10.6693582535, - -11.2980852127, - -12.0429611206, - -12.0956077576, - -12.9813222885, - -13.2261285782 - ], - "content":"Keywords: SEIR model; SEIS model; mask wearing; compartmental model; epidemic modelling", - "postprocess_cls":"Body Text", - "postprocess_score":0.7085515261, - "detect_cls":"Body Text", - "detect_score":-5.5984277725 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1002.0, - 345.0, - 1154.0 - ], - "classes":[ - "Body Text", - "Section Header", - "Figure", - "Other", - "Page Header", - "Figure Caption", - "Reference text", - "Equation label", - "Abstract", - "Table Note", - "Page Footer", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - -0.4976767898, - -7.6454410553, - -9.3069028854, - -9.428153038, - -9.6553201675, - -10.0410013199, - -10.3448381424, - -10.689655304, - -11.2578315735, - -11.2712049484, - -11.7054204941, - -15.0347061157, - -15.1838083267, - -15.3739404678 - ], - "content":"Citation: Tay, B.K.; Roby, C.A.; Wu, J.W.; Tan, D.Y. Dynamical Analysis of Universal Masking on the Pandemic. Int. J. Environ. Res. Public Health 2021, 18, 9027. https:// doi.org/10.3390/ijerph18179027", - "postprocess_cls":"Body Text", - "postprocess_score":0.8970527649, - "detect_cls":"Body Text", - "detect_score":-0.4976767898 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1038.0, - 536.0, - 1055.0 - ], - "classes":[ - "Body Text", - "Section Header", - "Page Header", - "Figure", - "Reference text", - "Other", - "Page Footer", - "Equation label", - "Figure Caption", - "Equation", - "Table Note", - "Abstract", - "Table", - "Table Caption" - ], - "scores":[ - -1.8938975334, - -4.3468050957, - -5.930565834, - -7.1995210648, - -7.2024521828, - -7.6047611237, - -8.6509456635, - -9.3752946854, - -9.4793462753, - -11.2701282501, - -11.3327894211, - -11.9113807678, - -12.3241205215, - -13.5627841949 - ], - "content":"1. Introduction", - "postprocess_cls":"Section Header", - "postprocess_score":0.9995450377, - "detect_cls":"Body Text", - "detect_score":-1.8938975334 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1074.0, - 1278.0, - 1755.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Section Header", - "Reference text", - "Page Footer", - "Abstract", - "Table Note", - "Figure Caption", - "Figure", - "Page Header", - "Other", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - 0.7251604199, - -15.622086525, - -15.7503271103, - -15.8251218796, - -16.0309772491, - -16.1873703003, - -16.934419632, - -17.0300006866, - -17.3174877167, - -19.9234809875, - -20.3943519592, - -24.590473175, - -24.6434822083, - -27.056306839 - ], - "content":"In the light of the COVID-19 pandemic, the Singapore government declared with effect as of 14 April 2020, an enforcement of compulsory mask wearing in public spaces, 89 days after the first case of COVID-19 was detected in Singapore. The usage of masks is known to effectively decrease the infection rate. It has shown success in limiting community spread of SARS 2003 [1], and more recently, in Taiwan's management of COVID-19 [2]. Recent hypothetical studies on masking by the states of New York and Washington suggests a potential prevention of up to 45% of their projected death rates [3]. In this study of potential face-mask usage for the general public, the authors investigated how public masking can control the infection, in the context of the USA. However, not much was mentioned about how the delayed enforcement of such a policy would affect the infection numbers. In another study on public masking [4], the authors studied how factors such as the filtering capability of different mask materials, as well as sociological behaviour patterns on masking, would affect the efficacy of this policy. A comprehensive data-driven study on COVID-19 waves worldwide and strategies to mitigate them conducted by Lai and Cheong [5] also did not provide detailed analysis of mask wearing policies and its effectiveness. Concluding this literature review, it is apparent that in-depth studies on the impact of delayed mask enforcement on the spread of COVID-19 in the community is limited. This paper thus seeks to investigate the relationship between delay in compulsory mask wearing and the Maximum Infected Values, through a series of scenario-based what- if analysis. We would be considering 3 scenarios using 2 compartmental models—the SEIR and the SEIRS model. The use of compartmental models for modelling the spread of COVID-19 has been explored recently, such as to study the lockdown measures [6,7], or with variant to include the effects of age-structure within the population [8] and different", - "postprocess_cls":"Body Text", - "postprocess_score":0.9998295307, - "detect_cls":"Body Text", - "detect_score":0.7251604199 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1192.0, - 310.0, - 1208.0 - ], - "classes":[ - "Other", - "Page Footer", - "Section Header", - "Body Text", - "Equation label", - "Table Note", - "Reference text", - "Figure", - "Abstract", - "Page Header", - "Table", - "Table Caption", - "Equation", - "Figure Caption" - ], - "scores":[ - -2.9890294075, - -3.3959157467, - -4.593378067, - -6.244890213, - -6.5497121811, - -7.2422127724, - -7.3849005699, - -7.4488811493, - -7.4600481987, - -7.6431908607, - -7.7195529938, - -7.9713959694, - -7.9969091415, - -8.4315900803 - ], - "content":"Academic Editor: Jimmy T. Efird", - "postprocess_cls":"Section Header", - "postprocess_score":0.9993419051, - "detect_cls":"Other", - "detect_score":-2.9890294075 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1247.0, - 268.0, - 1318.0 - ], - "classes":[ - "Other", - "Body Text", - "Section Header", - "Equation label", - "Reference text", - "Figure", - "Page Footer", - "Equation", - "Table Note", - "Table", - "Abstract", - "Page Header", - "Table Caption", - "Figure Caption" - ], - "scores":[ - -4.1823372841, - -5.1112661362, - -6.9629349709, - -7.0838446617, - -7.7467865944, - -7.8375759125, - -8.8564739227, - -8.9725866318, - -9.1548099518, - -9.5617437363, - -9.6012058258, - -11.4223642349, - -12.3504314423, - -12.5159215927 - ], - "content":"Received: 20 June 2021 Accepted: 24 August 2021 Published: 27 August 2021", - "postprocess_cls":"Body Text", - "postprocess_score":0.6687924266, - "detect_cls":"Other", - "detect_score":-4.1823372841 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1359.0, - 351.0, - 1453.0 - ], - "classes":[ - "Section Header", - "Page Footer", - "Reference text", - "Body Text", - "Other", - "Table Note", - "Figure", - "Equation", - "Abstract", - "Figure Caption", - "Table Caption", - "Equation label", - "Table", - "Page Header" - ], - "scores":[ - -5.8428478241, - -6.3360619545, - -7.2266125679, - -7.5321187973, - -8.2308416367, - -9.9798364639, - -10.8188667297, - -11.5504598618, - -11.6129703522, - -11.9741849899, - -12.2181940079, - -12.3263959885, - -12.5641174316, - -13.806722641 - ], - "content":"Publisher's Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affil- iations.", - "postprocess_cls":"Body Text", - "postprocess_score":0.7294377089, - "detect_cls":"Section Header", - "detect_score":-5.8428478241 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1500.0, - 350.0, - 1767.0 - ], - "classes":[ - "Section Header", - "Page Footer", - "Figure Caption", - "Other", - "Figure", - "Body Text", - "Abstract", - "Reference text", - "Table Note", - "Equation", - "Table Caption", - "Table", - "Equation label", - "Page Header" - ], - "scores":[ - -6.5802001953, - -7.0285143852, - -8.0855836868, - -8.2666950226, - -8.3461647034, - -8.6726207733, - -9.8244400024, - -10.4466161728, - -11.00852108, - -11.2992296219, - -11.4344749451, - -12.3009567261, - -12.8775424957, - -14.8131856918 - ], - "content":"Copyright: © 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).", - "postprocess_cls":"Body Text", - "postprocess_score":0.4166562259, - "detect_cls":"Section Header", - "detect_score":-6.5802001953 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 1843.0, - 1275.0, - 1876.0 - ], - "classes":[ - "Page Footer", - "Page Header", - "Reference text", - "Equation label", - "Table", - "Other", - "Body Text", - "Table Note", - "Equation", - "Figure", - "Table Caption", - "Abstract", - "Figure Caption", - "Section Header" - ], - "scores":[ - -0.5714578032, - -4.4968333244, - -4.5759072304, - -4.8665537834, - -5.7643418312, - -5.7929019928, - -5.9571275711, - -6.7715325356, - -7.1043848991, - -7.6470108032, - -8.7554969788, - -9.1320457458, - -9.1481485367, - -9.5743207932 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027. https://doi.org/10.3390/ijerph18179027 https://www.mdpi.com/journal/ijerph", - "postprocess_cls":"Page Footer", - "postprocess_score":0.9999275208, - "detect_cls":"Page Footer", - "detect_score":-0.5714578032 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Other", - "Reference text", - "Table", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -1.69619596, - -3.2141313553, - -3.9378855228, - -4.8566551208, - -5.4208545685, - -5.9383769035, - -6.2361469269, - -6.353307724, - -6.3739156723, - -6.5636873245, - -7.3287501335, - -7.3517103195, - -8.558930397, - -8.8238668442 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 2 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9995732903, - "detect_cls":"Page Header", - "detect_score":-1.69619596 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 219.0, - 1276.0, - 529.0 - ], - "classes":[ - "Body Text", - "Figure Caption", - "Figure", - "Equation label", - "Page Footer", - "Section Header", - "Abstract", - "Table Note", - "Reference text", - "Page Header", - "Other", - "Table Caption", - "Equation", - "Table" - ], - "scores":[ - -0.5451325774, - -10.4853096008, - -12.1630077362, - -13.2492980957, - -13.500875473, - -13.7242078781, - -14.071103096, - -14.4545812607, - -14.7841234207, - -15.7971820831, - -18.4810504913, - -20.4726238251, - -22.414308548, - -22.4882659912 - ], - "content":"social settings [9]. For the SEIR model, we consider a complete compliance, and gradual noncompliance over time. Using an SEIRS model, we consider a third scenario taking into account time-limited immunity. Results from simulating these 3 scenarios would hopefully shed light on the effects of delaying the usage of masks and how the containment of epidemic could have been more effective in Singapore. To model the pandemic from a macroscopic view point, we use modified versions of the model, which consists of a number of compartments described by a system of differential equations in Sections 2 and 3. To solve these equations, we implemented the model in Python using the Odeint package. We then modify the Delay of Mask Enforcement by plotting several data sets and recording the resulting Maximum Infection Value predicted by our model. This was performed over 3 different scenarios:", - "postprocess_cls":"Body Text", - "postprocess_score":0.9443999529, - "detect_cls":"Body Text", - "detect_score":-0.5451325774 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 430.0, - 546.0, - 1278.0, - 1078.0 - ], - "classes":[ - "Body Text", - "Page Footer", - "Figure Caption", - "Equation label", - "Abstract", - "Reference text", - "Figure", - "Table Note", - "Page Header", - "Section Header", - "Other", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - -1.7037055492, - -12.2971372604, - -12.7130117416, - -14.0141639709, - -14.4679946899, - -14.7939186096, - -15.6933107376, - -16.0003376007, - -16.9068927765, - -19.4729213715, - -19.6528110504, - -23.4287376404, - -23.999332428, - -24.6993846893 - ], - "content":"Scenario 1: The first scenario considers the most basic case of complete compliance of the masking enforcement, from the day it was enforced throughout its duration. It also does not account for time-limited immunity [10], where infected individuals become susceptible again after a period of time. Scenario 2: The second scenario closely resembles the first, but with the addition of gradual noncompliance of the masking enforcement. The root of noncompliance stems from either lack of medical knowledge, wishful thinking that the pandemic will magically disappear, selfish behaviour of individuals, pandemic fatigue etc. Here, we assume that onset of the noncompliance is triggered by an event, for instance, changes in government policies. As an illustration, the Singapore government announced the Phase 2 of its gradual reopening plan on 18 June 2020 (154 days after the first case in Singapore) where members of the public were allowed to visit shopping malls and dine-in at food establishments, it was observed that a minority of individuals did not comply with the masking regulations. Scenario 3: The third scenario is almost identical to the first, but now accounts for time-limited immunity. After 90 days, it has been shown that a recovered individual may become susceptible to the virus again [11]. This scenario serves as a comparison to investigate if the immunity factor would worsen the effects of the delay of mask enforcement on the maximum infected values.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9966195822, - "detect_cls":"Body Text", - "detect_score":-1.7037055492 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 550.0, - 392.0, - 959.0 - ], - "classes":[ - "Figure", - "Page Footer", - "Body Text", - "Page Header", - "Equation", - "Equation label", - "Table", - "Other", - "Reference text", - "Section Header", - "Figure Caption", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -3.9439780712, - -5.3267054558, - -6.2526054382, - -7.1189422607, - -7.8562464714, - -8.1171293259, - -9.2266807556, - -9.8653507233, - -10.498093605, - -10.6506376266, - -11.1741914749, - -11.8317804337, - -13.3176107407, - -13.9674358368 - ], - "content":"• • •", - "postprocess_cls":"Figure", - "postprocess_score":0.52900666, - "detect_cls":"Figure", - "detect_score":-3.9439780712 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1101.0, - 1278.0, - 1576.0 - ], - "classes":[ - "Body Text", - "Reference text", - "Equation label", - "Abstract", - "Page Footer", - "Section Header", - "Table Note", - "Other", - "Figure", - "Figure Caption", - "Page Header", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -0.6825846434, - -15.3944978714, - -15.428196907, - -16.5312175751, - -16.6540126801, - -18.0022602081, - -20.0354576111, - -20.8560085297, - -21.1997718811, - -21.5778102875, - -21.596364975, - -28.5442733765, - -29.507566452, - -30.4051780701 - ], - "content":"Here we highlight that effective control of the COVID19 pandemic cannot be achieved by the universal masking enforcement alone, but a strong combination factors such as social distancing enforcement, rapid roll-out of mass testing, lockdowns and extensive quarantine measures. However, these are outside the scope of our analysis, as we aim to both model and investigate how the delay of public masking enforcement affects its effectiveness in controlling the pandemic. We have thus considered the effects of universal masking in isolation of the other factors for the purpose of this analysis. Sections 2 and 3 of this article describe and explain the SEIR and SEIRS mathematical models we implemented. Section 4 describes the mathematical modelling of the relation- ship between the mask wearing and the infection rate with respect to time t. Section 5 describes the epidemiological parameters implemented in our models. Brief justification of their values are also included. Section 6 comprises the results and discussion, and is divided into 3 sub-sections. Section 6.1 explains the dynamics of the delay in compulsory mask wearing, and discusses its effects as demonstrated by our models. Section 6.2 ex- plains the effects of this delay on the Maximum Infected Values for each of the 3 scenarios. Section 6.3 discusses the limitations of our study. Finally, Section 7 wraps up the discussion with a conclusion.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9997990727, - "detect_cls":"Body Text", - "detect_score":-0.6825846434 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1610.0, - 531.0, - 1627.0 - ], - "classes":[ - "Body Text", - "Page Footer", - "Other", - "Section Header", - "Figure", - "Reference text", - "Equation label", - "Equation", - "Table Note", - "Table", - "Figure Caption", - "Page Header", - "Abstract", - "Table Caption" - ], - "scores":[ - -4.2576880455, - -5.7159318924, - -6.2077884674, - -6.4353137016, - -7.9118890762, - -8.0875310898, - -8.1936368942, - -8.9437570572, - -9.4237642288, - -9.8112573624, - -10.0816755295, - -10.3704032898, - -11.5863780975, - -11.9120559692 - ], - "content":"2. SEIR Model", - "postprocess_cls":"Section Header", - "postprocess_score":0.9992983341, - "detect_cls":"Body Text", - "detect_score":-4.2576880455 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 1645.0, - 1278.0, - 1783.0 - ], - "classes":[ - "Body Text", - "Abstract", - "Figure Caption", - "Page Footer", - "Reference text", - "Table Note", - "Figure", - "Section Header", - "Other", - "Page Header", - "Equation label", - "Table Caption", - "Table", - "Equation" - ], - "scores":[ - -6.8442792892, - -14.5340843201, - -15.9826402664, - -16.779340744, - -18.0857620239, - -19.8811759949, - -22.0744285583, - -24.9976997375, - -25.2601032257, - -25.4991168976, - -25.9981155396, - -26.0339317322, - -28.6102046967, - -34.445186615 - ], - "content":"Compartmentalized mathematical models have been regularly used to model infec- tious diseases. The most basic SIR (Susceptible, Infected, Removed) was developed in the early twentieth century by Ronald Ross, William Hamer, and many others [12], and has been heavily modified since, with the addition of new compartments and parameters. More recently, the use of similar models have resurfaced to model the COVID19 situation", - "postprocess_cls":"Body Text", - "postprocess_score":0.9988446236, - "detect_cls":"Body Text", - "detect_score":-6.8442792892 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Other", - "Figure", - "Table", - "Reference text", - "Table Note", - "Table Caption", - "Abstract", - "Equation" - ], - "scores":[ - -2.3664302826, - -2.9404520988, - -3.2837388515, - -4.0985455513, - -4.7677974701, - -5.3199496269, - -5.6641254425, - -5.7271747589, - -5.8400988579, - -5.9454283714, - -6.2081561089, - -6.536760807, - -7.8253655434, - -8.1519069672 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 3 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9991918206, - "detect_cls":"Page Header", - "detect_score":-2.3664302826 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 224.0, - 1277.0, - 418.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Reference text", - "Page Footer", - "Figure", - "Page Header", - "Section Header", - "Table Note", - "Abstract", - "Other", - "Figure Caption", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 0.4304295182, - -10.1913642883, - -12.402302742, - -14.7456035614, - -15.7327041626, - -16.9917621613, - -17.6852760315, - -18.2479972839, - -18.9947147369, - -19.0640888214, - -19.0708618164, - -21.1419143677, - -24.5851593018, - -28.4060916901 - ], - "content":"in many countries. Recent epidemiological studies on China [13], Italy [14], India [15] for example, have been conducted with modified versions of such a model. For our study, we used the SEIR [16] and SEIRS [17] variant of the model, as described in Sections 2 and 3. The SEIR model consists of several compartments, namely Susceptible, Exposed, Infected and Removed. We expand the model by further differentiating the Removed compartment into 2 new Recovered and Death compartments. The flow between the 5 components are described by the following 5 differential equations:", - "postprocess_cls":"Body Text", - "postprocess_score":0.9962309003, - "detect_cls":"Body Text", - "detect_score":0.4304295182 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 752.0, - 716.0, - 1274.0, - 765.0 - ], - "classes":[ - "Equation label", - "Equation", - "Body Text", - "Figure", - "Page Header", - "Reference text", - "Table", - "Section Header", - "Other", - "Page Footer", - "Figure Caption", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - 0.7596632242, - -6.09562397, - -6.2220053673, - -8.4025192261, - -11.1426048279, - -12.1553859711, - -13.1699972153, - -13.5358810425, - -14.4634923935, - -15.2270336151, - -15.240105629, - -16.8979148865, - -18.1654338837, - -19.4191036224 - ], - "content":"dD(t) = αρI(t) (5) dt", - "postprocess_cls":"Equation", - "postprocess_score":0.9998032451, - "detect_cls":"Equation label", - "detect_score":0.7596632242 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 723.0, - 651.0, - 1274.0, - 699.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Equation", - "Page Header", - "Figure", - "Reference text", - "Section Header", - "Figure Caption", - "Other", - "Table", - "Page Footer", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -0.5282879472, - -3.2964746952, - -8.4707126617, - -8.9078521729, - -9.4237070084, - -12.070687294, - -12.3733644485, - -13.7526845932, - -14.542424202, - -15.080165863, - -16.516462326, - -16.5492744446, - -17.5699195862, - -20.0694351196 - ], - "content":"dR(t) = (1 − α)γI(t) (4) dt", - "postprocess_cls":"Equation", - "postprocess_score":0.9947794676, - "detect_cls":"Equation label", - "detect_score":-0.5282879472 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 640.0, - 585.0, - 1274.0, - 634.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Equation", - "Figure", - "Page Header", - "Reference text", - "Section Header", - "Table", - "Figure Caption", - "Other", - "Table Note", - "Page Footer", - "Abstract", - "Table Caption" - ], - "scores":[ - 1.0624827147, - -3.953271389, - -8.6391658783, - -10.9951019287, - -11.2218170166, - -13.0829267502, - -13.9086027145, - -14.9607896805, - -15.1052751541, - -15.5159215927, - -16.6100692749, - -16.7282314301, - -18.5023384094, - -20.6325378418 - ], - "content":"dI(t) = δE(t) − (1 − α)γI(t) − αρI(t) (3) dt", - "postprocess_cls":"Equation", - "postprocess_score":0.9843853116, - "detect_cls":"Equation label", - "detect_score":1.0624827147 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 696.0, - 519.0, - 1274.0, - 568.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Section Header", - "Equation", - "Figure", - "Figure Caption", - "Page Header", - "Reference text", - "Table Note", - "Other", - "Page Footer", - "Table", - "Abstract", - "Table Caption" - ], - "scores":[ - -1.777987957, - -2.7053332329, - -10.7096710205, - -10.9655132294, - -11.248005867, - -12.8873147964, - -13.0134782791, - -13.5010709763, - -15.5496406555, - -15.7924356461, - -16.4645557404, - -16.4778881073, - -17.3430652618, - -18.789352417 - ], - "content":"S(t) dE(t) = βI(t) − δE(t) (2) dt N", - "postprocess_cls":"Equation", - "postprocess_score":0.9568058848, - "detect_cls":"Equation label", - "detect_score":-1.777987957 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 681.0, - 1222.0, - 1274.0, - 1271.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Equation", - "Reference text", - "Figure", - "Page Header", - "Section Header", - "Other", - "Table", - "Figure Caption", - "Abstract", - "Table Note", - "Page Footer", - "Table Caption" - ], - "scores":[ - -4.8503398895, - -5.2248268127, - -9.1185617447, - -11.5806236267, - -12.3339033127, - -12.5619077682, - -12.5990018845, - -15.5497922897, - -16.5331687927, - -16.9476299286, - -18.8042221069, - -20.0208435059, - -20.5148220062, - -22.381269455 - ], - "content":"dR(t) = (1 − α)γI(t) − R(t) (7) dt", - "postprocess_cls":"Equation", - "postprocess_score":0.8299534917, - "detect_cls":"Equation label", - "detect_score":-4.8503398895 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 686.0, - 1147.0, - 1274.0, - 1197.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Page Header", - "Equation", - "Reference text", - "Figure", - "Section Header", - "Figure Caption", - "Table", - "Other", - "Page Footer", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - 0.117642507, - -5.4621038437, - -7.5167608261, - -9.5665636063, - -10.4896383286, - -12.6301279068, - -13.0732145309, - -14.711019516, - -15.0971460342, - -15.5980558395, - -16.1236038208, - -18.3282203674, - -18.7492389679, - -20.926448822 - ], - "content":"dS(t) S(t) = −βI(t) + R(t) (6) dt N", - "postprocess_cls":"Equation", - "postprocess_score":0.9961049557, - "detect_cls":"Equation label", - "detect_score":0.117642507 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 728.0, - 444.0, - 1274.0, - 493.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Reference text", - "Page Footer", - "Table Note", - "Other", - "Table", - "Figure", - "Section Header", - "Equation", - "Page Header", - "Abstract", - "Table Caption", - "Figure Caption" - ], - "scores":[ - -2.7598707676, - -2.888833046, - -5.524936676, - -5.6568017006, - -6.0531992912, - -6.1260838509, - -6.5165491104, - -7.3657631874, - -7.4578914642, - -8.0260257721, - -8.8127374649, - -9.0429992676, - -9.6294651031, - -9.9026927948 - ], - "content":"dS(t) S(t) = −βI(t) (1) dt N", - "postprocess_cls":"Equation", - "postprocess_score":0.6141163707, - "detect_cls":"Equation label", - "detect_score":-2.7598707676 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 782.0, - 1275.0, - 920.0 - ], - "classes":[ - "Body Text", - "Section Header", - "Figure Caption", - "Abstract", - "Equation label", - "Table Note", - "Page Footer", - "Reference text", - "Other", - "Figure", - "Table Caption", - "Page Header", - "Equation", - "Table" - ], - "scores":[ - -2.7215280533, - -10.4865884781, - -10.639998436, - -13.9466915131, - -15.7235155106, - -16.6665477753, - -16.8861198425, - -18.0406684875, - -18.3201999664, - -18.3763141632, - -20.1121368408, - -20.3940029144, - -24.6096229553, - -25.1321487427 - ], - "content":"where N is the total population, S(t), E(t), I(t), R(t) and D(t), are the number of people susceptible, exposed, infected, recovered and dead on day t. β is the expected number of people an infected person infects per day, γ is the proportion of recovery per day, δ is the incubation period, α is the fatality rate due to the infection and ρ is the inverse of the average number of days for an infected person to die if he does not recover.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9959763885, - "detect_cls":"Body Text", - "detect_score":-2.7215280533 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 949.0, - 545.0, - 965.0 - ], - "classes":[ - "Body Text", - "Page Footer", - "Figure", - "Equation label", - "Reference text", - "Other", - "Page Header", - "Section Header", - "Abstract", - "Figure Caption", - "Table Note", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -5.2109236717, - -6.5942687988, - -8.2502479553, - -8.8928756714, - -9.0652112961, - -10.0970077515, - -10.5589427948, - -10.9189805984, - -12.2121772766, - -12.4608488083, - -12.7421483994, - -13.4477958679, - -13.8999729156, - -17.0868797302 - ], - "content":"3. SEIRS Model", - "postprocess_cls":"Section Header", - "postprocess_score":0.9996773005, - "detect_cls":"Body Text", - "detect_score":-5.2109236717 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 984.0, - 1275.0, - 1121.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Abstract", - "Reference text", - "Other", - "Table Note", - "Page Footer", - "Section Header", - "Figure", - "Figure Caption", - "Page Header", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -2.9874308109, - -9.0950212479, - -10.8997097015, - -11.151506424, - -11.562748909, - -12.2840843201, - -13.4683017731, - -14.4899168015, - -16.8020267487, - -16.9602298737, - -17.6181564331, - -17.9680194855, - -18.2824897766, - -19.6447219849 - ], - "content":"The SEIRS model is similar to the SEIR model such that it has five components as well—Susceptible, Exposed, Infected, Recovered and Death. However, the SEIRS model takes time-limited immunity into account, whereby recovered individuals are prone to becoming susceptible to the disease again after a period of time. In the SEIRS model, Equations (1) and (4) are then modified to", - "postprocess_cls":"Body Text", - "postprocess_score":0.9993829727, - "detect_cls":"Body Text", - "detect_score":-2.9874308109 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1288.0, - 1126.0, - 1311.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Figure", - "Section Header", - "Reference text", - "Page Header", - "Equation", - "Figure Caption", - "Table", - "Other", - "Page Footer", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -2.6959555149, - -3.5594203472, - -6.703063488, - -7.6305561066, - -7.7114853859, - -7.9572868347, - -8.2868156433, - -10.5709295273, - -12.1454677582, - -12.3750295639, - -13.2707958221, - -13.6201553345, - -13.6786584854, - -15.3705368042 - ], - "content":"where is the rate at which a recovered person becomes susceptible again.", - "postprocess_cls":"Equation", - "postprocess_score":0.8025770187, - "detect_cls":"Equation label", - "detect_score":-2.6959555149 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1339.0, - 1277.0, - 1712.0 - ], - "classes":[ - "Body Text", - "Reference text", - "Abstract", - "Equation label", - "Page Header", - "Section Header", - "Figure Caption", - "Page Footer", - "Figure", - "Other", - "Table Note", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -3.1954927444, - -6.7487845421, - -12.9166879654, - -13.5890388489, - -14.0583839417, - -16.2690963745, - -16.9095211029, - -17.8277950287, - -19.5517063141, - -19.598072052, - -19.6363887787, - -21.2971973419, - -22.2141418457, - -24.7429199219 - ], - "content":"4. Time-Based Model for Compulsory Mask Wearing Masking is found to decrease the infection rate I(t) by reducing the transmission of respiratory droplets between individuals, which in turn reduces the number of individuals an infected person can infect. Kai et al. [18] showed that the infection rate can be reduced by 60% when universal masking is enforced. There have been other studies that reflect varying rates of infection rate reduction, such as 47% (estimate between 15% and 75%) in Germany [19] and 75% in Arizona during the 2020 summer surge [20], along with numerous others. The disparity of the figures are likely to be due to the influence of other policies such as enforced social distancing and lockdowns. For the purpose of our study, we felt 60% reduction in infection rate was a reasonable value, without being too optimistic or pessimistic.We thus model our infection rate as time-dependent β → β(t) and a function of m(t): β(t) = κm(t) (8)", - "postprocess_cls":"Body Text", - "postprocess_score":0.9998670816, - "detect_cls":"Body Text", - "detect_score":-3.1954927444 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Section Header", - "Figure Caption", - "Other", - "Table", - "Reference text", - "Table Caption", - "Figure", - "Table Note", - "Equation", - "Abstract" - ], - "scores":[ - -1.7302033901, - -3.6377530098, - -4.4046735764, - -5.2347478867, - -5.5449490547, - -5.9033555984, - -5.9583358765, - -6.3729043007, - -6.5386605263, - -7.0557188988, - -7.2179327011, - -7.4130735397, - -8.6365003586, - -8.9389972687 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 4 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9993817806, - "detect_cls":"Page Header", - "detect_score":-1.7302033901 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 224.0, - 741.0, - 246.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Section Header", - "Figure", - "Reference text", - "Equation", - "Figure Caption", - "Page Footer", - "Page Header", - "Table Note", - "Other", - "Abstract", - "Table", - "Table Caption" - ], - "scores":[ - -1.7804280519, - -8.1360397339, - -11.527100563, - -13.3830690384, - -13.5606451035, - -13.768409729, - -15.0057487488, - -17.1439228058, - -17.2342357635, - -17.2720603943, - -18.1832847595, - -18.4798774719, - -21.9602966309, - -22.6526908875 - ], - "content":"where κ is an arbitrary constant and", - "postprocess_cls":"Page Header", - "postprocess_score":0.9264364839, - "detect_cls":"Body Text", - "detect_score":-1.7804280519 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 694.0, - 273.0, - 1274.0, - 324.0 - ], - "classes":[ - "Equation", - "Equation label", - "Body Text", - "Figure", - "Section Header", - "Table", - "Reference text", - "Page Header", - "Other", - "Page Footer", - "Figure Caption", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -3.7837722301, - -4.4668540955, - -8.5332717896, - -9.7747631073, - -13.9771213531, - -14.2968702316, - -14.3140821457, - -14.3843383789, - -14.4104194641, - -16.5212039948, - -19.6543273926, - -20.2351646423, - -20.919095993, - -21.7818088531 - ], - "content":"βs − βc m(t) = (9) + βc 1 + e−k(−t+t0)", - "postprocess_cls":"Equation", - "postprocess_score":0.9999083281, - "detect_cls":"Equation", - "detect_score":-3.7837722301 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 350.0, - 1275.0, - 539.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Figure Caption", - "Figure", - "Page Footer", - "Table Note", - "Reference text", - "Abstract", - "Other", - "Section Header", - "Page Header", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -0.5436022878, - -14.9844760895, - -15.4629774094, - -16.4936618805, - -18.1207199097, - -18.1337356567, - -19.5456314087, - -19.683921814, - -20.7252178192, - -21.2746753693, - -22.7573699951, - -27.0828914642, - -28.5530204773, - -29.5923461914 - ], - "content":"where a modified logistic function is used to model this transition by setting the infection before (i.e., at the start of the outbreak) and after the full compliance masking enforcement to be βs = 1 and βc = 0.4 respectively. t0 is the number of days after the first case where masking wearing is enforced. Figure 1 shows an example of such logistic function, where for the case of Singapore, we set t0 = 89, since the policy of compulsory mask wearing was implemented 89 days after the first case was uncovered. This model is used in both Scenarios 1 and 3.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9971863627, - "detect_cls":"Body Text", - "detect_score":-0.5436022878 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 404.0, - 580.0, - 1152.0, - 1079.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Equation", - "Equation label", - "Figure Caption", - "Section Header", - "Other", - "Table", - "Page Footer", - "Table Note", - "Abstract", - "Reference text", - "Table Caption" - ], - "scores":[ - 4.1000723839, - -9.4325752258, - -12.4519081116, - -14.3672904968, - -14.5336322784, - -14.9966268539, - -15.9972295761, - -16.025396347, - -16.671836853, - -17.1014385223, - -19.9756145477, - -21.1269264221, - -22.4875679016, - -23.1718616486 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999912977, - "detect_cls":"Figure", - "detect_score":4.1000723839 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1104.0, - 1275.0, - 1149.0 - ], - "classes":[ - "Figure Caption", - "Page Header", - "Body Text", - "Table Caption", - "Section Header", - "Figure", - "Page Footer", - "Equation label", - "Table Note", - "Abstract", - "Other", - "Table", - "Reference text", - "Equation" - ], - "scores":[ - 2.9030091763, - -9.2282190323, - -13.6434030533, - -15.0287923813, - -16.2147197723, - -16.3651332855, - -17.4601249695, - -17.9541778564, - -18.631696701, - -18.9941577911, - -20.4291362762, - -22.0355434418, - -22.8392944336, - -23.8998527527 - ], - "content":"Figure 1. Logistic function to model the infection rate due to compulsory mask wearing m(t) for Scenarios 1 and 3.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999907017, - "detect_cls":"Figure Caption", - "detect_score":2.9030091763 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1184.0, - 1275.0, - 1289.0 - ], - "classes":[ - "Figure", - "Page Header", - "Equation label", - "Equation", - "Body Text", - "Other", - "Section Header", - "Figure Caption", - "Table", - "Page Footer", - "Reference text", - "Abstract", - "Table Note", - "Table Caption" - ], - "scores":[ - -5.9238781929, - -7.8981151581, - -8.0480117798, - -8.0698204041, - -8.5796461105, - -10.6876716614, - -13.9410295486, - -14.1181249619, - -14.4374904633, - -15.9662275314, - -16.184179306, - -18.5673618317, - -18.7337665558, - -19.8033809662 - ], - "content":"To model the gradual noncompliance of universal masking, we make a modification to Equation (9). βs − βc βc − βnc + m(t) = (10) + βnc 1 + e−k1(−t+t0) 1 + e−k2(−t+t1)", - "postprocess_cls":"Body Text", - "postprocess_score":0.5503957272, - "detect_cls":"Figure", - "detect_score":-5.9238781929 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1305.0, - 1278.0, - 1672.0 - ], - "classes":[ - "Body Text", - "Figure Caption", - "Table Note", - "Equation label", - "Page Header", - "Section Header", - "Abstract", - "Table Caption", - "Other", - "Page Footer", - "Reference text", - "Figure", - "Table", - "Equation" - ], - "scores":[ - -5.8830633163, - -9.0368585587, - -10.8957958221, - -13.3811073303, - -13.5485925674, - -14.8247318268, - -14.991435051, - -15.1697273254, - -15.8896350861, - -17.105091095, - -17.6960659027, - -18.4475955963, - -21.0349082947, - -23.3355693817 - ], - "content":"As individuals began to engage in noncompliance out of complacency and pandemic fatigue, the infection rate, βnc, would thus increase slightly. Furthermore, compared to quenching of the infection rate due to enforcement of the compulsory mask wearing, the noncompliance will be gradual. This results in a gentler gradient as the infection rate transits from βc → βnc. The gradients are tuned by the arbitrary constants k1 and k2, where k1 > k2. We further assume that the population are able to maintain compliance for a period of time before onset of noncompliance at t1, which may be triggered by an event, for example a change in the government's policy. Figure 2 illustrates one such example, where we have βnc = 0.5 and t1 = 154, taken in context to Singapore's shift from a full lockdown to gradual resumption of everyday activities 154 days after the first case. The infection rate βnc is expected to be lower than βs as even with the complacency and fatigue, as there is now a greater situational awareness of the severity and the population in general will take a more cautious outlook compared to pre-pandemic days.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9968757629, - "detect_cls":"Body Text", - "detect_score":-5.8830633163 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Other", - "Reference text", - "Figure", - "Table", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -1.5087971687, - -3.3478233814, - -3.992017746, - -4.9614892006, - -5.4743070602, - -6.1402859688, - -6.2511262894, - -6.323946476, - -6.4941959381, - -6.5377807617, - -7.5381102562, - -7.6336975098, - -8.5953559875, - -8.9597167969 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 5 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9994342923, - "detect_cls":"Page Header", - "detect_score":-1.5087971687 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 396.0, - 223.0, - 931.0, - 580.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Figure Caption", - "Other", - "Section Header", - "Equation", - "Equation label", - "Page Footer", - "Table", - "Table Note", - "Abstract", - "Table Caption", - "Reference text" - ], - "scores":[ - 2.2623577118, - -10.2967786789, - -10.8714666367, - -12.8581047058, - -15.1635608673, - -15.8568058014, - -16.4230175018, - -17.6112575531, - -18.1314201355, - -18.4943618774, - -20.4085903168, - -20.733877182, - -22.6400165558, - -22.6574802399 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999917746, - "detect_cls":"Figure", - "detect_score":2.2623577118 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 613.0, - 1275.0, - 664.0 - ], - "classes":[ - "Figure Caption", - "Body Text", - "Figure", - "Page Footer", - "Page Header", - "Table Caption", - "Abstract", - "Table Note", - "Section Header", - "Other", - "Equation label", - "Table", - "Reference text", - "Equation" - ], - "scores":[ - 0.9741205573, - -11.5788402557, - -12.8867588043, - -13.7339344025, - -14.8756866455, - -16.1689815521, - -16.255853653, - -16.4346809387, - -16.6110420227, - -16.6758804321, - -21.1135120392, - -21.5821495056, - -23.1135559082, - -24.8644714355 - ], - "content":"Figure 2. Logistic function to model the infection rate due to compulsory mask wearing m(t) for Scenario 2, where one takes into account the noncompliance.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999696016, - "detect_cls":"Figure Caption", - "detect_score":0.9741205573 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 688.0, - 1275.0, - 775.0 - ], - "classes":[ - "Other", - "Section Header", - "Page Footer", - "Figure Caption", - "Body Text", - "Figure", - "Page Header", - "Reference text", - "Equation", - "Table Note", - "Abstract", - "Table Caption", - "Table", - "Equation label" - ], - "scores":[ - -4.6291937828, - -6.0781207085, - -7.9622960091, - -8.5642433167, - -8.5854253769, - -8.9777555466, - -9.801366806, - -10.6661090851, - -10.904668808, - -11.2438554764, - -11.4593896866, - -11.8970451355, - -13.0903167725, - -13.5284023285 - ], - "content":"5. Epidemiological Parameters To conduct our analysis in the Singapore context, we estimate the epidemiological parameters described in the earlier sections for the Singapore's context:", - "postprocess_cls":"Other", - "postprocess_score":0.7580176592, - "detect_cls":"Other", - "detect_score":-4.6291937828 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 430.0, - 792.0, - 1277.0, - 1130.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Reference text", - "Figure Caption", - "Section Header", - "Figure", - "Abstract", - "Page Header", - "Page Footer", - "Table Note", - "Other", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 1.5766657591, - -13.2020549774, - -16.4787559509, - -16.964302063, - -17.2969303131, - -18.2964859009, - -18.8807621002, - -19.0890674591, - -19.3149185181, - -21.8046360016, - -23.581987381, - -26.566526413, - -28.9885311127, - -30.0895500183 - ], - "content":"γ = 1/11: According to the position statement released by the National Centre of Disease Control Singapore [21], a person remains infectious for up to 11 days after first contracting COVID-19. δ = 1/5: The SARS-CoV2 virus has an incubation period of about 5 days [22]. α = 0.000064: Fatality rate is defined as the percentage of deaths among all previously infected individuals. At the time this work was conducted, the number of deaths in Singapore was 26, and the total number of Recovered and Dead compartments was 40,625. ρ = 1/9: As this number varies greatly across different demographics and is highly unpredictable, we are unable to obtain a proper average. Moreover, owing to the low numbers of COVID-19 deaths in Singapore, it would be inaccurate to calculate an average using this small sample size. Thus, for analysis purposes, we set it at 9 days.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9996544123, - "detect_cls":"Body Text", - "detect_score":1.5766657591 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 796.0, - 392.0, - 804.0 - ], - "classes":[ - "Page Footer", - "Figure", - "Section Header", - "Body Text", - "Equation", - "Other", - "Reference text", - "Table", - "Page Header", - "Table Note", - "Equation label", - "Figure Caption", - "Table Caption", - "Abstract" - ], - "scores":[ - -2.9053115845, - -4.5805282593, - -5.5827050209, - -6.5868663788, - -7.3583173752, - -7.4265518188, - -8.0279092789, - -8.2571277618, - -8.3638343811, - -8.5961027145, - -8.8530931473, - -9.2815132141, - -9.8112306595, - -10.4304542542 - ], - "content":"•", - "postprocess_cls":"Section Header", - "postprocess_score":0.9211617112, - "detect_cls":"Page Footer", - "detect_score":-2.9053115845 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 882.0, - 392.0, - 890.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Figure", - "Equation label", - "Equation", - "Reference text", - "Table", - "Other", - "Figure Caption", - "Page Header", - "Table Caption", - "Table Note", - "Abstract", - "Body Text" - ], - "scores":[ - -2.1900157928, - -5.3232288361, - -6.3310675621, - -6.538602829, - -6.8521265984, - -7.0864639282, - -7.6612892151, - -7.6977677345, - -7.7621526718, - -7.9629206657, - -8.4278831482, - -8.7660951614, - -9.2666406631, - -9.4148368835 - ], - "content":"•", - "postprocess_cls":"Section Header", - "postprocess_score":0.8286181688, - "detect_cls":"Page Footer", - "detect_score":-2.1900157928 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 911.0, - 392.0, - 919.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Equation label", - "Figure", - "Table", - "Other", - "Equation", - "Table Caption", - "Table Note", - "Figure Caption", - "Reference text", - "Page Header", - "Body Text", - "Abstract" - ], - "scores":[ - -1.6243486404, - -6.7012591362, - -6.9366807938, - -7.3323450089, - -7.9474105835, - -8.8363676071, - -8.8912086487, - -8.978302002, - -9.0530633926, - -9.4314546585, - -9.4526872635, - -9.770160675, - -9.8681192398, - -11.2481384277 - ], - "content":"•", - "postprocess_cls":"Section Header", - "postprocess_score":0.8768944144, - "detect_cls":"Page Footer", - "detect_score":-1.6243486404 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 1025.0, - 392.0, - 1033.0 - ], - "classes":[ - "Section Header", - "Body Text", - "Page Footer", - "Figure", - "Other", - "Figure Caption", - "Page Header", - "Equation", - "Equation label", - "Table Note", - "Reference text", - "Table Caption", - "Table", - "Abstract" - ], - "scores":[ - -3.8821780682, - -5.7434711456, - -10.7130403519, - -11.2477216721, - -12.108798027, - -13.4920969009, - -13.5678339005, - -14.0245628357, - -14.1262760162, - -16.1466751099, - -17.2123680115, - -17.515127182, - -18.4866218567, - -20.4881267548 - ], - "content":"•", - "postprocess_cls":"Section Header", - "postprocess_score":0.9993214607, - "detect_cls":"Section Header", - "detect_score":-3.8821780682 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1158.0, - 1277.0, - 1791.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Section Header", - "Page Footer", - "Figure", - "Reference text", - "Figure Caption", - "Page Header", - "Table Note", - "Abstract", - "Other", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 3.9174981117, - -29.6443309784, - -30.2645549774, - -30.7007331848, - -33.6453704834, - -33.8487052917, - -34.6866035461, - -36.0330162048, - -38.830997467, - -39.2242469788, - -41.6673774719, - -49.0738563538, - -51.2751731873, - -53.5775375366 - ], - "content":"6. Results and Discussion 6.1. Dynamics of Delay of Compulsory Mask Wearing Upon applying the SEIR models to the 3 scenarios described in the above sections, we are able to obtain Maximum Infected Values by simulating different values of delay in mask enforcement. Considering the most basic case of Scenario 1; where there is complete compliance throughout the duration of mask enforcement, and the absence of time-limited immunity, Figure 3 shows the cases where mask wearing were to be enforced (a) on the day the first case of COVID-19 was detected in Singapore; (b) after a 50 days delay; (c) after a 100 days delay; and (d) not enforced at all. From Figure 3, it can be deduced that earlier enforcement of mask wearing both reduces the Maximum Infected Value as well as increases the number of days taken to reach the Maximum Infected Value. This is reflected by right-ward shift of the maxima of the Infected compartment, as well as a lower maxima value of the infected curve. The infected number increases until it reaches a global maxima, before decreasing as predicted by compartmental models of such form. This global maxima is termed as the Maximum Infected Value. For the case of (a) 0 days of delay in mask enforcement, the maximum infected value is approximately 10.453%, and the peak occurs at day 291 after the first case was detected. For the case of a (b) 50 days delay, the maximum infected value is approximately 10.479%, and the peak occurs on day 195. For the case of a (c) 100 days delay, the maximum infected value is much higher, at approximately 27.474%, and the peak occurs much earlier, on day 103. This is very close to the case where (d) no public masking is enforced, where the maximum infected value is approximately 31.422% and", - "postprocess_cls":"Body Text", - "postprocess_score":0.9963091016, - "detect_cls":"Body Text", - "detect_score":3.9174981117 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Other", - "Figure", - "Section Header", - "Table", - "Reference text", - "Table Note", - "Table Caption", - "Abstract", - "Equation" - ], - "scores":[ - -2.5404891968, - -2.7208592892, - -3.2227096558, - -3.8342299461, - -4.8508319855, - -5.3711147308, - -5.4711380005, - -5.494038105, - -5.6461625099, - -5.8514742851, - -5.9516105652, - -6.5359797478, - -7.7324132919, - -7.8704433441 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 6 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9993324876, - "detect_cls":"Page Header", - "detect_score":-2.5404891968 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 224.0, - 1275.0, - 304.0 - ], - "classes":[ - "Reference text", - "Body Text", - "Page Footer", - "Equation label", - "Table Note", - "Other", - "Abstract", - "Section Header", - "Page Header", - "Figure", - "Figure Caption", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -2.41370368, - -2.449630022, - -6.9069609642, - -8.0799608231, - -9.8782691956, - -9.8951234818, - -10.0216999054, - -10.1125574112, - -11.3799171448, - -11.8693094254, - -12.6075954437, - -12.9540042877, - -13.3861627579, - -15.8635005951 - ], - "content":"the peak occurs on day 106. From a policy point of view, this suggests that early universal masking would indeed be an effective control, not only to reduce the infection, but more critically to flatten the curve so as to not overwhelm the medical resources.", - "postprocess_cls":"Reference text", - "postprocess_score":0.9266610146, - "detect_cls":"Reference text", - "detect_score":-2.41370368 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 250.0, - 363.0, - 1102.0, - 565.0 - ], - "classes":[ - "Figure", - "Page Header", - "Figure Caption", - "Section Header", - "Equation label", - "Body Text", - "Table", - "Equation", - "Table Caption", - "Page Footer", - "Other", - "Table Note", - "Reference text", - "Abstract" - ], - "scores":[ - -3.1873693466, - -4.8212738037, - -7.0536727905, - -10.2028875351, - -10.3731937408, - -12.6629772186, - -13.1024913788, - -13.3014593124, - -13.4798297882, - -14.02252388, - -14.8326330185, - -16.4965019226, - -16.7484340668, - -17.5182647705 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9992592931, - "detect_cls":"Figure", - "detect_score":-3.1873693466 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 250.0, - 590.0, - 1117.0, - 791.0 - ], - "classes":[ - "Page Header", - "Figure", - "Figure Caption", - "Body Text", - "Equation label", - "Page Footer", - "Equation", - "Table", - "Section Header", - "Other", - "Reference text", - "Table Caption", - "Table Note", - "Abstract" - ], - "scores":[ - -1.1635150909, - -4.8522176743, - -9.8937969208, - -9.9956798553, - -10.4784946442, - -12.4243450165, - -12.8667650223, - -13.4087505341, - -13.4521074295, - -14.8423604965, - -16.4829616547, - -16.5560760498, - -17.6497058868, - -19.2318267822 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9996366501, - "detect_cls":"Page Header", - "detect_score":-1.1635150909 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 129.0, - 840.0, - 1227.0, - 890.0 - ], - "classes":[ - "Figure Caption", - "Section Header", - "Table Caption", - "Body Text", - "Other", - "Page Header", - "Table Note", - "Figure", - "Page Footer", - "Abstract", - "Equation label", - "Reference text", - "Table", - "Equation" - ], - "scores":[ - 0.0527810045, - -5.8636431694, - -8.1322975159, - -9.1273422241, - -9.1603155136, - -9.2407836914, - -10.6179800034, - -10.9474830627, - -11.1488428116, - -11.6220417023, - -12.3708753586, - -13.761590004, - -14.0128669739, - -14.9243373871 - ], - "content":"Figure 3. SEIR Plots for delays of (a) 0 days, (b) 50 days, (c) 100 days. (d) corresponds to the control case where mask wearing is not enforced.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999295473, - "detect_cls":"Figure Caption", - "detect_score":0.0527810045 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 921.0, - 1275.0, - 1062.0 - ], - "classes":[ - "Figure Caption", - "Body Text", - "Section Header", - "Page Header", - "Equation label", - "Figure", - "Page Footer", - "Abstract", - "Table Note", - "Reference text", - "Other", - "Table Caption", - "Equation", - "Table" - ], - "scores":[ - -3.1065702438, - -4.7654337883, - -12.8439817429, - -13.8662433624, - -15.4319906235, - -15.5018615723, - -17.0974407196, - -18.2143917084, - -19.3625240326, - -19.7661495209, - -20.4133853912, - -21.4896030426, - -24.7576503754, - -25.5214538574 - ], - "content":"6.2. Effects of Delay of Mask Enforcement on Maximum Infected Value We further investigate this relationship by explicitly considering how the delay in mask enforcement will impact the corresponding Maximum Infected Values. Figure 4 shows the results of different enforcement delay values and their corresponding maximum infected values. Here, we considered 3 scenarios described in the introduction.", - "postprocess_cls":"Body Text", - "postprocess_score":0.5061179996, - "detect_cls":"Figure Caption", - "detect_score":-3.1065702438 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 393.0, - 1108.0, - 1030.0, - 1537.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Section Header", - "Equation", - "Equation label", - "Other", - "Figure Caption", - "Table", - "Page Footer", - "Table Note", - "Abstract", - "Reference text", - "Table Caption" - ], - "scores":[ - 3.2385380268, - -9.2120409012, - -9.7329940796, - -12.2138414383, - -13.0309505463, - -13.1443042755, - -13.3979330063, - -13.8367948532, - -14.9413957596, - -17.6346092224, - -18.796453476, - -19.1195087433, - -20.0014133453, - -20.6520004272 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999812841, - "detect_cls":"Figure", - "detect_score":3.2385380268 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1572.0, - 1275.0, - 1622.0 - ], - "classes":[ - "Figure Caption", - "Table Caption", - "Abstract", - "Page Header", - "Page Footer", - "Section Header", - "Body Text", - "Figure", - "Table Note", - "Other", - "Equation label", - "Reference text", - "Table", - "Equation" - ], - "scores":[ - 4.4397335052, - -10.1999044418, - -10.8553724289, - -10.9445619583, - -11.1522703171, - -12.1556482315, - -12.263874054, - -12.4855384827, - -13.0420885086, - -13.5317106247, - -15.924665451, - -16.16979599, - -16.3548965454, - -18.4352684021 - ], - "content":"Figure 4. Maximum infection against delay in mask enforcement for Scenario 2: SEIR with full compliance and Scenario 3: SEIRS with time-limited immunity.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999933243, - "detect_cls":"Figure Caption", - "detect_score":4.4397335052 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 1651.0, - 1277.0, - 1788.0 - ], - "classes":[ - "Body Text", - "Figure", - "Figure Caption", - "Equation label", - "Page Header", - "Section Header", - "Page Footer", - "Reference text", - "Abstract", - "Other", - "Table Note", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 0.9530130625, - -17.2154483795, - -18.4175643921, - -19.2814178467, - -20.2099666595, - -20.2442378998, - -22.9685268402, - -23.8366775513, - -24.1421489716, - -25.4540996552, - -26.7766017914, - -31.0241737366, - -32.9815940857, - -34.7086448669 - ], - "content":"Figure 4 suggests a transition from low maximum infection of about 15–16% to a high maximum infection of about 31%, with the transition occurring at between a delay of 80 to 100 days. This transition manifests itself as a point of inflection of the graphs in Figure 4, occurring at about 100 days of delay. Interestingly, this suggests that delaying public masking enforcement for greater than about 100 days results in the significant reduction in", - "postprocess_cls":"Figure Caption", - "postprocess_score":1.0, - "detect_cls":"Body Text", - "detect_score":0.9530130625 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Other", - "Reference text", - "Table", - "Section Header", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -1.5099077225, - -3.0049507618, - -4.360350132, - -5.7266712189, - -6.2218074799, - -6.3322916031, - -6.6689505577, - -6.7434539795, - -6.8281655312, - -7.1442403793, - -8.1997594833, - -8.2815227509, - -8.5703229904, - -9.537197113 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 7 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9996254444, - "detect_cls":"Page Header", - "detect_score":-1.5099077225 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 224.0, - 1278.0, - 1134.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Page Footer", - "Figure Caption", - "Figure", - "Abstract", - "Table Note", - "Section Header", - "Reference text", - "Page Header", - "Other", - "Table", - "Equation", - "Table Caption" - ], - "scores":[ - -1.2279397249, - -14.3236656189, - -14.8038883209, - -17.3390235901, - -18.7345314026, - -19.0893936157, - -19.3613624573, - -19.4439258575, - -20.0368766785, - -21.6289806366, - -21.9084072113, - -28.8379039764, - -29.4303035736, - -29.6773681641 - ], - "content":"the effectiveness of public masking in controlling the maximum infection numbers. This is because after 100 days, most of the Exposed compartment has already been been infected, therefore this will no longer contribute to any further increase to the Infection compartment. Relating this to Singapore's context, compulsory mask wearing was introduced 89 days after the first case, hence this suggests that the introduction of compulsory mask wearing was timely to control the infection. Crucially, one should note that the point of inflection appears to be independent of the choice of our scenarios and in all three cases, the transition takes place at about the same 80 to 100 days of delay. The peak infection beyond 100 days of delay also yield similar results in all three cases. One would naively anticipate that the noncompliance in Scenario 2 resulting in a larger infection rate and the backflow of Recovered to Susceptible compartment after 90 days of time-limited immunity would have contributed positively to the Maximum Infected Values. While this is indeed the case for early intervention, beyond the transition point, the Infected compartment is already on track in reaching its maximum (see Figure 3d), the effectiveness of any intervention to change its trajectory and reduce the maximum is greatly reduced. This suggests the importance of early intervention by policy makers and governments, where this potential window to take action is about 3 months based on our analysis. However, we stress this does not mean that public masking is completely ineffective after the transition point, but rather that its initial effectiveness is significantly reduced beyond this point, when studying the effects of compulsory mask wearing in isolation. We further note that in Scenario 2 (see Figure 5), the results suggest that earlier enforce- ment of mask wearing leads to higher than expected Maximum Infected Values (compared to Scenario 1). This is apparent for delays in mask enforcement under approximately 50 days. It is likely that for such cases of early enforcement, the Susceptible population remains very high throughout. Consequently, when the agents begin to flout the rules after t1 = 154 days, the combination of both larger Susceptible compartment pool and higher βnc results in a greater amount of infection. In other words, the susceptible population must be sufficiently reduced before the implementation of the compulsory mask wearing for it to be effective in reducing the Maximum Infected Value. In practice, though not considered in this work, the susceptible population may be reduced or removed through other means, e.g., social distancing or lockdown.", - "postprocess_cls":"Body Text", - "postprocess_score":0.999740541, - "detect_cls":"Body Text", - "detect_score":-1.2279397249 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 396.0, - 1172.0, - 1048.0, - 1600.0 - ], - "classes":[ - "Figure", - "Equation label", - "Body Text", - "Equation", - "Section Header", - "Page Header", - "Figure Caption", - "Page Footer", - "Other", - "Table", - "Table Note", - "Abstract", - "Table Caption", - "Reference text" - ], - "scores":[ - 0.6478790641, - -8.1646146774, - -9.0933990479, - -10.5133371353, - -10.5431413651, - -10.6895513535, - -11.6505804062, - -12.4260349274, - -12.4875516891, - -13.2730197906, - -14.7135210037, - -16.0829792023, - -16.6395664215, - -16.8146400452 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999837875, - "detect_cls":"Figure", - "detect_score":0.6478790641 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 1631.0, - 1278.0, - 1682.0 - ], - "classes":[ - "Figure Caption", - "Body Text", - "Figure", - "Page Header", - "Page Footer", - "Section Header", - "Equation label", - "Table Note", - "Table Caption", - "Equation", - "Other", - "Abstract", - "Reference text", - "Table" - ], - "scores":[ - -3.0298552513, - -7.7131061554, - -9.2794094086, - -10.4575004578, - -12.7215270996, - -13.0526819229, - -14.6363334656, - -17.4520072937, - -17.9454879761, - -18.4411945343, - -19.0718822479, - -21.2084636688, - -21.5699863434, - -22.0168647766 - ], - "content":"Figure 5. Maximum infection against delay in mask enforcement for Scenario 2: SEIR with grad- ual noncompliance.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999574423, - "detect_cls":"Figure Caption", - "detect_score":-3.0298552513 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1710.0, - 1275.0, - 1790.0 - ], - "classes":[ - "Body Text", - "Figure Caption", - "Page Footer", - "Figure", - "Abstract", - "Page Header", - "Table Note", - "Other", - "Equation label", - "Section Header", - "Reference text", - "Table Caption", - "Table", - "Equation" - ], - "scores":[ - -4.3385715485, - -9.694486618, - -13.5871639252, - -14.2641153336, - -14.586853981, - -14.9624614716, - -17.6243057251, - -17.9860401154, - -19.1923599243, - -19.6803646088, - -19.8963279724, - -21.9928703308, - -22.4069385529, - -25.9891548157 - ], - "content":"At the time the initial study was conducted, we had modelled the COVID-19 situation in Singapore and its response to the initial strain of virus that was first detected at the start of 2020. However, the world is currently facing the second wave of infection. New", - "postprocess_cls":"Body Text", - "postprocess_score":0.9927651286, - "detect_cls":"Body Text", - "detect_score":-4.3385715485 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Equation label", - "Page Header", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Figure", - "Other", - "Table Note", - "Table", - "Reference text", - "Table Caption", - "Abstract", - "Equation" - ], - "scores":[ - -2.5124282837, - -2.9073629379, - -2.9385926723, - -3.376696825, - -4.5021634102, - -4.8872199059, - -5.1021184921, - -5.1072254181, - -5.364320755, - -5.3768672943, - -5.5889949799, - -6.0011315346, - -7.1411910057, - -7.5594658852 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 8 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9993408322, - "detect_cls":"Equation label", - "detect_score":-2.5124282837 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 224.0, - 1278.0, - 476.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Figure Caption", - "Page Header", - "Page Footer", - "Section Header", - "Figure", - "Reference text", - "Table Note", - "Abstract", - "Other", - "Table Caption", - "Table", - "Equation" - ], - "scores":[ - 0.8267956972, - -16.0498313904, - -16.3773021698, - -17.3451595306, - -18.896944046, - -18.9894275665, - -20.2770938873, - -20.8690834045, - -21.1896896362, - -22.9311618805, - -25.2531299591, - -31.2778282166, - -31.8736000061, - -31.9162902832 - ], - "content":"strains, particularly the B117 variant, have been detected in many countries, including Sin- gapore [23]. B117 strained virus has acquired the D614G spike protein mutation, reportedly increasing its infectivity, with little difference to its lethality [24]. According to studies done in the UK, the R0 value of B117 has increased by up to 0.7 [25]. To investigate the impact of delay in public mask enforcement on controlling the Maximum Infected Numbers due to the B117 variant, we modelled a hypothetical scenario. In this scenario, the first case of COVID-19 detected in Singapore is of the B117 variant. We ran our simulation of the 3 scenarios described in the preceding sections with a new value of R0 reflecting that of B117. The resulting plots are shown in Figure 6 and 7.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9884775281, - "detect_cls":"Body Text", - "detect_score":0.8267956972 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 387.0, - 510.0, - 917.0, - 867.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Section Header", - "Equation label", - "Equation", - "Other", - "Figure Caption", - "Table", - "Page Footer", - "Reference text", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -0.230891183, - -8.6101913452, - -9.6145172119, - -9.696855545, - -11.7993011475, - -12.3803157806, - -13.7472639084, - -15.1451997757, - -17.5577926636, - -19.1554222107, - -19.2288780212, - -20.2317199707, - -20.316783905, - -22.1437778473 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999415874, - "detect_cls":"Figure", - "detect_score":-0.230891183 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 888.0, - 1275.0, - 938.0 - ], - "classes":[ - "Figure Caption", - "Page Header", - "Body Text", - "Page Footer", - "Equation label", - "Section Header", - "Other", - "Figure", - "Table Note", - "Table Caption", - "Abstract", - "Reference text", - "Table", - "Equation" - ], - "scores":[ - -1.7880330086, - -6.4670872688, - -9.6256151199, - -12.0806665421, - -12.514913559, - -13.9187374115, - -14.067481041, - -14.9008674622, - -15.2483606339, - -15.6128845215, - -16.4564361572, - -17.050868988, - -17.7882423401, - -18.8692626953 - ], - "content":"Figure 6. Maximum infection against delay in mask enforcement for Scenario 2: SEIR with full compliance and Scenario 3: SEIRS with time-limited immunity for the B117 variant case.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.999977231, - "detect_cls":"Figure Caption", - "detect_score":-1.7880330086 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 388.0, - 963.0, - 931.0, - 1320.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Equation label", - "Equation", - "Page Footer", - "Section Header", - "Other", - "Figure Caption", - "Table", - "Table Note", - "Abstract", - "Table Caption", - "Reference text" - ], - "scores":[ - 0.5181251168, - -10.6063308716, - -10.9858551025, - -11.8891019821, - -13.6827697754, - -14.4328842163, - -14.7260141373, - -15.5658063889, - -16.0109653473, - -16.6873016357, - -19.8755321503, - -22.1069812775, - -22.613193512, - -22.6256523132 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999915361, - "detect_cls":"Figure", - "detect_score":0.5181251168 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 1344.0, - 1275.0, - 1393.0 - ], - "classes":[ - "Figure Caption", - "Body Text", - "Section Header", - "Figure", - "Page Header", - "Table Caption", - "Abstract", - "Other", - "Page Footer", - "Equation label", - "Table Note", - "Reference text", - "Equation", - "Table" - ], - "scores":[ - -1.8838572502, - -7.2165436745, - -9.0215272903, - -13.0316390991, - -13.7898550034, - -14.0342931747, - -14.1680755615, - -14.3334932327, - -14.9199113846, - -15.0288934708, - -15.3022975922, - -18.7880439758, - -19.1882457733, - -20.1419277191 - ], - "content":"Figure 7. Maximum infection against delay in mask enforcement for Scenario 2: SEIR with gradual noncompliance for the B117 variant case.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999775887, - "detect_cls":"Figure Caption", - "detect_score":-1.8838572502 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1417.0, - 563.0, - 1434.0 - ], - "classes":[ - "Equation label", - "Figure", - "Page Header", - "Section Header", - "Page Footer", - "Body Text", - "Equation", - "Other", - "Figure Caption", - "Reference text", - "Table", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -4.6576399803, - -4.7376022339, - -6.2408800125, - -7.512673378, - -8.4140415192, - -8.6492443085, - -9.2616262436, - -10.0734930038, - -11.7521343231, - -12.0373468399, - -12.5049133301, - -14.7412090302, - -15.3036937714, - -15.9025182724 - ], - "content":"6.3. Related Studies", - "postprocess_cls":"Section Header", - "postprocess_score":0.9907457829, - "detect_cls":"Equation label", - "detect_score":-4.6576399803 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1453.0, - 1278.0, - 1791.0 - ], - "classes":[ - "Body Text", - "Abstract", - "Reference text", - "Page Header", - "Figure", - "Page Footer", - "Figure Caption", - "Equation label", - "Section Header", - "Other", - "Table Note", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - -1.564510107, - -15.4646940231, - -18.0718841553, - -19.3672237396, - -19.6613502502, - -19.7487621307, - -19.8751850128, - -20.4439563751, - -21.5015830994, - -22.3033504486, - -22.9334697723, - -28.0302295685, - -29.1530380249, - -30.0541973114 - ], - "content":"Juxtaposing our study against other similar studies that implement mathematical modelling on 'what-if' scenario based analysis, Eikenberry et al. [3] implemented a com- partmentalized models for their simulations, and concluded that if the population remains unmasked until mask enforcement after some discrete delay, and that the level of adoption is fixed, the delay initially had little impact on the hospitalized fraction or deaths, but states that a 'point of no return' can be crossed. While this study yields similar results to ours, it is contextualised in the US states of New York and Washington, whilst ours was conducted in the context of Singapore. Given the differences in epidemiological parameters, size and characteristics of these cities and Singapore, our study adds value in being a more accurate representation of smaller city states. Furthermore, this study did not take into consideration newer, more infectious strains of the virus such as the B117 variant and time-limited immunity, which we have considered in our study.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9997264743, - "detect_cls":"Body Text", - "detect_score":-1.564510107 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":9, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_9_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Other", - "Reference text", - "Table", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -1.4972016811, - -3.5980913639, - -4.1209149361, - -5.4198904037, - -5.8428649902, - -6.1353282928, - -6.3139066696, - -6.4656472206, - -6.7573122978, - -6.9958362579, - -7.8635826111, - -7.8681206703, - -8.9311704636, - -9.2261962891 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 9 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.999494195, - "detect_cls":"Page Header", - "detect_score":-1.4972016811 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":9, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_9_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 224.0, - 1278.0, - 447.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Section Header", - "Page Footer", - "Other", - "Figure Caption", - "Figure", - "Table Note", - "Abstract", - "Reference text", - "Page Header", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -0.033802636, - -11.9683914185, - -14.2329492569, - -14.8672418594, - -15.9906816483, - -16.032125473, - -16.0714359283, - -16.9485359192, - -16.9835414886, - -17.2661170959, - -17.9673995972, - -22.0706214905, - -25.2780094147, - -25.5011806488 - ], - "content":"Another study done by Tatapudi et al. [26] on the impact assessment of various containment measures, including public masking, contact tracing and stay-home orders revealed that masking was indeed effective in lowering the maximum infected value. The simulation was carried out using Agent-Based modelling, where individual agents were generated from the census data from Florida. This study, like many others mentioned throughout this paper, did not explicitly study the impact of the delay in enforcement of public masking. However, it adds validity to the effectiveness of face masks in controlling the spread of infection, by means of a very different mathematical model.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9984205961, - "detect_cls":"Body Text", - "detect_score":-0.033802636 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":9, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_9_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 475.0, - 1278.0, - 1307.0 - ], - "classes":[ - "Body Text", - "Page Footer", - "Equation label", - "Section Header", - "Reference text", - "Abstract", - "Figure", - "Table Note", - "Page Header", - "Figure Caption", - "Other", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 0.1184755415, - -16.7590999603, - -17.7536563873, - -18.2873401642, - -18.5310287476, - -19.5538845062, - -19.7386474609, - -20.0910320282, - -20.1675662994, - -20.3564929962, - -20.5363483429, - -28.6993656158, - -28.8846244812, - -29.9321918488 - ], - "content":"6.4. Limitations of the Results We caution against exact quantitative predictions of the development of pandemic that are dependent on a multitude of factors other than universal mask wearing that we have considered here. What we have considered here is the what-if analysis of the effects of implementation of compulsory mask wearing on the dynamics of the pandemic. While the parameters chosen were based on estimates in Singapore's context, one should note that at the time of this writing, these estimates may change as we continue to deepen our understanding of the virus spread. Instead, this work should be interpreted as a numerical representation of the possible outcomes of delaying mask enforcement as a basis for the discussion of the general trends. We further note that, at the time of writing, the actual real-world figures for Maximum Infected Values fall below the ones discussed in this paper. This is due to the fact that we have only examined the policy of compulsory mask wearing in isolation, with minimum consideration of other factors. We expect that any countries or territories that are actively fighting the virus spread to implement an array of varying measures, all of which would collectively reduce the overall spread of the virus. While we acknowledge the limitations due to the rapidly changing nature of the ongoing pandemic and the presence of many contributing factors, some which are difficult to quantify, we cannot resort to waiting for sufficient data to present itself before drawing concrete solutions, as warned by Cheong and Jones [27], if we are to reduce its impact. Analysing the results, as we may intuitively anticipate, given the increased infectivity of the new strain, the Maximum Infected Numbers obtained were of a slightly greater mag- nitude compared to the original model. Surprisingly, we observe the same consistent trend across all the 6 scenarios, comprising a point of inflection beyond which, the effectiveness of public masking is significantly reduced. The key difference to note is that the point of inflection occurs for a smaller value of delay in enforcement, approximately 80 days as opposed to the 100 days of our initial model. Returning to Singapore's context, had the first case of COVID19 in Singapore been infected by the B117 variant, the delay of 89 days before public masking was enforced would have been costly.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9994818568, - "detect_cls":"Body Text", - "detect_score":0.1184755415 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":9, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_9_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1335.0, - 1278.0, - 1765.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Reference text", - "Section Header", - "Page Footer", - "Figure", - "Page Header", - "Abstract", - "Figure Caption", - "Table Note", - "Other", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -0.2975218594, - -10.6768226624, - -12.5905323029, - -13.6149492264, - -14.7963285446, - -15.056353569, - -15.9220352173, - -16.2165737152, - -16.3506851196, - -16.7049598694, - -16.7299537659, - -20.9412307739, - -21.7848720551, - -23.8551197052 - ], - "content":"7. Concluding Remarks At present, compulsory mask wearing has been widely accepted as a means of control- ling COVID-19 infection by reducing the infection rate through aerosol means. With this study, we hope to shed some light on whether the delay in enforcement of compulsory mask wearing will have detrimental effects on infection control when studied in isolation. Based on our results, it appears that a delay of 100 days and above would result in a transition where enforcement of public masking alone would result in little effect on the Maximum Infected Value. We considered 3 scenarios over 2 varied mathematical models. This result is consistent regardless of the level of compliance of the population, or the presence of time-limited immunity. Yet, if implemented early, our model shows that the Maximum Infected Values can be kept relatively low and under control, even after accounting for time-limited immunity and some level of noncompliance. We would like to point out that several studies on the effectiveness of community use of face masks. In one study carried out in the United States [28], the authors compared the percentage change in daily case rates between states enforcing public masking and", - "postprocess_cls":"Body Text", - "postprocess_score":0.9994643331, - "detect_cls":"Body Text", - "detect_score":-0.2975218594 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":10, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_10_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Equation label", - "Page Header", - "Body Text", - "Page Footer", - "Other", - "Table", - "Figure Caption", - "Section Header", - "Reference text", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -2.1286184788, - -2.5525627136, - -4.3450174332, - -5.460773468, - -6.0414304733, - -6.0501737595, - -6.8244686127, - -6.8993840218, - -6.9066138268, - -7.2508225441, - -7.6408367157, - -7.8270955086, - -8.0472068787, - -9.397228241 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 10 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9996505976, - "detect_cls":"Equation label", - "detect_score":-2.1286184788 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":10, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_10_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 224.0, - 1278.0, - 767.0 - ], - "classes":[ - "Reference text", - "Page Footer", - "Other", - "Table Note", - "Abstract", - "Page Header", - "Body Text", - "Figure Caption", - "Section Header", - "Equation label", - "Table", - "Table Caption", - "Equation", - "Figure" - ], - "scores":[ - -4.4792351723, - -5.8750796318, - -9.2634401321, - -10.399969101, - -11.5218334198, - -11.8549585342, - -12.6806316376, - -13.4536104202, - -14.1460351944, - -14.8853416443, - -15.3292512894, - -15.9370336533, - -17.3129253387, - -17.6116294861 - ], - "content":"the states that do not. The results demonstrated that masking was indeed effective in reducing the number of infected cases daily. In their study, the states that enforced public masking did so between 8 April to 15 May 2020, approximately 78 days after the first case was detected in the US. Another study discussed the effectiveness of public masking by comparing countries that enforced public masking (Japan and Thailand) and countries that did not (Spain, Italy, UK, Germany and France) within 30 days after the first case was detected. The result of this study demonstrated that countries in the mask-wearing group had significantly better outcomes in containing the community spread of the virus [29]. These results therefore provide a basis to support our modelling and the conclusion that we have derived as a result of this study. Author Contributions: Conceptualization, D.Y.T.; methodology, D.Y.T.; investigation, B.K.T., J.WW. and C.A.R.; writing—original draft preparation, B.K.T., C.A.R. and J.W.W.; writing—review and editing, D.Y.T.; supervision, D.Y.T. All authors have read and agreed to the published version of the manuscript. Funding: This research received no external funding. Acknowledgments: The authors would like to acknowledge the support from the Singapore Univer- sity of Technology and Design's Undergraduate Research Opportunities Programme (UROP). Conflicts of Interest: The authors declare no conflict of interest.", - "postprocess_cls":"Reference text", - "postprocess_score":0.9100261927, - "detect_cls":"Reference text", - "detect_score":-4.4792351723 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":10, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_10_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 801.0, - 1278.0, - 1746.0 - ], - "classes":[ - "Reference text", - "Table", - "Figure", - "Equation", - "Page Header", - "Other", - "Abstract", - "Page Footer", - "Body Text", - "Section Header", - "Table Caption", - "Equation label", - "Figure Caption", - "Table Note" - ], - "scores":[ - -5.2637338638, - -10.4362211227, - -11.1962451935, - -15.3697137833, - -17.1162986755, - -17.5526657104, - -18.4909000397, - -19.0276966095, - -20.4897994995, - -20.7191085815, - -22.9876289368, - -23.9705295563, - -24.715429306, - -24.7433586121 - ], - "content":"References 1. Lau, J.T.; Tsui, H.; Lau, M.; Yang, X. SARS transmission, risk factors, and prevention in Hong Kong. Emerg. Infect. Dis. 2004, 10, 587. [CrossRef] [PubMed] 2. Wang, C.J.; Ng, C.Y.; Brook, R.H. Response to COVID-19 in Taiwan: Big data analytics, new technology, and proactive testing. JAMA 2020, 323, 1341–1342. [CrossRef] [PubMed] 3. Eikenberry, S.E.; Mancuso, M.; Iboi, E.; Phan, T.; Eikenberry, K.; Kuang, Y.; Kostelich, E.; Gumel, A.B. To mask or not to mask: Modeling the potential for face mask use by the general public to curtail the COVID-19 pandemic. Infect. Dis. Model. 2020, 5, 293–308. [CrossRef] [PubMed] 4. Howard, J.; Huang, A.; Li, Z.; Tufekci, Z.; Zdimal, V.; van der Westhuizen, H.M.; von Delft, A.; Price, A.; Fridman, L.; Tang, L.H.; et al. An evidence review of face masks against COVID-19. Proc. Natl. Acad. Sci. USA 2021, 118, e2014564118. [CrossRef] 5. Lai, J.W.; Cheong, K.H. Superposition of COVID-19 waves, anticipating a sustained wave, and lessons for the future. BioEssays 2020, 42, 2000178. [CrossRef] 6. Cheong, K.H.; Wen, T.; Lai, J.W. Relieving Cost of Epidemic by Parrondo's Paradox: A COVID-19 Case Study. Adv. Sci. 2020, 7, 2002324. [CrossRef] 7. Singh, R.; Adhikari, R. Age-structured impact of social distancing on the COVID-19 epidemic in India. arXiv 2020, arXiv:2003.12055. 8. Babajanyan, S.; Cheong, K.H. Age-structured SIR model and resource growth dynamics: A COVID-19 study. Nonlinear Dyn. 2021, 104, 2853–2864. [CrossRef] [PubMed] 9. Chung, N.N.; Chew, L.Y. Modelling Singapore COVID-19 pandemic with a SEIR multiplex network model. medRxiv 2020. [CrossRef] 10. Kosinski, R.J. The Influence of time-limited immunity on a COVID-19 epidemic: A simulation study. medRxiv 2020. [CrossRef] 11. Ibarrondo, F.J.; Fulcher, J.A.; Goodman-Meza, D.; Elliott, J.; Hofmann, C.; Hausner, M.A.; Ferbas, K.G.; Tobin, N.H.; Aldrovandi, G.M.; Yang, O.O. Rapid decay of anti–SARS-CoV-2 antibodies in persons with mild Covid-19. N. Engl. J. Med. 2020, 383, 1085–1087. [CrossRef] 12. Rodrigues, H.S. Application of SIR epidemiological model: New trends. arXiv 2016, arXiv:1611.02565. 13. Wang, K.; Lu, Z.; Wang, X.; Li, H.; Li, H.; Lin, D.; Cai, Y.; Feng, X.; Song, Y.; Feng, Z.; et al. Current trends and future prediction of novel coronavirus disease (COVID-19) epidemic in China: A dynamical modeling analysis. Math. Biosci. Eng. 2020, 17, 3052–3061. [CrossRef] 14. Mangoni, L.; Pistilli, M. Epidemic Analysis of Covid-19 in Italy by Dynamical Modelling. Available at SSRN 3567770 2020. Available online: https://ssrn.com/abstract=3567770 (accessed on 23 August 2021). 15. Gopal, R.; Chandrasekar, V.; Lakshmanan, M. Dynamical modelling and analysis of COVID-19 in India. arXiv 2020, arXiv:2005.08255. 16. Li, M.Y.; Muldowney, J.S. Global stability for the SEIR model in epidemiology. Math. Biosci. 1995, 125, 155–164. [CrossRef] 17. Zhang, T.; Teng, Z. On a nonautonomous SEIRS model in epidemiology. Bull. Math. Biol. 2007, 69, 2537–2559. [CrossRef] 18. Kai, D.; Goldstein, G.P.; Morgunov, A.; Nangalia, V.; Rotkirch, A. Universal masking is urgent in the covid-19 pandemic: SEIR and agent based models, empirical validation, policy recommendations. arXiv 2020, arXiv:2004.13553. 19. Mitze, T.; Kosfeld, R.; Rode, J.; Wälde, K. Face masks considerably reduce COVID-19 cases in Germany. Proc. Natl. Acad. Sci. USA 2020, 117, 32293–32301. [CrossRef]", - "postprocess_cls":"Reference text", - "postprocess_score":0.9976608753, - "detect_cls":"Reference text", - "detect_score":-5.2637338638 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Other", - "Table", - "Figure Caption", - "Section Header", - "Reference text", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -2.2996273041, - -2.3671371937, - -4.4680614471, - -5.5041670799, - -6.2934904099, - -6.4199304581, - -6.7679276466, - -6.9881262779, - -7.0698127747, - -7.3234291077, - -7.9510364532, - -8.1306085587, - -8.3906087875, - -9.6790676117 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 11 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9996753931, - "detect_cls":"Page Header", - "detect_score":-2.2996273041 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 130.0, - 225.0, - 1277.0, - 874.0 - ], - "classes":[ - "Body Text", - "Reference text", - "Page Footer", - "Abstract", - "Figure Caption", - "Equation label", - "Table Note", - "Other", - "Figure", - "Section Header", - "Page Header", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - -4.7601032257, - -9.4670934677, - -10.9610319138, - -11.9751634598, - -14.2404241562, - -15.3232097626, - -15.8145160675, - -16.3493461609, - -16.5256557465, - -17.0123806, - -17.5166454315, - -18.5880489349, - -20.83177948, - -21.2527580261 - ], - "content":"20. Gallaway, M.S.; Rigler, J.; Robinson, S.; Herrick, K.; Livar, E.; Komatsu, K.K.; Brady, S.; Cunico, J.; Christ, C.M. Trends in COVID-19 incidence after implementation of mitigation measures—Arizona, January 22–August 7, 2020. Morb. Mortal. Wkly. Rep. 2020, 69, 1460. [CrossRef] 21. Ong, C.W.M. Position Statement from the National Centre for Infectious Diseases and the Chapter of Infectious Disease Physicians, Academy of Medicine; Period of Infectivity to Inform Strategies for De-isolation for COVID-19 Patients: Singapore, 2020. 22. Lauer, S.A.; Grantz, K.H.; Bi, Q.; Jones, F.K.; Zheng, Q.; Meredith, H.R.; Azman, A.S.; Reich, N.G.; Lessler, J. The incubation period of coronavirus disease 2019 (COVID-19) from publicly reported confirmed cases: Estimation and application. Ann. Intern. Med. 2020, 172, 577–582. [CrossRef] 23. Chew, H.M. 25 COVID-19 Cases with B117 Variant Found in Singapore; MOH: Singapore, 2021. Available online: https://www.channelnewsasia.com/singapore/covid-19-b117-uk-variant-south-africa-singapore-25-cases-440536 (accessed on 29 January 2021). 24. Korber, B.; Fischer, W.M.; Gnanakaran, S.; Yoon, H.; Theiler, J.; Abfalterer, W.; Hengartner, N.; Giorgi, E.E.; Bhattacharya, T.; Foley, B.; et al. Tracking changes in SARS-CoV-2 Spike: Evidence that D614G increases infectivity of the COVID-19 virus. Cell 2020, 182, 812–827. [CrossRef] 25. Volz, E.; Mishra, S.; Chand, M.; Barrett, J.C.; Johnson, R.; Geidelberg, L.; Hinsley, W.R.; Laydon, D.J.; Dabrera, G.; O'Toole, Á.; et al. Assessing transmissibility of SARS-CoV-2 lineage B. 1.1. 7 in England. Nature 2021, 593, 266–269. [CrossRef] 26. Tatapudi, H.; Das, R.; Das, T.K. Impact assessment of full and partial stay-at-home orders, face mask usage, and contact tracing: An agent-based simulation study of COVID-19 for an urban region. Glob. Epidemiol. 2020, 2, 100036. [CrossRef] 27. Cheong, K.H.; Jones, M.C. Introducing the 21st century's new four horsemen of the coronapocalypse. BioEssays 2020, 42, 2000063. [CrossRef] 28. Lyu, W.; Wehby, G.L. Community Use Of Face Masks And COVID-19: Evidence From A Natural Experiment Of State Mandates In The US: Study examines impact on COVID-19 growth rates associated with state government mandates requiring face mask use in public. Health Aff. 2020, 39, 1419–1425. [CrossRef] 29. Li, T.; Liu, Y.; Li, M.; Qian, X.; Dai, S.Y. Mask or no mask for COVID-19: A public health and market study. PLoS ONE 2020, 15, e0237691. [CrossRef]", - "postprocess_cls":"Body Text", - "postprocess_score":0.9981245399, - "detect_cls":"Body Text", - "detect_score":-4.7601032257 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 226.0, - 106.0, - 241.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Body Text", - "Table Note", - "Table", - "Reference text", - "Other", - "Table Caption", - "Figure Caption", - "Figure", - "Abstract", - "Equation", - "Equation label", - "Page Header" - ], - "scores":[ - -1.851089716, - -10.8925466537, - -11.7394094467, - -11.7497529984, - -12.2353801727, - -12.6273412704, - -12.7355203629, - -13.1808538437, - -15.4802007675, - -16.7650165558, - -17.4654884338, - -18.0173988342, - -18.0899581909, - -18.6022014618 - ], - "content":"20. Gallaway, M.S.; Rigler, J.; Robinson, S.; Herrick, K.; Livar, E.; Komatsu, K.K.; Brady, S.; Cunico, J.; Christ, C.M. Trends in", - "postprocess_cls":"Page Header", - "postprocess_score":0.9084485769, - "detect_cls":"Page Footer", - "detect_score":-1.851089716 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 305.0, - 106.0, - 319.0 - ], - "classes":[ - "Section Header", - "Page Footer", - "Table", - "Table Caption", - "Figure Caption", - "Reference text", - "Figure", - "Body Text", - "Equation label", - "Table Note", - "Page Header", - "Other", - "Abstract", - "Equation" - ], - "scores":[ - -5.4302558899, - -5.7566809654, - -6.1677641869, - -6.598048687, - -6.9456167221, - -7.3625130653, - -7.5950479507, - -7.6754937172, - -7.7477765083, - -8.2904005051, - -9.1980991364, - -9.3429536819, - -10.2163305283, - -10.8249101639 - ], - "content":"21. Ong, C.W.M. Position Statement from the National Centre for Infectious Diseases and the Chapter of Infectious Disease Physicians, Academy", - "postprocess_cls":"Section Header", - "postprocess_score":0.5326701403, - "detect_cls":"Section Header", - "detect_score":-5.4302558899 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 357.0, - 106.0, - 371.0 - ], - "classes":[ - "Page Footer", - "Body Text", - "Section Header", - "Reference text", - "Equation label", - "Figure Caption", - "Table", - "Page Header", - "Figure", - "Other", - "Table Note", - "Table Caption", - "Abstract", - "Equation" - ], - "scores":[ - -6.4768805504, - -6.7679481506, - -7.2823166847, - -8.2708215714, - -8.9002933502, - -9.1431245804, - -9.6290407181, - -10.2670984268, - -10.5139226913, - -11.409579277, - -12.2689943314, - -12.5410804749, - -12.988152504, - -14.3310165405 - ], - "content":"22. Lauer, S.A.; Grantz, K.H.; Bi, Q.; Jones, F.K.; Zheng, Q.; Meredith, H.R.; Azman, A.S.; Reich, N.G.; Lessler, J. The incubation", - "postprocess_cls":"Section Header", - "postprocess_score":0.9309452772, - "detect_cls":"Page Footer", - "detect_score":-6.4768805504 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 436.0, - 106.0, - 450.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Table", - "Table Caption", - "Reference text", - "Body Text", - "Table Note", - "Figure Caption", - "Other", - "Figure", - "Page Header", - "Equation", - "Abstract", - "Equation label" - ], - "scores":[ - -3.496566534, - -9.5050992966, - -9.7342357635, - -10.2700252533, - -11.2513341904, - -11.5373458862, - -12.158996582, - -12.8558330536, - -14.528758049, - -15.6536645889, - -15.9913797379, - -16.1821022034, - -16.3788452148, - -16.4374637604 - ], - "content":"23. Chew, H.M.", - "postprocess_cls":"Section Header", - "postprocess_score":0.7352595925, - "detect_cls":"Page Footer", - "detect_score":-3.496566534 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 515.0, - 106.0, - 529.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Table", - "Table Caption", - "Reference text", - "Body Text", - "Table Note", - "Figure Caption", - "Other", - "Figure", - "Page Header", - "Equation", - "Equation label", - "Abstract" - ], - "scores":[ - -2.9842100143, - -8.1079778671, - -10.445807457, - -10.6652832031, - -10.9143419266, - -11.022693634, - -12.1219301224, - -12.1974458694, - -14.2189302444, - -14.3394756317, - -15.2413625717, - -15.5436220169, - -15.5829076767, - -16.182598114 - ], - "content":"24. Korber, B.; Fischer, W.M.; Gnanakaran, S.; Yoon, H.; Theiler, J.; Abfalterer, W.; Hengartner, N.; Giorgi, E.E.; Bhattacharya, T.; Foley,", - "postprocess_cls":"Section Header", - "postprocess_score":0.8648951054, - "detect_cls":"Page Footer", - "detect_score":-2.9842100143 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 593.0, - 106.0, - 608.0 - ], - "classes":[ - "Reference text", - "Page Footer", - "Equation label", - "Page Header", - "Table", - "Figure", - "Section Header", - "Body Text", - "Figure Caption", - "Equation", - "Other", - "Abstract", - "Table Caption", - "Table Note" - ], - "scores":[ - -3.2157504559, - -5.9369740486, - -7.2776136398, - -8.3296689987, - -8.4969367981, - -9.8472499847, - -9.9758882523, - -10.5557136536, - -10.9103212357, - -11.1909446716, - -12.7159738541, - -13.0712471008, - -13.1726398468, - -14.0420751572 - ], - "content":"25. Volz, E.; Mishra, S.; Chand, M.; Barrett, J.C.; Johnson, R.; Geidelberg, L.; Hinsley, W.R.; Laydon, D.J.; Dabrera, G.; O'Toole, Á.; et al.", - "postprocess_cls":"Section Header", - "postprocess_score":0.7926460505, - "detect_cls":"Reference text", - "detect_score":-3.2157504559 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 646.0, - 106.0, - 660.0 - ], - "classes":[ - "Reference text", - "Table", - "Page Footer", - "Figure", - "Equation label", - "Section Header", - "Body Text", - "Page Header", - "Table Caption", - "Figure Caption", - "Table Note", - "Other", - "Equation", - "Abstract" - ], - "scores":[ - -5.1539878845, - -5.3020939827, - -6.9158682823, - -7.072804451, - -7.7035703659, - -7.8148822784, - -8.001584053, - -9.2741355896, - -9.3537960052, - -10.146490097, - -10.2882575989, - -10.3166122437, - -10.6294994354, - -11.5169849396 - ], - "content":"26. Tatapudi, H.; Das, R.; Das, T.K. Impact assessment of full and partial stay-at-home orders, face mask usage, and contact tracing:", - "postprocess_cls":"Page Footer", - "postprocess_score":0.4009010494, - "detect_cls":"Reference text", - "detect_score":-5.1539878845 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 698.0, - 106.0, - 713.0 - ], - "classes":[ - "Reference text", - "Page Footer", - "Table", - "Equation label", - "Figure", - "Section Header", - "Other", - "Equation", - "Body Text", - "Abstract", - "Page Header", - "Table Note", - "Table Caption", - "Figure Caption" - ], - "scores":[ - -3.8052105904, - -5.8814787865, - -6.645819664, - -7.7170886993, - -7.9209699631, - -8.677359581, - -9.5824327469, - -9.9282016754, - -10.7273035049, - -11.025844574, - -11.6131811142, - -11.6515989304, - -11.6976509094, - -12.218706131 - ], - "content":"27. Cheong, K.H.; Jones, M.C. Introducing the 21st century's new four horsemen of the coronapocalypse. BioEssays 2020, 42, 2000063.", - "postprocess_cls":"Section Header", - "postprocess_score":0.4258098304, - "detect_cls":"Reference text", - "detect_score":-3.8052105904 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 751.0, - 106.0, - 765.0 - ], - "classes":[ - "Table", - "Page Footer", - "Reference text", - "Figure", - "Equation label", - "Other", - "Body Text", - "Section Header", - "Table Caption", - "Table Note", - "Equation", - "Abstract", - "Page Header", - "Figure Caption" - ], - "scores":[ - -5.3406186104, - -5.631975174, - -5.8069086075, - -8.7242069244, - -9.6082000732, - -10.5158557892, - -11.0335350037, - -11.4187889099, - -11.4762125015, - -11.7414340973, - -12.0791625977, - -12.2578773499, - -13.2365760803, - -13.7983856201 - ], - "content":"28. Lyu, W.; Wehby, G.L. Community Use Of Face Masks And COVID-19: Evidence From A Natural Experiment Of State Mandates", - "postprocess_cls":"Section Header", - "postprocess_score":0.7025460005, - "detect_cls":"Table", - "detect_score":-5.3406186104 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 829.0, - 106.0, - 844.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Body Text", - "Reference text", - "Table", - "Table Caption", - "Table Note", - "Figure Caption", - "Other", - "Figure", - "Equation label", - "Equation", - "Page Header", - "Abstract" - ], - "scores":[ - -3.1696989536, - -8.4708032608, - -11.0811958313, - -11.2829618454, - -11.8613004684, - -12.4573526382, - -12.8267974854, - -14.4768972397, - -14.9625282288, - -15.8552246094, - -16.0115203857, - -16.6108016968, - -16.9140644073, - -17.5206813812 - ], - "content":"29. Li, T.; Liu, Y.; Li, M.; Qian, X.; Dai, S.Y. Mask or no mask for COVID-19: A public health and market study. PLoS ONE 2020,", - "postprocess_cls":"Section Header", - "postprocess_score":0.7363973856, - "detect_cls":"Page Footer", - "detect_score":-3.1696989536 - } -] \ No newline at end of file diff --git a/tests/resources/basic_profile_dataset/text.json b/tests/resources/basic_profile_dataset/text.json deleted file mode 100644 index 5eaa7d7..0000000 --- a/tests/resources/basic_profile_dataset/text.json +++ /dev/null @@ -1,5172 +0,0 @@ -[ - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 107.0, - 1275.0, - 195.0 - ], - "classes":[ - "Equation label", - "Section Header", - "Page Header", - "Body Text", - "Figure", - "Other", - "Equation", - "Reference text", - "Figure Caption", - "Table", - "Page Footer", - "Table Note", - "Table Caption", - "Abstract" - ], - "scores":[ - -5.158577919, - -8.3714532852, - -10.0183992386, - -10.2071590424, - -11.1120090485, - -11.1143541336, - -11.2161874771, - -13.0983781815, - -15.0558624268, - -15.1471719742, - -15.9366912842, - -18.405462265, - -18.7139511108, - -18.9916629791 - ], - "content":"", - "postprocess_cls":"Page Header", - "postprocess_score":0.9985458851, - "detect_cls":"Equation label", - "detect_score":-5.158577919 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 80.0, - 234.0, - 1197.0, - 305.0 - ], - "classes":[ - "Body Text", - "Other", - "Equation label", - "Section Header", - "Reference text", - "Table Note", - "Page Footer", - "Figure", - "Abstract", - "Equation", - "Page Header", - "Table", - "Figure Caption", - "Table Caption" - ], - "scores":[ - -1.9848747253, - -7.259475708, - -11.0177192688, - -12.7866334915, - -13.10891819, - -14.0849218369, - -14.3103981018, - -14.6399879456, - -14.7027568817, - -15.8481864929, - -16.2041015625, - -17.3444747925, - -17.9344902039, - -20.9808273315 - ], - "content":"Article Dynamical Analysis of Universal Masking on the Pandemic", - "postprocess_cls":"Body Text", - "postprocess_score":0.9914546013, - "detect_cls":"Body Text", - "detect_score":-1.9848747253 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 83.0, - 343.0, - 1044.0, - 370.0 - ], - "classes":[ - "Section Header", - "Other", - "Equation label", - "Equation", - "Body Text", - "Page Footer", - "Figure", - "Reference text", - "Abstract", - "Table Note", - "Table Caption", - "Table", - "Figure Caption", - "Page Header" - ], - "scores":[ - -2.0326740742, - -2.7304286957, - -4.5183801651, - -5.2259273529, - -6.2282066345, - -6.3734707832, - -6.7899360657, - -7.0165834427, - -7.4191837311, - -7.4662895203, - -7.9870581627, - -8.0286159515, - -8.2380943298, - -8.6224336624 - ], - "content":"Brandon Kaiheng Tay † , Carvalho Andrea Roby †, Jodi Wenjiang Wu † and Da Yang Tan *", - "postprocess_cls":"Section Header", - "postprocess_score":0.9072340131, - "detect_cls":"Section Header", - "detect_score":-2.0326740742 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 418.0, - 1226.0, - 535.0 - ], - "classes":[ - "Page Footer", - "Other", - "Table Note", - "Table", - "Page Header", - "Figure", - "Body Text", - "Table Caption", - "Figure Caption", - "Reference text", - "Abstract", - "Section Header", - "Equation label", - "Equation" - ], - "scores":[ - -2.5388700962, - -3.7671117783, - -5.0030655861, - -5.7867355347, - -6.5778765678, - -6.8421964645, - -6.8604774475, - -7.6586065292, - -7.836004734, - -7.9547429085, - -8.0516815186, - -9.3464565277, - -9.8778991699, - -10.1746559143 - ], - "content":"Science, Mathematics and Technology, Singapore University of Technology and Design, 8 Somapah Road, Singapore 487372, Singapore; brandontay6@gmail.com (B.K.T.); andwea3@gmail.com (C.A.R.); jodiwwj@gmail.com (J.W.W.) * Correspondence: dayang_tan@sutd.edu.sg † These authors contributed equally to this work.", - "postprocess_cls":"Other", - "postprocess_score":0.6949161887, - "detect_cls":"Page Footer", - "detect_score":-2.5388700962 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 573.0, - 1278.0, - 890.0 - ], - "classes":[ - "Abstract", - "Other", - "Section Header", - "Body Text", - "Equation label", - "Reference text", - "Table Note", - "Table", - "Figure Caption", - "Figure", - "Page Footer", - "Table Caption", - "Page Header", - "Equation" - ], - "scores":[ - -6.553381443, - -7.0592031479, - -7.5321784019, - -8.1746530533, - -9.3305721283, - -9.5875043869, - -10.8356370926, - -10.9991464615, - -11.3415498734, - -11.5023822784, - -11.6590452194, - -11.7893009186, - -12.5354270935, - -14.5688781738 - ], - "content":"Abstract: We investigate the impact of the delay in compulsory mask wearing on the spread of COVID-19 in the community, set in the Singapore context. By using modified SEIR-based compart- mental models, we focus on macroscopic population-level analysis of the relationships between the delay in compulsory mask wearing and the maximum infection, through a series of scenario-based analysis. Our analysis suggests that collective masking can meaningfully reduce the transmission of COVID-19 in the community, but only if implemented within a critical time window of approximately before 80–100 days delay after the first infection is detected, coupled with strict enforcement to ensure compliance throughout the duration. We also identify a delay threshold of about 100 days that results in masking enforcement having little significant impact on the Maximum Infected Values. The results therefore highlight the necessity for rapid implementation of compulsory mask wearing to curb the spread of the pandemic.", - "postprocess_cls":"Abstract", - "postprocess_score":0.9484135509, - "detect_cls":"Abstract", - "detect_score":-6.553381443 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 926.0, - 1275.0, - 984.0 - ], - "classes":[ - "Body Text", - "Page Header", - "Other", - "Equation label", - "Figure", - "Section Header", - "Equation", - "Table", - "Figure Caption", - "Page Footer", - "Reference text", - "Abstract", - "Table Caption", - "Table Note" - ], - "scores":[ - -5.5984277725, - -6.6887278557, - -7.2796764374, - -7.5727577209, - -8.1192560196, - -8.3920602798, - -9.5373849869, - -9.6610832214, - -10.6693582535, - -11.2980852127, - -12.0429611206, - -12.0956077576, - -12.9813222885, - -13.2261285782 - ], - "content":"Keywords: SEIR model; SEIS model; mask wearing; compartmental model; epidemic modelling", - "postprocess_cls":"Body Text", - "postprocess_score":0.7085515261, - "detect_cls":"Body Text", - "detect_score":-5.5984277725 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1002.0, - 345.0, - 1154.0 - ], - "classes":[ - "Body Text", - "Section Header", - "Figure", - "Other", - "Page Header", - "Figure Caption", - "Reference text", - "Equation label", - "Abstract", - "Table Note", - "Page Footer", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - -0.4976767898, - -7.6454410553, - -9.3069028854, - -9.428153038, - -9.6553201675, - -10.0410013199, - -10.3448381424, - -10.689655304, - -11.2578315735, - -11.2712049484, - -11.7054204941, - -15.0347061157, - -15.1838083267, - -15.3739404678 - ], - "content":"Citation: Tay, B.K.; Roby, C.A.; Wu, J.W.; Tan, D.Y. Dynamical Analysis of Universal Masking on the Pandemic. Int. J. Environ. Res. Public Health 2021, 18, 9027. https:// doi.org/10.3390/ijerph18179027", - "postprocess_cls":"Body Text", - "postprocess_score":0.8970527649, - "detect_cls":"Body Text", - "detect_score":-0.4976767898 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1038.0, - 536.0, - 1055.0 - ], - "classes":[ - "Body Text", - "Section Header", - "Page Header", - "Figure", - "Reference text", - "Other", - "Page Footer", - "Equation label", - "Figure Caption", - "Equation", - "Table Note", - "Abstract", - "Table", - "Table Caption" - ], - "scores":[ - -1.8938975334, - -4.3468050957, - -5.930565834, - -7.1995210648, - -7.2024521828, - -7.6047611237, - -8.6509456635, - -9.3752946854, - -9.4793462753, - -11.2701282501, - -11.3327894211, - -11.9113807678, - -12.3241205215, - -13.5627841949 - ], - "content":"1. Introduction", - "postprocess_cls":"Section Header", - "postprocess_score":0.9995450377, - "detect_cls":"Body Text", - "detect_score":-1.8938975334 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1074.0, - 1278.0, - 1755.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Section Header", - "Reference text", - "Page Footer", - "Abstract", - "Table Note", - "Figure Caption", - "Figure", - "Page Header", - "Other", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - 0.7251604199, - -15.622086525, - -15.7503271103, - -15.8251218796, - -16.0309772491, - -16.1873703003, - -16.934419632, - -17.0300006866, - -17.3174877167, - -19.9234809875, - -20.3943519592, - -24.590473175, - -24.6434822083, - -27.056306839 - ], - "content":"In the light of the COVID-19 pandemic, the Singapore government declared with effect as of 14 April 2020, an enforcement of compulsory mask wearing in public spaces, 89 days after the first case of COVID-19 was detected in Singapore. The usage of masks is known to effectively decrease the infection rate. It has shown success in limiting community spread of SARS 2003 [1], and more recently, in Taiwan's management of COVID-19 [2]. Recent hypothetical studies on masking by the states of New York and Washington suggests a potential prevention of up to 45% of their projected death rates [3]. In this study of potential face-mask usage for the general public, the authors investigated how public masking can control the infection, in the context of the USA. However, not much was mentioned about how the delayed enforcement of such a policy would affect the infection numbers. In another study on public masking [4], the authors studied how factors such as the filtering capability of different mask materials, as well as sociological behaviour patterns on masking, would affect the efficacy of this policy. A comprehensive data-driven study on COVID-19 waves worldwide and strategies to mitigate them conducted by Lai and Cheong [5] also did not provide detailed analysis of mask wearing policies and its effectiveness. Concluding this literature review, it is apparent that in-depth studies on the impact of delayed mask enforcement on the spread of COVID-19 in the community is limited. This paper thus seeks to investigate the relationship between delay in compulsory mask wearing and the Maximum Infected Values, through a series of scenario-based what- if analysis. We would be considering 3 scenarios using 2 compartmental models—the SEIR and the SEIRS model. The use of compartmental models for modelling the spread of COVID-19 has been explored recently, such as to study the lockdown measures [6,7], or with variant to include the effects of age-structure within the population [8] and different", - "postprocess_cls":"Body Text", - "postprocess_score":0.9998295307, - "detect_cls":"Body Text", - "detect_score":0.7251604199 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1192.0, - 310.0, - 1208.0 - ], - "classes":[ - "Other", - "Page Footer", - "Section Header", - "Body Text", - "Equation label", - "Table Note", - "Reference text", - "Figure", - "Abstract", - "Page Header", - "Table", - "Table Caption", - "Equation", - "Figure Caption" - ], - "scores":[ - -2.9890294075, - -3.3959157467, - -4.593378067, - -6.244890213, - -6.5497121811, - -7.2422127724, - -7.3849005699, - -7.4488811493, - -7.4600481987, - -7.6431908607, - -7.7195529938, - -7.9713959694, - -7.9969091415, - -8.4315900803 - ], - "content":"Academic Editor: Jimmy T. Efird", - "postprocess_cls":"Section Header", - "postprocess_score":0.9993419051, - "detect_cls":"Other", - "detect_score":-2.9890294075 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1247.0, - 268.0, - 1318.0 - ], - "classes":[ - "Other", - "Body Text", - "Section Header", - "Equation label", - "Reference text", - "Figure", - "Page Footer", - "Equation", - "Table Note", - "Table", - "Abstract", - "Page Header", - "Table Caption", - "Figure Caption" - ], - "scores":[ - -4.1823372841, - -5.1112661362, - -6.9629349709, - -7.0838446617, - -7.7467865944, - -7.8375759125, - -8.8564739227, - -8.9725866318, - -9.1548099518, - -9.5617437363, - -9.6012058258, - -11.4223642349, - -12.3504314423, - -12.5159215927 - ], - "content":"Received: 20 June 2021 Accepted: 24 August 2021 Published: 27 August 2021", - "postprocess_cls":"Body Text", - "postprocess_score":0.6687924266, - "detect_cls":"Other", - "detect_score":-4.1823372841 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1359.0, - 351.0, - 1453.0 - ], - "classes":[ - "Section Header", - "Page Footer", - "Reference text", - "Body Text", - "Other", - "Table Note", - "Figure", - "Equation", - "Abstract", - "Figure Caption", - "Table Caption", - "Equation label", - "Table", - "Page Header" - ], - "scores":[ - -5.8428478241, - -6.3360619545, - -7.2266125679, - -7.5321187973, - -8.2308416367, - -9.9798364639, - -10.8188667297, - -11.5504598618, - -11.6129703522, - -11.9741849899, - -12.2181940079, - -12.3263959885, - -12.5641174316, - -13.806722641 - ], - "content":"Publisher's Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affil- iations.", - "postprocess_cls":"Body Text", - "postprocess_score":0.7294377089, - "detect_cls":"Section Header", - "detect_score":-5.8428478241 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1500.0, - 350.0, - 1767.0 - ], - "classes":[ - "Section Header", - "Page Footer", - "Figure Caption", - "Other", - "Figure", - "Body Text", - "Abstract", - "Reference text", - "Table Note", - "Equation", - "Table Caption", - "Table", - "Equation label", - "Page Header" - ], - "scores":[ - -6.5802001953, - -7.0285143852, - -8.0855836868, - -8.2666950226, - -8.3461647034, - -8.6726207733, - -9.8244400024, - -10.4466161728, - -11.00852108, - -11.2992296219, - -11.4344749451, - -12.3009567261, - -12.8775424957, - -14.8131856918 - ], - "content":"Copyright: © 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).", - "postprocess_cls":"Body Text", - "postprocess_score":0.4166562259, - "detect_cls":"Section Header", - "detect_score":-6.5802001953 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 1843.0, - 1275.0, - 1876.0 - ], - "classes":[ - "Page Footer", - "Page Header", - "Reference text", - "Equation label", - "Table", - "Other", - "Body Text", - "Table Note", - "Equation", - "Figure", - "Table Caption", - "Abstract", - "Figure Caption", - "Section Header" - ], - "scores":[ - -0.5714578032, - -4.4968333244, - -4.5759072304, - -4.8665537834, - -5.7643418312, - -5.7929019928, - -5.9571275711, - -6.7715325356, - -7.1043848991, - -7.6470108032, - -8.7554969788, - -9.1320457458, - -9.1481485367, - -9.5743207932 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027. https://doi.org/10.3390/ijerph18179027 https://www.mdpi.com/journal/ijerph", - "postprocess_cls":"Page Footer", - "postprocess_score":0.9999275208, - "detect_cls":"Page Footer", - "detect_score":-0.5714578032 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Other", - "Reference text", - "Table", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -1.69619596, - -3.2141313553, - -3.9378855228, - -4.8566551208, - -5.4208545685, - -5.9383769035, - -6.2361469269, - -6.353307724, - -6.3739156723, - -6.5636873245, - -7.3287501335, - -7.3517103195, - -8.558930397, - -8.8238668442 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 2 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9995732903, - "detect_cls":"Page Header", - "detect_score":-1.69619596 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 219.0, - 1276.0, - 529.0 - ], - "classes":[ - "Body Text", - "Figure Caption", - "Figure", - "Equation label", - "Page Footer", - "Section Header", - "Abstract", - "Table Note", - "Reference text", - "Page Header", - "Other", - "Table Caption", - "Equation", - "Table" - ], - "scores":[ - -0.5451325774, - -10.4853096008, - -12.1630077362, - -13.2492980957, - -13.500875473, - -13.7242078781, - -14.071103096, - -14.4545812607, - -14.7841234207, - -15.7971820831, - -18.4810504913, - -20.4726238251, - -22.414308548, - -22.4882659912 - ], - "content":"social settings [9]. For the SEIR model, we consider a complete compliance, and gradual noncompliance over time. Using an SEIRS model, we consider a third scenario taking into account time-limited immunity. Results from simulating these 3 scenarios would hopefully shed light on the effects of delaying the usage of masks and how the containment of epidemic could have been more effective in Singapore. To model the pandemic from a macroscopic view point, we use modified versions of the model, which consists of a number of compartments described by a system of differential equations in Sections 2 and 3. To solve these equations, we implemented the model in Python using the Odeint package. We then modify the Delay of Mask Enforcement by plotting several data sets and recording the resulting Maximum Infection Value predicted by our model. This was performed over 3 different scenarios:", - "postprocess_cls":"Body Text", - "postprocess_score":0.9443999529, - "detect_cls":"Body Text", - "detect_score":-0.5451325774 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 430.0, - 546.0, - 1278.0, - 1078.0 - ], - "classes":[ - "Body Text", - "Page Footer", - "Figure Caption", - "Equation label", - "Abstract", - "Reference text", - "Figure", - "Table Note", - "Page Header", - "Section Header", - "Other", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - -1.7037055492, - -12.2971372604, - -12.7130117416, - -14.0141639709, - -14.4679946899, - -14.7939186096, - -15.6933107376, - -16.0003376007, - -16.9068927765, - -19.4729213715, - -19.6528110504, - -23.4287376404, - -23.999332428, - -24.6993846893 - ], - "content":"Scenario 1: The first scenario considers the most basic case of complete compliance of the masking enforcement, from the day it was enforced throughout its duration. It also does not account for time-limited immunity [10], where infected individuals become susceptible again after a period of time. Scenario 2: The second scenario closely resembles the first, but with the addition of gradual noncompliance of the masking enforcement. The root of noncompliance stems from either lack of medical knowledge, wishful thinking that the pandemic will magically disappear, selfish behaviour of individuals, pandemic fatigue etc. Here, we assume that onset of the noncompliance is triggered by an event, for instance, changes in government policies. As an illustration, the Singapore government announced the Phase 2 of its gradual reopening plan on 18 June 2020 (154 days after the first case in Singapore) where members of the public were allowed to visit shopping malls and dine-in at food establishments, it was observed that a minority of individuals did not comply with the masking regulations. Scenario 3: The third scenario is almost identical to the first, but now accounts for time-limited immunity. After 90 days, it has been shown that a recovered individual may become susceptible to the virus again [11]. This scenario serves as a comparison to investigate if the immunity factor would worsen the effects of the delay of mask enforcement on the maximum infected values.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9966195822, - "detect_cls":"Body Text", - "detect_score":-1.7037055492 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 550.0, - 392.0, - 959.0 - ], - "classes":[ - "Figure", - "Page Footer", - "Body Text", - "Page Header", - "Equation", - "Equation label", - "Table", - "Other", - "Reference text", - "Section Header", - "Figure Caption", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -3.9439780712, - -5.3267054558, - -6.2526054382, - -7.1189422607, - -7.8562464714, - -8.1171293259, - -9.2266807556, - -9.8653507233, - -10.498093605, - -10.6506376266, - -11.1741914749, - -11.8317804337, - -13.3176107407, - -13.9674358368 - ], - "content":"• • •", - "postprocess_cls":"Figure", - "postprocess_score":0.52900666, - "detect_cls":"Figure", - "detect_score":-3.9439780712 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1101.0, - 1278.0, - 1576.0 - ], - "classes":[ - "Body Text", - "Reference text", - "Equation label", - "Abstract", - "Page Footer", - "Section Header", - "Table Note", - "Other", - "Figure", - "Figure Caption", - "Page Header", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -0.6825846434, - -15.3944978714, - -15.428196907, - -16.5312175751, - -16.6540126801, - -18.0022602081, - -20.0354576111, - -20.8560085297, - -21.1997718811, - -21.5778102875, - -21.596364975, - -28.5442733765, - -29.507566452, - -30.4051780701 - ], - "content":"Here we highlight that effective control of the COVID19 pandemic cannot be achieved by the universal masking enforcement alone, but a strong combination factors such as social distancing enforcement, rapid roll-out of mass testing, lockdowns and extensive quarantine measures. However, these are outside the scope of our analysis, as we aim to both model and investigate how the delay of public masking enforcement affects its effectiveness in controlling the pandemic. We have thus considered the effects of universal masking in isolation of the other factors for the purpose of this analysis. Sections 2 and 3 of this article describe and explain the SEIR and SEIRS mathematical models we implemented. Section 4 describes the mathematical modelling of the relation- ship between the mask wearing and the infection rate with respect to time t. Section 5 describes the epidemiological parameters implemented in our models. Brief justification of their values are also included. Section 6 comprises the results and discussion, and is divided into 3 sub-sections. Section 6.1 explains the dynamics of the delay in compulsory mask wearing, and discusses its effects as demonstrated by our models. Section 6.2 ex- plains the effects of this delay on the Maximum Infected Values for each of the 3 scenarios. Section 6.3 discusses the limitations of our study. Finally, Section 7 wraps up the discussion with a conclusion.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9997990727, - "detect_cls":"Body Text", - "detect_score":-0.6825846434 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1610.0, - 531.0, - 1627.0 - ], - "classes":[ - "Body Text", - "Page Footer", - "Other", - "Section Header", - "Figure", - "Reference text", - "Equation label", - "Equation", - "Table Note", - "Table", - "Figure Caption", - "Page Header", - "Abstract", - "Table Caption" - ], - "scores":[ - -4.2576880455, - -5.7159318924, - -6.2077884674, - -6.4353137016, - -7.9118890762, - -8.0875310898, - -8.1936368942, - -8.9437570572, - -9.4237642288, - -9.8112573624, - -10.0816755295, - -10.3704032898, - -11.5863780975, - -11.9120559692 - ], - "content":"2. SEIR Model", - "postprocess_cls":"Section Header", - "postprocess_score":0.9992983341, - "detect_cls":"Body Text", - "detect_score":-4.2576880455 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 1645.0, - 1278.0, - 1783.0 - ], - "classes":[ - "Body Text", - "Abstract", - "Figure Caption", - "Page Footer", - "Reference text", - "Table Note", - "Figure", - "Section Header", - "Other", - "Page Header", - "Equation label", - "Table Caption", - "Table", - "Equation" - ], - "scores":[ - -6.8442792892, - -14.5340843201, - -15.9826402664, - -16.779340744, - -18.0857620239, - -19.8811759949, - -22.0744285583, - -24.9976997375, - -25.2601032257, - -25.4991168976, - -25.9981155396, - -26.0339317322, - -28.6102046967, - -34.445186615 - ], - "content":"Compartmentalized mathematical models have been regularly used to model infec- tious diseases. The most basic SIR (Susceptible, Infected, Removed) was developed in the early twentieth century by Ronald Ross, William Hamer, and many others [12], and has been heavily modified since, with the addition of new compartments and parameters. More recently, the use of similar models have resurfaced to model the COVID19 situation", - "postprocess_cls":"Body Text", - "postprocess_score":0.9988446236, - "detect_cls":"Body Text", - "detect_score":-6.8442792892 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Other", - "Figure", - "Table", - "Reference text", - "Table Note", - "Table Caption", - "Abstract", - "Equation" - ], - "scores":[ - -2.3664302826, - -2.9404520988, - -3.2837388515, - -4.0985455513, - -4.7677974701, - -5.3199496269, - -5.6641254425, - -5.7271747589, - -5.8400988579, - -5.9454283714, - -6.2081561089, - -6.536760807, - -7.8253655434, - -8.1519069672 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 3 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9991918206, - "detect_cls":"Page Header", - "detect_score":-2.3664302826 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 224.0, - 1277.0, - 418.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Reference text", - "Page Footer", - "Figure", - "Page Header", - "Section Header", - "Table Note", - "Abstract", - "Other", - "Figure Caption", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 0.4304295182, - -10.1913642883, - -12.402302742, - -14.7456035614, - -15.7327041626, - -16.9917621613, - -17.6852760315, - -18.2479972839, - -18.9947147369, - -19.0640888214, - -19.0708618164, - -21.1419143677, - -24.5851593018, - -28.4060916901 - ], - "content":"in many countries. Recent epidemiological studies on China [13], Italy [14], India [15] for example, have been conducted with modified versions of such a model. For our study, we used the SEIR [16] and SEIRS [17] variant of the model, as described in Sections 2 and 3. The SEIR model consists of several compartments, namely Susceptible, Exposed, Infected and Removed. We expand the model by further differentiating the Removed compartment into 2 new Recovered and Death compartments. The flow between the 5 components are described by the following 5 differential equations:", - "postprocess_cls":"Body Text", - "postprocess_score":0.9962309003, - "detect_cls":"Body Text", - "detect_score":0.4304295182 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 752.0, - 716.0, - 1274.0, - 765.0 - ], - "classes":[ - "Equation label", - "Equation", - "Body Text", - "Figure", - "Page Header", - "Reference text", - "Table", - "Section Header", - "Other", - "Page Footer", - "Figure Caption", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - 0.7596632242, - -6.09562397, - -6.2220053673, - -8.4025192261, - -11.1426048279, - -12.1553859711, - -13.1699972153, - -13.5358810425, - -14.4634923935, - -15.2270336151, - -15.240105629, - -16.8979148865, - -18.1654338837, - -19.4191036224 - ], - "content":"dD(t) = αρI(t) (5) dt", - "postprocess_cls":"Equation", - "postprocess_score":0.9998032451, - "detect_cls":"Equation label", - "detect_score":0.7596632242 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 723.0, - 651.0, - 1274.0, - 699.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Equation", - "Page Header", - "Figure", - "Reference text", - "Section Header", - "Figure Caption", - "Other", - "Table", - "Page Footer", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -0.5282879472, - -3.2964746952, - -8.4707126617, - -8.9078521729, - -9.4237070084, - -12.070687294, - -12.3733644485, - -13.7526845932, - -14.542424202, - -15.080165863, - -16.516462326, - -16.5492744446, - -17.5699195862, - -20.0694351196 - ], - "content":"dR(t) = (1 − α)γI(t) (4) dt", - "postprocess_cls":"Equation", - "postprocess_score":0.9947794676, - "detect_cls":"Equation label", - "detect_score":-0.5282879472 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 640.0, - 585.0, - 1274.0, - 634.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Equation", - "Figure", - "Page Header", - "Reference text", - "Section Header", - "Table", - "Figure Caption", - "Other", - "Table Note", - "Page Footer", - "Abstract", - "Table Caption" - ], - "scores":[ - 1.0624827147, - -3.953271389, - -8.6391658783, - -10.9951019287, - -11.2218170166, - -13.0829267502, - -13.9086027145, - -14.9607896805, - -15.1052751541, - -15.5159215927, - -16.6100692749, - -16.7282314301, - -18.5023384094, - -20.6325378418 - ], - "content":"dI(t) = δE(t) − (1 − α)γI(t) − αρI(t) (3) dt", - "postprocess_cls":"Equation", - "postprocess_score":0.9843853116, - "detect_cls":"Equation label", - "detect_score":1.0624827147 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 696.0, - 519.0, - 1274.0, - 568.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Section Header", - "Equation", - "Figure", - "Figure Caption", - "Page Header", - "Reference text", - "Table Note", - "Other", - "Page Footer", - "Table", - "Abstract", - "Table Caption" - ], - "scores":[ - -1.777987957, - -2.7053332329, - -10.7096710205, - -10.9655132294, - -11.248005867, - -12.8873147964, - -13.0134782791, - -13.5010709763, - -15.5496406555, - -15.7924356461, - -16.4645557404, - -16.4778881073, - -17.3430652618, - -18.789352417 - ], - "content":"S(t) dE(t) = βI(t) − δE(t) (2) dt N", - "postprocess_cls":"Equation", - "postprocess_score":0.9568058848, - "detect_cls":"Equation label", - "detect_score":-1.777987957 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 681.0, - 1222.0, - 1274.0, - 1271.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Equation", - "Reference text", - "Figure", - "Page Header", - "Section Header", - "Other", - "Table", - "Figure Caption", - "Abstract", - "Table Note", - "Page Footer", - "Table Caption" - ], - "scores":[ - -4.8503398895, - -5.2248268127, - -9.1185617447, - -11.5806236267, - -12.3339033127, - -12.5619077682, - -12.5990018845, - -15.5497922897, - -16.5331687927, - -16.9476299286, - -18.8042221069, - -20.0208435059, - -20.5148220062, - -22.381269455 - ], - "content":"dR(t) = (1 − α)γI(t) − R(t) (7) dt", - "postprocess_cls":"Equation", - "postprocess_score":0.8299534917, - "detect_cls":"Equation label", - "detect_score":-4.8503398895 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 686.0, - 1147.0, - 1274.0, - 1197.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Page Header", - "Equation", - "Reference text", - "Figure", - "Section Header", - "Figure Caption", - "Table", - "Other", - "Page Footer", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - 0.117642507, - -5.4621038437, - -7.5167608261, - -9.5665636063, - -10.4896383286, - -12.6301279068, - -13.0732145309, - -14.711019516, - -15.0971460342, - -15.5980558395, - -16.1236038208, - -18.3282203674, - -18.7492389679, - -20.926448822 - ], - "content":"dS(t) S(t) = −βI(t) + R(t) (6) dt N", - "postprocess_cls":"Equation", - "postprocess_score":0.9961049557, - "detect_cls":"Equation label", - "detect_score":0.117642507 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 728.0, - 444.0, - 1274.0, - 493.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Reference text", - "Page Footer", - "Table Note", - "Other", - "Table", - "Figure", - "Section Header", - "Equation", - "Page Header", - "Abstract", - "Table Caption", - "Figure Caption" - ], - "scores":[ - -2.7598707676, - -2.888833046, - -5.524936676, - -5.6568017006, - -6.0531992912, - -6.1260838509, - -6.5165491104, - -7.3657631874, - -7.4578914642, - -8.0260257721, - -8.8127374649, - -9.0429992676, - -9.6294651031, - -9.9026927948 - ], - "content":"dS(t) S(t) = −βI(t) (1) dt N", - "postprocess_cls":"Equation", - "postprocess_score":0.6141163707, - "detect_cls":"Equation label", - "detect_score":-2.7598707676 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 782.0, - 1275.0, - 920.0 - ], - "classes":[ - "Body Text", - "Section Header", - "Figure Caption", - "Abstract", - "Equation label", - "Table Note", - "Page Footer", - "Reference text", - "Other", - "Figure", - "Table Caption", - "Page Header", - "Equation", - "Table" - ], - "scores":[ - -2.7215280533, - -10.4865884781, - -10.639998436, - -13.9466915131, - -15.7235155106, - -16.6665477753, - -16.8861198425, - -18.0406684875, - -18.3201999664, - -18.3763141632, - -20.1121368408, - -20.3940029144, - -24.6096229553, - -25.1321487427 - ], - "content":"where N is the total population, S(t), E(t), I(t), R(t) and D(t), are the number of people susceptible, exposed, infected, recovered and dead on day t. β is the expected number of people an infected person infects per day, γ is the proportion of recovery per day, δ is the incubation period, α is the fatality rate due to the infection and ρ is the inverse of the average number of days for an infected person to die if he does not recover.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9959763885, - "detect_cls":"Body Text", - "detect_score":-2.7215280533 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 949.0, - 545.0, - 965.0 - ], - "classes":[ - "Body Text", - "Page Footer", - "Figure", - "Equation label", - "Reference text", - "Other", - "Page Header", - "Section Header", - "Abstract", - "Figure Caption", - "Table Note", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -5.2109236717, - -6.5942687988, - -8.2502479553, - -8.8928756714, - -9.0652112961, - -10.0970077515, - -10.5589427948, - -10.9189805984, - -12.2121772766, - -12.4608488083, - -12.7421483994, - -13.4477958679, - -13.8999729156, - -17.0868797302 - ], - "content":"3. SEIRS Model", - "postprocess_cls":"Section Header", - "postprocess_score":0.9996773005, - "detect_cls":"Body Text", - "detect_score":-5.2109236717 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 984.0, - 1275.0, - 1121.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Abstract", - "Reference text", - "Other", - "Table Note", - "Page Footer", - "Section Header", - "Figure", - "Figure Caption", - "Page Header", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -2.9874308109, - -9.0950212479, - -10.8997097015, - -11.151506424, - -11.562748909, - -12.2840843201, - -13.4683017731, - -14.4899168015, - -16.8020267487, - -16.9602298737, - -17.6181564331, - -17.9680194855, - -18.2824897766, - -19.6447219849 - ], - "content":"The SEIRS model is similar to the SEIR model such that it has five components as well—Susceptible, Exposed, Infected, Recovered and Death. However, the SEIRS model takes time-limited immunity into account, whereby recovered individuals are prone to becoming susceptible to the disease again after a period of time. In the SEIRS model, Equations (1) and (4) are then modified to", - "postprocess_cls":"Body Text", - "postprocess_score":0.9993829727, - "detect_cls":"Body Text", - "detect_score":-2.9874308109 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1288.0, - 1126.0, - 1311.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Figure", - "Section Header", - "Reference text", - "Page Header", - "Equation", - "Figure Caption", - "Table", - "Other", - "Page Footer", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -2.6959555149, - -3.5594203472, - -6.703063488, - -7.6305561066, - -7.7114853859, - -7.9572868347, - -8.2868156433, - -10.5709295273, - -12.1454677582, - -12.3750295639, - -13.2707958221, - -13.6201553345, - -13.6786584854, - -15.3705368042 - ], - "content":"where is the rate at which a recovered person becomes susceptible again.", - "postprocess_cls":"Equation", - "postprocess_score":0.8025770187, - "detect_cls":"Equation label", - "detect_score":-2.6959555149 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1339.0, - 1277.0, - 1712.0 - ], - "classes":[ - "Body Text", - "Reference text", - "Abstract", - "Equation label", - "Page Header", - "Section Header", - "Figure Caption", - "Page Footer", - "Figure", - "Other", - "Table Note", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -3.1954927444, - -6.7487845421, - -12.9166879654, - -13.5890388489, - -14.0583839417, - -16.2690963745, - -16.9095211029, - -17.8277950287, - -19.5517063141, - -19.598072052, - -19.6363887787, - -21.2971973419, - -22.2141418457, - -24.7429199219 - ], - "content":"4. Time-Based Model for Compulsory Mask Wearing Masking is found to decrease the infection rate I(t) by reducing the transmission of respiratory droplets between individuals, which in turn reduces the number of individuals an infected person can infect. Kai et al. [18] showed that the infection rate can be reduced by 60% when universal masking is enforced. There have been other studies that reflect varying rates of infection rate reduction, such as 47% (estimate between 15% and 75%) in Germany [19] and 75% in Arizona during the 2020 summer surge [20], along with numerous others. The disparity of the figures are likely to be due to the influence of other policies such as enforced social distancing and lockdowns. For the purpose of our study, we felt 60% reduction in infection rate was a reasonable value, without being too optimistic or pessimistic.We thus model our infection rate as time-dependent β → β(t) and a function of m(t): β(t) = κm(t) (8)", - "postprocess_cls":"Body Text", - "postprocess_score":0.9998670816, - "detect_cls":"Body Text", - "detect_score":-3.1954927444 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Section Header", - "Figure Caption", - "Other", - "Table", - "Reference text", - "Table Caption", - "Figure", - "Table Note", - "Equation", - "Abstract" - ], - "scores":[ - -1.7302033901, - -3.6377530098, - -4.4046735764, - -5.2347478867, - -5.5449490547, - -5.9033555984, - -5.9583358765, - -6.3729043007, - -6.5386605263, - -7.0557188988, - -7.2179327011, - -7.4130735397, - -8.6365003586, - -8.9389972687 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 4 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9993817806, - "detect_cls":"Page Header", - "detect_score":-1.7302033901 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 224.0, - 741.0, - 246.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Section Header", - "Figure", - "Reference text", - "Equation", - "Figure Caption", - "Page Footer", - "Page Header", - "Table Note", - "Other", - "Abstract", - "Table", - "Table Caption" - ], - "scores":[ - -1.7804280519, - -8.1360397339, - -11.527100563, - -13.3830690384, - -13.5606451035, - -13.768409729, - -15.0057487488, - -17.1439228058, - -17.2342357635, - -17.2720603943, - -18.1832847595, - -18.4798774719, - -21.9602966309, - -22.6526908875 - ], - "content":"where κ is an arbitrary constant and", - "postprocess_cls":"Page Header", - "postprocess_score":0.9264364839, - "detect_cls":"Body Text", - "detect_score":-1.7804280519 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 694.0, - 273.0, - 1274.0, - 324.0 - ], - "classes":[ - "Equation", - "Equation label", - "Body Text", - "Figure", - "Section Header", - "Table", - "Reference text", - "Page Header", - "Other", - "Page Footer", - "Figure Caption", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -3.7837722301, - -4.4668540955, - -8.5332717896, - -9.7747631073, - -13.9771213531, - -14.2968702316, - -14.3140821457, - -14.3843383789, - -14.4104194641, - -16.5212039948, - -19.6543273926, - -20.2351646423, - -20.919095993, - -21.7818088531 - ], - "content":"βs − βc m(t) = (9) + βc 1 + e−k(−t+t0)", - "postprocess_cls":"Equation", - "postprocess_score":0.9999083281, - "detect_cls":"Equation", - "detect_score":-3.7837722301 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 350.0, - 1275.0, - 539.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Figure Caption", - "Figure", - "Page Footer", - "Table Note", - "Reference text", - "Abstract", - "Other", - "Section Header", - "Page Header", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -0.5436022878, - -14.9844760895, - -15.4629774094, - -16.4936618805, - -18.1207199097, - -18.1337356567, - -19.5456314087, - -19.683921814, - -20.7252178192, - -21.2746753693, - -22.7573699951, - -27.0828914642, - -28.5530204773, - -29.5923461914 - ], - "content":"where a modified logistic function is used to model this transition by setting the infection before (i.e., at the start of the outbreak) and after the full compliance masking enforcement to be βs = 1 and βc = 0.4 respectively. t0 is the number of days after the first case where masking wearing is enforced. Figure 1 shows an example of such logistic function, where for the case of Singapore, we set t0 = 89, since the policy of compulsory mask wearing was implemented 89 days after the first case was uncovered. This model is used in both Scenarios 1 and 3.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9971863627, - "detect_cls":"Body Text", - "detect_score":-0.5436022878 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 404.0, - 580.0, - 1152.0, - 1079.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Equation", - "Equation label", - "Figure Caption", - "Section Header", - "Other", - "Table", - "Page Footer", - "Table Note", - "Abstract", - "Reference text", - "Table Caption" - ], - "scores":[ - 4.1000723839, - -9.4325752258, - -12.4519081116, - -14.3672904968, - -14.5336322784, - -14.9966268539, - -15.9972295761, - -16.025396347, - -16.671836853, - -17.1014385223, - -19.9756145477, - -21.1269264221, - -22.4875679016, - -23.1718616486 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999912977, - "detect_cls":"Figure", - "detect_score":4.1000723839 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1104.0, - 1275.0, - 1149.0 - ], - "classes":[ - "Figure Caption", - "Page Header", - "Body Text", - "Table Caption", - "Section Header", - "Figure", - "Page Footer", - "Equation label", - "Table Note", - "Abstract", - "Other", - "Table", - "Reference text", - "Equation" - ], - "scores":[ - 2.9030091763, - -9.2282190323, - -13.6434030533, - -15.0287923813, - -16.2147197723, - -16.3651332855, - -17.4601249695, - -17.9541778564, - -18.631696701, - -18.9941577911, - -20.4291362762, - -22.0355434418, - -22.8392944336, - -23.8998527527 - ], - "content":"Figure 1. Logistic function to model the infection rate due to compulsory mask wearing m(t) for Scenarios 1 and 3.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999907017, - "detect_cls":"Figure Caption", - "detect_score":2.9030091763 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1184.0, - 1275.0, - 1289.0 - ], - "classes":[ - "Figure", - "Page Header", - "Equation label", - "Equation", - "Body Text", - "Other", - "Section Header", - "Figure Caption", - "Table", - "Page Footer", - "Reference text", - "Abstract", - "Table Note", - "Table Caption" - ], - "scores":[ - -5.9238781929, - -7.8981151581, - -8.0480117798, - -8.0698204041, - -8.5796461105, - -10.6876716614, - -13.9410295486, - -14.1181249619, - -14.4374904633, - -15.9662275314, - -16.184179306, - -18.5673618317, - -18.7337665558, - -19.8033809662 - ], - "content":"To model the gradual noncompliance of universal masking, we make a modification to Equation (9). βs − βc βc − βnc + m(t) = (10) + βnc 1 + e−k1(−t+t0) 1 + e−k2(−t+t1)", - "postprocess_cls":"Body Text", - "postprocess_score":0.5503957272, - "detect_cls":"Figure", - "detect_score":-5.9238781929 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1305.0, - 1278.0, - 1672.0 - ], - "classes":[ - "Body Text", - "Figure Caption", - "Table Note", - "Equation label", - "Page Header", - "Section Header", - "Abstract", - "Table Caption", - "Other", - "Page Footer", - "Reference text", - "Figure", - "Table", - "Equation" - ], - "scores":[ - -5.8830633163, - -9.0368585587, - -10.8957958221, - -13.3811073303, - -13.5485925674, - -14.8247318268, - -14.991435051, - -15.1697273254, - -15.8896350861, - -17.105091095, - -17.6960659027, - -18.4475955963, - -21.0349082947, - -23.3355693817 - ], - "content":"As individuals began to engage in noncompliance out of complacency and pandemic fatigue, the infection rate, βnc, would thus increase slightly. Furthermore, compared to quenching of the infection rate due to enforcement of the compulsory mask wearing, the noncompliance will be gradual. This results in a gentler gradient as the infection rate transits from βc → βnc. The gradients are tuned by the arbitrary constants k1 and k2, where k1 > k2. We further assume that the population are able to maintain compliance for a period of time before onset of noncompliance at t1, which may be triggered by an event, for example a change in the government's policy. Figure 2 illustrates one such example, where we have βnc = 0.5 and t1 = 154, taken in context to Singapore's shift from a full lockdown to gradual resumption of everyday activities 154 days after the first case. The infection rate βnc is expected to be lower than βs as even with the complacency and fatigue, as there is now a greater situational awareness of the severity and the population in general will take a more cautious outlook compared to pre-pandemic days.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9968757629, - "detect_cls":"Body Text", - "detect_score":-5.8830633163 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Other", - "Reference text", - "Figure", - "Table", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -1.5087971687, - -3.3478233814, - -3.992017746, - -4.9614892006, - -5.4743070602, - -6.1402859688, - -6.2511262894, - -6.323946476, - -6.4941959381, - -6.5377807617, - -7.5381102562, - -7.6336975098, - -8.5953559875, - -8.9597167969 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 5 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9994342923, - "detect_cls":"Page Header", - "detect_score":-1.5087971687 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 396.0, - 223.0, - 931.0, - 580.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Figure Caption", - "Other", - "Section Header", - "Equation", - "Equation label", - "Page Footer", - "Table", - "Table Note", - "Abstract", - "Table Caption", - "Reference text" - ], - "scores":[ - 2.2623577118, - -10.2967786789, - -10.8714666367, - -12.8581047058, - -15.1635608673, - -15.8568058014, - -16.4230175018, - -17.6112575531, - -18.1314201355, - -18.4943618774, - -20.4085903168, - -20.733877182, - -22.6400165558, - -22.6574802399 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999917746, - "detect_cls":"Figure", - "detect_score":2.2623577118 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 613.0, - 1275.0, - 664.0 - ], - "classes":[ - "Figure Caption", - "Body Text", - "Figure", - "Page Footer", - "Page Header", - "Table Caption", - "Abstract", - "Table Note", - "Section Header", - "Other", - "Equation label", - "Table", - "Reference text", - "Equation" - ], - "scores":[ - 0.9741205573, - -11.5788402557, - -12.8867588043, - -13.7339344025, - -14.8756866455, - -16.1689815521, - -16.255853653, - -16.4346809387, - -16.6110420227, - -16.6758804321, - -21.1135120392, - -21.5821495056, - -23.1135559082, - -24.8644714355 - ], - "content":"Figure 2. Logistic function to model the infection rate due to compulsory mask wearing m(t) for Scenario 2, where one takes into account the noncompliance.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999696016, - "detect_cls":"Figure Caption", - "detect_score":0.9741205573 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 688.0, - 1275.0, - 775.0 - ], - "classes":[ - "Other", - "Section Header", - "Page Footer", - "Figure Caption", - "Body Text", - "Figure", - "Page Header", - "Reference text", - "Equation", - "Table Note", - "Abstract", - "Table Caption", - "Table", - "Equation label" - ], - "scores":[ - -4.6291937828, - -6.0781207085, - -7.9622960091, - -8.5642433167, - -8.5854253769, - -8.9777555466, - -9.801366806, - -10.6661090851, - -10.904668808, - -11.2438554764, - -11.4593896866, - -11.8970451355, - -13.0903167725, - -13.5284023285 - ], - "content":"5. Epidemiological Parameters To conduct our analysis in the Singapore context, we estimate the epidemiological parameters described in the earlier sections for the Singapore's context:", - "postprocess_cls":"Other", - "postprocess_score":0.7580176592, - "detect_cls":"Other", - "detect_score":-4.6291937828 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 430.0, - 792.0, - 1277.0, - 1130.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Reference text", - "Figure Caption", - "Section Header", - "Figure", - "Abstract", - "Page Header", - "Page Footer", - "Table Note", - "Other", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 1.5766657591, - -13.2020549774, - -16.4787559509, - -16.964302063, - -17.2969303131, - -18.2964859009, - -18.8807621002, - -19.0890674591, - -19.3149185181, - -21.8046360016, - -23.581987381, - -26.566526413, - -28.9885311127, - -30.0895500183 - ], - "content":"γ = 1/11: According to the position statement released by the National Centre of Disease Control Singapore [21], a person remains infectious for up to 11 days after first contracting COVID-19. δ = 1/5: The SARS-CoV2 virus has an incubation period of about 5 days [22]. α = 0.000064: Fatality rate is defined as the percentage of deaths among all previously infected individuals. At the time this work was conducted, the number of deaths in Singapore was 26, and the total number of Recovered and Dead compartments was 40,625. ρ = 1/9: As this number varies greatly across different demographics and is highly unpredictable, we are unable to obtain a proper average. Moreover, owing to the low numbers of COVID-19 deaths in Singapore, it would be inaccurate to calculate an average using this small sample size. Thus, for analysis purposes, we set it at 9 days.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9996544123, - "detect_cls":"Body Text", - "detect_score":1.5766657591 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 796.0, - 392.0, - 804.0 - ], - "classes":[ - "Page Footer", - "Figure", - "Section Header", - "Body Text", - "Equation", - "Other", - "Reference text", - "Table", - "Page Header", - "Table Note", - "Equation label", - "Figure Caption", - "Table Caption", - "Abstract" - ], - "scores":[ - -2.9053115845, - -4.5805282593, - -5.5827050209, - -6.5868663788, - -7.3583173752, - -7.4265518188, - -8.0279092789, - -8.2571277618, - -8.3638343811, - -8.5961027145, - -8.8530931473, - -9.2815132141, - -9.8112306595, - -10.4304542542 - ], - "content":"•", - "postprocess_cls":"Section Header", - "postprocess_score":0.9211617112, - "detect_cls":"Page Footer", - "detect_score":-2.9053115845 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 882.0, - 392.0, - 890.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Figure", - "Equation label", - "Equation", - "Reference text", - "Table", - "Other", - "Figure Caption", - "Page Header", - "Table Caption", - "Table Note", - "Abstract", - "Body Text" - ], - "scores":[ - -2.1900157928, - -5.3232288361, - -6.3310675621, - -6.538602829, - -6.8521265984, - -7.0864639282, - -7.6612892151, - -7.6977677345, - -7.7621526718, - -7.9629206657, - -8.4278831482, - -8.7660951614, - -9.2666406631, - -9.4148368835 - ], - "content":"•", - "postprocess_cls":"Section Header", - "postprocess_score":0.8286181688, - "detect_cls":"Page Footer", - "detect_score":-2.1900157928 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 911.0, - 392.0, - 919.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Equation label", - "Figure", - "Table", - "Other", - "Equation", - "Table Caption", - "Table Note", - "Figure Caption", - "Reference text", - "Page Header", - "Body Text", - "Abstract" - ], - "scores":[ - -1.6243486404, - -6.7012591362, - -6.9366807938, - -7.3323450089, - -7.9474105835, - -8.8363676071, - -8.8912086487, - -8.978302002, - -9.0530633926, - -9.4314546585, - -9.4526872635, - -9.770160675, - -9.8681192398, - -11.2481384277 - ], - "content":"•", - "postprocess_cls":"Section Header", - "postprocess_score":0.8768944144, - "detect_cls":"Page Footer", - "detect_score":-1.6243486404 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 1025.0, - 392.0, - 1033.0 - ], - "classes":[ - "Section Header", - "Body Text", - "Page Footer", - "Figure", - "Other", - "Figure Caption", - "Page Header", - "Equation", - "Equation label", - "Table Note", - "Reference text", - "Table Caption", - "Table", - "Abstract" - ], - "scores":[ - -3.8821780682, - -5.7434711456, - -10.7130403519, - -11.2477216721, - -12.108798027, - -13.4920969009, - -13.5678339005, - -14.0245628357, - -14.1262760162, - -16.1466751099, - -17.2123680115, - -17.515127182, - -18.4866218567, - -20.4881267548 - ], - "content":"•", - "postprocess_cls":"Section Header", - "postprocess_score":0.9993214607, - "detect_cls":"Section Header", - "detect_score":-3.8821780682 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1158.0, - 1277.0, - 1791.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Section Header", - "Page Footer", - "Figure", - "Reference text", - "Figure Caption", - "Page Header", - "Table Note", - "Abstract", - "Other", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 3.9174981117, - -29.6443309784, - -30.2645549774, - -30.7007331848, - -33.6453704834, - -33.8487052917, - -34.6866035461, - -36.0330162048, - -38.830997467, - -39.2242469788, - -41.6673774719, - -49.0738563538, - -51.2751731873, - -53.5775375366 - ], - "content":"6. Results and Discussion 6.1. Dynamics of Delay of Compulsory Mask Wearing Upon applying the SEIR models to the 3 scenarios described in the above sections, we are able to obtain Maximum Infected Values by simulating different values of delay in mask enforcement. Considering the most basic case of Scenario 1; where there is complete compliance throughout the duration of mask enforcement, and the absence of time-limited immunity, Figure 3 shows the cases where mask wearing were to be enforced (a) on the day the first case of COVID-19 was detected in Singapore; (b) after a 50 days delay; (c) after a 100 days delay; and (d) not enforced at all. From Figure 3, it can be deduced that earlier enforcement of mask wearing both reduces the Maximum Infected Value as well as increases the number of days taken to reach the Maximum Infected Value. This is reflected by right-ward shift of the maxima of the Infected compartment, as well as a lower maxima value of the infected curve. The infected number increases until it reaches a global maxima, before decreasing as predicted by compartmental models of such form. This global maxima is termed as the Maximum Infected Value. For the case of (a) 0 days of delay in mask enforcement, the maximum infected value is approximately 10.453%, and the peak occurs at day 291 after the first case was detected. For the case of a (b) 50 days delay, the maximum infected value is approximately 10.479%, and the peak occurs on day 195. For the case of a (c) 100 days delay, the maximum infected value is much higher, at approximately 27.474%, and the peak occurs much earlier, on day 103. This is very close to the case where (d) no public masking is enforced, where the maximum infected value is approximately 31.422% and", - "postprocess_cls":"Body Text", - "postprocess_score":0.9963091016, - "detect_cls":"Body Text", - "detect_score":3.9174981117 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Other", - "Figure", - "Section Header", - "Table", - "Reference text", - "Table Note", - "Table Caption", - "Abstract", - "Equation" - ], - "scores":[ - -2.5404891968, - -2.7208592892, - -3.2227096558, - -3.8342299461, - -4.8508319855, - -5.3711147308, - -5.4711380005, - -5.494038105, - -5.6461625099, - -5.8514742851, - -5.9516105652, - -6.5359797478, - -7.7324132919, - -7.8704433441 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 6 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9993324876, - "detect_cls":"Page Header", - "detect_score":-2.5404891968 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 224.0, - 1275.0, - 304.0 - ], - "classes":[ - "Reference text", - "Body Text", - "Page Footer", - "Equation label", - "Table Note", - "Other", - "Abstract", - "Section Header", - "Page Header", - "Figure", - "Figure Caption", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -2.41370368, - -2.449630022, - -6.9069609642, - -8.0799608231, - -9.8782691956, - -9.8951234818, - -10.0216999054, - -10.1125574112, - -11.3799171448, - -11.8693094254, - -12.6075954437, - -12.9540042877, - -13.3861627579, - -15.8635005951 - ], - "content":"the peak occurs on day 106. From a policy point of view, this suggests that early universal masking would indeed be an effective control, not only to reduce the infection, but more critically to flatten the curve so as to not overwhelm the medical resources.", - "postprocess_cls":"Reference text", - "postprocess_score":0.9266610146, - "detect_cls":"Reference text", - "detect_score":-2.41370368 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 250.0, - 363.0, - 1102.0, - 565.0 - ], - "classes":[ - "Figure", - "Page Header", - "Figure Caption", - "Section Header", - "Equation label", - "Body Text", - "Table", - "Equation", - "Table Caption", - "Page Footer", - "Other", - "Table Note", - "Reference text", - "Abstract" - ], - "scores":[ - -3.1873693466, - -4.8212738037, - -7.0536727905, - -10.2028875351, - -10.3731937408, - -12.6629772186, - -13.1024913788, - -13.3014593124, - -13.4798297882, - -14.02252388, - -14.8326330185, - -16.4965019226, - -16.7484340668, - -17.5182647705 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9992592931, - "detect_cls":"Figure", - "detect_score":-3.1873693466 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 250.0, - 590.0, - 1117.0, - 791.0 - ], - "classes":[ - "Page Header", - "Figure", - "Figure Caption", - "Body Text", - "Equation label", - "Page Footer", - "Equation", - "Table", - "Section Header", - "Other", - "Reference text", - "Table Caption", - "Table Note", - "Abstract" - ], - "scores":[ - -1.1635150909, - -4.8522176743, - -9.8937969208, - -9.9956798553, - -10.4784946442, - -12.4243450165, - -12.8667650223, - -13.4087505341, - -13.4521074295, - -14.8423604965, - -16.4829616547, - -16.5560760498, - -17.6497058868, - -19.2318267822 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9996366501, - "detect_cls":"Page Header", - "detect_score":-1.1635150909 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 129.0, - 840.0, - 1227.0, - 890.0 - ], - "classes":[ - "Figure Caption", - "Section Header", - "Table Caption", - "Body Text", - "Other", - "Page Header", - "Table Note", - "Figure", - "Page Footer", - "Abstract", - "Equation label", - "Reference text", - "Table", - "Equation" - ], - "scores":[ - 0.0527810045, - -5.8636431694, - -8.1322975159, - -9.1273422241, - -9.1603155136, - -9.2407836914, - -10.6179800034, - -10.9474830627, - -11.1488428116, - -11.6220417023, - -12.3708753586, - -13.761590004, - -14.0128669739, - -14.9243373871 - ], - "content":"Figure 3. SEIR Plots for delays of (a) 0 days, (b) 50 days, (c) 100 days. (d) corresponds to the control case where mask wearing is not enforced.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999295473, - "detect_cls":"Figure Caption", - "detect_score":0.0527810045 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 921.0, - 1275.0, - 1062.0 - ], - "classes":[ - "Figure Caption", - "Body Text", - "Section Header", - "Page Header", - "Equation label", - "Figure", - "Page Footer", - "Abstract", - "Table Note", - "Reference text", - "Other", - "Table Caption", - "Equation", - "Table" - ], - "scores":[ - -3.1065702438, - -4.7654337883, - -12.8439817429, - -13.8662433624, - -15.4319906235, - -15.5018615723, - -17.0974407196, - -18.2143917084, - -19.3625240326, - -19.7661495209, - -20.4133853912, - -21.4896030426, - -24.7576503754, - -25.5214538574 - ], - "content":"6.2. Effects of Delay of Mask Enforcement on Maximum Infected Value We further investigate this relationship by explicitly considering how the delay in mask enforcement will impact the corresponding Maximum Infected Values. Figure 4 shows the results of different enforcement delay values and their corresponding maximum infected values. Here, we considered 3 scenarios described in the introduction.", - "postprocess_cls":"Body Text", - "postprocess_score":0.5061179996, - "detect_cls":"Figure Caption", - "detect_score":-3.1065702438 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 393.0, - 1108.0, - 1030.0, - 1537.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Section Header", - "Equation", - "Equation label", - "Other", - "Figure Caption", - "Table", - "Page Footer", - "Table Note", - "Abstract", - "Reference text", - "Table Caption" - ], - "scores":[ - 3.2385380268, - -9.2120409012, - -9.7329940796, - -12.2138414383, - -13.0309505463, - -13.1443042755, - -13.3979330063, - -13.8367948532, - -14.9413957596, - -17.6346092224, - -18.796453476, - -19.1195087433, - -20.0014133453, - -20.6520004272 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999812841, - "detect_cls":"Figure", - "detect_score":3.2385380268 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1572.0, - 1275.0, - 1622.0 - ], - "classes":[ - "Figure Caption", - "Table Caption", - "Abstract", - "Page Header", - "Page Footer", - "Section Header", - "Body Text", - "Figure", - "Table Note", - "Other", - "Equation label", - "Reference text", - "Table", - "Equation" - ], - "scores":[ - 4.4397335052, - -10.1999044418, - -10.8553724289, - -10.9445619583, - -11.1522703171, - -12.1556482315, - -12.263874054, - -12.4855384827, - -13.0420885086, - -13.5317106247, - -15.924665451, - -16.16979599, - -16.3548965454, - -18.4352684021 - ], - "content":"Figure 4. Maximum infection against delay in mask enforcement for Scenario 2: SEIR with full compliance and Scenario 3: SEIRS with time-limited immunity.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999933243, - "detect_cls":"Figure Caption", - "detect_score":4.4397335052 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 1651.0, - 1277.0, - 1788.0 - ], - "classes":[ - "Body Text", - "Figure", - "Figure Caption", - "Equation label", - "Page Header", - "Section Header", - "Page Footer", - "Reference text", - "Abstract", - "Other", - "Table Note", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 0.9530130625, - -17.2154483795, - -18.4175643921, - -19.2814178467, - -20.2099666595, - -20.2442378998, - -22.9685268402, - -23.8366775513, - -24.1421489716, - -25.4540996552, - -26.7766017914, - -31.0241737366, - -32.9815940857, - -34.7086448669 - ], - "content":"Figure 4 suggests a transition from low maximum infection of about 15–16% to a high maximum infection of about 31%, with the transition occurring at between a delay of 80 to 100 days. This transition manifests itself as a point of inflection of the graphs in Figure 4, occurring at about 100 days of delay. Interestingly, this suggests that delaying public masking enforcement for greater than about 100 days results in the significant reduction in", - "postprocess_cls":"Figure Caption", - "postprocess_score":1.0, - "detect_cls":"Body Text", - "detect_score":0.9530130625 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Other", - "Reference text", - "Table", - "Section Header", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -1.5099077225, - -3.0049507618, - -4.360350132, - -5.7266712189, - -6.2218074799, - -6.3322916031, - -6.6689505577, - -6.7434539795, - -6.8281655312, - -7.1442403793, - -8.1997594833, - -8.2815227509, - -8.5703229904, - -9.537197113 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 7 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9996254444, - "detect_cls":"Page Header", - "detect_score":-1.5099077225 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 224.0, - 1278.0, - 1134.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Page Footer", - "Figure Caption", - "Figure", - "Abstract", - "Table Note", - "Section Header", - "Reference text", - "Page Header", - "Other", - "Table", - "Equation", - "Table Caption" - ], - "scores":[ - -1.2279397249, - -14.3236656189, - -14.8038883209, - -17.3390235901, - -18.7345314026, - -19.0893936157, - -19.3613624573, - -19.4439258575, - -20.0368766785, - -21.6289806366, - -21.9084072113, - -28.8379039764, - -29.4303035736, - -29.6773681641 - ], - "content":"the effectiveness of public masking in controlling the maximum infection numbers. This is because after 100 days, most of the Exposed compartment has already been been infected, therefore this will no longer contribute to any further increase to the Infection compartment. Relating this to Singapore's context, compulsory mask wearing was introduced 89 days after the first case, hence this suggests that the introduction of compulsory mask wearing was timely to control the infection. Crucially, one should note that the point of inflection appears to be independent of the choice of our scenarios and in all three cases, the transition takes place at about the same 80 to 100 days of delay. The peak infection beyond 100 days of delay also yield similar results in all three cases. One would naively anticipate that the noncompliance in Scenario 2 resulting in a larger infection rate and the backflow of Recovered to Susceptible compartment after 90 days of time-limited immunity would have contributed positively to the Maximum Infected Values. While this is indeed the case for early intervention, beyond the transition point, the Infected compartment is already on track in reaching its maximum (see Figure 3d), the effectiveness of any intervention to change its trajectory and reduce the maximum is greatly reduced. This suggests the importance of early intervention by policy makers and governments, where this potential window to take action is about 3 months based on our analysis. However, we stress this does not mean that public masking is completely ineffective after the transition point, but rather that its initial effectiveness is significantly reduced beyond this point, when studying the effects of compulsory mask wearing in isolation. We further note that in Scenario 2 (see Figure 5), the results suggest that earlier enforce- ment of mask wearing leads to higher than expected Maximum Infected Values (compared to Scenario 1). This is apparent for delays in mask enforcement under approximately 50 days. It is likely that for such cases of early enforcement, the Susceptible population remains very high throughout. Consequently, when the agents begin to flout the rules after t1 = 154 days, the combination of both larger Susceptible compartment pool and higher βnc results in a greater amount of infection. In other words, the susceptible population must be sufficiently reduced before the implementation of the compulsory mask wearing for it to be effective in reducing the Maximum Infected Value. In practice, though not considered in this work, the susceptible population may be reduced or removed through other means, e.g., social distancing or lockdown.", - "postprocess_cls":"Body Text", - "postprocess_score":0.999740541, - "detect_cls":"Body Text", - "detect_score":-1.2279397249 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 396.0, - 1172.0, - 1048.0, - 1600.0 - ], - "classes":[ - "Figure", - "Equation label", - "Body Text", - "Equation", - "Section Header", - "Page Header", - "Figure Caption", - "Page Footer", - "Other", - "Table", - "Table Note", - "Abstract", - "Table Caption", - "Reference text" - ], - "scores":[ - 0.6478790641, - -8.1646146774, - -9.0933990479, - -10.5133371353, - -10.5431413651, - -10.6895513535, - -11.6505804062, - -12.4260349274, - -12.4875516891, - -13.2730197906, - -14.7135210037, - -16.0829792023, - -16.6395664215, - -16.8146400452 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999837875, - "detect_cls":"Figure", - "detect_score":0.6478790641 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 1631.0, - 1278.0, - 1682.0 - ], - "classes":[ - "Figure Caption", - "Body Text", - "Figure", - "Page Header", - "Page Footer", - "Section Header", - "Equation label", - "Table Note", - "Table Caption", - "Equation", - "Other", - "Abstract", - "Reference text", - "Table" - ], - "scores":[ - -3.0298552513, - -7.7131061554, - -9.2794094086, - -10.4575004578, - -12.7215270996, - -13.0526819229, - -14.6363334656, - -17.4520072937, - -17.9454879761, - -18.4411945343, - -19.0718822479, - -21.2084636688, - -21.5699863434, - -22.0168647766 - ], - "content":"Figure 5. Maximum infection against delay in mask enforcement for Scenario 2: SEIR with grad- ual noncompliance.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999574423, - "detect_cls":"Figure Caption", - "detect_score":-3.0298552513 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1710.0, - 1275.0, - 1790.0 - ], - "classes":[ - "Body Text", - "Figure Caption", - "Page Footer", - "Figure", - "Abstract", - "Page Header", - "Table Note", - "Other", - "Equation label", - "Section Header", - "Reference text", - "Table Caption", - "Table", - "Equation" - ], - "scores":[ - -4.3385715485, - -9.694486618, - -13.5871639252, - -14.2641153336, - -14.586853981, - -14.9624614716, - -17.6243057251, - -17.9860401154, - -19.1923599243, - -19.6803646088, - -19.8963279724, - -21.9928703308, - -22.4069385529, - -25.9891548157 - ], - "content":"At the time the initial study was conducted, we had modelled the COVID-19 situation in Singapore and its response to the initial strain of virus that was first detected at the start of 2020. However, the world is currently facing the second wave of infection. New", - "postprocess_cls":"Body Text", - "postprocess_score":0.9927651286, - "detect_cls":"Body Text", - "detect_score":-4.3385715485 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Equation label", - "Page Header", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Figure", - "Other", - "Table Note", - "Table", - "Reference text", - "Table Caption", - "Abstract", - "Equation" - ], - "scores":[ - -2.5124282837, - -2.9073629379, - -2.9385926723, - -3.376696825, - -4.5021634102, - -4.8872199059, - -5.1021184921, - -5.1072254181, - -5.364320755, - -5.3768672943, - -5.5889949799, - -6.0011315346, - -7.1411910057, - -7.5594658852 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 8 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9993408322, - "detect_cls":"Equation label", - "detect_score":-2.5124282837 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 224.0, - 1278.0, - 476.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Figure Caption", - "Page Header", - "Page Footer", - "Section Header", - "Figure", - "Reference text", - "Table Note", - "Abstract", - "Other", - "Table Caption", - "Table", - "Equation" - ], - "scores":[ - 0.8267956972, - -16.0498313904, - -16.3773021698, - -17.3451595306, - -18.896944046, - -18.9894275665, - -20.2770938873, - -20.8690834045, - -21.1896896362, - -22.9311618805, - -25.2531299591, - -31.2778282166, - -31.8736000061, - -31.9162902832 - ], - "content":"strains, particularly the B117 variant, have been detected in many countries, including Sin- gapore [23]. B117 strained virus has acquired the D614G spike protein mutation, reportedly increasing its infectivity, with little difference to its lethality [24]. According to studies done in the UK, the R0 value of B117 has increased by up to 0.7 [25]. To investigate the impact of delay in public mask enforcement on controlling the Maximum Infected Numbers due to the B117 variant, we modelled a hypothetical scenario. In this scenario, the first case of COVID-19 detected in Singapore is of the B117 variant. We ran our simulation of the 3 scenarios described in the preceding sections with a new value of R0 reflecting that of B117. The resulting plots are shown in Figure 6 and 7.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9884775281, - "detect_cls":"Body Text", - "detect_score":0.8267956972 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 387.0, - 510.0, - 917.0, - 867.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Section Header", - "Equation label", - "Equation", - "Other", - "Figure Caption", - "Table", - "Page Footer", - "Reference text", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -0.230891183, - -8.6101913452, - -9.6145172119, - -9.696855545, - -11.7993011475, - -12.3803157806, - -13.7472639084, - -15.1451997757, - -17.5577926636, - -19.1554222107, - -19.2288780212, - -20.2317199707, - -20.316783905, - -22.1437778473 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999415874, - "detect_cls":"Figure", - "detect_score":-0.230891183 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 888.0, - 1275.0, - 938.0 - ], - "classes":[ - "Figure Caption", - "Page Header", - "Body Text", - "Page Footer", - "Equation label", - "Section Header", - "Other", - "Figure", - "Table Note", - "Table Caption", - "Abstract", - "Reference text", - "Table", - "Equation" - ], - "scores":[ - -1.7880330086, - -6.4670872688, - -9.6256151199, - -12.0806665421, - -12.514913559, - -13.9187374115, - -14.067481041, - -14.9008674622, - -15.2483606339, - -15.6128845215, - -16.4564361572, - -17.050868988, - -17.7882423401, - -18.8692626953 - ], - "content":"Figure 6. Maximum infection against delay in mask enforcement for Scenario 2: SEIR with full compliance and Scenario 3: SEIRS with time-limited immunity for the B117 variant case.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.999977231, - "detect_cls":"Figure Caption", - "detect_score":-1.7880330086 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 388.0, - 963.0, - 931.0, - 1320.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Equation label", - "Equation", - "Page Footer", - "Section Header", - "Other", - "Figure Caption", - "Table", - "Table Note", - "Abstract", - "Table Caption", - "Reference text" - ], - "scores":[ - 0.5181251168, - -10.6063308716, - -10.9858551025, - -11.8891019821, - -13.6827697754, - -14.4328842163, - -14.7260141373, - -15.5658063889, - -16.0109653473, - -16.6873016357, - -19.8755321503, - -22.1069812775, - -22.613193512, - -22.6256523132 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999915361, - "detect_cls":"Figure", - "detect_score":0.5181251168 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 1344.0, - 1275.0, - 1393.0 - ], - "classes":[ - "Figure Caption", - "Body Text", - "Section Header", - "Figure", - "Page Header", - "Table Caption", - "Abstract", - "Other", - "Page Footer", - "Equation label", - "Table Note", - "Reference text", - "Equation", - "Table" - ], - "scores":[ - -1.8838572502, - -7.2165436745, - -9.0215272903, - -13.0316390991, - -13.7898550034, - -14.0342931747, - -14.1680755615, - -14.3334932327, - -14.9199113846, - -15.0288934708, - -15.3022975922, - -18.7880439758, - -19.1882457733, - -20.1419277191 - ], - "content":"Figure 7. Maximum infection against delay in mask enforcement for Scenario 2: SEIR with gradual noncompliance for the B117 variant case.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999775887, - "detect_cls":"Figure Caption", - "detect_score":-1.8838572502 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1417.0, - 563.0, - 1434.0 - ], - "classes":[ - "Equation label", - "Figure", - "Page Header", - "Section Header", - "Page Footer", - "Body Text", - "Equation", - "Other", - "Figure Caption", - "Reference text", - "Table", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -4.6576399803, - -4.7376022339, - -6.2408800125, - -7.512673378, - -8.4140415192, - -8.6492443085, - -9.2616262436, - -10.0734930038, - -11.7521343231, - -12.0373468399, - -12.5049133301, - -14.7412090302, - -15.3036937714, - -15.9025182724 - ], - "content":"6.3. Related Studies", - "postprocess_cls":"Section Header", - "postprocess_score":0.9907457829, - "detect_cls":"Equation label", - "detect_score":-4.6576399803 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1453.0, - 1278.0, - 1791.0 - ], - "classes":[ - "Body Text", - "Abstract", - "Reference text", - "Page Header", - "Figure", - "Page Footer", - "Figure Caption", - "Equation label", - "Section Header", - "Other", - "Table Note", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - -1.564510107, - -15.4646940231, - -18.0718841553, - -19.3672237396, - -19.6613502502, - -19.7487621307, - -19.8751850128, - -20.4439563751, - -21.5015830994, - -22.3033504486, - -22.9334697723, - -28.0302295685, - -29.1530380249, - -30.0541973114 - ], - "content":"Juxtaposing our study against other similar studies that implement mathematical modelling on 'what-if' scenario based analysis, Eikenberry et al. [3] implemented a com- partmentalized models for their simulations, and concluded that if the population remains unmasked until mask enforcement after some discrete delay, and that the level of adoption is fixed, the delay initially had little impact on the hospitalized fraction or deaths, but states that a 'point of no return' can be crossed. While this study yields similar results to ours, it is contextualised in the US states of New York and Washington, whilst ours was conducted in the context of Singapore. Given the differences in epidemiological parameters, size and characteristics of these cities and Singapore, our study adds value in being a more accurate representation of smaller city states. Furthermore, this study did not take into consideration newer, more infectious strains of the virus such as the B117 variant and time-limited immunity, which we have considered in our study.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9997264743, - "detect_cls":"Body Text", - "detect_score":-1.564510107 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":9, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_9_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Other", - "Reference text", - "Table", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -1.4972016811, - -3.5980913639, - -4.1209149361, - -5.4198904037, - -5.8428649902, - -6.1353282928, - -6.3139066696, - -6.4656472206, - -6.7573122978, - -6.9958362579, - -7.8635826111, - -7.8681206703, - -8.9311704636, - -9.2261962891 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 9 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.999494195, - "detect_cls":"Page Header", - "detect_score":-1.4972016811 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":9, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_9_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 224.0, - 1278.0, - 447.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Section Header", - "Page Footer", - "Other", - "Figure Caption", - "Figure", - "Table Note", - "Abstract", - "Reference text", - "Page Header", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -0.033802636, - -11.9683914185, - -14.2329492569, - -14.8672418594, - -15.9906816483, - -16.032125473, - -16.0714359283, - -16.9485359192, - -16.9835414886, - -17.2661170959, - -17.9673995972, - -22.0706214905, - -25.2780094147, - -25.5011806488 - ], - "content":"Another study done by Tatapudi et al. [26] on the impact assessment of various containment measures, including public masking, contact tracing and stay-home orders revealed that masking was indeed effective in lowering the maximum infected value. The simulation was carried out using Agent-Based modelling, where individual agents were generated from the census data from Florida. This study, like many others mentioned throughout this paper, did not explicitly study the impact of the delay in enforcement of public masking. However, it adds validity to the effectiveness of face masks in controlling the spread of infection, by means of a very different mathematical model.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9984205961, - "detect_cls":"Body Text", - "detect_score":-0.033802636 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":9, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_9_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 475.0, - 1278.0, - 1307.0 - ], - "classes":[ - "Body Text", - "Page Footer", - "Equation label", - "Section Header", - "Reference text", - "Abstract", - "Figure", - "Table Note", - "Page Header", - "Figure Caption", - "Other", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 0.1184755415, - -16.7590999603, - -17.7536563873, - -18.2873401642, - -18.5310287476, - -19.5538845062, - -19.7386474609, - -20.0910320282, - -20.1675662994, - -20.3564929962, - -20.5363483429, - -28.6993656158, - -28.8846244812, - -29.9321918488 - ], - "content":"6.4. Limitations of the Results We caution against exact quantitative predictions of the development of pandemic that are dependent on a multitude of factors other than universal mask wearing that we have considered here. What we have considered here is the what-if analysis of the effects of implementation of compulsory mask wearing on the dynamics of the pandemic. While the parameters chosen were based on estimates in Singapore's context, one should note that at the time of this writing, these estimates may change as we continue to deepen our understanding of the virus spread. Instead, this work should be interpreted as a numerical representation of the possible outcomes of delaying mask enforcement as a basis for the discussion of the general trends. We further note that, at the time of writing, the actual real-world figures for Maximum Infected Values fall below the ones discussed in this paper. This is due to the fact that we have only examined the policy of compulsory mask wearing in isolation, with minimum consideration of other factors. We expect that any countries or territories that are actively fighting the virus spread to implement an array of varying measures, all of which would collectively reduce the overall spread of the virus. While we acknowledge the limitations due to the rapidly changing nature of the ongoing pandemic and the presence of many contributing factors, some which are difficult to quantify, we cannot resort to waiting for sufficient data to present itself before drawing concrete solutions, as warned by Cheong and Jones [27], if we are to reduce its impact. Analysing the results, as we may intuitively anticipate, given the increased infectivity of the new strain, the Maximum Infected Numbers obtained were of a slightly greater mag- nitude compared to the original model. Surprisingly, we observe the same consistent trend across all the 6 scenarios, comprising a point of inflection beyond which, the effectiveness of public masking is significantly reduced. The key difference to note is that the point of inflection occurs for a smaller value of delay in enforcement, approximately 80 days as opposed to the 100 days of our initial model. Returning to Singapore's context, had the first case of COVID19 in Singapore been infected by the B117 variant, the delay of 89 days before public masking was enforced would have been costly.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9994818568, - "detect_cls":"Body Text", - "detect_score":0.1184755415 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":9, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_9_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1335.0, - 1278.0, - 1765.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Reference text", - "Section Header", - "Page Footer", - "Figure", - "Page Header", - "Abstract", - "Figure Caption", - "Table Note", - "Other", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -0.2975218594, - -10.6768226624, - -12.5905323029, - -13.6149492264, - -14.7963285446, - -15.056353569, - -15.9220352173, - -16.2165737152, - -16.3506851196, - -16.7049598694, - -16.7299537659, - -20.9412307739, - -21.7848720551, - -23.8551197052 - ], - "content":"7. Concluding Remarks At present, compulsory mask wearing has been widely accepted as a means of control- ling COVID-19 infection by reducing the infection rate through aerosol means. With this study, we hope to shed some light on whether the delay in enforcement of compulsory mask wearing will have detrimental effects on infection control when studied in isolation. Based on our results, it appears that a delay of 100 days and above would result in a transition where enforcement of public masking alone would result in little effect on the Maximum Infected Value. We considered 3 scenarios over 2 varied mathematical models. This result is consistent regardless of the level of compliance of the population, or the presence of time-limited immunity. Yet, if implemented early, our model shows that the Maximum Infected Values can be kept relatively low and under control, even after accounting for time-limited immunity and some level of noncompliance. We would like to point out that several studies on the effectiveness of community use of face masks. In one study carried out in the United States [28], the authors compared the percentage change in daily case rates between states enforcing public masking and", - "postprocess_cls":"Body Text", - "postprocess_score":0.9994643331, - "detect_cls":"Body Text", - "detect_score":-0.2975218594 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":10, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_10_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Equation label", - "Page Header", - "Body Text", - "Page Footer", - "Other", - "Table", - "Figure Caption", - "Section Header", - "Reference text", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -2.1286184788, - -2.5525627136, - -4.3450174332, - -5.460773468, - -6.0414304733, - -6.0501737595, - -6.8244686127, - -6.8993840218, - -6.9066138268, - -7.2508225441, - -7.6408367157, - -7.8270955086, - -8.0472068787, - -9.397228241 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 10 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9996505976, - "detect_cls":"Equation label", - "detect_score":-2.1286184788 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":10, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_10_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 224.0, - 1278.0, - 767.0 - ], - "classes":[ - "Reference text", - "Page Footer", - "Other", - "Table Note", - "Abstract", - "Page Header", - "Body Text", - "Figure Caption", - "Section Header", - "Equation label", - "Table", - "Table Caption", - "Equation", - "Figure" - ], - "scores":[ - -4.4792351723, - -5.8750796318, - -9.2634401321, - -10.399969101, - -11.5218334198, - -11.8549585342, - -12.6806316376, - -13.4536104202, - -14.1460351944, - -14.8853416443, - -15.3292512894, - -15.9370336533, - -17.3129253387, - -17.6116294861 - ], - "content":"the states that do not. The results demonstrated that masking was indeed effective in reducing the number of infected cases daily. In their study, the states that enforced public masking did so between 8 April to 15 May 2020, approximately 78 days after the first case was detected in the US. Another study discussed the effectiveness of public masking by comparing countries that enforced public masking (Japan and Thailand) and countries that did not (Spain, Italy, UK, Germany and France) within 30 days after the first case was detected. The result of this study demonstrated that countries in the mask-wearing group had significantly better outcomes in containing the community spread of the virus [29]. These results therefore provide a basis to support our modelling and the conclusion that we have derived as a result of this study. Author Contributions: Conceptualization, D.Y.T.; methodology, D.Y.T.; investigation, B.K.T., J.WW. and C.A.R.; writing—original draft preparation, B.K.T., C.A.R. and J.W.W.; writing—review and editing, D.Y.T.; supervision, D.Y.T. All authors have read and agreed to the published version of the manuscript. Funding: This research received no external funding. Acknowledgments: The authors would like to acknowledge the support from the Singapore Univer- sity of Technology and Design's Undergraduate Research Opportunities Programme (UROP). Conflicts of Interest: The authors declare no conflict of interest.", - "postprocess_cls":"Reference text", - "postprocess_score":0.9100261927, - "detect_cls":"Reference text", - "detect_score":-4.4792351723 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":10, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_10_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 801.0, - 1278.0, - 1746.0 - ], - "classes":[ - "Reference text", - "Table", - "Figure", - "Equation", - "Page Header", - "Other", - "Abstract", - "Page Footer", - "Body Text", - "Section Header", - "Table Caption", - "Equation label", - "Figure Caption", - "Table Note" - ], - "scores":[ - -5.2637338638, - -10.4362211227, - -11.1962451935, - -15.3697137833, - -17.1162986755, - -17.5526657104, - -18.4909000397, - -19.0276966095, - -20.4897994995, - -20.7191085815, - -22.9876289368, - -23.9705295563, - -24.715429306, - -24.7433586121 - ], - "content":"References 1. Lau, J.T.; Tsui, H.; Lau, M.; Yang, X. SARS transmission, risk factors, and prevention in Hong Kong. Emerg. Infect. Dis. 2004, 10, 587. [CrossRef] [PubMed] 2. Wang, C.J.; Ng, C.Y.; Brook, R.H. Response to COVID-19 in Taiwan: Big data analytics, new technology, and proactive testing. JAMA 2020, 323, 1341–1342. [CrossRef] [PubMed] 3. Eikenberry, S.E.; Mancuso, M.; Iboi, E.; Phan, T.; Eikenberry, K.; Kuang, Y.; Kostelich, E.; Gumel, A.B. To mask or not to mask: Modeling the potential for face mask use by the general public to curtail the COVID-19 pandemic. Infect. Dis. Model. 2020, 5, 293–308. [CrossRef] [PubMed] 4. Howard, J.; Huang, A.; Li, Z.; Tufekci, Z.; Zdimal, V.; van der Westhuizen, H.M.; von Delft, A.; Price, A.; Fridman, L.; Tang, L.H.; et al. An evidence review of face masks against COVID-19. Proc. Natl. Acad. Sci. USA 2021, 118, e2014564118. [CrossRef] 5. Lai, J.W.; Cheong, K.H. Superposition of COVID-19 waves, anticipating a sustained wave, and lessons for the future. BioEssays 2020, 42, 2000178. [CrossRef] 6. Cheong, K.H.; Wen, T.; Lai, J.W. Relieving Cost of Epidemic by Parrondo's Paradox: A COVID-19 Case Study. Adv. Sci. 2020, 7, 2002324. [CrossRef] 7. Singh, R.; Adhikari, R. Age-structured impact of social distancing on the COVID-19 epidemic in India. arXiv 2020, arXiv:2003.12055. 8. Babajanyan, S.; Cheong, K.H. Age-structured SIR model and resource growth dynamics: A COVID-19 study. Nonlinear Dyn. 2021, 104, 2853–2864. [CrossRef] [PubMed] 9. Chung, N.N.; Chew, L.Y. Modelling Singapore COVID-19 pandemic with a SEIR multiplex network model. medRxiv 2020. [CrossRef] 10. Kosinski, R.J. The Influence of time-limited immunity on a COVID-19 epidemic: A simulation study. medRxiv 2020. [CrossRef] 11. Ibarrondo, F.J.; Fulcher, J.A.; Goodman-Meza, D.; Elliott, J.; Hofmann, C.; Hausner, M.A.; Ferbas, K.G.; Tobin, N.H.; Aldrovandi, G.M.; Yang, O.O. Rapid decay of anti–SARS-CoV-2 antibodies in persons with mild Covid-19. N. Engl. J. Med. 2020, 383, 1085–1087. [CrossRef] 12. Rodrigues, H.S. Application of SIR epidemiological model: New trends. arXiv 2016, arXiv:1611.02565. 13. Wang, K.; Lu, Z.; Wang, X.; Li, H.; Li, H.; Lin, D.; Cai, Y.; Feng, X.; Song, Y.; Feng, Z.; et al. Current trends and future prediction of novel coronavirus disease (COVID-19) epidemic in China: A dynamical modeling analysis. Math. Biosci. Eng. 2020, 17, 3052–3061. [CrossRef] 14. Mangoni, L.; Pistilli, M. Epidemic Analysis of Covid-19 in Italy by Dynamical Modelling. Available at SSRN 3567770 2020. Available online: https://ssrn.com/abstract=3567770 (accessed on 23 August 2021). 15. Gopal, R.; Chandrasekar, V.; Lakshmanan, M. Dynamical modelling and analysis of COVID-19 in India. arXiv 2020, arXiv:2005.08255. 16. Li, M.Y.; Muldowney, J.S. Global stability for the SEIR model in epidemiology. Math. Biosci. 1995, 125, 155–164. [CrossRef] 17. Zhang, T.; Teng, Z. On a nonautonomous SEIRS model in epidemiology. Bull. Math. Biol. 2007, 69, 2537–2559. [CrossRef] 18. Kai, D.; Goldstein, G.P.; Morgunov, A.; Nangalia, V.; Rotkirch, A. Universal masking is urgent in the covid-19 pandemic: SEIR and agent based models, empirical validation, policy recommendations. arXiv 2020, arXiv:2004.13553. 19. Mitze, T.; Kosfeld, R.; Rode, J.; Wälde, K. Face masks considerably reduce COVID-19 cases in Germany. Proc. Natl. Acad. Sci. USA 2020, 117, 32293–32301. [CrossRef]", - "postprocess_cls":"Reference text", - "postprocess_score":0.9976608753, - "detect_cls":"Reference text", - "detect_score":-5.2637338638 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Other", - "Table", - "Figure Caption", - "Section Header", - "Reference text", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -2.2996273041, - -2.3671371937, - -4.4680614471, - -5.5041670799, - -6.2934904099, - -6.4199304581, - -6.7679276466, - -6.9881262779, - -7.0698127747, - -7.3234291077, - -7.9510364532, - -8.1306085587, - -8.3906087875, - -9.6790676117 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 11 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9996753931, - "detect_cls":"Page Header", - "detect_score":-2.2996273041 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 130.0, - 225.0, - 1277.0, - 874.0 - ], - "classes":[ - "Body Text", - "Reference text", - "Page Footer", - "Abstract", - "Figure Caption", - "Equation label", - "Table Note", - "Other", - "Figure", - "Section Header", - "Page Header", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - -4.7601032257, - -9.4670934677, - -10.9610319138, - -11.9751634598, - -14.2404241562, - -15.3232097626, - -15.8145160675, - -16.3493461609, - -16.5256557465, - -17.0123806, - -17.5166454315, - -18.5880489349, - -20.83177948, - -21.2527580261 - ], - "content":"20. Gallaway, M.S.; Rigler, J.; Robinson, S.; Herrick, K.; Livar, E.; Komatsu, K.K.; Brady, S.; Cunico, J.; Christ, C.M. Trends in COVID-19 incidence after implementation of mitigation measures—Arizona, January 22–August 7, 2020. Morb. Mortal. Wkly. Rep. 2020, 69, 1460. [CrossRef] 21. Ong, C.W.M. Position Statement from the National Centre for Infectious Diseases and the Chapter of Infectious Disease Physicians, Academy of Medicine; Period of Infectivity to Inform Strategies for De-isolation for COVID-19 Patients: Singapore, 2020. 22. Lauer, S.A.; Grantz, K.H.; Bi, Q.; Jones, F.K.; Zheng, Q.; Meredith, H.R.; Azman, A.S.; Reich, N.G.; Lessler, J. The incubation period of coronavirus disease 2019 (COVID-19) from publicly reported confirmed cases: Estimation and application. Ann. Intern. Med. 2020, 172, 577–582. [CrossRef] 23. Chew, H.M. 25 COVID-19 Cases with B117 Variant Found in Singapore; MOH: Singapore, 2021. Available online: https://www.channelnewsasia.com/singapore/covid-19-b117-uk-variant-south-africa-singapore-25-cases-440536 (accessed on 29 January 2021). 24. Korber, B.; Fischer, W.M.; Gnanakaran, S.; Yoon, H.; Theiler, J.; Abfalterer, W.; Hengartner, N.; Giorgi, E.E.; Bhattacharya, T.; Foley, B.; et al. Tracking changes in SARS-CoV-2 Spike: Evidence that D614G increases infectivity of the COVID-19 virus. Cell 2020, 182, 812–827. [CrossRef] 25. Volz, E.; Mishra, S.; Chand, M.; Barrett, J.C.; Johnson, R.; Geidelberg, L.; Hinsley, W.R.; Laydon, D.J.; Dabrera, G.; O'Toole, Á.; et al. Assessing transmissibility of SARS-CoV-2 lineage B. 1.1. 7 in England. Nature 2021, 593, 266–269. [CrossRef] 26. Tatapudi, H.; Das, R.; Das, T.K. Impact assessment of full and partial stay-at-home orders, face mask usage, and contact tracing: An agent-based simulation study of COVID-19 for an urban region. Glob. Epidemiol. 2020, 2, 100036. [CrossRef] 27. Cheong, K.H.; Jones, M.C. Introducing the 21st century's new four horsemen of the coronapocalypse. BioEssays 2020, 42, 2000063. [CrossRef] 28. Lyu, W.; Wehby, G.L. Community Use Of Face Masks And COVID-19: Evidence From A Natural Experiment Of State Mandates In The US: Study examines impact on COVID-19 growth rates associated with state government mandates requiring face mask use in public. Health Aff. 2020, 39, 1419–1425. [CrossRef] 29. Li, T.; Liu, Y.; Li, M.; Qian, X.; Dai, S.Y. Mask or no mask for COVID-19: A public health and market study. PLoS ONE 2020, 15, e0237691. [CrossRef]", - "postprocess_cls":"Body Text", - "postprocess_score":0.9981245399, - "detect_cls":"Body Text", - "detect_score":-4.7601032257 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 226.0, - 106.0, - 241.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Body Text", - "Table Note", - "Table", - "Reference text", - "Other", - "Table Caption", - "Figure Caption", - "Figure", - "Abstract", - "Equation", - "Equation label", - "Page Header" - ], - "scores":[ - -1.851089716, - -10.8925466537, - -11.7394094467, - -11.7497529984, - -12.2353801727, - -12.6273412704, - -12.7355203629, - -13.1808538437, - -15.4802007675, - -16.7650165558, - -17.4654884338, - -18.0173988342, - -18.0899581909, - -18.6022014618 - ], - "content":"20. Gallaway, M.S.; Rigler, J.; Robinson, S.; Herrick, K.; Livar, E.; Komatsu, K.K.; Brady, S.; Cunico, J.; Christ, C.M. Trends in", - "postprocess_cls":"Page Header", - "postprocess_score":0.9084485769, - "detect_cls":"Page Footer", - "detect_score":-1.851089716 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 305.0, - 106.0, - 319.0 - ], - "classes":[ - "Section Header", - "Page Footer", - "Table", - "Table Caption", - "Figure Caption", - "Reference text", - "Figure", - "Body Text", - "Equation label", - "Table Note", - "Page Header", - "Other", - "Abstract", - "Equation" - ], - "scores":[ - -5.4302558899, - -5.7566809654, - -6.1677641869, - -6.598048687, - -6.9456167221, - -7.3625130653, - -7.5950479507, - -7.6754937172, - -7.7477765083, - -8.2904005051, - -9.1980991364, - -9.3429536819, - -10.2163305283, - -10.8249101639 - ], - "content":"21. Ong, C.W.M. Position Statement from the National Centre for Infectious Diseases and the Chapter of Infectious Disease Physicians, Academy", - "postprocess_cls":"Section Header", - "postprocess_score":0.5326701403, - "detect_cls":"Section Header", - "detect_score":-5.4302558899 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 357.0, - 106.0, - 371.0 - ], - "classes":[ - "Page Footer", - "Body Text", - "Section Header", - "Reference text", - "Equation label", - "Figure Caption", - "Table", - "Page Header", - "Figure", - "Other", - "Table Note", - "Table Caption", - "Abstract", - "Equation" - ], - "scores":[ - -6.4768805504, - -6.7679481506, - -7.2823166847, - -8.2708215714, - -8.9002933502, - -9.1431245804, - -9.6290407181, - -10.2670984268, - -10.5139226913, - -11.409579277, - -12.2689943314, - -12.5410804749, - -12.988152504, - -14.3310165405 - ], - "content":"22. Lauer, S.A.; Grantz, K.H.; Bi, Q.; Jones, F.K.; Zheng, Q.; Meredith, H.R.; Azman, A.S.; Reich, N.G.; Lessler, J. The incubation", - "postprocess_cls":"Section Header", - "postprocess_score":0.9309452772, - "detect_cls":"Page Footer", - "detect_score":-6.4768805504 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 436.0, - 106.0, - 450.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Table", - "Table Caption", - "Reference text", - "Body Text", - "Table Note", - "Figure Caption", - "Other", - "Figure", - "Page Header", - "Equation", - "Abstract", - "Equation label" - ], - "scores":[ - -3.496566534, - -9.5050992966, - -9.7342357635, - -10.2700252533, - -11.2513341904, - -11.5373458862, - -12.158996582, - -12.8558330536, - -14.528758049, - -15.6536645889, - -15.9913797379, - -16.1821022034, - -16.3788452148, - -16.4374637604 - ], - "content":"23. Chew, H.M.", - "postprocess_cls":"Section Header", - "postprocess_score":0.7352595925, - "detect_cls":"Page Footer", - "detect_score":-3.496566534 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 515.0, - 106.0, - 529.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Table", - "Table Caption", - "Reference text", - "Body Text", - "Table Note", - "Figure Caption", - "Other", - "Figure", - "Page Header", - "Equation", - "Equation label", - "Abstract" - ], - "scores":[ - -2.9842100143, - -8.1079778671, - -10.445807457, - -10.6652832031, - -10.9143419266, - -11.022693634, - -12.1219301224, - -12.1974458694, - -14.2189302444, - -14.3394756317, - -15.2413625717, - -15.5436220169, - -15.5829076767, - -16.182598114 - ], - "content":"24. Korber, B.; Fischer, W.M.; Gnanakaran, S.; Yoon, H.; Theiler, J.; Abfalterer, W.; Hengartner, N.; Giorgi, E.E.; Bhattacharya, T.; Foley,", - "postprocess_cls":"Section Header", - "postprocess_score":0.8648951054, - "detect_cls":"Page Footer", - "detect_score":-2.9842100143 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 593.0, - 106.0, - 608.0 - ], - "classes":[ - "Reference text", - "Page Footer", - "Equation label", - "Page Header", - "Table", - "Figure", - "Section Header", - "Body Text", - "Figure Caption", - "Equation", - "Other", - "Abstract", - "Table Caption", - "Table Note" - ], - "scores":[ - -3.2157504559, - -5.9369740486, - -7.2776136398, - -8.3296689987, - -8.4969367981, - -9.8472499847, - -9.9758882523, - -10.5557136536, - -10.9103212357, - -11.1909446716, - -12.7159738541, - -13.0712471008, - -13.1726398468, - -14.0420751572 - ], - "content":"25. Volz, E.; Mishra, S.; Chand, M.; Barrett, J.C.; Johnson, R.; Geidelberg, L.; Hinsley, W.R.; Laydon, D.J.; Dabrera, G.; O'Toole, Á.; et al.", - "postprocess_cls":"Section Header", - "postprocess_score":0.7926460505, - "detect_cls":"Reference text", - "detect_score":-3.2157504559 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 646.0, - 106.0, - 660.0 - ], - "classes":[ - "Reference text", - "Table", - "Page Footer", - "Figure", - "Equation label", - "Section Header", - "Body Text", - "Page Header", - "Table Caption", - "Figure Caption", - "Table Note", - "Other", - "Equation", - "Abstract" - ], - "scores":[ - -5.1539878845, - -5.3020939827, - -6.9158682823, - -7.072804451, - -7.7035703659, - -7.8148822784, - -8.001584053, - -9.2741355896, - -9.3537960052, - -10.146490097, - -10.2882575989, - -10.3166122437, - -10.6294994354, - -11.5169849396 - ], - "content":"26. Tatapudi, H.; Das, R.; Das, T.K. Impact assessment of full and partial stay-at-home orders, face mask usage, and contact tracing:", - "postprocess_cls":"Page Footer", - "postprocess_score":0.4009010494, - "detect_cls":"Reference text", - "detect_score":-5.1539878845 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 698.0, - 106.0, - 713.0 - ], - "classes":[ - "Reference text", - "Page Footer", - "Table", - "Equation label", - "Figure", - "Section Header", - "Other", - "Equation", - "Body Text", - "Abstract", - "Page Header", - "Table Note", - "Table Caption", - "Figure Caption" - ], - "scores":[ - -3.8052105904, - -5.8814787865, - -6.645819664, - -7.7170886993, - -7.9209699631, - -8.677359581, - -9.5824327469, - -9.9282016754, - -10.7273035049, - -11.025844574, - -11.6131811142, - -11.6515989304, - -11.6976509094, - -12.218706131 - ], - "content":"27. Cheong, K.H.; Jones, M.C. Introducing the 21st century's new four horsemen of the coronapocalypse. BioEssays 2020, 42, 2000063.", - "postprocess_cls":"Section Header", - "postprocess_score":0.4258098304, - "detect_cls":"Reference text", - "detect_score":-3.8052105904 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 751.0, - 106.0, - 765.0 - ], - "classes":[ - "Table", - "Page Footer", - "Reference text", - "Figure", - "Equation label", - "Other", - "Body Text", - "Section Header", - "Table Caption", - "Table Note", - "Equation", - "Abstract", - "Page Header", - "Figure Caption" - ], - "scores":[ - -5.3406186104, - -5.631975174, - -5.8069086075, - -8.7242069244, - -9.6082000732, - -10.5158557892, - -11.0335350037, - -11.4187889099, - -11.4762125015, - -11.7414340973, - -12.0791625977, - -12.2578773499, - -13.2365760803, - -13.7983856201 - ], - "content":"28. Lyu, W.; Wehby, G.L. Community Use Of Face Masks And COVID-19: Evidence From A Natural Experiment Of State Mandates", - "postprocess_cls":"Section Header", - "postprocess_score":0.7025460005, - "detect_cls":"Table", - "detect_score":-5.3406186104 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 829.0, - 106.0, - 844.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Body Text", - "Reference text", - "Table", - "Table Caption", - "Table Note", - "Figure Caption", - "Other", - "Figure", - "Equation label", - "Equation", - "Page Header", - "Abstract" - ], - "scores":[ - -3.1696989536, - -8.4708032608, - -11.0811958313, - -11.2829618454, - -11.8613004684, - -12.4573526382, - -12.8267974854, - -14.4768972397, - -14.9625282288, - -15.8552246094, - -16.0115203857, - -16.6108016968, - -16.9140644073, - -17.5206813812 - ], - "content":"29. Li, T.; Liu, Y.; Li, M.; Qian, X.; Dai, S.Y. Mask or no mask for COVID-19: A public health and market study. PLoS ONE 2020,", - "postprocess_cls":"Section Header", - "postprocess_score":0.7363973856, - "detect_cls":"Page Footer", - "detect_score":-3.1696989536 - } -] \ No newline at end of file diff --git a/tests/resources/basic_profile_model/amr.json b/tests/resources/basic_profile_model/amr.json deleted file mode 100644 index b4b0079..0000000 --- a/tests/resources/basic_profile_model/amr.json +++ /dev/null @@ -1,254 +0,0 @@ -{ - "name": "LaTex Model", - "schema": "https://github.com/DARPA-ASKEM/Model-Representations/blob/main/petrinet/petrinet_schema.json", - "schema_name": "PetriNet", - "description": "Example LaTeX model", - "model_version": "0.1", - "model": { - "states": [ - { - "id": "D", - "name": "D" - }, - { - "id": "E", - "name": "E" - }, - { - "id": "H", - "name": "H" - }, - { - "id": "I", - "name": "I" - }, - { - "id": "R", - "name": "R" - }, - { - "id": "S", - "name": "S" - } - ], - "transitions": [ - { - "id": "t0", - "input": [ - "S", - "I" - ], - "output": [ - "E", - "I" - ], - "grounding": null - }, - { - "id": "t1", - "input": [ - "E" - ], - "output": [ - "I" - ], - "grounding": null - }, - { - "id": "t2", - "input": [ - "I" - ], - "output": [ - "H" - ], - "grounding": null - }, - { - "id": "t3", - "input": [ - "I" - ], - "output": [ - "R" - ], - "grounding": null - }, - { - "id": "t4", - "input": [ - "H" - ], - "output": [ - "R" - ], - "grounding": null - }, - { - "id": "t5", - "input": [ - "H" - ], - "output": [ - "D" - ], - "grounding": null - } - ] - }, - "semantics": { - "ode": { - "rates": [ - { - "target": "t0", - "expression": "β*N*S*I", - "expression_mathml": "SβIN" - }, - { - "target": "t1", - "expression": "r_{EI}*E*", - "expression_mathml": "r_{EI}E" - }, - { - "target": "t2", - "expression": "r_{IH}*p_{IH}*I*", - "expression_mathml": "Ir_{IH}p_{IH}" - }, - { - "target": "t3", - "expression": "r_{IR}*p_{IR}*I*", - "expression_mathml": "Ir_{IR}p_{IR}" - }, - { - "target": "t4", - "expression": "r_{HR}*p_{HR}*H*", - "expression_mathml": "Hr_{HR}p_{HR}" - }, - { - "target": "t5", - "expression": "r_{HD}*p_{HD}*H*", - "expression_mathml": "Hr_{HD}p_{HD}" - } - ], - "initials": [ - { - "target": "S", - "expression": "S0", - "expression_mathml": "" - }, - { - "target": "E", - "expression": "E0", - "expression_mathml": "" - }, - { - "target": "I", - "expression": "I0", - "expression_mathml": "" - }, - { - "target": "H", - "expression": "H0", - "expression_mathml": "" - }, - { - "target": "R", - "expression": "R0", - "expression_mathml": "" - }, - { - "target": "D", - "expression": "D0", - "expression_mathml": "" - } - ], - "parameters": [ - { - "id": "D0", - "name": "D0", - "description": "The total D population at timestep 0" - }, - { - "id": "E0", - "name": "E0", - "description": "The total E population at timestep 0" - }, - { - "id": "H0", - "name": "H0", - "description": "The total H population at timestep 0" - }, - { - "id": "I0", - "name": "I0", - "description": "The total I population at timestep 0" - }, - { - "id": "N", - "name": "N", - "description": "N rate" - }, - { - "id": "R0", - "name": "R0", - "description": "The total R population at timestep 0" - }, - { - "id": "S0", - "name": "S0", - "description": "The total S population at timestep 0" - }, - { - "id": "p_{HD}", - "name": "p_{HD}", - "description": "p_{HD} rate" - }, - { - "id": "p_{HR}", - "name": "p_{HR}", - "description": "p_{HR} rate" - }, - { - "id": "p_{IH}", - "name": "p_{IH}", - "description": "p_{IH} rate" - }, - { - "id": "p_{IR}", - "name": "p_{IR}", - "description": "p_{IR} rate" - }, - { - "id": "r_{EI}", - "name": "r_{EI}", - "description": "r_{EI} rate" - }, - { - "id": "r_{HD}", - "name": "r_{HD}", - "description": "r_{HD} rate" - }, - { - "id": "r_{HR}", - "name": "r_{HR}", - "description": "r_{HR} rate" - }, - { - "id": "r_{IH}", - "name": "r_{IH}", - "description": "r_{IH} rate" - }, - { - "id": "r_{IR}", - "name": "r_{IR}", - "description": "r_{IR} rate" - }, - { - "id": "β", - "name": "β", - "description": "β rate" - } - ] - } - } - } \ No newline at end of file diff --git a/tests/resources/basic_profile_model/code.py b/tests/resources/basic_profile_model/code.py deleted file mode 100644 index 521b729..0000000 --- a/tests/resources/basic_profile_model/code.py +++ /dev/null @@ -1,9 +0,0 @@ -def sir( - s: float, i: float, r: float, beta: float, gamma: float, n: float -) -> Tuple[float, float, float]: - """The SIR model, one time step.""" - s_n = (-beta * s * i) + s - i_n = (beta * s * i - gamma * i) + i - r_n = gamma * i + r - scale = n / (s_n + i_n + r_n) - return s_n * scale, i_n * scale, r_n * scale diff --git a/tests/resources/basic_profile_model/text.json b/tests/resources/basic_profile_model/text.json deleted file mode 100644 index 5eaa7d7..0000000 --- a/tests/resources/basic_profile_model/text.json +++ /dev/null @@ -1,5172 +0,0 @@ -[ - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 107.0, - 1275.0, - 195.0 - ], - "classes":[ - "Equation label", - "Section Header", - "Page Header", - "Body Text", - "Figure", - "Other", - "Equation", - "Reference text", - "Figure Caption", - "Table", - "Page Footer", - "Table Note", - "Table Caption", - "Abstract" - ], - "scores":[ - -5.158577919, - -8.3714532852, - -10.0183992386, - -10.2071590424, - -11.1120090485, - -11.1143541336, - -11.2161874771, - -13.0983781815, - -15.0558624268, - -15.1471719742, - -15.9366912842, - -18.405462265, - -18.7139511108, - -18.9916629791 - ], - "content":"", - "postprocess_cls":"Page Header", - "postprocess_score":0.9985458851, - "detect_cls":"Equation label", - "detect_score":-5.158577919 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 80.0, - 234.0, - 1197.0, - 305.0 - ], - "classes":[ - "Body Text", - "Other", - "Equation label", - "Section Header", - "Reference text", - "Table Note", - "Page Footer", - "Figure", - "Abstract", - "Equation", - "Page Header", - "Table", - "Figure Caption", - "Table Caption" - ], - "scores":[ - -1.9848747253, - -7.259475708, - -11.0177192688, - -12.7866334915, - -13.10891819, - -14.0849218369, - -14.3103981018, - -14.6399879456, - -14.7027568817, - -15.8481864929, - -16.2041015625, - -17.3444747925, - -17.9344902039, - -20.9808273315 - ], - "content":"Article Dynamical Analysis of Universal Masking on the Pandemic", - "postprocess_cls":"Body Text", - "postprocess_score":0.9914546013, - "detect_cls":"Body Text", - "detect_score":-1.9848747253 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 83.0, - 343.0, - 1044.0, - 370.0 - ], - "classes":[ - "Section Header", - "Other", - "Equation label", - "Equation", - "Body Text", - "Page Footer", - "Figure", - "Reference text", - "Abstract", - "Table Note", - "Table Caption", - "Table", - "Figure Caption", - "Page Header" - ], - "scores":[ - -2.0326740742, - -2.7304286957, - -4.5183801651, - -5.2259273529, - -6.2282066345, - -6.3734707832, - -6.7899360657, - -7.0165834427, - -7.4191837311, - -7.4662895203, - -7.9870581627, - -8.0286159515, - -8.2380943298, - -8.6224336624 - ], - "content":"Brandon Kaiheng Tay † , Carvalho Andrea Roby †, Jodi Wenjiang Wu † and Da Yang Tan *", - "postprocess_cls":"Section Header", - "postprocess_score":0.9072340131, - "detect_cls":"Section Header", - "detect_score":-2.0326740742 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 418.0, - 1226.0, - 535.0 - ], - "classes":[ - "Page Footer", - "Other", - "Table Note", - "Table", - "Page Header", - "Figure", - "Body Text", - "Table Caption", - "Figure Caption", - "Reference text", - "Abstract", - "Section Header", - "Equation label", - "Equation" - ], - "scores":[ - -2.5388700962, - -3.7671117783, - -5.0030655861, - -5.7867355347, - -6.5778765678, - -6.8421964645, - -6.8604774475, - -7.6586065292, - -7.836004734, - -7.9547429085, - -8.0516815186, - -9.3464565277, - -9.8778991699, - -10.1746559143 - ], - "content":"Science, Mathematics and Technology, Singapore University of Technology and Design, 8 Somapah Road, Singapore 487372, Singapore; brandontay6@gmail.com (B.K.T.); andwea3@gmail.com (C.A.R.); jodiwwj@gmail.com (J.W.W.) * Correspondence: dayang_tan@sutd.edu.sg † These authors contributed equally to this work.", - "postprocess_cls":"Other", - "postprocess_score":0.6949161887, - "detect_cls":"Page Footer", - "detect_score":-2.5388700962 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 573.0, - 1278.0, - 890.0 - ], - "classes":[ - "Abstract", - "Other", - "Section Header", - "Body Text", - "Equation label", - "Reference text", - "Table Note", - "Table", - "Figure Caption", - "Figure", - "Page Footer", - "Table Caption", - "Page Header", - "Equation" - ], - "scores":[ - -6.553381443, - -7.0592031479, - -7.5321784019, - -8.1746530533, - -9.3305721283, - -9.5875043869, - -10.8356370926, - -10.9991464615, - -11.3415498734, - -11.5023822784, - -11.6590452194, - -11.7893009186, - -12.5354270935, - -14.5688781738 - ], - "content":"Abstract: We investigate the impact of the delay in compulsory mask wearing on the spread of COVID-19 in the community, set in the Singapore context. By using modified SEIR-based compart- mental models, we focus on macroscopic population-level analysis of the relationships between the delay in compulsory mask wearing and the maximum infection, through a series of scenario-based analysis. Our analysis suggests that collective masking can meaningfully reduce the transmission of COVID-19 in the community, but only if implemented within a critical time window of approximately before 80–100 days delay after the first infection is detected, coupled with strict enforcement to ensure compliance throughout the duration. We also identify a delay threshold of about 100 days that results in masking enforcement having little significant impact on the Maximum Infected Values. The results therefore highlight the necessity for rapid implementation of compulsory mask wearing to curb the spread of the pandemic.", - "postprocess_cls":"Abstract", - "postprocess_score":0.9484135509, - "detect_cls":"Abstract", - "detect_score":-6.553381443 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 926.0, - 1275.0, - 984.0 - ], - "classes":[ - "Body Text", - "Page Header", - "Other", - "Equation label", - "Figure", - "Section Header", - "Equation", - "Table", - "Figure Caption", - "Page Footer", - "Reference text", - "Abstract", - "Table Caption", - "Table Note" - ], - "scores":[ - -5.5984277725, - -6.6887278557, - -7.2796764374, - -7.5727577209, - -8.1192560196, - -8.3920602798, - -9.5373849869, - -9.6610832214, - -10.6693582535, - -11.2980852127, - -12.0429611206, - -12.0956077576, - -12.9813222885, - -13.2261285782 - ], - "content":"Keywords: SEIR model; SEIS model; mask wearing; compartmental model; epidemic modelling", - "postprocess_cls":"Body Text", - "postprocess_score":0.7085515261, - "detect_cls":"Body Text", - "detect_score":-5.5984277725 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1002.0, - 345.0, - 1154.0 - ], - "classes":[ - "Body Text", - "Section Header", - "Figure", - "Other", - "Page Header", - "Figure Caption", - "Reference text", - "Equation label", - "Abstract", - "Table Note", - "Page Footer", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - -0.4976767898, - -7.6454410553, - -9.3069028854, - -9.428153038, - -9.6553201675, - -10.0410013199, - -10.3448381424, - -10.689655304, - -11.2578315735, - -11.2712049484, - -11.7054204941, - -15.0347061157, - -15.1838083267, - -15.3739404678 - ], - "content":"Citation: Tay, B.K.; Roby, C.A.; Wu, J.W.; Tan, D.Y. Dynamical Analysis of Universal Masking on the Pandemic. Int. J. Environ. Res. Public Health 2021, 18, 9027. https:// doi.org/10.3390/ijerph18179027", - "postprocess_cls":"Body Text", - "postprocess_score":0.8970527649, - "detect_cls":"Body Text", - "detect_score":-0.4976767898 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1038.0, - 536.0, - 1055.0 - ], - "classes":[ - "Body Text", - "Section Header", - "Page Header", - "Figure", - "Reference text", - "Other", - "Page Footer", - "Equation label", - "Figure Caption", - "Equation", - "Table Note", - "Abstract", - "Table", - "Table Caption" - ], - "scores":[ - -1.8938975334, - -4.3468050957, - -5.930565834, - -7.1995210648, - -7.2024521828, - -7.6047611237, - -8.6509456635, - -9.3752946854, - -9.4793462753, - -11.2701282501, - -11.3327894211, - -11.9113807678, - -12.3241205215, - -13.5627841949 - ], - "content":"1. Introduction", - "postprocess_cls":"Section Header", - "postprocess_score":0.9995450377, - "detect_cls":"Body Text", - "detect_score":-1.8938975334 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1074.0, - 1278.0, - 1755.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Section Header", - "Reference text", - "Page Footer", - "Abstract", - "Table Note", - "Figure Caption", - "Figure", - "Page Header", - "Other", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - 0.7251604199, - -15.622086525, - -15.7503271103, - -15.8251218796, - -16.0309772491, - -16.1873703003, - -16.934419632, - -17.0300006866, - -17.3174877167, - -19.9234809875, - -20.3943519592, - -24.590473175, - -24.6434822083, - -27.056306839 - ], - "content":"In the light of the COVID-19 pandemic, the Singapore government declared with effect as of 14 April 2020, an enforcement of compulsory mask wearing in public spaces, 89 days after the first case of COVID-19 was detected in Singapore. The usage of masks is known to effectively decrease the infection rate. It has shown success in limiting community spread of SARS 2003 [1], and more recently, in Taiwan's management of COVID-19 [2]. Recent hypothetical studies on masking by the states of New York and Washington suggests a potential prevention of up to 45% of their projected death rates [3]. In this study of potential face-mask usage for the general public, the authors investigated how public masking can control the infection, in the context of the USA. However, not much was mentioned about how the delayed enforcement of such a policy would affect the infection numbers. In another study on public masking [4], the authors studied how factors such as the filtering capability of different mask materials, as well as sociological behaviour patterns on masking, would affect the efficacy of this policy. A comprehensive data-driven study on COVID-19 waves worldwide and strategies to mitigate them conducted by Lai and Cheong [5] also did not provide detailed analysis of mask wearing policies and its effectiveness. Concluding this literature review, it is apparent that in-depth studies on the impact of delayed mask enforcement on the spread of COVID-19 in the community is limited. This paper thus seeks to investigate the relationship between delay in compulsory mask wearing and the Maximum Infected Values, through a series of scenario-based what- if analysis. We would be considering 3 scenarios using 2 compartmental models—the SEIR and the SEIRS model. The use of compartmental models for modelling the spread of COVID-19 has been explored recently, such as to study the lockdown measures [6,7], or with variant to include the effects of age-structure within the population [8] and different", - "postprocess_cls":"Body Text", - "postprocess_score":0.9998295307, - "detect_cls":"Body Text", - "detect_score":0.7251604199 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1192.0, - 310.0, - 1208.0 - ], - "classes":[ - "Other", - "Page Footer", - "Section Header", - "Body Text", - "Equation label", - "Table Note", - "Reference text", - "Figure", - "Abstract", - "Page Header", - "Table", - "Table Caption", - "Equation", - "Figure Caption" - ], - "scores":[ - -2.9890294075, - -3.3959157467, - -4.593378067, - -6.244890213, - -6.5497121811, - -7.2422127724, - -7.3849005699, - -7.4488811493, - -7.4600481987, - -7.6431908607, - -7.7195529938, - -7.9713959694, - -7.9969091415, - -8.4315900803 - ], - "content":"Academic Editor: Jimmy T. Efird", - "postprocess_cls":"Section Header", - "postprocess_score":0.9993419051, - "detect_cls":"Other", - "detect_score":-2.9890294075 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1247.0, - 268.0, - 1318.0 - ], - "classes":[ - "Other", - "Body Text", - "Section Header", - "Equation label", - "Reference text", - "Figure", - "Page Footer", - "Equation", - "Table Note", - "Table", - "Abstract", - "Page Header", - "Table Caption", - "Figure Caption" - ], - "scores":[ - -4.1823372841, - -5.1112661362, - -6.9629349709, - -7.0838446617, - -7.7467865944, - -7.8375759125, - -8.8564739227, - -8.9725866318, - -9.1548099518, - -9.5617437363, - -9.6012058258, - -11.4223642349, - -12.3504314423, - -12.5159215927 - ], - "content":"Received: 20 June 2021 Accepted: 24 August 2021 Published: 27 August 2021", - "postprocess_cls":"Body Text", - "postprocess_score":0.6687924266, - "detect_cls":"Other", - "detect_score":-4.1823372841 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1359.0, - 351.0, - 1453.0 - ], - "classes":[ - "Section Header", - "Page Footer", - "Reference text", - "Body Text", - "Other", - "Table Note", - "Figure", - "Equation", - "Abstract", - "Figure Caption", - "Table Caption", - "Equation label", - "Table", - "Page Header" - ], - "scores":[ - -5.8428478241, - -6.3360619545, - -7.2266125679, - -7.5321187973, - -8.2308416367, - -9.9798364639, - -10.8188667297, - -11.5504598618, - -11.6129703522, - -11.9741849899, - -12.2181940079, - -12.3263959885, - -12.5641174316, - -13.806722641 - ], - "content":"Publisher's Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affil- iations.", - "postprocess_cls":"Body Text", - "postprocess_score":0.7294377089, - "detect_cls":"Section Header", - "detect_score":-5.8428478241 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 81.0, - 1500.0, - 350.0, - 1767.0 - ], - "classes":[ - "Section Header", - "Page Footer", - "Figure Caption", - "Other", - "Figure", - "Body Text", - "Abstract", - "Reference text", - "Table Note", - "Equation", - "Table Caption", - "Table", - "Equation label", - "Page Header" - ], - "scores":[ - -6.5802001953, - -7.0285143852, - -8.0855836868, - -8.2666950226, - -8.3461647034, - -8.6726207733, - -9.8244400024, - -10.4466161728, - -11.00852108, - -11.2992296219, - -11.4344749451, - -12.3009567261, - -12.8775424957, - -14.8131856918 - ], - "content":"Copyright: © 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).", - "postprocess_cls":"Body Text", - "postprocess_score":0.4166562259, - "detect_cls":"Section Header", - "detect_score":-6.5802001953 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":1, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_1_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 1843.0, - 1275.0, - 1876.0 - ], - "classes":[ - "Page Footer", - "Page Header", - "Reference text", - "Equation label", - "Table", - "Other", - "Body Text", - "Table Note", - "Equation", - "Figure", - "Table Caption", - "Abstract", - "Figure Caption", - "Section Header" - ], - "scores":[ - -0.5714578032, - -4.4968333244, - -4.5759072304, - -4.8665537834, - -5.7643418312, - -5.7929019928, - -5.9571275711, - -6.7715325356, - -7.1043848991, - -7.6470108032, - -8.7554969788, - -9.1320457458, - -9.1481485367, - -9.5743207932 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027. https://doi.org/10.3390/ijerph18179027 https://www.mdpi.com/journal/ijerph", - "postprocess_cls":"Page Footer", - "postprocess_score":0.9999275208, - "detect_cls":"Page Footer", - "detect_score":-0.5714578032 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Other", - "Reference text", - "Table", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -1.69619596, - -3.2141313553, - -3.9378855228, - -4.8566551208, - -5.4208545685, - -5.9383769035, - -6.2361469269, - -6.353307724, - -6.3739156723, - -6.5636873245, - -7.3287501335, - -7.3517103195, - -8.558930397, - -8.8238668442 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 2 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9995732903, - "detect_cls":"Page Header", - "detect_score":-1.69619596 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 219.0, - 1276.0, - 529.0 - ], - "classes":[ - "Body Text", - "Figure Caption", - "Figure", - "Equation label", - "Page Footer", - "Section Header", - "Abstract", - "Table Note", - "Reference text", - "Page Header", - "Other", - "Table Caption", - "Equation", - "Table" - ], - "scores":[ - -0.5451325774, - -10.4853096008, - -12.1630077362, - -13.2492980957, - -13.500875473, - -13.7242078781, - -14.071103096, - -14.4545812607, - -14.7841234207, - -15.7971820831, - -18.4810504913, - -20.4726238251, - -22.414308548, - -22.4882659912 - ], - "content":"social settings [9]. For the SEIR model, we consider a complete compliance, and gradual noncompliance over time. Using an SEIRS model, we consider a third scenario taking into account time-limited immunity. Results from simulating these 3 scenarios would hopefully shed light on the effects of delaying the usage of masks and how the containment of epidemic could have been more effective in Singapore. To model the pandemic from a macroscopic view point, we use modified versions of the model, which consists of a number of compartments described by a system of differential equations in Sections 2 and 3. To solve these equations, we implemented the model in Python using the Odeint package. We then modify the Delay of Mask Enforcement by plotting several data sets and recording the resulting Maximum Infection Value predicted by our model. This was performed over 3 different scenarios:", - "postprocess_cls":"Body Text", - "postprocess_score":0.9443999529, - "detect_cls":"Body Text", - "detect_score":-0.5451325774 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 430.0, - 546.0, - 1278.0, - 1078.0 - ], - "classes":[ - "Body Text", - "Page Footer", - "Figure Caption", - "Equation label", - "Abstract", - "Reference text", - "Figure", - "Table Note", - "Page Header", - "Section Header", - "Other", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - -1.7037055492, - -12.2971372604, - -12.7130117416, - -14.0141639709, - -14.4679946899, - -14.7939186096, - -15.6933107376, - -16.0003376007, - -16.9068927765, - -19.4729213715, - -19.6528110504, - -23.4287376404, - -23.999332428, - -24.6993846893 - ], - "content":"Scenario 1: The first scenario considers the most basic case of complete compliance of the masking enforcement, from the day it was enforced throughout its duration. It also does not account for time-limited immunity [10], where infected individuals become susceptible again after a period of time. Scenario 2: The second scenario closely resembles the first, but with the addition of gradual noncompliance of the masking enforcement. The root of noncompliance stems from either lack of medical knowledge, wishful thinking that the pandemic will magically disappear, selfish behaviour of individuals, pandemic fatigue etc. Here, we assume that onset of the noncompliance is triggered by an event, for instance, changes in government policies. As an illustration, the Singapore government announced the Phase 2 of its gradual reopening plan on 18 June 2020 (154 days after the first case in Singapore) where members of the public were allowed to visit shopping malls and dine-in at food establishments, it was observed that a minority of individuals did not comply with the masking regulations. Scenario 3: The third scenario is almost identical to the first, but now accounts for time-limited immunity. After 90 days, it has been shown that a recovered individual may become susceptible to the virus again [11]. This scenario serves as a comparison to investigate if the immunity factor would worsen the effects of the delay of mask enforcement on the maximum infected values.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9966195822, - "detect_cls":"Body Text", - "detect_score":-1.7037055492 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 550.0, - 392.0, - 959.0 - ], - "classes":[ - "Figure", - "Page Footer", - "Body Text", - "Page Header", - "Equation", - "Equation label", - "Table", - "Other", - "Reference text", - "Section Header", - "Figure Caption", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -3.9439780712, - -5.3267054558, - -6.2526054382, - -7.1189422607, - -7.8562464714, - -8.1171293259, - -9.2266807556, - -9.8653507233, - -10.498093605, - -10.6506376266, - -11.1741914749, - -11.8317804337, - -13.3176107407, - -13.9674358368 - ], - "content":"• • •", - "postprocess_cls":"Figure", - "postprocess_score":0.52900666, - "detect_cls":"Figure", - "detect_score":-3.9439780712 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1101.0, - 1278.0, - 1576.0 - ], - "classes":[ - "Body Text", - "Reference text", - "Equation label", - "Abstract", - "Page Footer", - "Section Header", - "Table Note", - "Other", - "Figure", - "Figure Caption", - "Page Header", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -0.6825846434, - -15.3944978714, - -15.428196907, - -16.5312175751, - -16.6540126801, - -18.0022602081, - -20.0354576111, - -20.8560085297, - -21.1997718811, - -21.5778102875, - -21.596364975, - -28.5442733765, - -29.507566452, - -30.4051780701 - ], - "content":"Here we highlight that effective control of the COVID19 pandemic cannot be achieved by the universal masking enforcement alone, but a strong combination factors such as social distancing enforcement, rapid roll-out of mass testing, lockdowns and extensive quarantine measures. However, these are outside the scope of our analysis, as we aim to both model and investigate how the delay of public masking enforcement affects its effectiveness in controlling the pandemic. We have thus considered the effects of universal masking in isolation of the other factors for the purpose of this analysis. Sections 2 and 3 of this article describe and explain the SEIR and SEIRS mathematical models we implemented. Section 4 describes the mathematical modelling of the relation- ship between the mask wearing and the infection rate with respect to time t. Section 5 describes the epidemiological parameters implemented in our models. Brief justification of their values are also included. Section 6 comprises the results and discussion, and is divided into 3 sub-sections. Section 6.1 explains the dynamics of the delay in compulsory mask wearing, and discusses its effects as demonstrated by our models. Section 6.2 ex- plains the effects of this delay on the Maximum Infected Values for each of the 3 scenarios. Section 6.3 discusses the limitations of our study. Finally, Section 7 wraps up the discussion with a conclusion.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9997990727, - "detect_cls":"Body Text", - "detect_score":-0.6825846434 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1610.0, - 531.0, - 1627.0 - ], - "classes":[ - "Body Text", - "Page Footer", - "Other", - "Section Header", - "Figure", - "Reference text", - "Equation label", - "Equation", - "Table Note", - "Table", - "Figure Caption", - "Page Header", - "Abstract", - "Table Caption" - ], - "scores":[ - -4.2576880455, - -5.7159318924, - -6.2077884674, - -6.4353137016, - -7.9118890762, - -8.0875310898, - -8.1936368942, - -8.9437570572, - -9.4237642288, - -9.8112573624, - -10.0816755295, - -10.3704032898, - -11.5863780975, - -11.9120559692 - ], - "content":"2. SEIR Model", - "postprocess_cls":"Section Header", - "postprocess_score":0.9992983341, - "detect_cls":"Body Text", - "detect_score":-4.2576880455 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":2, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_2_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 1645.0, - 1278.0, - 1783.0 - ], - "classes":[ - "Body Text", - "Abstract", - "Figure Caption", - "Page Footer", - "Reference text", - "Table Note", - "Figure", - "Section Header", - "Other", - "Page Header", - "Equation label", - "Table Caption", - "Table", - "Equation" - ], - "scores":[ - -6.8442792892, - -14.5340843201, - -15.9826402664, - -16.779340744, - -18.0857620239, - -19.8811759949, - -22.0744285583, - -24.9976997375, - -25.2601032257, - -25.4991168976, - -25.9981155396, - -26.0339317322, - -28.6102046967, - -34.445186615 - ], - "content":"Compartmentalized mathematical models have been regularly used to model infec- tious diseases. The most basic SIR (Susceptible, Infected, Removed) was developed in the early twentieth century by Ronald Ross, William Hamer, and many others [12], and has been heavily modified since, with the addition of new compartments and parameters. More recently, the use of similar models have resurfaced to model the COVID19 situation", - "postprocess_cls":"Body Text", - "postprocess_score":0.9988446236, - "detect_cls":"Body Text", - "detect_score":-6.8442792892 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Other", - "Figure", - "Table", - "Reference text", - "Table Note", - "Table Caption", - "Abstract", - "Equation" - ], - "scores":[ - -2.3664302826, - -2.9404520988, - -3.2837388515, - -4.0985455513, - -4.7677974701, - -5.3199496269, - -5.6641254425, - -5.7271747589, - -5.8400988579, - -5.9454283714, - -6.2081561089, - -6.536760807, - -7.8253655434, - -8.1519069672 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 3 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9991918206, - "detect_cls":"Page Header", - "detect_score":-2.3664302826 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 224.0, - 1277.0, - 418.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Reference text", - "Page Footer", - "Figure", - "Page Header", - "Section Header", - "Table Note", - "Abstract", - "Other", - "Figure Caption", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 0.4304295182, - -10.1913642883, - -12.402302742, - -14.7456035614, - -15.7327041626, - -16.9917621613, - -17.6852760315, - -18.2479972839, - -18.9947147369, - -19.0640888214, - -19.0708618164, - -21.1419143677, - -24.5851593018, - -28.4060916901 - ], - "content":"in many countries. Recent epidemiological studies on China [13], Italy [14], India [15] for example, have been conducted with modified versions of such a model. For our study, we used the SEIR [16] and SEIRS [17] variant of the model, as described in Sections 2 and 3. The SEIR model consists of several compartments, namely Susceptible, Exposed, Infected and Removed. We expand the model by further differentiating the Removed compartment into 2 new Recovered and Death compartments. The flow between the 5 components are described by the following 5 differential equations:", - "postprocess_cls":"Body Text", - "postprocess_score":0.9962309003, - "detect_cls":"Body Text", - "detect_score":0.4304295182 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 752.0, - 716.0, - 1274.0, - 765.0 - ], - "classes":[ - "Equation label", - "Equation", - "Body Text", - "Figure", - "Page Header", - "Reference text", - "Table", - "Section Header", - "Other", - "Page Footer", - "Figure Caption", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - 0.7596632242, - -6.09562397, - -6.2220053673, - -8.4025192261, - -11.1426048279, - -12.1553859711, - -13.1699972153, - -13.5358810425, - -14.4634923935, - -15.2270336151, - -15.240105629, - -16.8979148865, - -18.1654338837, - -19.4191036224 - ], - "content":"dD(t) = αρI(t) (5) dt", - "postprocess_cls":"Equation", - "postprocess_score":0.9998032451, - "detect_cls":"Equation label", - "detect_score":0.7596632242 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 723.0, - 651.0, - 1274.0, - 699.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Equation", - "Page Header", - "Figure", - "Reference text", - "Section Header", - "Figure Caption", - "Other", - "Table", - "Page Footer", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -0.5282879472, - -3.2964746952, - -8.4707126617, - -8.9078521729, - -9.4237070084, - -12.070687294, - -12.3733644485, - -13.7526845932, - -14.542424202, - -15.080165863, - -16.516462326, - -16.5492744446, - -17.5699195862, - -20.0694351196 - ], - "content":"dR(t) = (1 − α)γI(t) (4) dt", - "postprocess_cls":"Equation", - "postprocess_score":0.9947794676, - "detect_cls":"Equation label", - "detect_score":-0.5282879472 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 640.0, - 585.0, - 1274.0, - 634.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Equation", - "Figure", - "Page Header", - "Reference text", - "Section Header", - "Table", - "Figure Caption", - "Other", - "Table Note", - "Page Footer", - "Abstract", - "Table Caption" - ], - "scores":[ - 1.0624827147, - -3.953271389, - -8.6391658783, - -10.9951019287, - -11.2218170166, - -13.0829267502, - -13.9086027145, - -14.9607896805, - -15.1052751541, - -15.5159215927, - -16.6100692749, - -16.7282314301, - -18.5023384094, - -20.6325378418 - ], - "content":"dI(t) = δE(t) − (1 − α)γI(t) − αρI(t) (3) dt", - "postprocess_cls":"Equation", - "postprocess_score":0.9843853116, - "detect_cls":"Equation label", - "detect_score":1.0624827147 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 696.0, - 519.0, - 1274.0, - 568.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Section Header", - "Equation", - "Figure", - "Figure Caption", - "Page Header", - "Reference text", - "Table Note", - "Other", - "Page Footer", - "Table", - "Abstract", - "Table Caption" - ], - "scores":[ - -1.777987957, - -2.7053332329, - -10.7096710205, - -10.9655132294, - -11.248005867, - -12.8873147964, - -13.0134782791, - -13.5010709763, - -15.5496406555, - -15.7924356461, - -16.4645557404, - -16.4778881073, - -17.3430652618, - -18.789352417 - ], - "content":"S(t) dE(t) = βI(t) − δE(t) (2) dt N", - "postprocess_cls":"Equation", - "postprocess_score":0.9568058848, - "detect_cls":"Equation label", - "detect_score":-1.777987957 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 681.0, - 1222.0, - 1274.0, - 1271.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Equation", - "Reference text", - "Figure", - "Page Header", - "Section Header", - "Other", - "Table", - "Figure Caption", - "Abstract", - "Table Note", - "Page Footer", - "Table Caption" - ], - "scores":[ - -4.8503398895, - -5.2248268127, - -9.1185617447, - -11.5806236267, - -12.3339033127, - -12.5619077682, - -12.5990018845, - -15.5497922897, - -16.5331687927, - -16.9476299286, - -18.8042221069, - -20.0208435059, - -20.5148220062, - -22.381269455 - ], - "content":"dR(t) = (1 − α)γI(t) − R(t) (7) dt", - "postprocess_cls":"Equation", - "postprocess_score":0.8299534917, - "detect_cls":"Equation label", - "detect_score":-4.8503398895 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 686.0, - 1147.0, - 1274.0, - 1197.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Page Header", - "Equation", - "Reference text", - "Figure", - "Section Header", - "Figure Caption", - "Table", - "Other", - "Page Footer", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - 0.117642507, - -5.4621038437, - -7.5167608261, - -9.5665636063, - -10.4896383286, - -12.6301279068, - -13.0732145309, - -14.711019516, - -15.0971460342, - -15.5980558395, - -16.1236038208, - -18.3282203674, - -18.7492389679, - -20.926448822 - ], - "content":"dS(t) S(t) = −βI(t) + R(t) (6) dt N", - "postprocess_cls":"Equation", - "postprocess_score":0.9961049557, - "detect_cls":"Equation label", - "detect_score":0.117642507 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 728.0, - 444.0, - 1274.0, - 493.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Reference text", - "Page Footer", - "Table Note", - "Other", - "Table", - "Figure", - "Section Header", - "Equation", - "Page Header", - "Abstract", - "Table Caption", - "Figure Caption" - ], - "scores":[ - -2.7598707676, - -2.888833046, - -5.524936676, - -5.6568017006, - -6.0531992912, - -6.1260838509, - -6.5165491104, - -7.3657631874, - -7.4578914642, - -8.0260257721, - -8.8127374649, - -9.0429992676, - -9.6294651031, - -9.9026927948 - ], - "content":"dS(t) S(t) = −βI(t) (1) dt N", - "postprocess_cls":"Equation", - "postprocess_score":0.6141163707, - "detect_cls":"Equation label", - "detect_score":-2.7598707676 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 782.0, - 1275.0, - 920.0 - ], - "classes":[ - "Body Text", - "Section Header", - "Figure Caption", - "Abstract", - "Equation label", - "Table Note", - "Page Footer", - "Reference text", - "Other", - "Figure", - "Table Caption", - "Page Header", - "Equation", - "Table" - ], - "scores":[ - -2.7215280533, - -10.4865884781, - -10.639998436, - -13.9466915131, - -15.7235155106, - -16.6665477753, - -16.8861198425, - -18.0406684875, - -18.3201999664, - -18.3763141632, - -20.1121368408, - -20.3940029144, - -24.6096229553, - -25.1321487427 - ], - "content":"where N is the total population, S(t), E(t), I(t), R(t) and D(t), are the number of people susceptible, exposed, infected, recovered and dead on day t. β is the expected number of people an infected person infects per day, γ is the proportion of recovery per day, δ is the incubation period, α is the fatality rate due to the infection and ρ is the inverse of the average number of days for an infected person to die if he does not recover.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9959763885, - "detect_cls":"Body Text", - "detect_score":-2.7215280533 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 949.0, - 545.0, - 965.0 - ], - "classes":[ - "Body Text", - "Page Footer", - "Figure", - "Equation label", - "Reference text", - "Other", - "Page Header", - "Section Header", - "Abstract", - "Figure Caption", - "Table Note", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -5.2109236717, - -6.5942687988, - -8.2502479553, - -8.8928756714, - -9.0652112961, - -10.0970077515, - -10.5589427948, - -10.9189805984, - -12.2121772766, - -12.4608488083, - -12.7421483994, - -13.4477958679, - -13.8999729156, - -17.0868797302 - ], - "content":"3. SEIRS Model", - "postprocess_cls":"Section Header", - "postprocess_score":0.9996773005, - "detect_cls":"Body Text", - "detect_score":-5.2109236717 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 984.0, - 1275.0, - 1121.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Abstract", - "Reference text", - "Other", - "Table Note", - "Page Footer", - "Section Header", - "Figure", - "Figure Caption", - "Page Header", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -2.9874308109, - -9.0950212479, - -10.8997097015, - -11.151506424, - -11.562748909, - -12.2840843201, - -13.4683017731, - -14.4899168015, - -16.8020267487, - -16.9602298737, - -17.6181564331, - -17.9680194855, - -18.2824897766, - -19.6447219849 - ], - "content":"The SEIRS model is similar to the SEIR model such that it has five components as well—Susceptible, Exposed, Infected, Recovered and Death. However, the SEIRS model takes time-limited immunity into account, whereby recovered individuals are prone to becoming susceptible to the disease again after a period of time. In the SEIRS model, Equations (1) and (4) are then modified to", - "postprocess_cls":"Body Text", - "postprocess_score":0.9993829727, - "detect_cls":"Body Text", - "detect_score":-2.9874308109 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1288.0, - 1126.0, - 1311.0 - ], - "classes":[ - "Equation label", - "Body Text", - "Figure", - "Section Header", - "Reference text", - "Page Header", - "Equation", - "Figure Caption", - "Table", - "Other", - "Page Footer", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -2.6959555149, - -3.5594203472, - -6.703063488, - -7.6305561066, - -7.7114853859, - -7.9572868347, - -8.2868156433, - -10.5709295273, - -12.1454677582, - -12.3750295639, - -13.2707958221, - -13.6201553345, - -13.6786584854, - -15.3705368042 - ], - "content":"where is the rate at which a recovered person becomes susceptible again.", - "postprocess_cls":"Equation", - "postprocess_score":0.8025770187, - "detect_cls":"Equation label", - "detect_score":-2.6959555149 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":3, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_3_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1339.0, - 1277.0, - 1712.0 - ], - "classes":[ - "Body Text", - "Reference text", - "Abstract", - "Equation label", - "Page Header", - "Section Header", - "Figure Caption", - "Page Footer", - "Figure", - "Other", - "Table Note", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -3.1954927444, - -6.7487845421, - -12.9166879654, - -13.5890388489, - -14.0583839417, - -16.2690963745, - -16.9095211029, - -17.8277950287, - -19.5517063141, - -19.598072052, - -19.6363887787, - -21.2971973419, - -22.2141418457, - -24.7429199219 - ], - "content":"4. Time-Based Model for Compulsory Mask Wearing Masking is found to decrease the infection rate I(t) by reducing the transmission of respiratory droplets between individuals, which in turn reduces the number of individuals an infected person can infect. Kai et al. [18] showed that the infection rate can be reduced by 60% when universal masking is enforced. There have been other studies that reflect varying rates of infection rate reduction, such as 47% (estimate between 15% and 75%) in Germany [19] and 75% in Arizona during the 2020 summer surge [20], along with numerous others. The disparity of the figures are likely to be due to the influence of other policies such as enforced social distancing and lockdowns. For the purpose of our study, we felt 60% reduction in infection rate was a reasonable value, without being too optimistic or pessimistic.We thus model our infection rate as time-dependent β → β(t) and a function of m(t): β(t) = κm(t) (8)", - "postprocess_cls":"Body Text", - "postprocess_score":0.9998670816, - "detect_cls":"Body Text", - "detect_score":-3.1954927444 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Section Header", - "Figure Caption", - "Other", - "Table", - "Reference text", - "Table Caption", - "Figure", - "Table Note", - "Equation", - "Abstract" - ], - "scores":[ - -1.7302033901, - -3.6377530098, - -4.4046735764, - -5.2347478867, - -5.5449490547, - -5.9033555984, - -5.9583358765, - -6.3729043007, - -6.5386605263, - -7.0557188988, - -7.2179327011, - -7.4130735397, - -8.6365003586, - -8.9389972687 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 4 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9993817806, - "detect_cls":"Page Header", - "detect_score":-1.7302033901 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 224.0, - 741.0, - 246.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Section Header", - "Figure", - "Reference text", - "Equation", - "Figure Caption", - "Page Footer", - "Page Header", - "Table Note", - "Other", - "Abstract", - "Table", - "Table Caption" - ], - "scores":[ - -1.7804280519, - -8.1360397339, - -11.527100563, - -13.3830690384, - -13.5606451035, - -13.768409729, - -15.0057487488, - -17.1439228058, - -17.2342357635, - -17.2720603943, - -18.1832847595, - -18.4798774719, - -21.9602966309, - -22.6526908875 - ], - "content":"where κ is an arbitrary constant and", - "postprocess_cls":"Page Header", - "postprocess_score":0.9264364839, - "detect_cls":"Body Text", - "detect_score":-1.7804280519 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 694.0, - 273.0, - 1274.0, - 324.0 - ], - "classes":[ - "Equation", - "Equation label", - "Body Text", - "Figure", - "Section Header", - "Table", - "Reference text", - "Page Header", - "Other", - "Page Footer", - "Figure Caption", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -3.7837722301, - -4.4668540955, - -8.5332717896, - -9.7747631073, - -13.9771213531, - -14.2968702316, - -14.3140821457, - -14.3843383789, - -14.4104194641, - -16.5212039948, - -19.6543273926, - -20.2351646423, - -20.919095993, - -21.7818088531 - ], - "content":"βs − βc m(t) = (9) + βc 1 + e−k(−t+t0)", - "postprocess_cls":"Equation", - "postprocess_score":0.9999083281, - "detect_cls":"Equation", - "detect_score":-3.7837722301 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 350.0, - 1275.0, - 539.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Figure Caption", - "Figure", - "Page Footer", - "Table Note", - "Reference text", - "Abstract", - "Other", - "Section Header", - "Page Header", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -0.5436022878, - -14.9844760895, - -15.4629774094, - -16.4936618805, - -18.1207199097, - -18.1337356567, - -19.5456314087, - -19.683921814, - -20.7252178192, - -21.2746753693, - -22.7573699951, - -27.0828914642, - -28.5530204773, - -29.5923461914 - ], - "content":"where a modified logistic function is used to model this transition by setting the infection before (i.e., at the start of the outbreak) and after the full compliance masking enforcement to be βs = 1 and βc = 0.4 respectively. t0 is the number of days after the first case where masking wearing is enforced. Figure 1 shows an example of such logistic function, where for the case of Singapore, we set t0 = 89, since the policy of compulsory mask wearing was implemented 89 days after the first case was uncovered. This model is used in both Scenarios 1 and 3.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9971863627, - "detect_cls":"Body Text", - "detect_score":-0.5436022878 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 404.0, - 580.0, - 1152.0, - 1079.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Equation", - "Equation label", - "Figure Caption", - "Section Header", - "Other", - "Table", - "Page Footer", - "Table Note", - "Abstract", - "Reference text", - "Table Caption" - ], - "scores":[ - 4.1000723839, - -9.4325752258, - -12.4519081116, - -14.3672904968, - -14.5336322784, - -14.9966268539, - -15.9972295761, - -16.025396347, - -16.671836853, - -17.1014385223, - -19.9756145477, - -21.1269264221, - -22.4875679016, - -23.1718616486 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999912977, - "detect_cls":"Figure", - "detect_score":4.1000723839 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1104.0, - 1275.0, - 1149.0 - ], - "classes":[ - "Figure Caption", - "Page Header", - "Body Text", - "Table Caption", - "Section Header", - "Figure", - "Page Footer", - "Equation label", - "Table Note", - "Abstract", - "Other", - "Table", - "Reference text", - "Equation" - ], - "scores":[ - 2.9030091763, - -9.2282190323, - -13.6434030533, - -15.0287923813, - -16.2147197723, - -16.3651332855, - -17.4601249695, - -17.9541778564, - -18.631696701, - -18.9941577911, - -20.4291362762, - -22.0355434418, - -22.8392944336, - -23.8998527527 - ], - "content":"Figure 1. Logistic function to model the infection rate due to compulsory mask wearing m(t) for Scenarios 1 and 3.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999907017, - "detect_cls":"Figure Caption", - "detect_score":2.9030091763 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1184.0, - 1275.0, - 1289.0 - ], - "classes":[ - "Figure", - "Page Header", - "Equation label", - "Equation", - "Body Text", - "Other", - "Section Header", - "Figure Caption", - "Table", - "Page Footer", - "Reference text", - "Abstract", - "Table Note", - "Table Caption" - ], - "scores":[ - -5.9238781929, - -7.8981151581, - -8.0480117798, - -8.0698204041, - -8.5796461105, - -10.6876716614, - -13.9410295486, - -14.1181249619, - -14.4374904633, - -15.9662275314, - -16.184179306, - -18.5673618317, - -18.7337665558, - -19.8033809662 - ], - "content":"To model the gradual noncompliance of universal masking, we make a modification to Equation (9). βs − βc βc − βnc + m(t) = (10) + βnc 1 + e−k1(−t+t0) 1 + e−k2(−t+t1)", - "postprocess_cls":"Body Text", - "postprocess_score":0.5503957272, - "detect_cls":"Figure", - "detect_score":-5.9238781929 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":4, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_4_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1305.0, - 1278.0, - 1672.0 - ], - "classes":[ - "Body Text", - "Figure Caption", - "Table Note", - "Equation label", - "Page Header", - "Section Header", - "Abstract", - "Table Caption", - "Other", - "Page Footer", - "Reference text", - "Figure", - "Table", - "Equation" - ], - "scores":[ - -5.8830633163, - -9.0368585587, - -10.8957958221, - -13.3811073303, - -13.5485925674, - -14.8247318268, - -14.991435051, - -15.1697273254, - -15.8896350861, - -17.105091095, - -17.6960659027, - -18.4475955963, - -21.0349082947, - -23.3355693817 - ], - "content":"As individuals began to engage in noncompliance out of complacency and pandemic fatigue, the infection rate, βnc, would thus increase slightly. Furthermore, compared to quenching of the infection rate due to enforcement of the compulsory mask wearing, the noncompliance will be gradual. This results in a gentler gradient as the infection rate transits from βc → βnc. The gradients are tuned by the arbitrary constants k1 and k2, where k1 > k2. We further assume that the population are able to maintain compliance for a period of time before onset of noncompliance at t1, which may be triggered by an event, for example a change in the government's policy. Figure 2 illustrates one such example, where we have βnc = 0.5 and t1 = 154, taken in context to Singapore's shift from a full lockdown to gradual resumption of everyday activities 154 days after the first case. The infection rate βnc is expected to be lower than βs as even with the complacency and fatigue, as there is now a greater situational awareness of the severity and the population in general will take a more cautious outlook compared to pre-pandemic days.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9968757629, - "detect_cls":"Body Text", - "detect_score":-5.8830633163 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Other", - "Reference text", - "Figure", - "Table", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -1.5087971687, - -3.3478233814, - -3.992017746, - -4.9614892006, - -5.4743070602, - -6.1402859688, - -6.2511262894, - -6.323946476, - -6.4941959381, - -6.5377807617, - -7.5381102562, - -7.6336975098, - -8.5953559875, - -8.9597167969 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 5 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9994342923, - "detect_cls":"Page Header", - "detect_score":-1.5087971687 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 396.0, - 223.0, - 931.0, - 580.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Figure Caption", - "Other", - "Section Header", - "Equation", - "Equation label", - "Page Footer", - "Table", - "Table Note", - "Abstract", - "Table Caption", - "Reference text" - ], - "scores":[ - 2.2623577118, - -10.2967786789, - -10.8714666367, - -12.8581047058, - -15.1635608673, - -15.8568058014, - -16.4230175018, - -17.6112575531, - -18.1314201355, - -18.4943618774, - -20.4085903168, - -20.733877182, - -22.6400165558, - -22.6574802399 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999917746, - "detect_cls":"Figure", - "detect_score":2.2623577118 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 613.0, - 1275.0, - 664.0 - ], - "classes":[ - "Figure Caption", - "Body Text", - "Figure", - "Page Footer", - "Page Header", - "Table Caption", - "Abstract", - "Table Note", - "Section Header", - "Other", - "Equation label", - "Table", - "Reference text", - "Equation" - ], - "scores":[ - 0.9741205573, - -11.5788402557, - -12.8867588043, - -13.7339344025, - -14.8756866455, - -16.1689815521, - -16.255853653, - -16.4346809387, - -16.6110420227, - -16.6758804321, - -21.1135120392, - -21.5821495056, - -23.1135559082, - -24.8644714355 - ], - "content":"Figure 2. Logistic function to model the infection rate due to compulsory mask wearing m(t) for Scenario 2, where one takes into account the noncompliance.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999696016, - "detect_cls":"Figure Caption", - "detect_score":0.9741205573 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 688.0, - 1275.0, - 775.0 - ], - "classes":[ - "Other", - "Section Header", - "Page Footer", - "Figure Caption", - "Body Text", - "Figure", - "Page Header", - "Reference text", - "Equation", - "Table Note", - "Abstract", - "Table Caption", - "Table", - "Equation label" - ], - "scores":[ - -4.6291937828, - -6.0781207085, - -7.9622960091, - -8.5642433167, - -8.5854253769, - -8.9777555466, - -9.801366806, - -10.6661090851, - -10.904668808, - -11.2438554764, - -11.4593896866, - -11.8970451355, - -13.0903167725, - -13.5284023285 - ], - "content":"5. Epidemiological Parameters To conduct our analysis in the Singapore context, we estimate the epidemiological parameters described in the earlier sections for the Singapore's context:", - "postprocess_cls":"Other", - "postprocess_score":0.7580176592, - "detect_cls":"Other", - "detect_score":-4.6291937828 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 430.0, - 792.0, - 1277.0, - 1130.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Reference text", - "Figure Caption", - "Section Header", - "Figure", - "Abstract", - "Page Header", - "Page Footer", - "Table Note", - "Other", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 1.5766657591, - -13.2020549774, - -16.4787559509, - -16.964302063, - -17.2969303131, - -18.2964859009, - -18.8807621002, - -19.0890674591, - -19.3149185181, - -21.8046360016, - -23.581987381, - -26.566526413, - -28.9885311127, - -30.0895500183 - ], - "content":"γ = 1/11: According to the position statement released by the National Centre of Disease Control Singapore [21], a person remains infectious for up to 11 days after first contracting COVID-19. δ = 1/5: The SARS-CoV2 virus has an incubation period of about 5 days [22]. α = 0.000064: Fatality rate is defined as the percentage of deaths among all previously infected individuals. At the time this work was conducted, the number of deaths in Singapore was 26, and the total number of Recovered and Dead compartments was 40,625. ρ = 1/9: As this number varies greatly across different demographics and is highly unpredictable, we are unable to obtain a proper average. Moreover, owing to the low numbers of COVID-19 deaths in Singapore, it would be inaccurate to calculate an average using this small sample size. Thus, for analysis purposes, we set it at 9 days.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9996544123, - "detect_cls":"Body Text", - "detect_score":1.5766657591 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 796.0, - 392.0, - 804.0 - ], - "classes":[ - "Page Footer", - "Figure", - "Section Header", - "Body Text", - "Equation", - "Other", - "Reference text", - "Table", - "Page Header", - "Table Note", - "Equation label", - "Figure Caption", - "Table Caption", - "Abstract" - ], - "scores":[ - -2.9053115845, - -4.5805282593, - -5.5827050209, - -6.5868663788, - -7.3583173752, - -7.4265518188, - -8.0279092789, - -8.2571277618, - -8.3638343811, - -8.5961027145, - -8.8530931473, - -9.2815132141, - -9.8112306595, - -10.4304542542 - ], - "content":"•", - "postprocess_cls":"Section Header", - "postprocess_score":0.9211617112, - "detect_cls":"Page Footer", - "detect_score":-2.9053115845 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 882.0, - 392.0, - 890.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Figure", - "Equation label", - "Equation", - "Reference text", - "Table", - "Other", - "Figure Caption", - "Page Header", - "Table Caption", - "Table Note", - "Abstract", - "Body Text" - ], - "scores":[ - -2.1900157928, - -5.3232288361, - -6.3310675621, - -6.538602829, - -6.8521265984, - -7.0864639282, - -7.6612892151, - -7.6977677345, - -7.7621526718, - -7.9629206657, - -8.4278831482, - -8.7660951614, - -9.2666406631, - -9.4148368835 - ], - "content":"•", - "postprocess_cls":"Section Header", - "postprocess_score":0.8286181688, - "detect_cls":"Page Footer", - "detect_score":-2.1900157928 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 911.0, - 392.0, - 919.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Equation label", - "Figure", - "Table", - "Other", - "Equation", - "Table Caption", - "Table Note", - "Figure Caption", - "Reference text", - "Page Header", - "Body Text", - "Abstract" - ], - "scores":[ - -1.6243486404, - -6.7012591362, - -6.9366807938, - -7.3323450089, - -7.9474105835, - -8.8363676071, - -8.8912086487, - -8.978302002, - -9.0530633926, - -9.4314546585, - -9.4526872635, - -9.770160675, - -9.8681192398, - -11.2481384277 - ], - "content":"•", - "postprocess_cls":"Section Header", - "postprocess_score":0.8768944144, - "detect_cls":"Page Footer", - "detect_score":-1.6243486404 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 384.0, - 1025.0, - 392.0, - 1033.0 - ], - "classes":[ - "Section Header", - "Body Text", - "Page Footer", - "Figure", - "Other", - "Figure Caption", - "Page Header", - "Equation", - "Equation label", - "Table Note", - "Reference text", - "Table Caption", - "Table", - "Abstract" - ], - "scores":[ - -3.8821780682, - -5.7434711456, - -10.7130403519, - -11.2477216721, - -12.108798027, - -13.4920969009, - -13.5678339005, - -14.0245628357, - -14.1262760162, - -16.1466751099, - -17.2123680115, - -17.515127182, - -18.4866218567, - -20.4881267548 - ], - "content":"•", - "postprocess_cls":"Section Header", - "postprocess_score":0.9993214607, - "detect_cls":"Section Header", - "detect_score":-3.8821780682 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":5, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_5_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1158.0, - 1277.0, - 1791.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Section Header", - "Page Footer", - "Figure", - "Reference text", - "Figure Caption", - "Page Header", - "Table Note", - "Abstract", - "Other", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 3.9174981117, - -29.6443309784, - -30.2645549774, - -30.7007331848, - -33.6453704834, - -33.8487052917, - -34.6866035461, - -36.0330162048, - -38.830997467, - -39.2242469788, - -41.6673774719, - -49.0738563538, - -51.2751731873, - -53.5775375366 - ], - "content":"6. Results and Discussion 6.1. Dynamics of Delay of Compulsory Mask Wearing Upon applying the SEIR models to the 3 scenarios described in the above sections, we are able to obtain Maximum Infected Values by simulating different values of delay in mask enforcement. Considering the most basic case of Scenario 1; where there is complete compliance throughout the duration of mask enforcement, and the absence of time-limited immunity, Figure 3 shows the cases where mask wearing were to be enforced (a) on the day the first case of COVID-19 was detected in Singapore; (b) after a 50 days delay; (c) after a 100 days delay; and (d) not enforced at all. From Figure 3, it can be deduced that earlier enforcement of mask wearing both reduces the Maximum Infected Value as well as increases the number of days taken to reach the Maximum Infected Value. This is reflected by right-ward shift of the maxima of the Infected compartment, as well as a lower maxima value of the infected curve. The infected number increases until it reaches a global maxima, before decreasing as predicted by compartmental models of such form. This global maxima is termed as the Maximum Infected Value. For the case of (a) 0 days of delay in mask enforcement, the maximum infected value is approximately 10.453%, and the peak occurs at day 291 after the first case was detected. For the case of a (b) 50 days delay, the maximum infected value is approximately 10.479%, and the peak occurs on day 195. For the case of a (c) 100 days delay, the maximum infected value is much higher, at approximately 27.474%, and the peak occurs much earlier, on day 103. This is very close to the case where (d) no public masking is enforced, where the maximum infected value is approximately 31.422% and", - "postprocess_cls":"Body Text", - "postprocess_score":0.9963091016, - "detect_cls":"Body Text", - "detect_score":3.9174981117 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Other", - "Figure", - "Section Header", - "Table", - "Reference text", - "Table Note", - "Table Caption", - "Abstract", - "Equation" - ], - "scores":[ - -2.5404891968, - -2.7208592892, - -3.2227096558, - -3.8342299461, - -4.8508319855, - -5.3711147308, - -5.4711380005, - -5.494038105, - -5.6461625099, - -5.8514742851, - -5.9516105652, - -6.5359797478, - -7.7324132919, - -7.8704433441 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 6 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9993324876, - "detect_cls":"Page Header", - "detect_score":-2.5404891968 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 224.0, - 1275.0, - 304.0 - ], - "classes":[ - "Reference text", - "Body Text", - "Page Footer", - "Equation label", - "Table Note", - "Other", - "Abstract", - "Section Header", - "Page Header", - "Figure", - "Figure Caption", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -2.41370368, - -2.449630022, - -6.9069609642, - -8.0799608231, - -9.8782691956, - -9.8951234818, - -10.0216999054, - -10.1125574112, - -11.3799171448, - -11.8693094254, - -12.6075954437, - -12.9540042877, - -13.3861627579, - -15.8635005951 - ], - "content":"the peak occurs on day 106. From a policy point of view, this suggests that early universal masking would indeed be an effective control, not only to reduce the infection, but more critically to flatten the curve so as to not overwhelm the medical resources.", - "postprocess_cls":"Reference text", - "postprocess_score":0.9266610146, - "detect_cls":"Reference text", - "detect_score":-2.41370368 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 250.0, - 363.0, - 1102.0, - 565.0 - ], - "classes":[ - "Figure", - "Page Header", - "Figure Caption", - "Section Header", - "Equation label", - "Body Text", - "Table", - "Equation", - "Table Caption", - "Page Footer", - "Other", - "Table Note", - "Reference text", - "Abstract" - ], - "scores":[ - -3.1873693466, - -4.8212738037, - -7.0536727905, - -10.2028875351, - -10.3731937408, - -12.6629772186, - -13.1024913788, - -13.3014593124, - -13.4798297882, - -14.02252388, - -14.8326330185, - -16.4965019226, - -16.7484340668, - -17.5182647705 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9992592931, - "detect_cls":"Figure", - "detect_score":-3.1873693466 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 250.0, - 590.0, - 1117.0, - 791.0 - ], - "classes":[ - "Page Header", - "Figure", - "Figure Caption", - "Body Text", - "Equation label", - "Page Footer", - "Equation", - "Table", - "Section Header", - "Other", - "Reference text", - "Table Caption", - "Table Note", - "Abstract" - ], - "scores":[ - -1.1635150909, - -4.8522176743, - -9.8937969208, - -9.9956798553, - -10.4784946442, - -12.4243450165, - -12.8667650223, - -13.4087505341, - -13.4521074295, - -14.8423604965, - -16.4829616547, - -16.5560760498, - -17.6497058868, - -19.2318267822 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9996366501, - "detect_cls":"Page Header", - "detect_score":-1.1635150909 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 129.0, - 840.0, - 1227.0, - 890.0 - ], - "classes":[ - "Figure Caption", - "Section Header", - "Table Caption", - "Body Text", - "Other", - "Page Header", - "Table Note", - "Figure", - "Page Footer", - "Abstract", - "Equation label", - "Reference text", - "Table", - "Equation" - ], - "scores":[ - 0.0527810045, - -5.8636431694, - -8.1322975159, - -9.1273422241, - -9.1603155136, - -9.2407836914, - -10.6179800034, - -10.9474830627, - -11.1488428116, - -11.6220417023, - -12.3708753586, - -13.761590004, - -14.0128669739, - -14.9243373871 - ], - "content":"Figure 3. SEIR Plots for delays of (a) 0 days, (b) 50 days, (c) 100 days. (d) corresponds to the control case where mask wearing is not enforced.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999295473, - "detect_cls":"Figure Caption", - "detect_score":0.0527810045 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 921.0, - 1275.0, - 1062.0 - ], - "classes":[ - "Figure Caption", - "Body Text", - "Section Header", - "Page Header", - "Equation label", - "Figure", - "Page Footer", - "Abstract", - "Table Note", - "Reference text", - "Other", - "Table Caption", - "Equation", - "Table" - ], - "scores":[ - -3.1065702438, - -4.7654337883, - -12.8439817429, - -13.8662433624, - -15.4319906235, - -15.5018615723, - -17.0974407196, - -18.2143917084, - -19.3625240326, - -19.7661495209, - -20.4133853912, - -21.4896030426, - -24.7576503754, - -25.5214538574 - ], - "content":"6.2. Effects of Delay of Mask Enforcement on Maximum Infected Value We further investigate this relationship by explicitly considering how the delay in mask enforcement will impact the corresponding Maximum Infected Values. Figure 4 shows the results of different enforcement delay values and their corresponding maximum infected values. Here, we considered 3 scenarios described in the introduction.", - "postprocess_cls":"Body Text", - "postprocess_score":0.5061179996, - "detect_cls":"Figure Caption", - "detect_score":-3.1065702438 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 393.0, - 1108.0, - 1030.0, - 1537.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Section Header", - "Equation", - "Equation label", - "Other", - "Figure Caption", - "Table", - "Page Footer", - "Table Note", - "Abstract", - "Reference text", - "Table Caption" - ], - "scores":[ - 3.2385380268, - -9.2120409012, - -9.7329940796, - -12.2138414383, - -13.0309505463, - -13.1443042755, - -13.3979330063, - -13.8367948532, - -14.9413957596, - -17.6346092224, - -18.796453476, - -19.1195087433, - -20.0014133453, - -20.6520004272 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999812841, - "detect_cls":"Figure", - "detect_score":3.2385380268 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1572.0, - 1275.0, - 1622.0 - ], - "classes":[ - "Figure Caption", - "Table Caption", - "Abstract", - "Page Header", - "Page Footer", - "Section Header", - "Body Text", - "Figure", - "Table Note", - "Other", - "Equation label", - "Reference text", - "Table", - "Equation" - ], - "scores":[ - 4.4397335052, - -10.1999044418, - -10.8553724289, - -10.9445619583, - -11.1522703171, - -12.1556482315, - -12.263874054, - -12.4855384827, - -13.0420885086, - -13.5317106247, - -15.924665451, - -16.16979599, - -16.3548965454, - -18.4352684021 - ], - "content":"Figure 4. Maximum infection against delay in mask enforcement for Scenario 2: SEIR with full compliance and Scenario 3: SEIRS with time-limited immunity.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999933243, - "detect_cls":"Figure Caption", - "detect_score":4.4397335052 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":6, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_6_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 1651.0, - 1277.0, - 1788.0 - ], - "classes":[ - "Body Text", - "Figure", - "Figure Caption", - "Equation label", - "Page Header", - "Section Header", - "Page Footer", - "Reference text", - "Abstract", - "Other", - "Table Note", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 0.9530130625, - -17.2154483795, - -18.4175643921, - -19.2814178467, - -20.2099666595, - -20.2442378998, - -22.9685268402, - -23.8366775513, - -24.1421489716, - -25.4540996552, - -26.7766017914, - -31.0241737366, - -32.9815940857, - -34.7086448669 - ], - "content":"Figure 4 suggests a transition from low maximum infection of about 15–16% to a high maximum infection of about 31%, with the transition occurring at between a delay of 80 to 100 days. This transition manifests itself as a point of inflection of the graphs in Figure 4, occurring at about 100 days of delay. Interestingly, this suggests that delaying public masking enforcement for greater than about 100 days results in the significant reduction in", - "postprocess_cls":"Figure Caption", - "postprocess_score":1.0, - "detect_cls":"Body Text", - "detect_score":0.9530130625 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Other", - "Reference text", - "Table", - "Section Header", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -1.5099077225, - -3.0049507618, - -4.360350132, - -5.7266712189, - -6.2218074799, - -6.3322916031, - -6.6689505577, - -6.7434539795, - -6.8281655312, - -7.1442403793, - -8.1997594833, - -8.2815227509, - -8.5703229904, - -9.537197113 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 7 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9996254444, - "detect_cls":"Page Header", - "detect_score":-1.5099077225 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 224.0, - 1278.0, - 1134.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Page Footer", - "Figure Caption", - "Figure", - "Abstract", - "Table Note", - "Section Header", - "Reference text", - "Page Header", - "Other", - "Table", - "Equation", - "Table Caption" - ], - "scores":[ - -1.2279397249, - -14.3236656189, - -14.8038883209, - -17.3390235901, - -18.7345314026, - -19.0893936157, - -19.3613624573, - -19.4439258575, - -20.0368766785, - -21.6289806366, - -21.9084072113, - -28.8379039764, - -29.4303035736, - -29.6773681641 - ], - "content":"the effectiveness of public masking in controlling the maximum infection numbers. This is because after 100 days, most of the Exposed compartment has already been been infected, therefore this will no longer contribute to any further increase to the Infection compartment. Relating this to Singapore's context, compulsory mask wearing was introduced 89 days after the first case, hence this suggests that the introduction of compulsory mask wearing was timely to control the infection. Crucially, one should note that the point of inflection appears to be independent of the choice of our scenarios and in all three cases, the transition takes place at about the same 80 to 100 days of delay. The peak infection beyond 100 days of delay also yield similar results in all three cases. One would naively anticipate that the noncompliance in Scenario 2 resulting in a larger infection rate and the backflow of Recovered to Susceptible compartment after 90 days of time-limited immunity would have contributed positively to the Maximum Infected Values. While this is indeed the case for early intervention, beyond the transition point, the Infected compartment is already on track in reaching its maximum (see Figure 3d), the effectiveness of any intervention to change its trajectory and reduce the maximum is greatly reduced. This suggests the importance of early intervention by policy makers and governments, where this potential window to take action is about 3 months based on our analysis. However, we stress this does not mean that public masking is completely ineffective after the transition point, but rather that its initial effectiveness is significantly reduced beyond this point, when studying the effects of compulsory mask wearing in isolation. We further note that in Scenario 2 (see Figure 5), the results suggest that earlier enforce- ment of mask wearing leads to higher than expected Maximum Infected Values (compared to Scenario 1). This is apparent for delays in mask enforcement under approximately 50 days. It is likely that for such cases of early enforcement, the Susceptible population remains very high throughout. Consequently, when the agents begin to flout the rules after t1 = 154 days, the combination of both larger Susceptible compartment pool and higher βnc results in a greater amount of infection. In other words, the susceptible population must be sufficiently reduced before the implementation of the compulsory mask wearing for it to be effective in reducing the Maximum Infected Value. In practice, though not considered in this work, the susceptible population may be reduced or removed through other means, e.g., social distancing or lockdown.", - "postprocess_cls":"Body Text", - "postprocess_score":0.999740541, - "detect_cls":"Body Text", - "detect_score":-1.2279397249 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 396.0, - 1172.0, - 1048.0, - 1600.0 - ], - "classes":[ - "Figure", - "Equation label", - "Body Text", - "Equation", - "Section Header", - "Page Header", - "Figure Caption", - "Page Footer", - "Other", - "Table", - "Table Note", - "Abstract", - "Table Caption", - "Reference text" - ], - "scores":[ - 0.6478790641, - -8.1646146774, - -9.0933990479, - -10.5133371353, - -10.5431413651, - -10.6895513535, - -11.6505804062, - -12.4260349274, - -12.4875516891, - -13.2730197906, - -14.7135210037, - -16.0829792023, - -16.6395664215, - -16.8146400452 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999837875, - "detect_cls":"Figure", - "detect_score":0.6478790641 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 1631.0, - 1278.0, - 1682.0 - ], - "classes":[ - "Figure Caption", - "Body Text", - "Figure", - "Page Header", - "Page Footer", - "Section Header", - "Equation label", - "Table Note", - "Table Caption", - "Equation", - "Other", - "Abstract", - "Reference text", - "Table" - ], - "scores":[ - -3.0298552513, - -7.7131061554, - -9.2794094086, - -10.4575004578, - -12.7215270996, - -13.0526819229, - -14.6363334656, - -17.4520072937, - -17.9454879761, - -18.4411945343, - -19.0718822479, - -21.2084636688, - -21.5699863434, - -22.0168647766 - ], - "content":"Figure 5. Maximum infection against delay in mask enforcement for Scenario 2: SEIR with grad- ual noncompliance.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999574423, - "detect_cls":"Figure Caption", - "detect_score":-3.0298552513 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":7, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_7_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1710.0, - 1275.0, - 1790.0 - ], - "classes":[ - "Body Text", - "Figure Caption", - "Page Footer", - "Figure", - "Abstract", - "Page Header", - "Table Note", - "Other", - "Equation label", - "Section Header", - "Reference text", - "Table Caption", - "Table", - "Equation" - ], - "scores":[ - -4.3385715485, - -9.694486618, - -13.5871639252, - -14.2641153336, - -14.586853981, - -14.9624614716, - -17.6243057251, - -17.9860401154, - -19.1923599243, - -19.6803646088, - -19.8963279724, - -21.9928703308, - -22.4069385529, - -25.9891548157 - ], - "content":"At the time the initial study was conducted, we had modelled the COVID-19 situation in Singapore and its response to the initial strain of virus that was first detected at the start of 2020. However, the world is currently facing the second wave of infection. New", - "postprocess_cls":"Body Text", - "postprocess_score":0.9927651286, - "detect_cls":"Body Text", - "detect_score":-4.3385715485 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Equation label", - "Page Header", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Figure", - "Other", - "Table Note", - "Table", - "Reference text", - "Table Caption", - "Abstract", - "Equation" - ], - "scores":[ - -2.5124282837, - -2.9073629379, - -2.9385926723, - -3.376696825, - -4.5021634102, - -4.8872199059, - -5.1021184921, - -5.1072254181, - -5.364320755, - -5.3768672943, - -5.5889949799, - -6.0011315346, - -7.1411910057, - -7.5594658852 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 8 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9993408322, - "detect_cls":"Equation label", - "detect_score":-2.5124282837 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 224.0, - 1278.0, - 476.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Figure Caption", - "Page Header", - "Page Footer", - "Section Header", - "Figure", - "Reference text", - "Table Note", - "Abstract", - "Other", - "Table Caption", - "Table", - "Equation" - ], - "scores":[ - 0.8267956972, - -16.0498313904, - -16.3773021698, - -17.3451595306, - -18.896944046, - -18.9894275665, - -20.2770938873, - -20.8690834045, - -21.1896896362, - -22.9311618805, - -25.2531299591, - -31.2778282166, - -31.8736000061, - -31.9162902832 - ], - "content":"strains, particularly the B117 variant, have been detected in many countries, including Sin- gapore [23]. B117 strained virus has acquired the D614G spike protein mutation, reportedly increasing its infectivity, with little difference to its lethality [24]. According to studies done in the UK, the R0 value of B117 has increased by up to 0.7 [25]. To investigate the impact of delay in public mask enforcement on controlling the Maximum Infected Numbers due to the B117 variant, we modelled a hypothetical scenario. In this scenario, the first case of COVID-19 detected in Singapore is of the B117 variant. We ran our simulation of the 3 scenarios described in the preceding sections with a new value of R0 reflecting that of B117. The resulting plots are shown in Figure 6 and 7.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9884775281, - "detect_cls":"Body Text", - "detect_score":0.8267956972 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 387.0, - 510.0, - 917.0, - 867.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Section Header", - "Equation label", - "Equation", - "Other", - "Figure Caption", - "Table", - "Page Footer", - "Reference text", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -0.230891183, - -8.6101913452, - -9.6145172119, - -9.696855545, - -11.7993011475, - -12.3803157806, - -13.7472639084, - -15.1451997757, - -17.5577926636, - -19.1554222107, - -19.2288780212, - -20.2317199707, - -20.316783905, - -22.1437778473 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999415874, - "detect_cls":"Figure", - "detect_score":-0.230891183 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 888.0, - 1275.0, - 938.0 - ], - "classes":[ - "Figure Caption", - "Page Header", - "Body Text", - "Page Footer", - "Equation label", - "Section Header", - "Other", - "Figure", - "Table Note", - "Table Caption", - "Abstract", - "Reference text", - "Table", - "Equation" - ], - "scores":[ - -1.7880330086, - -6.4670872688, - -9.6256151199, - -12.0806665421, - -12.514913559, - -13.9187374115, - -14.067481041, - -14.9008674622, - -15.2483606339, - -15.6128845215, - -16.4564361572, - -17.050868988, - -17.7882423401, - -18.8692626953 - ], - "content":"Figure 6. Maximum infection against delay in mask enforcement for Scenario 2: SEIR with full compliance and Scenario 3: SEIRS with time-limited immunity for the B117 variant case.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.999977231, - "detect_cls":"Figure Caption", - "detect_score":-1.7880330086 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 388.0, - 963.0, - 931.0, - 1320.0 - ], - "classes":[ - "Figure", - "Body Text", - "Page Header", - "Equation label", - "Equation", - "Page Footer", - "Section Header", - "Other", - "Figure Caption", - "Table", - "Table Note", - "Abstract", - "Table Caption", - "Reference text" - ], - "scores":[ - 0.5181251168, - -10.6063308716, - -10.9858551025, - -11.8891019821, - -13.6827697754, - -14.4328842163, - -14.7260141373, - -15.5658063889, - -16.0109653473, - -16.6873016357, - -19.8755321503, - -22.1069812775, - -22.613193512, - -22.6256523132 - ], - "content":"", - "postprocess_cls":"Figure", - "postprocess_score":0.9999915361, - "detect_cls":"Figure", - "detect_score":0.5181251168 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 381.0, - 1344.0, - 1275.0, - 1393.0 - ], - "classes":[ - "Figure Caption", - "Body Text", - "Section Header", - "Figure", - "Page Header", - "Table Caption", - "Abstract", - "Other", - "Page Footer", - "Equation label", - "Table Note", - "Reference text", - "Equation", - "Table" - ], - "scores":[ - -1.8838572502, - -7.2165436745, - -9.0215272903, - -13.0316390991, - -13.7898550034, - -14.0342931747, - -14.1680755615, - -14.3334932327, - -14.9199113846, - -15.0288934708, - -15.3022975922, - -18.7880439758, - -19.1882457733, - -20.1419277191 - ], - "content":"Figure 7. Maximum infection against delay in mask enforcement for Scenario 2: SEIR with gradual noncompliance for the B117 variant case.", - "postprocess_cls":"Figure Caption", - "postprocess_score":0.9999775887, - "detect_cls":"Figure Caption", - "detect_score":-1.8838572502 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 382.0, - 1417.0, - 563.0, - 1434.0 - ], - "classes":[ - "Equation label", - "Figure", - "Page Header", - "Section Header", - "Page Footer", - "Body Text", - "Equation", - "Other", - "Figure Caption", - "Reference text", - "Table", - "Table Note", - "Abstract", - "Table Caption" - ], - "scores":[ - -4.6576399803, - -4.7376022339, - -6.2408800125, - -7.512673378, - -8.4140415192, - -8.6492443085, - -9.2616262436, - -10.0734930038, - -11.7521343231, - -12.0373468399, - -12.5049133301, - -14.7412090302, - -15.3036937714, - -15.9025182724 - ], - "content":"6.3. Related Studies", - "postprocess_cls":"Section Header", - "postprocess_score":0.9907457829, - "detect_cls":"Equation label", - "detect_score":-4.6576399803 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":8, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_8_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1453.0, - 1278.0, - 1791.0 - ], - "classes":[ - "Body Text", - "Abstract", - "Reference text", - "Page Header", - "Figure", - "Page Footer", - "Figure Caption", - "Equation label", - "Section Header", - "Other", - "Table Note", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - -1.564510107, - -15.4646940231, - -18.0718841553, - -19.3672237396, - -19.6613502502, - -19.7487621307, - -19.8751850128, - -20.4439563751, - -21.5015830994, - -22.3033504486, - -22.9334697723, - -28.0302295685, - -29.1530380249, - -30.0541973114 - ], - "content":"Juxtaposing our study against other similar studies that implement mathematical modelling on 'what-if' scenario based analysis, Eikenberry et al. [3] implemented a com- partmentalized models for their simulations, and concluded that if the population remains unmasked until mask enforcement after some discrete delay, and that the level of adoption is fixed, the delay initially had little impact on the hospitalized fraction or deaths, but states that a 'point of no return' can be crossed. While this study yields similar results to ours, it is contextualised in the US states of New York and Washington, whilst ours was conducted in the context of Singapore. Given the differences in epidemiological parameters, size and characteristics of these cities and Singapore, our study adds value in being a more accurate representation of smaller city states. Furthermore, this study did not take into consideration newer, more infectious strains of the virus such as the B117 variant and time-limited immunity, which we have considered in our study.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9997264743, - "detect_cls":"Body Text", - "detect_score":-1.564510107 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":9, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_9_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Figure Caption", - "Section Header", - "Other", - "Reference text", - "Table", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -1.4972016811, - -3.5980913639, - -4.1209149361, - -5.4198904037, - -5.8428649902, - -6.1353282928, - -6.3139066696, - -6.4656472206, - -6.7573122978, - -6.9958362579, - -7.8635826111, - -7.8681206703, - -8.9311704636, - -9.2261962891 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 9 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.999494195, - "detect_cls":"Page Header", - "detect_score":-1.4972016811 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":9, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_9_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 224.0, - 1278.0, - 447.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Section Header", - "Page Footer", - "Other", - "Figure Caption", - "Figure", - "Table Note", - "Abstract", - "Reference text", - "Page Header", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -0.033802636, - -11.9683914185, - -14.2329492569, - -14.8672418594, - -15.9906816483, - -16.032125473, - -16.0714359283, - -16.9485359192, - -16.9835414886, - -17.2661170959, - -17.9673995972, - -22.0706214905, - -25.2780094147, - -25.5011806488 - ], - "content":"Another study done by Tatapudi et al. [26] on the impact assessment of various containment measures, including public masking, contact tracing and stay-home orders revealed that masking was indeed effective in lowering the maximum infected value. The simulation was carried out using Agent-Based modelling, where individual agents were generated from the census data from Florida. This study, like many others mentioned throughout this paper, did not explicitly study the impact of the delay in enforcement of public masking. However, it adds validity to the effectiveness of face masks in controlling the spread of infection, by means of a very different mathematical model.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9984205961, - "detect_cls":"Body Text", - "detect_score":-0.033802636 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":9, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_9_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 475.0, - 1278.0, - 1307.0 - ], - "classes":[ - "Body Text", - "Page Footer", - "Equation label", - "Section Header", - "Reference text", - "Abstract", - "Figure", - "Table Note", - "Page Header", - "Figure Caption", - "Other", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - 0.1184755415, - -16.7590999603, - -17.7536563873, - -18.2873401642, - -18.5310287476, - -19.5538845062, - -19.7386474609, - -20.0910320282, - -20.1675662994, - -20.3564929962, - -20.5363483429, - -28.6993656158, - -28.8846244812, - -29.9321918488 - ], - "content":"6.4. Limitations of the Results We caution against exact quantitative predictions of the development of pandemic that are dependent on a multitude of factors other than universal mask wearing that we have considered here. What we have considered here is the what-if analysis of the effects of implementation of compulsory mask wearing on the dynamics of the pandemic. While the parameters chosen were based on estimates in Singapore's context, one should note that at the time of this writing, these estimates may change as we continue to deepen our understanding of the virus spread. Instead, this work should be interpreted as a numerical representation of the possible outcomes of delaying mask enforcement as a basis for the discussion of the general trends. We further note that, at the time of writing, the actual real-world figures for Maximum Infected Values fall below the ones discussed in this paper. This is due to the fact that we have only examined the policy of compulsory mask wearing in isolation, with minimum consideration of other factors. We expect that any countries or territories that are actively fighting the virus spread to implement an array of varying measures, all of which would collectively reduce the overall spread of the virus. While we acknowledge the limitations due to the rapidly changing nature of the ongoing pandemic and the presence of many contributing factors, some which are difficult to quantify, we cannot resort to waiting for sufficient data to present itself before drawing concrete solutions, as warned by Cheong and Jones [27], if we are to reduce its impact. Analysing the results, as we may intuitively anticipate, given the increased infectivity of the new strain, the Maximum Infected Numbers obtained were of a slightly greater mag- nitude compared to the original model. Surprisingly, we observe the same consistent trend across all the 6 scenarios, comprising a point of inflection beyond which, the effectiveness of public masking is significantly reduced. The key difference to note is that the point of inflection occurs for a smaller value of delay in enforcement, approximately 80 days as opposed to the 100 days of our initial model. Returning to Singapore's context, had the first case of COVID19 in Singapore been infected by the B117 variant, the delay of 89 days before public masking was enforced would have been costly.", - "postprocess_cls":"Body Text", - "postprocess_score":0.9994818568, - "detect_cls":"Body Text", - "detect_score":0.1184755415 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":9, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_9_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 1335.0, - 1278.0, - 1765.0 - ], - "classes":[ - "Body Text", - "Equation label", - "Reference text", - "Section Header", - "Page Footer", - "Figure", - "Page Header", - "Abstract", - "Figure Caption", - "Table Note", - "Other", - "Equation", - "Table", - "Table Caption" - ], - "scores":[ - -0.2975218594, - -10.6768226624, - -12.5905323029, - -13.6149492264, - -14.7963285446, - -15.056353569, - -15.9220352173, - -16.2165737152, - -16.3506851196, - -16.7049598694, - -16.7299537659, - -20.9412307739, - -21.7848720551, - -23.8551197052 - ], - "content":"7. Concluding Remarks At present, compulsory mask wearing has been widely accepted as a means of control- ling COVID-19 infection by reducing the infection rate through aerosol means. With this study, we hope to shed some light on whether the delay in enforcement of compulsory mask wearing will have detrimental effects on infection control when studied in isolation. Based on our results, it appears that a delay of 100 days and above would result in a transition where enforcement of public masking alone would result in little effect on the Maximum Infected Value. We considered 3 scenarios over 2 varied mathematical models. This result is consistent regardless of the level of compliance of the population, or the presence of time-limited immunity. Yet, if implemented early, our model shows that the Maximum Infected Values can be kept relatively low and under control, even after accounting for time-limited immunity and some level of noncompliance. We would like to point out that several studies on the effectiveness of community use of face masks. In one study carried out in the United States [28], the authors compared the percentage change in daily case rates between states enforcing public masking and", - "postprocess_cls":"Body Text", - "postprocess_score":0.9994643331, - "detect_cls":"Body Text", - "detect_score":-0.2975218594 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":10, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_10_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Equation label", - "Page Header", - "Body Text", - "Page Footer", - "Other", - "Table", - "Figure Caption", - "Section Header", - "Reference text", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -2.1286184788, - -2.5525627136, - -4.3450174332, - -5.460773468, - -6.0414304733, - -6.0501737595, - -6.8244686127, - -6.8993840218, - -6.9066138268, - -7.2508225441, - -7.6408367157, - -7.8270955086, - -8.0472068787, - -9.397228241 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 10 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9996505976, - "detect_cls":"Equation label", - "detect_score":-2.1286184788 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":10, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_10_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 380.0, - 224.0, - 1278.0, - 767.0 - ], - "classes":[ - "Reference text", - "Page Footer", - "Other", - "Table Note", - "Abstract", - "Page Header", - "Body Text", - "Figure Caption", - "Section Header", - "Equation label", - "Table", - "Table Caption", - "Equation", - "Figure" - ], - "scores":[ - -4.4792351723, - -5.8750796318, - -9.2634401321, - -10.399969101, - -11.5218334198, - -11.8549585342, - -12.6806316376, - -13.4536104202, - -14.1460351944, - -14.8853416443, - -15.3292512894, - -15.9370336533, - -17.3129253387, - -17.6116294861 - ], - "content":"the states that do not. The results demonstrated that masking was indeed effective in reducing the number of infected cases daily. In their study, the states that enforced public masking did so between 8 April to 15 May 2020, approximately 78 days after the first case was detected in the US. Another study discussed the effectiveness of public masking by comparing countries that enforced public masking (Japan and Thailand) and countries that did not (Spain, Italy, UK, Germany and France) within 30 days after the first case was detected. The result of this study demonstrated that countries in the mask-wearing group had significantly better outcomes in containing the community spread of the virus [29]. These results therefore provide a basis to support our modelling and the conclusion that we have derived as a result of this study. Author Contributions: Conceptualization, D.Y.T.; methodology, D.Y.T.; investigation, B.K.T., J.WW. and C.A.R.; writing—original draft preparation, B.K.T., C.A.R. and J.W.W.; writing—review and editing, D.Y.T.; supervision, D.Y.T. All authors have read and agreed to the published version of the manuscript. Funding: This research received no external funding. Acknowledgments: The authors would like to acknowledge the support from the Singapore Univer- sity of Technology and Design's Undergraduate Research Opportunities Programme (UROP). Conflicts of Interest: The authors declare no conflict of interest.", - "postprocess_cls":"Reference text", - "postprocess_score":0.9100261927, - "detect_cls":"Reference text", - "detect_score":-4.4792351723 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":10, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_10_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 801.0, - 1278.0, - 1746.0 - ], - "classes":[ - "Reference text", - "Table", - "Figure", - "Equation", - "Page Header", - "Other", - "Abstract", - "Page Footer", - "Body Text", - "Section Header", - "Table Caption", - "Equation label", - "Figure Caption", - "Table Note" - ], - "scores":[ - -5.2637338638, - -10.4362211227, - -11.1962451935, - -15.3697137833, - -17.1162986755, - -17.5526657104, - -18.4909000397, - -19.0276966095, - -20.4897994995, - -20.7191085815, - -22.9876289368, - -23.9705295563, - -24.715429306, - -24.7433586121 - ], - "content":"References 1. Lau, J.T.; Tsui, H.; Lau, M.; Yang, X. SARS transmission, risk factors, and prevention in Hong Kong. Emerg. Infect. Dis. 2004, 10, 587. [CrossRef] [PubMed] 2. Wang, C.J.; Ng, C.Y.; Brook, R.H. Response to COVID-19 in Taiwan: Big data analytics, new technology, and proactive testing. JAMA 2020, 323, 1341–1342. [CrossRef] [PubMed] 3. Eikenberry, S.E.; Mancuso, M.; Iboi, E.; Phan, T.; Eikenberry, K.; Kuang, Y.; Kostelich, E.; Gumel, A.B. To mask or not to mask: Modeling the potential for face mask use by the general public to curtail the COVID-19 pandemic. Infect. Dis. Model. 2020, 5, 293–308. [CrossRef] [PubMed] 4. Howard, J.; Huang, A.; Li, Z.; Tufekci, Z.; Zdimal, V.; van der Westhuizen, H.M.; von Delft, A.; Price, A.; Fridman, L.; Tang, L.H.; et al. An evidence review of face masks against COVID-19. Proc. Natl. Acad. Sci. USA 2021, 118, e2014564118. [CrossRef] 5. Lai, J.W.; Cheong, K.H. Superposition of COVID-19 waves, anticipating a sustained wave, and lessons for the future. BioEssays 2020, 42, 2000178. [CrossRef] 6. Cheong, K.H.; Wen, T.; Lai, J.W. Relieving Cost of Epidemic by Parrondo's Paradox: A COVID-19 Case Study. Adv. Sci. 2020, 7, 2002324. [CrossRef] 7. Singh, R.; Adhikari, R. Age-structured impact of social distancing on the COVID-19 epidemic in India. arXiv 2020, arXiv:2003.12055. 8. Babajanyan, S.; Cheong, K.H. Age-structured SIR model and resource growth dynamics: A COVID-19 study. Nonlinear Dyn. 2021, 104, 2853–2864. [CrossRef] [PubMed] 9. Chung, N.N.; Chew, L.Y. Modelling Singapore COVID-19 pandemic with a SEIR multiplex network model. medRxiv 2020. [CrossRef] 10. Kosinski, R.J. The Influence of time-limited immunity on a COVID-19 epidemic: A simulation study. medRxiv 2020. [CrossRef] 11. Ibarrondo, F.J.; Fulcher, J.A.; Goodman-Meza, D.; Elliott, J.; Hofmann, C.; Hausner, M.A.; Ferbas, K.G.; Tobin, N.H.; Aldrovandi, G.M.; Yang, O.O. Rapid decay of anti–SARS-CoV-2 antibodies in persons with mild Covid-19. N. Engl. J. Med. 2020, 383, 1085–1087. [CrossRef] 12. Rodrigues, H.S. Application of SIR epidemiological model: New trends. arXiv 2016, arXiv:1611.02565. 13. Wang, K.; Lu, Z.; Wang, X.; Li, H.; Li, H.; Lin, D.; Cai, Y.; Feng, X.; Song, Y.; Feng, Z.; et al. Current trends and future prediction of novel coronavirus disease (COVID-19) epidemic in China: A dynamical modeling analysis. Math. Biosci. Eng. 2020, 17, 3052–3061. [CrossRef] 14. Mangoni, L.; Pistilli, M. Epidemic Analysis of Covid-19 in Italy by Dynamical Modelling. Available at SSRN 3567770 2020. Available online: https://ssrn.com/abstract=3567770 (accessed on 23 August 2021). 15. Gopal, R.; Chandrasekar, V.; Lakshmanan, M. Dynamical modelling and analysis of COVID-19 in India. arXiv 2020, arXiv:2005.08255. 16. Li, M.Y.; Muldowney, J.S. Global stability for the SEIR model in epidemiology. Math. Biosci. 1995, 125, 155–164. [CrossRef] 17. Zhang, T.; Teng, Z. On a nonautonomous SEIRS model in epidemiology. Bull. Math. Biol. 2007, 69, 2537–2559. [CrossRef] 18. Kai, D.; Goldstein, G.P.; Morgunov, A.; Nangalia, V.; Rotkirch, A. Universal masking is urgent in the covid-19 pandemic: SEIR and agent based models, empirical validation, policy recommendations. arXiv 2020, arXiv:2004.13553. 19. Mitze, T.; Kosfeld, R.; Rode, J.; Wälde, K. Face masks considerably reduce COVID-19 cases in Germany. Proc. Natl. Acad. Sci. USA 2020, 117, 32293–32301. [CrossRef]", - "postprocess_cls":"Reference text", - "postprocess_score":0.9976608753, - "detect_cls":"Reference text", - "detect_score":-5.2637338638 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 122.0, - 1275.0, - 154.0 - ], - "classes":[ - "Page Header", - "Equation label", - "Body Text", - "Page Footer", - "Other", - "Table", - "Figure Caption", - "Section Header", - "Reference text", - "Figure", - "Table Note", - "Table Caption", - "Equation", - "Abstract" - ], - "scores":[ - -2.2996273041, - -2.3671371937, - -4.4680614471, - -5.5041670799, - -6.2934904099, - -6.4199304581, - -6.7679276466, - -6.9881262779, - -7.0698127747, - -7.3234291077, - -7.9510364532, - -8.1306085587, - -8.3906087875, - -9.6790676117 - ], - "content":"Int. J. Environ. Res. Public Health 2021, 18, 9027 11 of 11", - "postprocess_cls":"Page Header", - "postprocess_score":0.9996753931, - "detect_cls":"Page Header", - "detect_score":-2.2996273041 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 130.0, - 225.0, - 1277.0, - 874.0 - ], - "classes":[ - "Body Text", - "Reference text", - "Page Footer", - "Abstract", - "Figure Caption", - "Equation label", - "Table Note", - "Other", - "Figure", - "Section Header", - "Page Header", - "Table", - "Table Caption", - "Equation" - ], - "scores":[ - -4.7601032257, - -9.4670934677, - -10.9610319138, - -11.9751634598, - -14.2404241562, - -15.3232097626, - -15.8145160675, - -16.3493461609, - -16.5256557465, - -17.0123806, - -17.5166454315, - -18.5880489349, - -20.83177948, - -21.2527580261 - ], - "content":"20. Gallaway, M.S.; Rigler, J.; Robinson, S.; Herrick, K.; Livar, E.; Komatsu, K.K.; Brady, S.; Cunico, J.; Christ, C.M. Trends in COVID-19 incidence after implementation of mitigation measures—Arizona, January 22–August 7, 2020. Morb. Mortal. Wkly. Rep. 2020, 69, 1460. [CrossRef] 21. Ong, C.W.M. Position Statement from the National Centre for Infectious Diseases and the Chapter of Infectious Disease Physicians, Academy of Medicine; Period of Infectivity to Inform Strategies for De-isolation for COVID-19 Patients: Singapore, 2020. 22. Lauer, S.A.; Grantz, K.H.; Bi, Q.; Jones, F.K.; Zheng, Q.; Meredith, H.R.; Azman, A.S.; Reich, N.G.; Lessler, J. The incubation period of coronavirus disease 2019 (COVID-19) from publicly reported confirmed cases: Estimation and application. Ann. Intern. Med. 2020, 172, 577–582. [CrossRef] 23. Chew, H.M. 25 COVID-19 Cases with B117 Variant Found in Singapore; MOH: Singapore, 2021. Available online: https://www.channelnewsasia.com/singapore/covid-19-b117-uk-variant-south-africa-singapore-25-cases-440536 (accessed on 29 January 2021). 24. Korber, B.; Fischer, W.M.; Gnanakaran, S.; Yoon, H.; Theiler, J.; Abfalterer, W.; Hengartner, N.; Giorgi, E.E.; Bhattacharya, T.; Foley, B.; et al. Tracking changes in SARS-CoV-2 Spike: Evidence that D614G increases infectivity of the COVID-19 virus. Cell 2020, 182, 812–827. [CrossRef] 25. Volz, E.; Mishra, S.; Chand, M.; Barrett, J.C.; Johnson, R.; Geidelberg, L.; Hinsley, W.R.; Laydon, D.J.; Dabrera, G.; O'Toole, Á.; et al. Assessing transmissibility of SARS-CoV-2 lineage B. 1.1. 7 in England. Nature 2021, 593, 266–269. [CrossRef] 26. Tatapudi, H.; Das, R.; Das, T.K. Impact assessment of full and partial stay-at-home orders, face mask usage, and contact tracing: An agent-based simulation study of COVID-19 for an urban region. Glob. Epidemiol. 2020, 2, 100036. [CrossRef] 27. Cheong, K.H.; Jones, M.C. Introducing the 21st century's new four horsemen of the coronapocalypse. BioEssays 2020, 42, 2000063. [CrossRef] 28. Lyu, W.; Wehby, G.L. Community Use Of Face Masks And COVID-19: Evidence From A Natural Experiment Of State Mandates In The US: Study examines impact on COVID-19 growth rates associated with state government mandates requiring face mask use in public. Health Aff. 2020, 39, 1419–1425. [CrossRef] 29. Li, T.; Liu, Y.; Li, M.; Qian, X.; Dai, S.Y. Mask or no mask for COVID-19: A public health and market study. PLoS ONE 2020, 15, e0237691. [CrossRef]", - "postprocess_cls":"Body Text", - "postprocess_score":0.9981245399, - "detect_cls":"Body Text", - "detect_score":-4.7601032257 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 226.0, - 106.0, - 241.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Body Text", - "Table Note", - "Table", - "Reference text", - "Other", - "Table Caption", - "Figure Caption", - "Figure", - "Abstract", - "Equation", - "Equation label", - "Page Header" - ], - "scores":[ - -1.851089716, - -10.8925466537, - -11.7394094467, - -11.7497529984, - -12.2353801727, - -12.6273412704, - -12.7355203629, - -13.1808538437, - -15.4802007675, - -16.7650165558, - -17.4654884338, - -18.0173988342, - -18.0899581909, - -18.6022014618 - ], - "content":"20. Gallaway, M.S.; Rigler, J.; Robinson, S.; Herrick, K.; Livar, E.; Komatsu, K.K.; Brady, S.; Cunico, J.; Christ, C.M. Trends in", - "postprocess_cls":"Page Header", - "postprocess_score":0.9084485769, - "detect_cls":"Page Footer", - "detect_score":-1.851089716 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 305.0, - 106.0, - 319.0 - ], - "classes":[ - "Section Header", - "Page Footer", - "Table", - "Table Caption", - "Figure Caption", - "Reference text", - "Figure", - "Body Text", - "Equation label", - "Table Note", - "Page Header", - "Other", - "Abstract", - "Equation" - ], - "scores":[ - -5.4302558899, - -5.7566809654, - -6.1677641869, - -6.598048687, - -6.9456167221, - -7.3625130653, - -7.5950479507, - -7.6754937172, - -7.7477765083, - -8.2904005051, - -9.1980991364, - -9.3429536819, - -10.2163305283, - -10.8249101639 - ], - "content":"21. Ong, C.W.M. Position Statement from the National Centre for Infectious Diseases and the Chapter of Infectious Disease Physicians, Academy", - "postprocess_cls":"Section Header", - "postprocess_score":0.5326701403, - "detect_cls":"Section Header", - "detect_score":-5.4302558899 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 357.0, - 106.0, - 371.0 - ], - "classes":[ - "Page Footer", - "Body Text", - "Section Header", - "Reference text", - "Equation label", - "Figure Caption", - "Table", - "Page Header", - "Figure", - "Other", - "Table Note", - "Table Caption", - "Abstract", - "Equation" - ], - "scores":[ - -6.4768805504, - -6.7679481506, - -7.2823166847, - -8.2708215714, - -8.9002933502, - -9.1431245804, - -9.6290407181, - -10.2670984268, - -10.5139226913, - -11.409579277, - -12.2689943314, - -12.5410804749, - -12.988152504, - -14.3310165405 - ], - "content":"22. Lauer, S.A.; Grantz, K.H.; Bi, Q.; Jones, F.K.; Zheng, Q.; Meredith, H.R.; Azman, A.S.; Reich, N.G.; Lessler, J. The incubation", - "postprocess_cls":"Section Header", - "postprocess_score":0.9309452772, - "detect_cls":"Page Footer", - "detect_score":-6.4768805504 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 436.0, - 106.0, - 450.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Table", - "Table Caption", - "Reference text", - "Body Text", - "Table Note", - "Figure Caption", - "Other", - "Figure", - "Page Header", - "Equation", - "Abstract", - "Equation label" - ], - "scores":[ - -3.496566534, - -9.5050992966, - -9.7342357635, - -10.2700252533, - -11.2513341904, - -11.5373458862, - -12.158996582, - -12.8558330536, - -14.528758049, - -15.6536645889, - -15.9913797379, - -16.1821022034, - -16.3788452148, - -16.4374637604 - ], - "content":"23. Chew, H.M.", - "postprocess_cls":"Section Header", - "postprocess_score":0.7352595925, - "detect_cls":"Page Footer", - "detect_score":-3.496566534 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 515.0, - 106.0, - 529.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Table", - "Table Caption", - "Reference text", - "Body Text", - "Table Note", - "Figure Caption", - "Other", - "Figure", - "Page Header", - "Equation", - "Equation label", - "Abstract" - ], - "scores":[ - -2.9842100143, - -8.1079778671, - -10.445807457, - -10.6652832031, - -10.9143419266, - -11.022693634, - -12.1219301224, - -12.1974458694, - -14.2189302444, - -14.3394756317, - -15.2413625717, - -15.5436220169, - -15.5829076767, - -16.182598114 - ], - "content":"24. Korber, B.; Fischer, W.M.; Gnanakaran, S.; Yoon, H.; Theiler, J.; Abfalterer, W.; Hengartner, N.; Giorgi, E.E.; Bhattacharya, T.; Foley,", - "postprocess_cls":"Section Header", - "postprocess_score":0.8648951054, - "detect_cls":"Page Footer", - "detect_score":-2.9842100143 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 593.0, - 106.0, - 608.0 - ], - "classes":[ - "Reference text", - "Page Footer", - "Equation label", - "Page Header", - "Table", - "Figure", - "Section Header", - "Body Text", - "Figure Caption", - "Equation", - "Other", - "Abstract", - "Table Caption", - "Table Note" - ], - "scores":[ - -3.2157504559, - -5.9369740486, - -7.2776136398, - -8.3296689987, - -8.4969367981, - -9.8472499847, - -9.9758882523, - -10.5557136536, - -10.9103212357, - -11.1909446716, - -12.7159738541, - -13.0712471008, - -13.1726398468, - -14.0420751572 - ], - "content":"25. Volz, E.; Mishra, S.; Chand, M.; Barrett, J.C.; Johnson, R.; Geidelberg, L.; Hinsley, W.R.; Laydon, D.J.; Dabrera, G.; O'Toole, Á.; et al.", - "postprocess_cls":"Section Header", - "postprocess_score":0.7926460505, - "detect_cls":"Reference text", - "detect_score":-3.2157504559 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 646.0, - 106.0, - 660.0 - ], - "classes":[ - "Reference text", - "Table", - "Page Footer", - "Figure", - "Equation label", - "Section Header", - "Body Text", - "Page Header", - "Table Caption", - "Figure Caption", - "Table Note", - "Other", - "Equation", - "Abstract" - ], - "scores":[ - -5.1539878845, - -5.3020939827, - -6.9158682823, - -7.072804451, - -7.7035703659, - -7.8148822784, - -8.001584053, - -9.2741355896, - -9.3537960052, - -10.146490097, - -10.2882575989, - -10.3166122437, - -10.6294994354, - -11.5169849396 - ], - "content":"26. Tatapudi, H.; Das, R.; Das, T.K. Impact assessment of full and partial stay-at-home orders, face mask usage, and contact tracing:", - "postprocess_cls":"Page Footer", - "postprocess_score":0.4009010494, - "detect_cls":"Reference text", - "detect_score":-5.1539878845 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 698.0, - 106.0, - 713.0 - ], - "classes":[ - "Reference text", - "Page Footer", - "Table", - "Equation label", - "Figure", - "Section Header", - "Other", - "Equation", - "Body Text", - "Abstract", - "Page Header", - "Table Note", - "Table Caption", - "Figure Caption" - ], - "scores":[ - -3.8052105904, - -5.8814787865, - -6.645819664, - -7.7170886993, - -7.9209699631, - -8.677359581, - -9.5824327469, - -9.9282016754, - -10.7273035049, - -11.025844574, - -11.6131811142, - -11.6515989304, - -11.6976509094, - -12.218706131 - ], - "content":"27. Cheong, K.H.; Jones, M.C. Introducing the 21st century's new four horsemen of the coronapocalypse. BioEssays 2020, 42, 2000063.", - "postprocess_cls":"Section Header", - "postprocess_score":0.4258098304, - "detect_cls":"Reference text", - "detect_score":-3.8052105904 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 751.0, - 106.0, - 765.0 - ], - "classes":[ - "Table", - "Page Footer", - "Reference text", - "Figure", - "Equation label", - "Other", - "Body Text", - "Section Header", - "Table Caption", - "Table Note", - "Equation", - "Abstract", - "Page Header", - "Figure Caption" - ], - "scores":[ - -5.3406186104, - -5.631975174, - -5.8069086075, - -8.7242069244, - -9.6082000732, - -10.5158557892, - -11.0335350037, - -11.4187889099, - -11.4762125015, - -11.7414340973, - -12.0791625977, - -12.2578773499, - -13.2365760803, - -13.7983856201 - ], - "content":"28. Lyu, W.; Wehby, G.L. Community Use Of Face Masks And COVID-19: Evidence From A Natural Experiment Of State Mandates", - "postprocess_cls":"Section Header", - "postprocess_score":0.7025460005, - "detect_cls":"Table", - "detect_score":-5.3406186104 - }, - { - "pdf_name":"ijerp.pdf", - "dataset_id":"ijerp", - "page_num":11, - "img_pth":"/tmp/tmpciodhkjm/ijerp.pdf_11_pad", - "pdf_dims":[ - 0.0, - 0.0, - 595.276, - 841.89 - ], - "bounding_box":[ - 82.0, - 829.0, - 106.0, - 844.0 - ], - "classes":[ - "Page Footer", - "Section Header", - "Body Text", - "Reference text", - "Table", - "Table Caption", - "Table Note", - "Figure Caption", - "Other", - "Figure", - "Equation label", - "Equation", - "Page Header", - "Abstract" - ], - "scores":[ - -3.1696989536, - -8.4708032608, - -11.0811958313, - -11.2829618454, - -11.8613004684, - -12.4573526382, - -12.8267974854, - -14.4768972397, - -14.9625282288, - -15.8552246094, - -16.0115203857, - -16.6108016968, - -16.9140644073, - -17.5206813812 - ], - "content":"29. Li, T.; Liu, Y.; Li, M.; Qian, X.; Dai, S.Y. Mask or no mask for COVID-19: A public health and market study. PLoS ONE 2020,", - "postprocess_cls":"Section Header", - "postprocess_score":0.7363973856, - "detect_cls":"Page Footer", - "detect_score":-3.1696989536 - } -] \ No newline at end of file diff --git a/tests/scenarios/basic/amr.json b/tests/scenarios/basic/amr.json new file mode 100644 index 0000000..d696edc --- /dev/null +++ b/tests/scenarios/basic/amr.json @@ -0,0 +1,638 @@ +{ + "header": { + "name": "Test SIR Model", + "schema": "https://raw.githubusercontent.com/DARPA-ASKEM/Model-Representations/petrinet_v0.6/petrinet/petrinet_schema.json", + "description": "Test SIR model", + "schema_name": "petrinet", + "model_version": "0.1" + }, + "model": { + "states": [ + { + "id": "S", + "name": "Susceptible", + "description": "Number of individuals that are 'susceptible' to a disease infection", + "grounding": { + "identifiers": { + "ido": "0000514" + } + }, + "units": { + "expression": "person", + "expression_mathml": "person" + } + }, + { + "id": "I", + "name": "Infected", + "description": "Number of individuals that are 'infected' by a disease", + "grounding": { + "identifiers": { + "ido": "0000511" + } + }, + "units": { + "expression": "person", + "expression_mathml": "person" + } + }, + { + "id": "R", + "name": "Recovered", + "description": "Number of individuals that have 'recovered' from a disease infection", + "grounding": { + "identifiers": { + "ido": "0000592" + } + }, + "units": { + "expression": "person", + "expression_mathml": "person" + } + } + ], + "transitions": [ + { + "id": "inf", + "input": ["S", "I"], + "output": ["I", "I"], + "properties": { + "name": "Infection", + "description": "Infective process between individuals" + } + }, + { + "id": "rec", + "input": ["I"], + "output": ["R"], + "properties": { + "name": "Recovery", + "description": "Recovery process of a infected individual" + } + } + ] + }, + "semantics": { + "ode": { + "rates": [ + { + "target": "inf", + "expression": "S*I*beta", + "expression_mathml": "SIbeta" + }, + { + "target": "rec", + "expression": "I*gamma", + "expression_mathml": "Igamma" + } + ], + "initials": [ + { + "target": "S", + "expression": "S0", + "expression_mathml": "S0" + }, + { + "target": "I", + "expression": "I0", + "expression_mathml": "I0" + }, + { + "target": "R", + "expression": "R0", + "expression_mathml": "R0" + } + ], + "parameters": [ + { + "id": "beta", + "name": "β", + "description": "infection rate", + "units": { + "expression": "1/(person*day)", + "expression_mathml": "1personday" + }, + "value": 2.7e-7, + "distribution": { + "type": "Uniform1", + "parameters": { + "minimum": 2.6e-7, + "maximum": 2.8e-7 + } + } + }, + { + "id": "gamma", + "name": "γ", + "description": "recovery rate", + "grounding": { + "identifiers": { + "askemo": "0000013" + } + }, + "units": { + "expression": "1/day", + "expression_mathml": "1day" + }, + "value": 0.14, + "distribution": { + "type": "Uniform1", + "parameters": { + "minimum": 0.1, + "maximum": 0.18 + } + } + }, + { + "id": "S0", + "name": "S₀", + "description": "Total susceptible population at timestep 0", + "value": 1000 + }, + { + "id": "I0", + "name": "I₀", + "description": "Total infected population at timestep 0", + "value": 1 + }, + { + "id": "R0", + "name": "R₀", + "description": "Total recovered population at timestep 0", + "value": 0 + } + ], + "observables": [ + { + "id": "noninf", + "name": "Non-infectious", + "states": ["S", "R"], + "expression": "S+R", + "expression_mathml": "SR" + } + ], + "time": { + "id": "t", + "units": { + "expression": "day", + "expression_mathml": "day" + } + } + } + }, + "metadata": { + "attributes": [ + { + "type": "anchored_extraction", + "payload": { + "id": { + "id": "R:190348269" + }, + "names": [ + { + "id": { + "id": "T:-1709799622" + }, + "name": "Bucky", + "extraction_source": { + "page": 0, + "block": 0, + "char_start": 738, + "char_end": 743, + "document_reference": { + "id": "buckymodel_webdocs.pdf" + } + }, + "provenance": { + "method": "Skema TR Pipeline rules", + "timestamp": "2023-06-15T22:59:11.974474" + } + } + ], + "descriptions": [ + { + "id": { + "id": "T:-486841659" + }, + "source": "time", + "grounding": [ + { + "grounding_text": "time since time scale zero", + "grounding_id": "apollosv:00000272", + "source": [], + "score": 0.8945620059967041, + "provenance": { + "method": "SKEMA-TR-Embedding", + "timestamp": "2023-06-15T22:59:11.974644" + } + } + ], + "extraction_source": { + "page": 0, + "block": 0, + "char_start": 732, + "char_end": 736, + "document_reference": { + "id": "buckymodel_webdocs.pdf" + } + }, + "provenance": { + "method": "Skema TR Pipeline rules", + "timestamp": "2023-06-15T22:59:11.974474" + } + } + ], + "value_specs": [], + "groundings": [] + } + }, + { + "type": "anchored_extraction", + "payload": { + "id": { + "id": "R:159895595" + }, + "names": [ + { + "id": { + "id": "T:2131207786" + }, + "name": "SEIR", + "extraction_source": { + "page": 0, + "block": 0, + "char_start": 56, + "char_end": 60, + "document_reference": { + "id": "buckymodel_webdocs.pdf" + } + }, + "provenance": { + "method": "Skema TR Pipeline rules", + "timestamp": "2023-06-15T22:59:11.974780" + } + } + ], + "descriptions": [ + { + "id": { + "id": "T:-1520869470" + }, + "source": "spatially distributed", + "grounding": [], + "extraction_source": { + "page": 0, + "block": 0, + "char_start": 34, + "char_end": 55, + "document_reference": { + "id": "buckymodel_webdocs.pdf" + } + }, + "provenance": { + "method": "Skema TR Pipeline rules", + "timestamp": "2023-06-15T22:59:11.974780" + } + } + ], + "value_specs": [], + "groundings": [] + } + }, + { + "type": "anchored_extraction", + "payload": { + "id": { + "id": "E:-337831219" + }, + "names": [ + { + "id": { + "id": "T:1326919589" + }, + "name": "S", + "extraction_source": { + "page": 0, + "block": 0, + "char_start": 562, + "char_end": 563, + "document_reference": { + "id": "buckymodel_webdocs.pdf" + } + }, + "provenance": { + "method": "Skema TR Pipeline rules", + "timestamp": "2023-06-15T22:59:11.974931" + } + } + ], + "descriptions": [ + { + "id": { + "id": "T:1687413640" + }, + "source": "fraction of the population", + "grounding": [ + { + "grounding_text": "count of simulated population", + "grounding_id": "apollosv:00000022", + "source": [], + "score": 0.8330355286598206, + "provenance": { + "method": "SKEMA-TR-Embedding", + "timestamp": "2023-06-15T22:59:11.975009" + } + } + ], + "extraction_source": { + "page": 0, + "block": 0, + "char_start": 570, + "char_end": 596, + "document_reference": { + "id": "buckymodel_webdocs.pdf" + } + }, + "provenance": { + "method": "Skema TR Pipeline rules", + "timestamp": "2023-06-15T22:59:11.974931" + } + } + ], + "value_specs": [], + "groundings": [ + { + "grounding_text": "Meruvax I", + "grounding_id": "vo:0003109", + "source": [], + "score": 0.7847759127616882, + "provenance": { + "method": "SKEMA-TR-Embedding", + "timestamp": "2023-06-15T22:59:11.974960" + } + } + ] + } + }, + { + "type": "anchored_extraction", + "payload": { + "id": { + "id": "E:-1921441554" + }, + "names": [ + { + "id": { + "id": "T:-24678027" + }, + "name": "asym frac", + "extraction_source": { + "page": 0, + "block": 0, + "char_start": 142, + "char_end": 151, + "document_reference": { + "id": "buckymodel_webdocs.pdf" + } + }, + "provenance": { + "method": "Skema TR Pipeline rules", + "timestamp": "2023-06-15T22:59:11.975127" + } + }, + { + "id": { + "id": "v10" + }, + "name": "\u03b1", + "extraction_source": null, + "provenance": { + "method": "MIT extractor V1.0 - text, dataset, formula annotation (chunwei@mit.edu)", + "timestamp": "2023-06-15T22:59:13.177022" + } + } + ], + "descriptions": [ + { + "id": { + "id": "T:1244663286" + }, + "source": "percentage of infections", + "grounding": [ + { + "grounding_text": "percentage of cases", + "grounding_id": "cemo:percentage_of_cases", + "source": [], + "score": 0.8812347650527954, + "provenance": { + "method": "SKEMA-TR-Embedding", + "timestamp": "2023-06-15T22:59:11.975201" + } + } + ], + "extraction_source": { + "page": 0, + "block": 0, + "char_start": 94, + "char_end": 118, + "document_reference": { + "id": "buckymodel_webdocs.pdf" + } + }, + "provenance": { + "method": "Skema TR Pipeline rules", + "timestamp": "2023-06-15T22:59:11.975127" + } + }, + { + "id": { + "id": "v10" + }, + "source": " Rate of infections that are asymptomatic", + "grounding": null, + "extraction_source": null, + "provenance": { + "method": "MIT extractor V1.0 - text, dataset, formula annotation (chunwei@mit.edu)", + "timestamp": "2023-06-15T22:59:13.177022" + } + } + ], + "value_specs": [], + "groundings": [ + { + "grounding_text": "Van", + "grounding_id": "geonames:298117", + "source": [], + "score": 1.0, + "provenance": { + "method": "MIT extractor V1.0 - text, dataset, formula annotation (chunwei@mit.edu)", + "timestamp": "2023-06-15T22:59:13.177022" + } + }, + { + "grounding_text": "Sanaa", + "grounding_id": "geonames:71137", + "source": [], + "score": 1.0, + "provenance": { + "method": "MIT extractor V1.0 - text, dataset, formula annotation (chunwei@mit.edu)", + "timestamp": "2023-06-15T22:59:13.177022" + } + } + ] + } + }, + { + "type": "anchored_extraction", + "payload": { + "id": { + "id": "E:392549189" + }, + "names": [ + { + "id": { + "id": "T:-24678027" + }, + "name": "asym frac", + "extraction_source": { + "page": 0, + "block": 0, + "char_start": 142, + "char_end": 151, + "document_reference": { + "id": "buckymodel_webdocs.pdf" + } + }, + "provenance": { + "method": "Skema TR Pipeline rules", + "timestamp": "2023-06-15T22:59:11.975270" + } + }, + { + "id": { + "id": "v18" + }, + "name": "asym_frac", + "extraction_source": null, + "provenance": { + "method": "MIT extractor V1.0 - text, dataset, formula annotation (chunwei@mit.edu)", + "timestamp": "2023-06-15T22:59:13.177022" + } + } + ], + "descriptions": [ + { + "id": { + "id": "T:1244663286" + }, + "source": "percentage of infections", + "grounding": [ + { + "grounding_text": "percentage of cases", + "grounding_id": "cemo:percentage_of_cases", + "source": [], + "score": 0.8812347650527954, + "provenance": { + "method": "SKEMA-TR-Embedding", + "timestamp": "2023-06-15T22:59:11.975340" + } + } + ], + "extraction_source": { + "page": 0, + "block": 0, + "char_start": 94, + "char_end": 118, + "document_reference": { + "id": "buckymodel_webdocs.pdf" + } + }, + "provenance": { + "method": "Skema TR Pipeline rules", + "timestamp": "2023-06-15T22:59:11.975270" + } + }, + { + "id": { + "id": "v18" + }, + "source": " Fraction of infections that are asymptomatic", + "grounding": null, + "extraction_source": null, + "provenance": { + "method": "MIT extractor V1.0 - text, dataset, formula annotation (chunwei@mit.edu)", + "timestamp": "2023-06-15T22:59:13.177022" + } + } + ], + "value_specs": [], + "groundings": [] + } + }, + { + "type": "anchored_extraction", + "payload": { + "id": { + "id": "E:-1790112729" + }, + "names": [ + { + "id": { + "id": "T:-24678027" + }, + "name": "asym frac", + "extraction_source": { + "page": 0, + "block": 0, + "char_start": 142, + "char_end": 151, + "document_reference": { + "id": "buckymodel_webdocs.pdf" + } + }, + "provenance": { + "method": "Skema TR Pipeline rules", + "timestamp": "2023-06-15T22:59:11.975409" + } + } + ], + "descriptions": [ + { + "id": { + "id": "T:1244663286" + }, + "source": "percentage of infections", + "grounding": [ + { + "grounding_text": "percentage of cases", + "grounding_id": "cemo:percentage_of_cases", + "source": [], + "score": 0.8812347650527954, + "provenance": { + "method": "SKEMA-TR-Embedding", + "timestamp": "2023-06-15T22:59:11.975479" + } + } + ], + "extraction_source": { + "page": 0, + "block": 0, + "char_start": 94, + "char_end": 118, + "document_reference": { + "id": "buckymodel_webdocs.pdf" + } + }, + "provenance": { + "method": "Skema TR Pipeline rules", + "timestamp": "2023-06-15T22:59:11.975409" + } + } + ], + "value_specs": [], + "groundings": [] + } + } + ] + } +} \ No newline at end of file diff --git a/tests/resources/basic_code_to_amr/code.py b/tests/scenarios/basic/code.py similarity index 100% rename from tests/resources/basic_code_to_amr/code.py rename to tests/scenarios/basic/code.py diff --git a/tests/scenarios/basic/config.yaml b/tests/scenarios/basic/config.yaml new file mode 100644 index 0000000..a2119cf --- /dev/null +++ b/tests/scenarios/basic/config.yaml @@ -0,0 +1,10 @@ +--- +name: "Fake Scenario" +description: "A fake scenario to test if basic integration is working." +enabled: + - pdf_extraction + - pdf_to_text + - code_to_amr + - equations_to_amr + - profile_dataset + - profile_model \ No newline at end of file diff --git a/tests/resources/basic_profile_dataset/data.csv b/tests/scenarios/basic/data.csv similarity index 100% rename from tests/resources/basic_profile_dataset/data.csv rename to tests/scenarios/basic/data.csv diff --git a/tests/resources/basic_profile_dataset/data_card.json b/tests/scenarios/basic/data_card.json similarity index 100% rename from tests/resources/basic_profile_dataset/data_card.json rename to tests/scenarios/basic/data_card.json diff --git a/tests/resources/basic_equations_to_amr/equations.txt b/tests/scenarios/basic/equations.txt similarity index 100% rename from tests/resources/basic_equations_to_amr/equations.txt rename to tests/scenarios/basic/equations.txt diff --git a/tests/resources/basic_pdf_extraction/extractions.json b/tests/scenarios/basic/extractions.json similarity index 100% rename from tests/resources/basic_pdf_extraction/extractions.json rename to tests/scenarios/basic/extractions.json diff --git a/tests/resources/basic_profile_model/model_card.json b/tests/scenarios/basic/model_card.json similarity index 100% rename from tests/resources/basic_profile_model/model_card.json rename to tests/scenarios/basic/model_card.json diff --git a/tests/resources/basic_pdf_to_text/paper.pdf b/tests/scenarios/basic/paper.pdf similarity index 100% rename from tests/resources/basic_pdf_to_text/paper.pdf rename to tests/scenarios/basic/paper.pdf diff --git a/tests/resources/basic_pdf_extraction/text.json b/tests/scenarios/basic/text.json similarity index 100% rename from tests/resources/basic_pdf_extraction/text.json rename to tests/scenarios/basic/text.json diff --git a/tests/test_e2e.py b/tests/test_e2e.py index c42b7db..8d0c8d7 100644 --- a/tests/test_e2e.py +++ b/tests/test_e2e.py @@ -4,12 +4,16 @@ import pytest import logging +from rq.job import Job from lib.settings import settings +from tests.utils import get_parameterizations, AMR logger = logging.getLogger(__name__) -@pytest.mark.resource("basic_pdf_extraction") +params = get_parameterizations() + +@pytest.mark.parametrize("resource", params["pdf_extraction"]) def test_pdf_extractions(context_dir, http_mock, client, worker, gen_tds_artifact, file_storage): #### ARRANGE #### text_json = json.load(open(f"{context_dir}/text.json")) @@ -22,7 +26,7 @@ def test_pdf_extractions(context_dir, http_mock, client, worker, gen_tds_artifac file_storage.upload("paper.pdf", "TEST TEXT") extractions = json.load(open(f"{context_dir}/extractions.json")) - if not settings.LIVE: + if settings.MOCK_TA1: http_mock.post(f"{settings.TA1_UNIFIED_URL}/text-reading/integrated-text-extractions?annotate_skema=True&annotate_mit=True", json=extractions) query_params = { @@ -50,7 +54,7 @@ def test_pdf_extractions(context_dir, http_mock, client, worker, gen_tds_artifac assert status_response.json().get("status") == "finished" -@pytest.mark.resource("basic_pdf_to_text") +@pytest.mark.parametrize("resource", params["pdf_to_text"]) def test_pdf_to_text(context_dir, http_mock, client, worker, gen_tds_artifact, file_storage): #### ARRANGE #### text_json = json.load(open(f"{context_dir}/text.json")) @@ -66,7 +70,7 @@ def test_pdf_to_text(context_dir, http_mock, client, worker, gen_tds_artifact, f } extractions = json.load(open(f"{context_dir}/text.json")) - if not settings.LIVE: + if settings.MOCK_TA1: http_mock.post(f"{settings.TA1_UNIFIED_URL}/text-reading/cosmos_to_json", json=extractions) #### ACT #### @@ -86,16 +90,16 @@ def test_pdf_to_text(context_dir, http_mock, client, worker, gen_tds_artifact, f assert status_response.json().get("status") == "finished" -@pytest.mark.resource("basic_code_to_amr") +@pytest.mark.parametrize("resource", params["code_to_amr"]) def test_code_to_amr(context_dir, http_mock, client, worker, gen_tds_artifact, file_storage): #### ARRANGE #### code = open(f"{context_dir}/code.py").read() - tds_artifact = gen_tds_artifact() - tds_artifact["file_names"] = ["code.py"] + tds_code = gen_tds_artifact(code=True) + tds_code["file_names"] = ["code.py"] file_storage.upload("code.py", code) query_params = { - "artifact_id": tds_artifact["id"], + "code_id": tds_code["id"], "name": "test model", "description": "test description", } @@ -104,7 +108,7 @@ def test_code_to_amr(context_dir, http_mock, client, worker, gen_tds_artifact, f http_mock.post(f"{settings.TDS_URL}/provenance", json={}) http_mock.post(f"{settings.TDS_URL}/models", json={"id": "test"}) http_mock.post(f"{settings.TDS_URL}/model_configurations", json={"id": "test"}) - if not settings.LIVE: + if settings.MOCK_TA1: http_mock.post(f"{settings.TA1_UNIFIED_URL}/workflows/code/snippets-to-pn-amr", json=amr) #### ACT #### @@ -118,13 +122,19 @@ def test_code_to_amr(context_dir, http_mock, client, worker, gen_tds_artifact, f worker.work(burst=True) status_response = client.get(f"/status/{job_id}") + job = Job.fetch(job_id, connection=worker.connection) + amr_instance = AMR(job.result["amr"]) + #### ASSERT #### assert results.get("status") == "queued" assert status_response.status_code == 200 assert status_response.json().get("status") == "finished" + assert ( + amr_instance.is_valid() + ), f"AMR failed to validate to its provided schema: {amr_instance.validation_error}" -@pytest.mark.resource("basic_equations_to_amr") +@pytest.mark.parametrize("resource", params["equations_to_amr"]) def test_equations_to_amr(context_dir, http_mock, client, worker, file_storage): #### ARRANGE #### equations = open(f"{context_dir}/equations.txt").read() @@ -140,7 +150,7 @@ def test_equations_to_amr(context_dir, http_mock, client, worker, file_storage): amr = json.load(open(f"{context_dir}/amr.json")) http_mock.post(f"{settings.TDS_URL}/models", json={"id": "test"}) http_mock.post(f"{settings.TDS_URL}/model_configurations", json={"id": "test"}) - if not settings.LIVE: + if settings.MOCK_TA1: http_mock.post(f"{settings.TA1_UNIFIED_URL}/workflows/latex/equations-to-amr", json=amr) #### ACT #### @@ -154,14 +164,21 @@ def test_equations_to_amr(context_dir, http_mock, client, worker, file_storage): job_id = results.get("id") worker.work(burst=True) status_response = client.get(f"/status/{job_id}") + + job = Job.fetch(job_id, connection=worker.connection) + amr_instance = AMR(job.result["amr"]) #### ASSERT #### assert results.get("status") == "queued" assert status_response.status_code == 200 assert status_response.json().get("status") == "finished" + assert ( + amr_instance.is_valid() + ), f"AMR failed to validate to its provided schema: {amr_instance.validation_error}" + -@pytest.mark.resource("basic_profile_dataset") +@pytest.mark.parametrize("resource", params["profile_dataset"]) def test_profile_dataset(context_dir, http_mock, client, worker, gen_tds_artifact, file_storage): #### ARRANGE #### CHAR_LIMIT = 250 @@ -191,7 +208,7 @@ def test_profile_dataset(context_dir, http_mock, client, worker, gen_tds_artifac http_mock.get(f"{settings.TDS_URL}/datasets/{dataset['id']}", json=dataset) http_mock.put(f"{settings.TDS_URL}/datasets/{dataset['id']}", json={"id": dataset["id"]}) data_card = json.load(open(f"{context_dir}/data_card.json")) - if not settings.LIVE: + if settings.MOCK_TA1: http_mock.post(f"{settings.MIT_TR_URL}/cards/get_data_card", json=data_card) #### ACT #### @@ -211,7 +228,7 @@ def test_profile_dataset(context_dir, http_mock, client, worker, gen_tds_artifac assert status_response.json().get("status") == "finished" -@pytest.mark.resource("basic_profile_model") +@pytest.mark.parametrize("resource", params["profile_model"]) def test_profile_model(context_dir, http_mock, client, worker, gen_tds_artifact, file_storage): #### ARRANGE #### text_json = json.load(open(f"{context_dir}/text.json")) @@ -233,7 +250,7 @@ def test_profile_model(context_dir, http_mock, client, worker, gen_tds_artifact, http_mock.get(f"{settings.TDS_URL}/models/{text_artifact['id']}", json={"id":text_artifact["id"], "model": amr}) http_mock.put(f"{settings.TDS_URL}/models/{text_artifact['id']}", json={"id": text_artifact["id"]}) model_card = json.load(open(f"{context_dir}/model_card.json")) - if not settings.LIVE: + if settings.MOCK_TA1: http_mock.post(f"{settings.MIT_TR_URL}/cards/get_model_card", json=model_card) query_params = {"paper_artifact_id": text_artifact["id"]} diff --git a/tests/test_utils.py b/tests/test_utils.py deleted file mode 100644 index 4ac62eb..0000000 --- a/tests/test_utils.py +++ /dev/null @@ -1,51 +0,0 @@ -import requests -from jsonschema import validate, ValidationError - - -class AMR: - def __init__(self, json_data): - self.json_data = json_data - self.schema_url = self._transform_url(self.json_data.get("schema", None)) - self.schema = self._fetch_schema() # Fetch the schema during initialization - self.validation_error = None # Store the validation error if any - - def _transform_url(self, url): - """Transforms a GitHub URL into its raw format.""" - if not url: - return None - - if "raw.githubusercontent.com" in url: - return url - - return url.replace("github.com", "raw.githubusercontent.com").replace( - "/blob", "" - ) - - def _fetch_schema(self): - """Private method to fetch the JSON schema from the specified URL.""" - if not self.schema_url: - raise ValueError("No schema URL specified in the input JSON.") - - response = requests.get(self.schema_url) - response.raise_for_status() - return response.json() - - def is_valid(self): - """Validates the original JSON against the fetched JSON schema.""" - if not self.schema: - raise ValueError( - "Schema is not available. Fetching might have failed during initialization." - ) - - try: - validate(instance=self.json_data, schema=self.schema) - return True - except ValidationError as e: - self.validation_error = e - return False - - def get_validation_error(self): - """Retrieve the validation error message.""" - if not self.validation_error: - return None - return str(self.validation_error) diff --git a/tests/utils.py b/tests/utils.py new file mode 100644 index 0000000..1ac7cb4 --- /dev/null +++ b/tests/utils.py @@ -0,0 +1,50 @@ +import requests +from jsonschema import validate, ValidationError +from collections import defaultdict +from os import listdir, path + +import yaml + +def get_parameterizations(): + selections = defaultdict(list) + for pick in listdir("tests/scenarios"): + with open("tests/resources.yaml") as file: + spec = yaml.load(file, yaml.CLoader) + dir = f"tests/scenarios/{pick}" + with open(f"{dir}/config.yaml") as file: + config = yaml.load(file, yaml.CLoader) + for selection in config["enabled"]: + for resource in spec[selection]: + if not path.exists(dir + "/" + resource): + raise Exception(f"Cannot test scenario '{pick}': Missing resource '{resource}'") + selections[selection].append(pick) + return selections + + +class AMR: + def __init__(self, json_data): + self.json_data = json_data + self.header = json_data["header"] + try: + self.schema_url = self.header["schema"] + except KeyError: + raise ValueError("No schema URL specified in the input JSON.") + if "raw.githubusercontent.com" not in self.schema_url: + self.schema_url = self.schema_url.replace("github.com", "raw.githubusercontent.com").replace( + "/blob", "" + ) + response = requests.get(self.schema_url) + response.raise_for_status() + self.schema = response.json() + self.validation_error = None + + + def is_valid(self): + """Validates the original JSON against the fetched JSON schema.""" + try: + validate(instance=self.json_data, schema=self.schema) + except ValidationError as e: + self.validation_error = str(e) + return False + else: + return True diff --git a/worker/operations.py b/worker/operations.py index 986f1d0..dc502e3 100644 --- a/worker/operations.py +++ b/worker/operations.py @@ -37,7 +37,7 @@ logger.addHandler(handler) -# Worker jobs for TA1 services +# Worker jobs for knowledge services def equations_to_amr(*args, **kwargs): equation_type = kwargs.get("equation_type") equations = kwargs.get("equations") @@ -57,7 +57,7 @@ def equations_to_amr(*args, **kwargs): headers = {"Content-Type": "application/json"} - logger.info(f"Sending equations of type {equation_type} to TA1 at {url}") + logger.info(f"Sending equations of type {equation_type} to backend knowledge services at {url}") if equation_type == "mathml": amr_response = requests.put( url, data=json.dumps(put_payload, default=str), headers=headers @@ -70,7 +70,7 @@ def equations_to_amr(*args, **kwargs): amr_json = amr_response.json() logger.debug(f"TA 1 response object: {amr_response}") except: - logger.error(f"Failed to parse response from TA1 Service: {amr_response.text}") + logger.error(f"Failed to parse response from backend knowledge service: {amr_response.text}") if amr_response.status_code == 200 and amr_json: tds_responses = put_amr_to_tds(amr_json, name, description) @@ -108,11 +108,11 @@ def pdf_to_text(*args, **kwargs): try: logger.info( - f"Sending PDF to TA1 service with artifact id {artifact_id} at {unified_text_reading_url}" + f"Sending PDF to backend knowledge service with artifact id {artifact_id} at {unified_text_reading_url}" ) response = requests.post(unified_text_reading_url, files=put_payload) logger.info( - f"Response received from TA1 with status code: {response.status_code}" + f"Response received from backend knowledge service with status code: {response.status_code}" ) extraction_json = response.json() logger.debug(f"TA 1 response object: {extraction_json}") @@ -171,11 +171,11 @@ def pdf_extractions(*args, **kwargs): try: logger.info( - f"Sending PDF to TA1 service with artifact id {artifact_id} at {unified_text_reading_url}" + f"Sending PDF to backend knowledge service with artifact id {artifact_id} at {unified_text_reading_url}" ) response = requests.post(unified_text_reading_url, json=payload) logger.info( - f"Response received from TA1 with status code: {response.status_code}" + f"Response received from backend knowledge service with status code: {response.status_code}" ) extraction_json = response.json() logger.debug(f"TA 1 response object: {response.text}") @@ -184,14 +184,14 @@ def pdf_extractions(*args, **kwargs): if isinstance(outputs, dict): if extraction_json.get("outputs", {"data": None}).get("data", None) is None: raise ValueError( - f"Malformed or empty response from TA1: {extraction_json}" + f"Malformed or empty response from backend knowledge service: {extraction_json}" ) else: extraction_json = extraction_json.get("outputs").get("data") elif isinstance(outputs, list): if extraction_json.get("outputs")[0].get("data") is None: raise ValueError( - f"Malformed or empty response from TA1: {extraction_json}" + f"Malformed or empty response from backend knowledge service: {extraction_json}" ) else: extraction_json = [extraction_json.get("outputs")[0].get("data")] @@ -380,7 +380,7 @@ def model_card(*args, **kwargs): raise Exception(f"Failed to generate model card for {model_id}: {e}") else: - raise Exception(f"Bad response from TA1 for {model_id}: {resp.status_code}") + raise Exception(f"Bad response from backend knowledge service for {model_id}: {resp.status_code}") # dccde3a0-0132-430c-afd8-c67953298f48 @@ -438,34 +438,34 @@ def link_amr(*args, **kwargs): "message": "Model enriched and updated in TDS", } else: - raise Exception("Response from TA1 service was not 200: {response.text}") + raise Exception("Response from backend knowledge service was not 200: {response.text}") # 60e539e4-6969-4369-a358-c601a3a583da def code_to_amr(*args, **kwargs): - artifact_id = kwargs.get("artifact_id") + code_id = kwargs.get("code_id") name = kwargs.get("name") description = kwargs.get("description") - artifact_json, downloaded_artifact = get_artifact_from_tds(artifact_id=artifact_id) - - code_blob = downloaded_artifact.decode("utf-8") + code_json, downloaded_code = get_artifact_from_tds(code_id, code=True) + + code_blob = downloaded_code.decode("utf-8") logger.info(code_blob[:250]) code_amr_workflow_url = f"{UNIFIED_API}/workflows/code/snippets-to-pn-amr" request_payload = { - "files": [artifact_json.get("file_names")[0]], + "files": [code_json.get("filename")], "blobs": [code_blob], } logger.info( - f"Sending code to TA1 service with artifact id: {artifact_id} at {code_amr_workflow_url}" + f"Sending code to knowledge service with code id: {code_id} at {code_amr_workflow_url}" ) amr_response = requests.post( code_amr_workflow_url, json=json.loads(json.dumps(request_payload)) ) logger.info( - f"Response received from TA1 with status code: {amr_response.status_code}" + f"Response received from backend knowledge service with status code: {amr_response.status_code}" ) amr_json = amr_response @@ -474,30 +474,35 @@ def code_to_amr(*args, **kwargs): amr_json = amr_response.json() logger.debug(f"TA 1 response object: {amr_json}") except: - logger.error(f"Failed to parse response from TA1 Service:\n{amr_response.text}") + logger.error(f"Failed to parse response from backend knowledge service:\n{amr_response.text}") if amr_response.status_code == 200 and amr_json: + metadata = amr_json.get("metadata",{}) + metadata["code_id"] = code_id + amr_json["metadata"] = metadata tds_responses = put_amr_to_tds(amr_json, name, description) + logger.info(f"TDS Response: {tds_responses}") put_artifact_extraction_to_tds( - artifact_id=artifact_id, - name=artifact_json.get("name", None), - filename=artifact_json.get("file_names")[0], - description=artifact_json.get("description", None), + artifact_id=code_id, + name=code_json.get("name", None), + filename=code_json.get("filename"), + description=code_json.get("description", None), model_id=tds_responses.get("model_id"), + code_language=code_json.get("language") ) try: set_provenance( tds_responses.get("model_id"), "Model", - artifact_id, - "Artifact", + code_id, + "Code", "EXTRACTED_FROM", ) except Exception as e: logger.error( - f"Failed to store provenance tying model to code artifact: {e}" + f"Failed to store provenance tying model to code: {e}" ) response = { diff --git a/worker/utils.py b/worker/utils.py index a6a1ab1..73316eb 100644 --- a/worker/utils.py +++ b/worker/utils.py @@ -70,8 +70,12 @@ def put_amr_to_tds(amr_payload, name=None, description=None): def put_artifact_extraction_to_tds( - artifact_id, name, description, filename, extractions=None, text=None, model_id=None + artifact_id, name, description, filename, extractions=None, text=None, model_id=None, code_language=None ): + """ + Update an artifact or code object in TDS. If `code` is `True` this assumes you are + updating `code`, otherwise you are updating an `artifact` + """ if extractions and text: metadata = extractions[0] metadata["text"] = text @@ -91,9 +95,15 @@ def put_artifact_extraction_to_tds( "file_names": [filename], "metadata": metadata, } - logger.info(f"Storing extraction to TDS for artifact: {artifact_id}") - # Create TDS artifact - tds_artifact = f"{TDS_API}/artifacts/{artifact_id}" + if code_language: + endpoint = "code" + artifact_payload["filename"] = artifact_payload.pop("file_names")[0] + artifact_payload["language"] = code_language + else: + endpoint = "artifacts" + logger.info(f"Storing extraction to TDS for {endpoint}: {artifact_id}") + # patch TDS artifact/code + tds_artifact = f"{TDS_API}/{endpoint}/{artifact_id}" artifact_response = requests.put(tds_artifact, json=artifact_payload) logger.debug(f"TDS response: {artifact_response.text}") artifact_put_status = artifact_response.status_code @@ -101,17 +111,24 @@ def put_artifact_extraction_to_tds( return {"status": artifact_put_status} -def get_artifact_from_tds(artifact_id): - tds_artifacts_url = f"{TDS_API}/artifacts/{artifact_id}" - +def get_artifact_from_tds(artifact_id, code=False): + if code: + endpoint = "code" + else: + endpoint = "artifacts" + tds_artifacts_url = f"{TDS_API}/{endpoint}/{artifact_id}" + logger.info(tds_artifacts_url) artifact = requests.get(tds_artifacts_url) artifact_json = artifact.json() + logger.info(artifact_json) + if code: + filename = artifact_json.get("filename") + else: + filename = artifact_json.get("file_names")[ + 0 + ] # Assumes only one file will be present for now. - filename = artifact_json.get("file_names")[ - 0 - ] # Assumes only one file will be present for now. - - download_url = f"{TDS_API}/artifacts/{artifact_id}/download-url?artifact_id={artifact_id}&filename={filename}" + download_url = f"{TDS_API}/{endpoint}/{artifact_id}/download-url?artifact_id={artifact_id}&filename={filename}" artifact_download_url = requests.get(download_url) presigned_download = artifact_download_url.json().get("url") @@ -120,7 +137,7 @@ def get_artifact_from_tds(artifact_id): downloaded_artifact = requests.get(artifact_download_url.json().get("url")) - logger.info(f"ARTIFACT RETRIEVAL STATUS:{downloaded_artifact.status_code}") + logger.info(f"{endpoint.upper()} RETRIEVAL STATUS:{downloaded_artifact.status_code}") return artifact_json, downloaded_artifact.content