From 6f5ee64174f7806eb490cd600436d6b966f5b59e Mon Sep 17 00:00:00 2001 From: vigneshhari <vichuhari100@gmail.com> Date: Fri, 12 Apr 2024 18:55:23 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20coronasa?= =?UTF-8?q?fe/care@fc1f37578c8545f47f5b5aa039d95518d122d66c=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _sources/index.rst.txt | 1 + _sources/pluggable-apps/configuration.md.txt | 57 ++++ django-commands/configuration.html | 7 +- django-configuration/configuration.html | 7 +- genindex.html | 1 + github-repo/configuration.html | 1 + glossary/configuration.html | 1 + index.html | 8 + local-setup/configuration.html | 1 + middleware/configuration.html | 1 + objects.inv | 6 +- others/configuration.html | 1 + pluggable-apps/configuration.html | 334 +++++++++++++++++++ pycharm/configuration.html | 1 + search.html | 1 + searchindex.js | 2 +- working-components/configuration.html | 1 + 17 files changed, 422 insertions(+), 9 deletions(-) create mode 100644 _sources/pluggable-apps/configuration.md.txt create mode 100644 pluggable-apps/configuration.html diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt index 9d8069158a..66b3e8b7af 100644 --- a/_sources/index.rst.txt +++ b/_sources/index.rst.txt @@ -14,6 +14,7 @@ Welcome to Care's documentation! pycharm/configuration working-components/configuration django-configuration/configuration + pluggable-apps/configuration django-commands/configuration github-repo/configuration others/configuration diff --git a/_sources/pluggable-apps/configuration.md.txt b/_sources/pluggable-apps/configuration.md.txt new file mode 100644 index 0000000000..adfeed3e86 --- /dev/null +++ b/_sources/pluggable-apps/configuration.md.txt @@ -0,0 +1,57 @@ +# Pluggable Apps + + +## Overview + +Care supports plugins that can be used to extend its functionality. Plugins are basically django apps that are defined in the `plug_config.py`. +These plugins can be automatically loaded during docker image build or run time, however its recommended to include them during docker image build time. +The default care image does not include any plugins, but you can create your own plugin config by overriding the `plug_config.py` file. + + +example `plug_config.py` file: + +```python + +from plugs.manager import PlugManager +from plugs.plug import Plug + +my_plugin = Plug( + name="my_plugin", + package_name="git+https://github.com/octo/my_plugin.git", + version="@v1.0.0", + configs={ + "SERVICE_API_KEY": "my_api_key", + "SERVICE_SECRET_KEY": "my_secret_key", + "VALUE_1_MAX": 10, + }, +) + +plugs = [my_plugin] + +manager = PlugManager(plugs) +``` + +## Plugin config variables + +Each plugin will define their own config variables with some defaults, they can also pick the values from the environment variables if required. +The order of precedence is as follows: + +- Environment variables +- Configs defined in the `plug_config.py` +- Default values defined in the plugin + + +## Development + +To get started with developing a plugin, use [care-plugin-cookiecutter](https://github.com/coronasafe/care-plugin-cookiecutter) +The plugin follows the structure of a typical django app where you can define your models, views, urls, etc. in the plugin folder. +The plugin manager will automatically load the required configurations and plugin urls under `/api/plugin-name/`. + +To develop the plugins locally you can install the plugin in the editable mode using `pip install -e /path/to/plugin`. + +If you need to inherit the components from the core app, you can install care in editable mode in the plugin using `pip install -e /path/to/care`. + + +## Available Plugins + +- [Care Scribe](https://github.com/coronasafe/care_scribe): Care Scribe is a plugin that provides autofill functionality for the care consultation forms. diff --git a/django-commands/configuration.html b/django-commands/configuration.html index 0af9a59139..32509fe6a8 100644 --- a/django-commands/configuration.html +++ b/django-commands/configuration.html @@ -3,7 +3,7 @@ <head><meta charset="utf-8"/> <meta name="viewport" content="width=device-width,initial-scale=1"/> <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" /> -<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="GitHub Repository" href="../github-repo/configuration.html" /><link rel="prev" title="Environment Variables" href="../django-configuration/configuration.html" /> +<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="GitHub Repository" href="../github-repo/configuration.html" /><link rel="prev" title="Pluggable Apps" href="../pluggable-apps/configuration.html" /> <!-- Generated with Sphinx 7.2.6 and Furo 2023.09.10 --> <title>Django Commands - Care documentation</title> @@ -160,6 +160,7 @@ <li class="toctree-l1"><a class="reference internal" href="../pycharm/configuration.html">Debugging with Pycharm</a></li> <li class="toctree-l1"><a class="reference internal" href="../working-components/configuration.html">Working Components</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-configuration/configuration.html">Environment Variables</a></li> +<li class="toctree-l1"><a class="reference internal" href="../pluggable-apps/configuration.html">Pluggable Apps</a></li> <li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Django Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="../github-repo/configuration.html">GitHub Repository</a></li> <li class="toctree-l1"><a class="reference internal" href="../others/configuration.html">Other Details</a></li> @@ -272,14 +273,14 @@ <h1>Django Commands<a class="headerlink" href="#django-commands" title="Link to </div> <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> </a> - <a class="prev-page" href="../django-configuration/configuration.html"> + <a class="prev-page" href="../pluggable-apps/configuration.html"> <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> <div class="page-info"> <div class="context"> <span>Previous</span> </div> - <div class="title">Environment Variables</div> + <div class="title">Pluggable Apps</div> </div> </a> diff --git a/django-configuration/configuration.html b/django-configuration/configuration.html index ab00e3b69d..ce0a579988 100644 --- a/django-configuration/configuration.html +++ b/django-configuration/configuration.html @@ -3,7 +3,7 @@ <head><meta charset="utf-8"/> <meta name="viewport" content="width=device-width,initial-scale=1"/> <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" /> -<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Django Commands" href="../django-commands/configuration.html" /><link rel="prev" title="Working Components" href="../working-components/configuration.html" /> +<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Pluggable Apps" href="../pluggable-apps/configuration.html" /><link rel="prev" title="Working Components" href="../working-components/configuration.html" /> <!-- Generated with Sphinx 7.2.6 and Furo 2023.09.10 --> <title>Environment Variables - Care documentation</title> @@ -160,6 +160,7 @@ <li class="toctree-l1"><a class="reference internal" href="../pycharm/configuration.html">Debugging with Pycharm</a></li> <li class="toctree-l1"><a class="reference internal" href="../working-components/configuration.html">Working Components</a></li> <li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Environment Variables</a></li> +<li class="toctree-l1"><a class="reference internal" href="../pluggable-apps/configuration.html">Pluggable Apps</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-commands/configuration.html">Django Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="../github-repo/configuration.html">GitHub Repository</a></li> <li class="toctree-l1"><a class="reference internal" href="../others/configuration.html">Other Details</a></li> @@ -238,12 +239,12 @@ <h2><code class="docutils literal notranslate"><span class="pre">TASK_SUMMARIZE_ <footer> <div class="related-pages"> - <a class="next-page" href="../django-commands/configuration.html"> + <a class="next-page" href="../pluggable-apps/configuration.html"> <div class="page-info"> <div class="context"> <span>Next</span> </div> - <div class="title">Django Commands</div> + <div class="title">Pluggable Apps</div> </div> <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> </a> diff --git a/genindex.html b/genindex.html index 04c919a4f8..74fadb4e61 100644 --- a/genindex.html +++ b/genindex.html @@ -158,6 +158,7 @@ <li class="toctree-l1"><a class="reference internal" href="pycharm/configuration.html">Debugging with Pycharm</a></li> <li class="toctree-l1"><a class="reference internal" href="working-components/configuration.html">Working Components</a></li> <li class="toctree-l1"><a class="reference internal" href="django-configuration/configuration.html">Environment Variables</a></li> +<li class="toctree-l1"><a class="reference internal" href="pluggable-apps/configuration.html">Pluggable Apps</a></li> <li class="toctree-l1"><a class="reference internal" href="django-commands/configuration.html">Django Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="github-repo/configuration.html">GitHub Repository</a></li> <li class="toctree-l1"><a class="reference internal" href="others/configuration.html">Other Details</a></li> diff --git a/github-repo/configuration.html b/github-repo/configuration.html index d369d9862f..0ff815e1b5 100644 --- a/github-repo/configuration.html +++ b/github-repo/configuration.html @@ -160,6 +160,7 @@ <li class="toctree-l1"><a class="reference internal" href="../pycharm/configuration.html">Debugging with Pycharm</a></li> <li class="toctree-l1"><a class="reference internal" href="../working-components/configuration.html">Working Components</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-configuration/configuration.html">Environment Variables</a></li> +<li class="toctree-l1"><a class="reference internal" href="../pluggable-apps/configuration.html">Pluggable Apps</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-commands/configuration.html">Django Commands</a></li> <li class="toctree-l1 current current-page"><a class="current reference internal" href="#">GitHub Repository</a></li> <li class="toctree-l1"><a class="reference internal" href="../others/configuration.html">Other Details</a></li> diff --git a/glossary/configuration.html b/glossary/configuration.html index eb85a18c58..e2ddee35ab 100644 --- a/glossary/configuration.html +++ b/glossary/configuration.html @@ -160,6 +160,7 @@ <li class="toctree-l1"><a class="reference internal" href="../pycharm/configuration.html">Debugging with Pycharm</a></li> <li class="toctree-l1"><a class="reference internal" href="../working-components/configuration.html">Working Components</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-configuration/configuration.html">Environment Variables</a></li> +<li class="toctree-l1"><a class="reference internal" href="../pluggable-apps/configuration.html">Pluggable Apps</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-commands/configuration.html">Django Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="../github-repo/configuration.html">GitHub Repository</a></li> <li class="toctree-l1"><a class="reference internal" href="../others/configuration.html">Other Details</a></li> diff --git a/index.html b/index.html index 035329bb9a..7d4849e2e1 100644 --- a/index.html +++ b/index.html @@ -160,6 +160,7 @@ <li class="toctree-l1"><a class="reference internal" href="pycharm/configuration.html">Debugging with Pycharm</a></li> <li class="toctree-l1"><a class="reference internal" href="working-components/configuration.html">Working Components</a></li> <li class="toctree-l1"><a class="reference internal" href="django-configuration/configuration.html">Environment Variables</a></li> +<li class="toctree-l1"><a class="reference internal" href="pluggable-apps/configuration.html">Pluggable Apps</a></li> <li class="toctree-l1"><a class="reference internal" href="django-commands/configuration.html">Django Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="github-repo/configuration.html">GitHub Repository</a></li> <li class="toctree-l1"><a class="reference internal" href="others/configuration.html">Other Details</a></li> @@ -245,6 +246,13 @@ <h1>Welcome to Care’s documentation!<a class="headerlink" href="#welcome-to-ca <li class="toctree-l2"><a class="reference internal" href="django-configuration/configuration.html#task-summarize-district-patient"><code class="docutils literal notranslate"><span class="pre">TASK_SUMMARIZE_DISTRICT_PATIENT</span></code></a></li> </ul> </li> +<li class="toctree-l1"><a class="reference internal" href="pluggable-apps/configuration.html">Pluggable Apps</a><ul> +<li class="toctree-l2"><a class="reference internal" href="pluggable-apps/configuration.html#overview">Overview</a></li> +<li class="toctree-l2"><a class="reference internal" href="pluggable-apps/configuration.html#plugin-config-variables">Plugin config variables</a></li> +<li class="toctree-l2"><a class="reference internal" href="pluggable-apps/configuration.html#development">Development</a></li> +<li class="toctree-l2"><a class="reference internal" href="pluggable-apps/configuration.html#available-plugins">Available Plugins</a></li> +</ul> +</li> <li class="toctree-l1"><a class="reference internal" href="django-commands/configuration.html">Django Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="github-repo/configuration.html">GitHub Repository</a></li> <li class="toctree-l1"><a class="reference internal" href="others/configuration.html">Other Details</a><ul> diff --git a/local-setup/configuration.html b/local-setup/configuration.html index 813c338e18..60a54006e2 100644 --- a/local-setup/configuration.html +++ b/local-setup/configuration.html @@ -160,6 +160,7 @@ <li class="toctree-l1"><a class="reference internal" href="../pycharm/configuration.html">Debugging with Pycharm</a></li> <li class="toctree-l1"><a class="reference internal" href="../working-components/configuration.html">Working Components</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-configuration/configuration.html">Environment Variables</a></li> +<li class="toctree-l1"><a class="reference internal" href="../pluggable-apps/configuration.html">Pluggable Apps</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-commands/configuration.html">Django Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="../github-repo/configuration.html">GitHub Repository</a></li> <li class="toctree-l1"><a class="reference internal" href="../others/configuration.html">Other Details</a></li> diff --git a/middleware/configuration.html b/middleware/configuration.html index a7e29dac17..8bf0042dff 100644 --- a/middleware/configuration.html +++ b/middleware/configuration.html @@ -160,6 +160,7 @@ <li class="toctree-l1"><a class="reference internal" href="../pycharm/configuration.html">Debugging with Pycharm</a></li> <li class="toctree-l1"><a class="reference internal" href="../working-components/configuration.html">Working Components</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-configuration/configuration.html">Environment Variables</a></li> +<li class="toctree-l1"><a class="reference internal" href="../pluggable-apps/configuration.html">Pluggable Apps</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-commands/configuration.html">Django Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="../github-repo/configuration.html">GitHub Repository</a></li> <li class="toctree-l1"><a class="reference internal" href="../others/configuration.html">Other Details</a></li> diff --git a/objects.inv b/objects.inv index b30e6d7ffb..8ff1714fc0 100644 --- a/objects.inv +++ b/objects.inv @@ -2,5 +2,7 @@ # Project: Care # Version: # The remainder of this file is compressed using zlib. -xÚ“MNÃ0…÷>…9@@lÙ¶XTT ÁÚ‰ÇÔöDþiÉŽkp=N‚»Rœ²‹<ß¼7ycóOfV jÍw7 š)‚e^¢¡Îó;Ž n)Ÿ¯[¯]Ž]d„ZNÈéäro¶Ò¢Ñ`<}cV²Z#Œ4¾FEÅjPƒæþ4u> ŸDH߆º²Ðay˜"””¤5}‰e'=Úž…Î1ÛÏHNY/×Èñr×Éøï bú@}Œ˜Yøýþq4RaHbÔº" -¦*>tåAŠP²yï¥4t”ÃvcÔpŒhɹ‚]¢ìRb’ÉfôÙŨéê@|b“]_íIa…<(È;Eß‚¹¼Sõ$ó<Tè<“Ê‘—öëÞ·ÑãlŠ®oZfuyŒI ¿¨ƒ‡<Ö‰$˜mÚóYÒÙ~Yc}ÍÚMžh‡&îi&Kl¾q‰^t¦ÈÞ"j \ No newline at end of file +xÚ”ÍNÄ …÷<>@5nÝ™£.&6šèš–+E)—ð3cw¾†¯ç“HŸ¤í¸k¸ç—ò¦5¶-ÓÜ]ըߥ–y‰š:Ïo8Ö´¸¦| ¼l|«èz@è*#d¿åˆüGƒY:u¹Ó[iQ· =}eV²J#´Ô¾EÅ*P½æ¸šv>öŸDHß„ª°`pÞÌ,””î¥}Že'=ÚŽ…Î1Û-HNY/×Èáyבý7P1} >FÌ,ü~ÿ8©Ð'1h]…5S…̼‘Y(µyï¥4Êa +Í5b'ä\Á.š˜ï2Ǥ&+Ôê¡Ï.FM7{š´È'nÒtÅXH +äAA¾Sô Ø…áª'™§¾B×à™TŽ„èª`Æ,è-qI· z rdÿ̹ÊÎ7±ÙÉñLW7̶~¦€ü(¡ŠNöA—‰$˜›S/imœ‚¡^2d‡ö3 +ôoß Ž°Ì96r¢ú_E¦ÈXݱ \ No newline at end of file diff --git a/others/configuration.html b/others/configuration.html index 613b25fa72..1ecb671b61 100644 --- a/others/configuration.html +++ b/others/configuration.html @@ -160,6 +160,7 @@ <li class="toctree-l1"><a class="reference internal" href="../pycharm/configuration.html">Debugging with Pycharm</a></li> <li class="toctree-l1"><a class="reference internal" href="../working-components/configuration.html">Working Components</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-configuration/configuration.html">Environment Variables</a></li> +<li class="toctree-l1"><a class="reference internal" href="../pluggable-apps/configuration.html">Pluggable Apps</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-commands/configuration.html">Django Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="../github-repo/configuration.html">GitHub Repository</a></li> <li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Other Details</a></li> diff --git a/pluggable-apps/configuration.html b/pluggable-apps/configuration.html new file mode 100644 index 0000000000..ee9acc9d74 --- /dev/null +++ b/pluggable-apps/configuration.html @@ -0,0 +1,334 @@ +<!doctype html> +<html class="no-js" lang="en" data-content_root="../"> + <head><meta charset="utf-8"/> + <meta name="viewport" content="width=device-width,initial-scale=1"/> + <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" /> +<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Django Commands" href="../django-commands/configuration.html" /><link rel="prev" title="Environment Variables" href="../django-configuration/configuration.html" /> + + <!-- Generated with Sphinx 7.2.6 and Furo 2023.09.10 --> + <title>Pluggable Apps - Care documentation</title> + <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" /> + <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" /> + <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" /> + + + + +<style> + body { + --color-code-background: #f8f8f8; + --color-code-foreground: black; + + } + @media not print { + body[data-theme="dark"] { + --color-code-background: #202020; + --color-code-foreground: #d0d0d0; + + } + @media (prefers-color-scheme: dark) { + body:not([data-theme="light"]) { + --color-code-background: #202020; + --color-code-foreground: #d0d0d0; + + } + } + } +</style></head> + <body> + + <script> + document.body.dataset.theme = localStorage.getItem("theme") || "auto"; + </script> + + +<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> + <symbol id="svg-toc" viewBox="0 0 24 24"> + <title>Contents</title> + <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024"> + <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/> + </svg> + </symbol> + <symbol id="svg-menu" viewBox="0 0 24 24"> + <title>Menu</title> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" + stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> + <line x1="3" y1="12" x2="21" y2="12"></line> + <line x1="3" y1="6" x2="21" y2="6"></line> + <line x1="3" y1="18" x2="21" y2="18"></line> + </svg> + </symbol> + <symbol id="svg-arrow-right" viewBox="0 0 24 24"> + <title>Expand</title> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" + stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> + <polyline points="9 18 15 12 9 6"></polyline> + </svg> + </symbol> + <symbol id="svg-sun" viewBox="0 0 24 24"> + <title>Light mode</title> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" + stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> + <circle cx="12" cy="12" r="5"></circle> + <line x1="12" y1="1" x2="12" y2="3"></line> + <line x1="12" y1="21" x2="12" y2="23"></line> + <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line> + <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line> + <line x1="1" y1="12" x2="3" y2="12"></line> + <line x1="21" y1="12" x2="23" y2="12"></line> + <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line> + <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line> + </svg> + </symbol> + <symbol id="svg-moon" viewBox="0 0 24 24"> + <title>Dark mode</title> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" + stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> + <path stroke="none" d="M0 0h24v24H0z" fill="none" /> + <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" /> + </svg> + </symbol> + <symbol id="svg-sun-half" viewBox="0 0 24 24"> + <title>Auto light/dark mode</title> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" + stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> + <path stroke="none" d="M0 0h24v24H0z" fill="none"/> + <circle cx="12" cy="12" r="9" /> + <path d="M13 12h5" /> + <path d="M13 15h4" /> + <path d="M13 18h1" /> + <path d="M13 9h4" /> + <path d="M13 6h1" /> + </svg> + </symbol> +</svg> + +<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation"> +<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc"> +<label class="overlay sidebar-overlay" for="__navigation"> + <div class="visually-hidden">Hide navigation sidebar</div> +</label> +<label class="overlay toc-overlay" for="__toc"> + <div class="visually-hidden">Hide table of contents sidebar</div> +</label> + + + +<div class="page"> + <header class="mobile-header"> + <div class="header-left"> + <label class="nav-overlay-icon" for="__navigation"> + <div class="visually-hidden">Toggle site navigation sidebar</div> + <i class="icon"><svg><use href="#svg-menu"></use></svg></i> + </label> + </div> + <div class="header-center"> + <a href="../index.html"><div class="brand">Care documentation</div></a> + </div> + <div class="header-right"> + <div class="theme-toggle-container theme-toggle-header"> + <button class="theme-toggle"> + <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> + <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg> + <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg> + <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg> + </button> + </div> + <label class="toc-overlay-icon toc-header-icon" for="__toc"> + <div class="visually-hidden">Toggle table of contents sidebar</div> + <i class="icon"><svg><use href="#svg-toc"></use></svg></i> + </label> + </div> + </header> + <aside class="sidebar-drawer"> + <div class="sidebar-container"> + + <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html"> + + + <span class="sidebar-brand-text">Care documentation</span> + +</a><form class="sidebar-search-container" method="get" action="../search.html" role="search"> + <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search"> + <input type="hidden" name="check_keywords" value="yes"> + <input type="hidden" name="area" value="default"> +</form> +<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree"> + <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> +<ul class="current"> +<li class="toctree-l1"><a class="reference internal" href="../local-setup/configuration.html">Setting up development environment</a></li> +<li class="toctree-l1"><a class="reference internal" href="../pycharm/configuration.html">Debugging with Pycharm</a></li> +<li class="toctree-l1"><a class="reference internal" href="../working-components/configuration.html">Working Components</a></li> +<li class="toctree-l1"><a class="reference internal" href="../django-configuration/configuration.html">Environment Variables</a></li> +<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Pluggable Apps</a></li> +<li class="toctree-l1"><a class="reference internal" href="../django-commands/configuration.html">Django Commands</a></li> +<li class="toctree-l1"><a class="reference internal" href="../github-repo/configuration.html">GitHub Repository</a></li> +<li class="toctree-l1"><a class="reference internal" href="../others/configuration.html">Other Details</a></li> +<li class="toctree-l1"><a class="reference internal" href="../glossary/configuration.html">Glossary</a></li> +<li class="toctree-l1"><a class="reference internal" href="../middleware/configuration.html">Connecting with Middleware</a></li> +</ul> + +</div> +</div> + + </div> + + </div> + </aside> + <div class="main"> + <div class="content"> + <div class="article-container"> + <a href="#" class="back-to-top muted-link"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> + <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path> + </svg> + <span>Back to top</span> + </a> + <div class="content-icon-container"> + +<div class="theme-toggle-container theme-toggle-content"> + <button class="theme-toggle"> + <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> + <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg> + <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg> + <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg> + </button> + </div> + <label class="toc-overlay-icon toc-content-icon" for="__toc"> + <div class="visually-hidden">Toggle table of contents sidebar</div> + <i class="icon"><svg><use href="#svg-toc"></use></svg></i> + </label> + </div> + <article role="main"> + <section id="pluggable-apps"> +<h1>Pluggable Apps<a class="headerlink" href="#pluggable-apps" title="Link to this heading">#</a></h1> +<section id="overview"> +<h2>Overview<a class="headerlink" href="#overview" title="Link to this heading">#</a></h2> +<p>Care supports plugins that can be used to extend its functionality. Plugins are basically django apps that are defined in the <code class="docutils literal notranslate"><span class="pre">plug_config.py</span></code>. +These plugins can be automatically loaded during docker image build or run time, however its recommended to include them during docker image build time. +The default care image does not include any plugins, but you can create your own plugin config by overriding the <code class="docutils literal notranslate"><span class="pre">plug_config.py</span></code> file.</p> +<p>example <code class="docutils literal notranslate"><span class="pre">plug_config.py</span></code> file:</p> +<div class="highlight-python notranslate"><div class="highlight"><pre><span></span> +<span class="kn">from</span> <span class="nn">plugs.manager</span> <span class="kn">import</span> <span class="n">PlugManager</span> +<span class="kn">from</span> <span class="nn">plugs.plug</span> <span class="kn">import</span> <span class="n">Plug</span> + +<span class="n">my_plugin</span> <span class="o">=</span> <span class="n">Plug</span><span class="p">(</span> + <span class="n">name</span><span class="o">=</span><span class="s2">"my_plugin"</span><span class="p">,</span> + <span class="n">package_name</span><span class="o">=</span><span class="s2">"git+https://github.com/octo/my_plugin.git"</span><span class="p">,</span> + <span class="n">version</span><span class="o">=</span><span class="s2">"@v1.0.0"</span><span class="p">,</span> + <span class="n">configs</span><span class="o">=</span><span class="p">{</span> + <span class="s2">"SERVICE_API_KEY"</span><span class="p">:</span> <span class="s2">"my_api_key"</span><span class="p">,</span> + <span class="s2">"SERVICE_SECRET_KEY"</span><span class="p">:</span> <span class="s2">"my_secret_key"</span><span class="p">,</span> + <span class="s2">"VALUE_1_MAX"</span><span class="p">:</span> <span class="mi">10</span><span class="p">,</span> + <span class="p">},</span> +<span class="p">)</span> + +<span class="n">plugs</span> <span class="o">=</span> <span class="p">[</span><span class="n">my_plugin</span><span class="p">]</span> + +<span class="n">manager</span> <span class="o">=</span> <span class="n">PlugManager</span><span class="p">(</span><span class="n">plugs</span><span class="p">)</span> +</pre></div> +</div> +</section> +<section id="plugin-config-variables"> +<h2>Plugin config variables<a class="headerlink" href="#plugin-config-variables" title="Link to this heading">#</a></h2> +<p>Each plugin will define their own config variables with some defaults, they can also pick the values from the environment variables if required. +The order of precedence is as follows:</p> +<ul class="simple"> +<li><p>Environment variables</p></li> +<li><p>Configs defined in the <code class="docutils literal notranslate"><span class="pre">plug_config.py</span></code></p></li> +<li><p>Default values defined in the plugin</p></li> +</ul> +</section> +<section id="development"> +<h2>Development<a class="headerlink" href="#development" title="Link to this heading">#</a></h2> +<p>To get started with developing a plugin, use <a class="reference external" href="https://github.com/coronasafe/care-plugin-cookiecutter">care-plugin-cookiecutter</a> +The plugin follows the structure of a typical django app where you can define your models, views, urls, etc. in the plugin folder. +The plugin manager will automatically load the required configurations and plugin urls under <code class="docutils literal notranslate"><span class="pre">/api/plugin-name/</span></code>.</p> +<p>To develop the plugins locally you can install the plugin in the editable mode using <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">-e</span> <span class="pre">/path/to/plugin</span></code>.</p> +<p>If you need to inherit the components from the core app, you can install care in editable mode in the plugin using <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">-e</span> <span class="pre">/path/to/care</span></code>.</p> +</section> +<section id="available-plugins"> +<h2>Available Plugins<a class="headerlink" href="#available-plugins" title="Link to this heading">#</a></h2> +<ul class="simple"> +<li><p><a class="reference external" href="https://github.com/coronasafe/care_scribe">Care Scribe</a>: Care Scribe is a plugin that provides autofill functionality for the care consultation forms.</p></li> +</ul> +</section> +</section> + + </article> + </div> + <footer> + + <div class="related-pages"> + <a class="next-page" href="../django-commands/configuration.html"> + <div class="page-info"> + <div class="context"> + <span>Next</span> + </div> + <div class="title">Django Commands</div> + </div> + <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> + </a> + <a class="prev-page" href="../django-configuration/configuration.html"> + <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> + <div class="page-info"> + <div class="context"> + <span>Previous</span> + </div> + + <div class="title">Environment Variables</div> + + </div> + </a> + </div> + <div class="bottom-of-page"> + <div class="left-details"> + <div class="copyright"> + Copyright © 2023, Open Healthcare Network + </div> + Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s + + <a href="https://github.com/pradyunsg/furo">Furo</a> + + </div> + <div class="right-details"> + + </div> + </div> + + </footer> + </div> + <aside class="toc-drawer"> + + + <div class="toc-sticky toc-scroll"> + <div class="toc-title-container"> + <span class="toc-title"> + On this page + </span> + </div> + <div class="toc-tree-container"> + <div class="toc-tree"> + <ul> +<li><a class="reference internal" href="#">Pluggable Apps</a><ul> +<li><a class="reference internal" href="#overview">Overview</a></li> +<li><a class="reference internal" href="#plugin-config-variables">Plugin config variables</a></li> +<li><a class="reference internal" href="#development">Development</a></li> +<li><a class="reference internal" href="#available-plugins">Available Plugins</a></li> +</ul> +</li> +</ul> + + </div> + </div> + </div> + + + </aside> + </div> +</div><script src="../_static/documentation_options.js?v=5929fcd5"></script> + <script src="../_static/doctools.js?v=888ff710"></script> + <script src="../_static/sphinx_highlight.js?v=dc90522c"></script> + <script src="../_static/scripts/furo.js?v=32e29ea5"></script> + </body> +</html> \ No newline at end of file diff --git a/pycharm/configuration.html b/pycharm/configuration.html index 188f452929..0094b88182 100644 --- a/pycharm/configuration.html +++ b/pycharm/configuration.html @@ -160,6 +160,7 @@ <li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Debugging with Pycharm</a></li> <li class="toctree-l1"><a class="reference internal" href="../working-components/configuration.html">Working Components</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-configuration/configuration.html">Environment Variables</a></li> +<li class="toctree-l1"><a class="reference internal" href="../pluggable-apps/configuration.html">Pluggable Apps</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-commands/configuration.html">Django Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="../github-repo/configuration.html">GitHub Repository</a></li> <li class="toctree-l1"><a class="reference internal" href="../others/configuration.html">Other Details</a></li> diff --git a/search.html b/search.html index 1af61748e6..a3b334ddc4 100644 --- a/search.html +++ b/search.html @@ -157,6 +157,7 @@ <li class="toctree-l1"><a class="reference internal" href="pycharm/configuration.html">Debugging with Pycharm</a></li> <li class="toctree-l1"><a class="reference internal" href="working-components/configuration.html">Working Components</a></li> <li class="toctree-l1"><a class="reference internal" href="django-configuration/configuration.html">Environment Variables</a></li> +<li class="toctree-l1"><a class="reference internal" href="pluggable-apps/configuration.html">Pluggable Apps</a></li> <li class="toctree-l1"><a class="reference internal" href="django-commands/configuration.html">Django Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="github-repo/configuration.html">GitHub Repository</a></li> <li class="toctree-l1"><a class="reference internal" href="others/configuration.html">Other Details</a></li> diff --git a/searchindex.js b/searchindex.js index 74039c84b8..a929fe60a7 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["django-commands/configuration", "django-configuration/configuration", "github-repo/configuration", "glossary/configuration", "index", "local-setup/configuration", "middleware/configuration", "others/configuration", "pycharm/configuration", "working-components/configuration"], "filenames": ["django-commands/configuration.rst", "django-configuration/configuration.rst", "github-repo/configuration.rst", "glossary/configuration.rst", "index.rst", "local-setup/configuration.rst", "middleware/configuration.rst", "others/configuration.rst", "pycharm/configuration.rst", "working-components/configuration.rst"], "titles": ["Django Commands", "Environment Variables", "GitHub Repository", "Glossary", "Welcome to Care\u2019s documentation!", "Setting up development environment", "Connecting with Middleware", "Other Details", "Debugging with Pycharm", "Working Components"], "terms": {"all": [0, 2, 3, 5, 8, 9], "must": [0, 2, 6], "execut": [0, 1, 8, 9], "invok": 0, "python": [0, 4, 5, 7], "manag": [0, 3, 5, 7, 8], "py": [0, 5, 7, 8], "so": [0, 2, 5, 9], "exampl": [0, 1, 3, 9], "i": [0, 1, 2, 3, 5, 8, 9], "do_someth": 0, "correct": 0, "wai": [0, 5], "call": 0, "make": [0, 5, 8, 9], "sure": [0, 5, 8], "run": [0, 3, 4, 7, 8, 9], "root": 0, "directori": [0, 5, 8], "project": [0, 2, 8, 9], "ani": [0, 2, 5, 9], "virtual": [0, 7], "environ": [0, 4, 7], "present": 0, "activ": 0, "befor": [0, 5], "argument": 0, "descript": [0, 3], "createsuperus": [0, 5], "none": 0, "thi": [0, 1, 3, 5, 7, 8, 9], "us": [0, 3, 4, 7, 8, 9], "creat": [0, 3, 5, 9], "superus": [0, 5], "care": [0, 2, 3, 5, 8, 9], "applic": [0, 2, 3, 7, 9], "ar": [0, 2, 3, 5, 7, 8, 9], "abl": 0, "log": 0, "through": [0, 9], "admin": 0, "panel": [0, 8], "access": [0, 9], "scope": 0, "do": [0, 5, 8], "appli": 0, "them": [0, 8], "pleas": 0, "take": [0, 5, 8], "caution": 0, "when": [0, 3, 9], "strict": 0, "password": [0, 5, 9], "polici": 0, "account": [0, 5], "ideal": [0, 9], "should": [0, 3, 6, 8, 9], "onli": [0, 5, 9], "one": [0, 3, 9], "invoc": 0, "load_dummy_data": [0, 5], "load": [0, 5, 9], "dummi": [0, 5], "data": [0, 1, 3, 5, 9], "test": [0, 1, 3, 4, 8], "develop": [0, 2, 3, 4], "purpos": [0, 9], "user": [0, 4], "devdistrictadmin": 0, "coronasaf": [0, 3, 9], "123": 0, "popul": 0, "load_data": 0, "kerala": 0, "seed_data": 0, "intention": 0, "fail": [0, 5], "stage": [0, 2], "product": [0, 2], "state_nam": 0, "district": [0, 1], "lsg": 0, "ward": [0, 3], "level": [0, 3], "given": [0, 9], "state": [0, 3, 8], "The": [0, 2, 5, 6, 9], "import": [0, 8], "scrape": 0, "from": [0, 2, 3, 6, 8], "variou": [0, 7, 9], "sourc": [0, 2, 3], "can": [0, 3, 5, 8, 9], "chang": [0, 5, 9], "point": 0, "If": [0, 1, 5, 8, 9], "name": [0, 3, 5, 8, 9], "avail": [0, 2], "load_medicines_data": 0, "medibas": 0, "medicin": 0, "databas": [0, 4, 5], "json": [0, 7], "static": [0, 5, 9], "need": [0, 3, 7, 9], "includ": [0, 3], "inventori": [0, 4], "seed": 0, "oxygen": [0, 3], "medic": [0, 3], "etc": [0, 3, 5], "load_skill_data": 0, "default": [0, 1, 9], "skill": 0, "summar": [0, 1, 9], "summari": [0, 9], "job": [0, 9], "celeri": [0, 1, 4, 5], "everi": [0, 5], "10": [0, 5], "min": 0, "we": [0, 3], "forc": 0, "current": 0, "updat": [0, 2, 8, 9], "tabl": 0, "valu": [1, 5], "2020": 1, "01": 1, "minimum": [1, 3], "date": [1, 3], "possibl": 1, "consult": 1, "encount": 1, "2000": 1, "true": 1, "set": [1, 3, 4, 8], "fals": 1, "task": [1, 4, 5], "triag": 1, "facil": [1, 4, 6, 9], "capac": [1, 4], "patient": [1, 4, 5, 9], "repo": [2, 5], "here": [2, 5], "contain": [2, 5, 6], "code": [2, 5, 8, 9], "apart": 2, "secret": 2, "configur": [2, 4, 6, 9], "runtim": 2, "exact": 2, "copi": [2, 5], "deploi": [2, 9], "branch": 2, "auto": 2, "instanc": [2, 9], "regard": [2, 5], "beta": 2, "version": [2, 5], "releas": 2, "candid": 2, "stabl": 2, "tag": 2, "pr": 2, "": [2, 3], "issu": [2, 4, 5], "monitor": 2, "review": 2, "team": [2, 9], "merg": 2, "after": [2, 5, 8], "secur": 2, "other": [2, 3, 4, 5, 8], "fork": 2, "deploy": [2, 8, 9], "follow": [2, 5], "same": 2, "structur": [2, 9], "remain": 2, "sync": 2, "keep": [2, 3], "get": [2, 5, 8], "comprehens": 3, "tool": [3, 5, 9], "built": [3, 9], "specif": 3, "covid": 3, "pandem": 3, "It": [3, 9], "web": [3, 7], "base": [3, 8], "host": 3, "http": [3, 5, 8], "network": 3, "document": [3, 7], "give": [3, 5], "an": [3, 5, 9], "overview": 3, "system": 3, "who": 3, "willing": 3, "contribut": 3, "maintain": 3, "process": [3, 9], "up": [3, 4, 9], "right": 3, "mean": 3, "each": [3, 9], "record": 3, "associ": 3, "repres": 3, "hospit": [3, 5], "There": [3, 5, 9], "15": [3, 5], "type": [3, 4], "its": [3, 8, 9], "id": [3, 5, 6, 7], "number": [3, 5, 9], "convent": 3, "ha": 3, "basic": [3, 4], "inform": [3, 9], "bed": 3, "cylind": 3, "doctor": [3, 5], "refer": 3, "karunya": 3, "arogya": 3, "suraksha": 3, "padhathi": 3, "kasp": 3, "health": 3, "scheme": 3, "item": 3, "good": 3, "merchandis": 3, "materi": 3, "held": 3, "help": [3, 5, 9], "u": [3, 5], "track": 3, "stock": 3, "could": 3, "ppe": 3, "kit": 3, "rice": 3, "mask": [3, 9], "also": [3, 5, 9], "quantiti": 3, "notifi": 3, "out": [3, 5], "hold": 3, "detail": [3, 4, 5, 9], "count": [3, 9], "would": 3, "occupi": 3, "total": 3, "have": [3, 5, 8, 9], "multipl": [3, 9], "These": 3, "which": [3, 5, 8, 9], "flexibl": 3, "custom": 3, "accord": 3, "ad": [3, 8], "differ": [3, 8], "depart": 3, "thing": [3, 8], "instrument": 3, "equip": 3, "properti": 3, "link": 3, "move": 3, "anoth": 3, "within": 3, "come": [3, 8], "rt": 3, "pcr": 3, "antigen": 3, "privat": [3, 9], "lab": 3, "thei": [3, 8], "found": 3, "suspect": 3, "under": 3, "manual": [3, 4], "directli": [3, 8], "pull": 3, "three": [3, 9], "main": [3, 5], "section": 3, "person": 3, "histori": 3, "uniqu": 3, "identifi": 3, "phone": [3, 5], "birth": 3, "overal": 3, "concept": 3, "diagram": 3, "download": 3, "excalidraw": 3, "file": [3, 5, 8], "docker": [4, 8], "compos": [4, 8], "setup": 4, "postgr": 4, "first": [4, 8], "time": [4, 9], "pre": 4, "commit": 4, "command": [4, 7, 8], "your": [4, 8], "check": 4, "debug": 4, "pycharm": 4, "remot": 4, "interpret": 4, "known": 4, "work": 4, "compon": 4, "backend": 4, "django": [4, 8], "schedul": 4, "beat": 4, "worker": 4, "postgresql": [4, 5], "cach": [4, 5], "redi": [4, 5], "bucket": 4, "s3": 4, "sm": 4, "gatewai": 4, "aw": [4, 5], "sn": 4, "email": [4, 5], "se": 4, "report": 4, "infrastructur": 4, "variabl": 4, "min_encounter_d": 4, "task_summarize_triag": 4, "task_summarize_test": 4, "task_summarize_facility_capac": 4, "task_summarize_pati": 4, "task_summarize_district_pati": 4, "github": 4, "repositori": [4, 8], "vapid": 4, "kei": 4, "jwk": 4, "glossari": 4, "hierarchi": 4, "model": [4, 9], "locat": 4, "asset": 4, "extern": [4, 9], "result": [4, 9], "resourc": 4, "connect": [4, 8, 9], "middlewar": 4, "index": [4, 8], "modul": 4, "search": 4, "page": [4, 7, 9], "two": 5, "server": [5, 6, 7, 9], "most": [5, 8], "recommend": 5, "you": [5, 8, 9], "don": 5, "t": 5, "5": 5, "memori": [5, 9], "queue": 5, "localstack": 5, "mimic": 5, "servic": [5, 8], "local": [5, 8], "instal": [5, 8], "appropri": 5, "depend": 5, "chanc": 5, "conflict": 5, "might": [5, 8], "while": 5, "upon": 5, "internet": 5, "speed": 5, "machin": [5, 8], "spec": 5, "step": 5, "start": 5, "To": [5, 7, 8], "open": [5, 7], "browser": 5, "go": [5, 8], "localhost": 5, "9000": 5, "stop": 5, "down": 5, "sudo": 5, "psql": 5, "see": [5, 8], "error": 5, "fatal": 5, "peer": 5, "authent": [5, 6], "In": [5, 8], "shell": 5, "exit": 5, "q": 5, "edit": 5, "pg_hba": 5, "conf": 5, "md5": 5, "restart": 5, "login": [5, 9], "grant": 5, "privileg": 5, "ON": 5, "TO": 5, "mai": 5, "replac": 5, "prefer": 5, "Then": 5, "list": 5, "git": [5, 8], "hook": 5, "featur": [5, 9], "fix": 5, "small": 5, "packag": 5, "organis": 5, "more": 5, "pre_commit_sit": 5, "pipenv": 5, "categori": 5, "dev": 5, "want": 5, "faq": 5, "reach": 5, "coronasafe_django": 5, "channel": 5, "slack": 5, "resolv": 5, "prompt": 5, "usernam": 5, "enter": 5, "goe": 5, "done": 5, "note": 5, "thisw": 5, "virtualenv": 5, "export": [5, 7], "database_url": 5, "127": 5, "0": 5, "1": 5, "5432": 5, "migrat": [5, 8], "everyth": 5, "ok": [5, 8], "again": 5, "now": 5, "ignor": 5, "warn": 5, "usertyp": 5, "staff": 5, "administr": 5, "20": 5, "volunt": 5, "gender": 5, "male": 5, "2": [5, 9], "femal": 5, "3": 5, "e": [5, 9], "mail": 5, "phonenumb": 5, "ten": 5, "digit": 5, "css": [5, 9], "j": [5, 9], "imag": [5, 9], "media": 5, "websit": [5, 7], "style": 5, "collectstat": 5, "mypi": 5, "config": 5, "n": 5, "improperlyconfigur": 5, "spatialit": 5, "librari": 5, "extens": 5, "apt": 5, "libsqlite3": 5, "mod": 5, "request": [6, 9], "auth": 6, "token": [6, 9], "middleware_bear": 6, "realm": 6, "facility_id": 6, "x": [6, 8], "header": 6, "asset_id": 6, "jwt": 6, "auxiliari": 7, "topic": 7, "voluntari": 7, "ident": 7, "mainli": 7, "send": [7, 9], "receiv": 7, "push": 7, "notif": [7, 9], "gener": 7, "keypair": 7, "npx": 7, "perform": 7, "verif": 7, "generate_jwk": 7, "obtain": 7, "base64": 7, "string": 7, "jwks_base64": 7, "insid": 8, "awar": 8, "build": 8, "linux": 8, "socket": 8, "unix": 8, "var": 8, "sock": 8, "window": 8, "mac": 8, "simpli": 8, "credenti": 8, "alreadi": 8, "prepar": 8, "But": 8, "begin": 8, "someth": 8, "wrong": 8, "red": 8, "icon": 8, "cannot": [8, 9], "without": 8, "interptet": 8, "next": 8, "add": 8, "new": 8, "click": 8, "cog": 8, "switch": 8, "select": 8, "yml": 8, "close": 8, "wait": 8, "few": 8, "second": 8, "readi": 8, "provid": [8, 9], "mani": 8, "hang": 8, "debugg": 8, "fault": 8, "firewal": 8, "look": 8, "ticket": 8, "youtrack": 8, "jetbrain": 8, "com": 8, "18913": 8, "modifi": 8, "idea": 8, "were": 8, "gitignor": 8, "except": 8, "made": 8, "some": 8, "alter": 8, "theori": 8, "remov": [8, 9], "peopl": 8, "lose": 8, "abil": 8, "initi": 8, "did": 8, "rid": 8, "annoi": 8, "assum": 8, "unchang": 8, "iml": 8, "explain": 9, "gunicorn": 9, "serv": 9, "No": 9, "core": 9, "per": 9, "sinc": 9, "involv": 9, "veri": 9, "littl": 9, "cpu": 9, "alloc": 9, "increas": 9, "balanc": 9, "scale": 9, "certain": 9, "interv": 9, "similar": 9, "cron": 9, "respons": 9, "period": 9, "doe": 9, "actual": 9, "becaus": 9, "crucial": 9, "alwai": 9, "asynchron": 9, "event": 9, "produc": 9, "discharg": 9, "background": 9, "requir": 9, "store": 9, "rabbitmq": 9, "instead": 9, "highli": 9, "discourag": 9, "lot": 9, "api": 9, "rout": 9, "layer": 9, "context": 9, "intermedi": 9, "queri": 9, "permiss": 9, "avoid": 9, "intellig": 9, "enough": 9, "describ": 9, "primari": 9, "object": 9, "storag": 9, "support": 9, "primarili": 9, "public": 9, "like": 9, "g": 9, "cover": 9, "confidenti": 9, "encrypt": 9, "rest": 9, "transit": 9, "enabl": 9, "sign": 9, "upload": 9, "happen": 9, "manner": 9, "mechan": 9, "random": 9, "relat": 9, "even": 9, "worst": 9, "case": 9, "scenario": 9, "damag": 9, "minim": 9, "via": 9, "otp": 9, "shift": 9, "reset": 9, "crash": 9, "itself": 9, "realli": 9, "advis": 9, "metabas": 9, "superset": 9, "busi": 9, "read": 9, "replica": 9, "pii": 9, "field": 9, "allow": 9, "much": 9, "higher": 9, "visibl": 9, "better": 9, "driven": 9, "decis": 9, "ask": 9, "share": 9, "exist": 9, "dashboard": 9, "simplic": 9, "design": 9, "easi": 9}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"django": [0, 9], "command": [0, 5], "environ": [1, 5], "variabl": 1, "min_encounter_d": 1, "task_summarize_triag": 1, "task_summarize_test": 1, "task_summarize_facility_capac": 1, "task_summarize_pati": 1, "task_summarize_district_pati": 1, "github": 2, "repositori": 2, "glossari": 3, "hierarchi": 3, "model": 3, "facil": 3, "inventori": 3, "capac": 3, "locat": 3, "asset": 3, "extern": 3, "result": 3, "patient": 3, "resourc": 3, "welcom": 4, "care": 4, "": 4, "document": 4, "content": 4, "indic": 4, "tabl": 4, "set": 5, "up": 5, "develop": 5, "us": 5, "docker": 5, "compos": 5, "manual": 5, "setup": 5, "postgr": 5, "first": 5, "time": 5, "pre": 5, "commit": 5, "basic": 5, "your": 5, "user": 5, "type": 5, "check": 5, "run": 5, "test": 5, "connect": 6, "middlewar": 6, "other": 7, "detail": 7, "vapid": 7, "kei": 7, "jwk": 7, "debug": 8, "pycharm": 8, "configur": 8, "remot": 8, "python": 8, "interpret": 8, "known": 8, "issu": 8, "work": 9, "compon": 9, "backend": 9, "task": 9, "schedul": 9, "celeri": 9, "beat": 9, "worker": 9, "databas": 9, "postgresql": 9, "cach": 9, "redi": 9, "bucket": 9, "s3": 9, "sm": 9, "gatewai": 9, "aw": 9, "sn": 9, "email": 9, "se": 9, "report": 9, "infrastructur": 9}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"Django Commands": [[0, "django-commands"]], "Environment Variables": [[1, "environment-variables"]], "MIN_ENCOUNTER_DATE": [[1, "min-encounter-date"]], "TASK_SUMMARIZE_TRIAGE": [[1, "task-summarize-triage"]], "TASK_SUMMARIZE_TESTS": [[1, "task-summarize-tests"]], "TASK_SUMMARIZE_FACILITY_CAPACITY": [[1, "task-summarize-facility-capacity"]], "TASK_SUMMARIZE_PATIENT": [[1, "task-summarize-patient"]], "TASK_SUMMARIZE_DISTRICT_PATIENT": [[1, "task-summarize-district-patient"]], "GitHub Repository": [[2, "github-repository"]], "Glossary": [[3, "glossary"]], "Hierarchy": [[3, "hierarchy"]], "Models": [[3, "models"]], "Facility": [[3, "facility"]], "Inventory": [[3, "inventory"]], "Capacity": [[3, "capacity"]], "Location": [[3, "location"]], "Assets": [[3, "assets"]], "External Results": [[3, "external-results"]], "Patient": [[3, "patient"]], "Resources": [[3, "resources"]], "Welcome to Care\u2019s documentation!": [[4, "welcome-to-care-s-documentation"]], "Contents:": [[4, null]], "Indices and tables": [[4, "indices-and-tables"]], "Setting up development environment": [[5, "setting-up-development-environment"]], "Using Docker Compose": [[5, "using-docker-compose"]], "Manual setup": [[5, "manual-setup"]], "Setting up postgres for the first time": [[5, "setting-up-postgres-for-the-first-time"]], "Setting up Pre-Commit": [[5, "setting-up-pre-commit"]], "Basic Commands": [[5, "basic-commands"]], "Setting Up Your Users": [[5, "setting-up-your-users"]], "Type checks": [[5, "type-checks"]], "Run Tests": [[5, "run-tests"]], "Connecting with Middleware": [[6, "connecting-with-middleware"]], "Other Details": [[7, "other-details"]], "VAPID Keys": [[7, "vapid-keys"]], "JWKs": [[7, "jwks"]], "Debugging with Pycharm": [[8, "debugging-with-pycharm"]], "Configure Remote Python Interpreter": [[8, "configure-remote-python-interpreter"]], "Known issues": [[8, "known-issues"]], "Working Components": [[9, "working-components"]], "Backend (Django)": [[9, "backend-django"]], "Task Scheduler (celery beat)": [[9, "task-scheduler-celery-beat"]], "Task Worker (celery worker)": [[9, "task-worker-celery-worker"]], "Database (PostgreSQL)": [[9, "database-postgresql"]], "Cache (Redis)": [[9, "cache-redis"]], "Bucket (S3)": [[9, "bucket-s3"]], "SMS Gateway (AWS SNS)": [[9, "sms-gateway-aws-sns"]], "Email Gateway (AWS SES)": [[9, "email-gateway-aws-ses"]], "Reporting Infrastructure": [[9, "reporting-infrastructure"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["django-commands/configuration", "django-configuration/configuration", "github-repo/configuration", "glossary/configuration", "index", "local-setup/configuration", "middleware/configuration", "others/configuration", "pluggable-apps/configuration", "pycharm/configuration", "working-components/configuration"], "filenames": ["django-commands/configuration.rst", "django-configuration/configuration.rst", "github-repo/configuration.rst", "glossary/configuration.rst", "index.rst", "local-setup/configuration.rst", "middleware/configuration.rst", "others/configuration.rst", "pluggable-apps/configuration.md", "pycharm/configuration.rst", "working-components/configuration.rst"], "titles": ["Django Commands", "Environment Variables", "GitHub Repository", "Glossary", "Welcome to Care\u2019s documentation!", "Setting up development environment", "Connecting with Middleware", "Other Details", "Pluggable Apps", "Debugging with Pycharm", "Working Components"], "terms": {"all": [0, 2, 3, 5, 9, 10], "must": [0, 2, 6], "execut": [0, 1, 9, 10], "invok": 0, "python": [0, 4, 5, 7], "manag": [0, 3, 5, 7, 8, 9], "py": [0, 5, 7, 8, 9], "so": [0, 2, 5, 10], "exampl": [0, 1, 3, 8, 10], "i": [0, 1, 2, 3, 5, 8, 9, 10], "do_someth": 0, "correct": 0, "wai": [0, 5], "call": 0, "make": [0, 5, 9, 10], "sure": [0, 5, 9], "run": [0, 3, 4, 7, 8, 9, 10], "root": 0, "directori": [0, 5, 9], "project": [0, 2, 9, 10], "ani": [0, 2, 5, 8, 10], "virtual": [0, 7], "environ": [0, 4, 7, 8], "present": 0, "activ": 0, "befor": [0, 5], "argument": 0, "descript": [0, 3], "createsuperus": [0, 5], "none": 0, "thi": [0, 1, 3, 5, 7, 9, 10], "us": [0, 3, 4, 7, 8, 9, 10], "creat": [0, 3, 5, 8, 10], "superus": [0, 5], "care": [0, 2, 3, 5, 8, 9, 10], "applic": [0, 2, 3, 7, 10], "ar": [0, 2, 3, 5, 7, 8, 9, 10], "abl": 0, "log": 0, "through": [0, 10], "admin": 0, "panel": [0, 9], "access": [0, 10], "scope": 0, "do": [0, 5, 9], "appli": 0, "them": [0, 8, 9], "pleas": 0, "take": [0, 5, 9], "caution": 0, "when": [0, 3, 10], "strict": 0, "password": [0, 5, 10], "polici": 0, "account": [0, 5], "ideal": [0, 10], "should": [0, 3, 6, 9, 10], "onli": [0, 5, 10], "one": [0, 3, 10], "invoc": 0, "load_dummy_data": [0, 5], "load": [0, 5, 8, 10], "dummi": [0, 5], "data": [0, 1, 3, 5, 10], "test": [0, 1, 3, 4, 9], "develop": [0, 2, 3, 4], "purpos": [0, 10], "user": [0, 4], "devdistrictadmin": 0, "coronasaf": [0, 3, 10], "123": 0, "popul": 0, "load_data": 0, "kerala": 0, "seed_data": 0, "intention": 0, "fail": [0, 5], "stage": [0, 2], "product": [0, 2], "state_nam": 0, "district": [0, 1], "lsg": 0, "ward": [0, 3], "level": [0, 3], "given": [0, 10], "state": [0, 3, 9], "The": [0, 2, 5, 6, 8, 10], "import": [0, 8, 9], "scrape": 0, "from": [0, 2, 3, 6, 8, 9], "variou": [0, 7, 10], "sourc": [0, 2, 3], "can": [0, 3, 5, 8, 9, 10], "chang": [0, 5, 10], "point": 0, "If": [0, 1, 5, 8, 9, 10], "name": [0, 3, 5, 8, 9, 10], "avail": [0, 2, 4], "load_medicines_data": 0, "medibas": 0, "medicin": 0, "databas": [0, 4, 5], "json": [0, 7], "static": [0, 5, 10], "need": [0, 3, 7, 8, 10], "includ": [0, 3, 8], "inventori": [0, 4], "seed": 0, "oxygen": [0, 3], "medic": [0, 3], "etc": [0, 3, 5, 8], "load_skill_data": 0, "default": [0, 1, 8, 10], "skill": 0, "summar": [0, 1, 10], "summari": [0, 10], "job": [0, 10], "celeri": [0, 1, 4, 5], "everi": [0, 5], "10": [0, 5, 8], "min": 0, "we": [0, 3], "forc": 0, "current": 0, "updat": [0, 2, 9, 10], "tabl": 0, "valu": [1, 5, 8], "2020": 1, "01": 1, "minimum": [1, 3], "date": [1, 3], "possibl": 1, "consult": [1, 8], "encount": 1, "2000": 1, "true": 1, "set": [1, 3, 4, 9], "fals": 1, "task": [1, 4, 5], "triag": 1, "facil": [1, 4, 6, 10], "capac": [1, 4], "patient": [1, 4, 5, 10], "repo": [2, 5], "here": [2, 5], "contain": [2, 5, 6], "code": [2, 5, 9, 10], "apart": 2, "secret": 2, "configur": [2, 4, 6, 8, 10], "runtim": 2, "exact": 2, "copi": [2, 5], "deploi": [2, 10], "branch": 2, "auto": 2, "instanc": [2, 10], "regard": [2, 5], "beta": 2, "version": [2, 5, 8], "releas": 2, "candid": 2, "stabl": 2, "tag": 2, "pr": 2, "": [2, 3], "issu": [2, 4, 5], "monitor": 2, "review": 2, "team": [2, 10], "merg": 2, "after": [2, 5, 9], "secur": 2, "other": [2, 3, 4, 5, 9], "fork": 2, "deploy": [2, 9, 10], "follow": [2, 5, 8], "same": 2, "structur": [2, 8, 10], "remain": 2, "sync": 2, "keep": [2, 3], "get": [2, 5, 8, 9], "comprehens": 3, "tool": [3, 5, 10], "built": [3, 10], "specif": 3, "covid": 3, "pandem": 3, "It": [3, 10], "web": [3, 7], "base": [3, 9], "host": 3, "http": [3, 5, 8, 9], "network": 3, "document": [3, 7], "give": [3, 5], "an": [3, 5, 10], "overview": [3, 4], "system": 3, "who": 3, "willing": 3, "contribut": 3, "maintain": 3, "process": [3, 10], "up": [3, 4, 10], "right": 3, "mean": 3, "each": [3, 8, 10], "record": 3, "associ": 3, "repres": 3, "hospit": [3, 5], "There": [3, 5, 10], "15": [3, 5], "type": [3, 4], "its": [3, 8, 9, 10], "id": [3, 5, 6, 7], "number": [3, 5, 10], "convent": 3, "ha": 3, "basic": [3, 4, 8], "inform": [3, 10], "bed": 3, "cylind": 3, "doctor": [3, 5], "refer": 3, "karunya": 3, "arogya": 3, "suraksha": 3, "padhathi": 3, "kasp": 3, "health": 3, "scheme": 3, "item": 3, "good": 3, "merchandis": 3, "materi": 3, "held": 3, "help": [3, 5, 10], "u": [3, 5], "track": 3, "stock": 3, "could": 3, "ppe": 3, "kit": 3, "rice": 3, "mask": [3, 10], "also": [3, 5, 8, 10], "quantiti": 3, "notifi": 3, "out": [3, 5], "hold": 3, "detail": [3, 4, 5, 10], "count": [3, 10], "would": 3, "occupi": 3, "total": 3, "have": [3, 5, 9, 10], "multipl": [3, 10], "These": [3, 8], "which": [3, 5, 9, 10], "flexibl": 3, "custom": 3, "accord": 3, "ad": [3, 9], "differ": [3, 9], "depart": 3, "thing": [3, 9], "instrument": 3, "equip": 3, "properti": 3, "link": 3, "move": 3, "anoth": 3, "within": 3, "come": [3, 9], "rt": 3, "pcr": 3, "antigen": 3, "privat": [3, 10], "lab": 3, "thei": [3, 8, 9], "found": 3, "suspect": 3, "under": [3, 8], "manual": [3, 4], "directli": [3, 9], "pull": 3, "three": [3, 10], "main": [3, 5], "section": 3, "person": 3, "histori": 3, "uniqu": 3, "identifi": 3, "phone": [3, 5], "birth": 3, "overal": 3, "concept": 3, "diagram": 3, "download": 3, "excalidraw": 3, "file": [3, 5, 8, 9], "docker": [4, 8, 9], "compos": [4, 9], "setup": 4, "postgr": 4, "first": [4, 9], "time": [4, 8, 10], "pre": 4, "commit": 4, "command": [4, 7, 9], "your": [4, 8, 9], "check": 4, "debug": 4, "pycharm": 4, "remot": 4, "interpret": 4, "known": 4, "work": 4, "compon": [4, 8], "backend": 4, "django": [4, 8, 9], "schedul": 4, "beat": 4, "worker": 4, "postgresql": [4, 5], "cach": [4, 5], "redi": [4, 5], "bucket": 4, "s3": 4, "sm": 4, "gatewai": 4, "aw": [4, 5], "sn": 4, "email": [4, 5], "se": 4, "report": 4, "infrastructur": 4, "variabl": 4, "min_encounter_d": 4, "task_summarize_triag": 4, "task_summarize_test": 4, "task_summarize_facility_capac": 4, "task_summarize_pati": 4, "task_summarize_district_pati": 4, "pluggabl": 4, "app": 4, "plugin": 4, "config": [4, 5], "github": [4, 8], "repositori": [4, 9], "vapid": 4, "kei": 4, "jwk": 4, "glossari": 4, "hierarchi": 4, "model": [4, 8, 10], "locat": 4, "asset": 4, "extern": [4, 10], "result": [4, 10], "resourc": 4, "connect": [4, 9, 10], "middlewar": 4, "index": [4, 9], "modul": 4, "search": 4, "page": [4, 7, 10], "two": 5, "server": [5, 6, 7, 10], "most": [5, 9], "recommend": [5, 8], "you": [5, 8, 9, 10], "don": 5, "t": 5, "5": 5, "memori": [5, 10], "queue": 5, "localstack": 5, "mimic": 5, "servic": [5, 9], "local": [5, 8, 9], "instal": [5, 8, 9], "appropri": 5, "depend": 5, "chanc": 5, "conflict": 5, "might": [5, 9], "while": 5, "upon": 5, "internet": 5, "speed": 5, "machin": [5, 9], "spec": 5, "step": 5, "start": [5, 8], "To": [5, 7, 8, 9], "open": [5, 7], "browser": 5, "go": [5, 9], "localhost": 5, "9000": 5, "stop": 5, "down": 5, "sudo": 5, "psql": 5, "see": [5, 9], "error": 5, "fatal": 5, "peer": 5, "authent": [5, 6], "In": [5, 9], "shell": 5, "exit": 5, "q": 5, "edit": [5, 8], "pg_hba": 5, "conf": 5, "md5": 5, "restart": 5, "login": [5, 10], "grant": 5, "privileg": 5, "ON": 5, "TO": 5, "mai": 5, "replac": 5, "prefer": 5, "Then": 5, "list": 5, "git": [5, 8, 9], "hook": 5, "featur": [5, 10], "fix": 5, "small": 5, "packag": 5, "organis": 5, "more": 5, "pre_commit_sit": 5, "pipenv": 5, "categori": 5, "dev": 5, "want": 5, "faq": 5, "reach": 5, "coronasafe_django": 5, "channel": 5, "slack": 5, "resolv": 5, "prompt": 5, "usernam": 5, "enter": 5, "goe": 5, "done": 5, "note": 5, "thisw": 5, "virtualenv": 5, "export": [5, 7], "database_url": 5, "127": 5, "0": [5, 8], "1": 5, "5432": 5, "migrat": [5, 9], "everyth": 5, "ok": [5, 9], "again": 5, "now": 5, "ignor": 5, "warn": 5, "usertyp": 5, "staff": 5, "administr": 5, "20": 5, "volunt": 5, "gender": 5, "male": 5, "2": [5, 10], "femal": 5, "3": 5, "e": [5, 8, 10], "mail": 5, "phonenumb": 5, "ten": 5, "digit": 5, "css": [5, 10], "j": [5, 10], "imag": [5, 8, 10], "media": 5, "websit": [5, 7], "style": 5, "collectstat": 5, "mypi": 5, "n": 5, "improperlyconfigur": 5, "spatialit": 5, "librari": 5, "extens": 5, "apt": 5, "libsqlite3": 5, "mod": 5, "request": [6, 10], "auth": 6, "token": [6, 10], "middleware_bear": 6, "realm": 6, "facility_id": 6, "x": [6, 9], "header": 6, "asset_id": 6, "jwt": 6, "auxiliari": 7, "topic": 7, "voluntari": 7, "ident": 7, "mainli": 7, "send": [7, 10], "receiv": 7, "push": 7, "notif": [7, 10], "gener": 7, "keypair": 7, "npx": 7, "perform": 7, "verif": 7, "generate_jwk": 7, "obtain": 7, "base64": 7, "string": 7, "jwks_base64": 7, "support": [8, 10], "extend": 8, "function": 8, "defin": 8, "plug_config": 8, "automat": 8, "dure": 8, "build": [8, 9], "howev": 8, "doe": [8, 10], "own": 8, "overrid": 8, "plug": 8, "plugmanag": 8, "my_plugin": 8, "package_nam": 8, "com": [8, 9], "octo": 8, "v1": 8, "service_api_kei": 8, "my_api_kei": 8, "service_secret_kei": 8, "my_secret_kei": 8, "value_1_max": 8, "some": [8, 9], "pick": 8, "requir": [8, 10], "order": 8, "preced": 8, "cookiecutt": 8, "typic": 8, "where": 8, "view": 8, "url": 8, "folder": 8, "api": [8, 10], "mode": 8, "pip": 8, "path": 8, "inherit": 8, "core": [8, 10], "scribe": 8, "provid": [8, 9, 10], "autofil": 8, "form": 8, "insid": 9, "awar": 9, "linux": 9, "socket": 9, "unix": 9, "var": 9, "sock": 9, "window": 9, "mac": 9, "simpli": 9, "credenti": 9, "alreadi": 9, "prepar": 9, "But": 9, "begin": 9, "someth": 9, "wrong": 9, "red": 9, "icon": 9, "cannot": [9, 10], "without": 9, "interptet": 9, "next": 9, "add": 9, "new": 9, "click": 9, "cog": 9, "switch": 9, "select": 9, "yml": 9, "close": 9, "wait": 9, "few": 9, "second": 9, "readi": 9, "mani": 9, "hang": 9, "debugg": 9, "fault": 9, "firewal": 9, "look": 9, "ticket": 9, "youtrack": 9, "jetbrain": 9, "18913": 9, "modifi": 9, "idea": 9, "were": 9, "gitignor": 9, "except": 9, "made": 9, "alter": 9, "theori": 9, "remov": [9, 10], "peopl": 9, "lose": 9, "abil": 9, "initi": 9, "did": 9, "rid": 9, "annoi": 9, "assum": 9, "unchang": 9, "iml": 9, "explain": 10, "gunicorn": 10, "serv": 10, "No": 10, "per": 10, "sinc": 10, "involv": 10, "veri": 10, "littl": 10, "cpu": 10, "alloc": 10, "increas": 10, "balanc": 10, "scale": 10, "certain": 10, "interv": 10, "similar": 10, "cron": 10, "respons": 10, "period": 10, "actual": 10, "becaus": 10, "crucial": 10, "alwai": 10, "asynchron": 10, "event": 10, "produc": 10, "discharg": 10, "background": 10, "store": 10, "rabbitmq": 10, "instead": 10, "highli": 10, "discourag": 10, "lot": 10, "rout": 10, "layer": 10, "context": 10, "intermedi": 10, "queri": 10, "permiss": 10, "avoid": 10, "intellig": 10, "enough": 10, "describ": 10, "primari": 10, "object": 10, "storag": 10, "primarili": 10, "public": 10, "like": 10, "g": 10, "cover": 10, "confidenti": 10, "encrypt": 10, "rest": 10, "transit": 10, "enabl": 10, "sign": 10, "upload": 10, "happen": 10, "manner": 10, "mechan": 10, "random": 10, "relat": 10, "even": 10, "worst": 10, "case": 10, "scenario": 10, "damag": 10, "minim": 10, "via": 10, "otp": 10, "shift": 10, "reset": 10, "crash": 10, "itself": 10, "realli": 10, "advis": 10, "metabas": 10, "superset": 10, "busi": 10, "read": 10, "replica": 10, "pii": 10, "field": 10, "allow": 10, "much": 10, "higher": 10, "visibl": 10, "better": 10, "driven": 10, "decis": 10, "ask": 10, "share": 10, "exist": 10, "dashboard": 10, "simplic": 10, "design": 10, "easi": 10}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"django": [0, 10], "command": [0, 5], "environ": [1, 5], "variabl": [1, 8], "min_encounter_d": 1, "task_summarize_triag": 1, "task_summarize_test": 1, "task_summarize_facility_capac": 1, "task_summarize_pati": 1, "task_summarize_district_pati": 1, "github": 2, "repositori": 2, "glossari": 3, "hierarchi": 3, "model": 3, "facil": 3, "inventori": 3, "capac": 3, "locat": 3, "asset": 3, "extern": 3, "result": 3, "patient": 3, "resourc": 3, "welcom": 4, "care": 4, "": 4, "document": 4, "content": 4, "indic": 4, "tabl": 4, "set": 5, "up": 5, "develop": [5, 8], "us": 5, "docker": 5, "compos": 5, "manual": 5, "setup": 5, "postgr": 5, "first": 5, "time": 5, "pre": 5, "commit": 5, "basic": 5, "your": 5, "user": 5, "type": 5, "check": 5, "run": 5, "test": 5, "connect": 6, "middlewar": 6, "other": 7, "detail": 7, "vapid": 7, "kei": 7, "jwk": 7, "pluggabl": 8, "app": 8, "overview": 8, "plugin": 8, "config": 8, "avail": 8, "debug": 9, "pycharm": 9, "configur": 9, "remot": 9, "python": 9, "interpret": 9, "known": 9, "issu": 9, "work": 10, "compon": 10, "backend": 10, "task": 10, "schedul": 10, "celeri": 10, "beat": 10, "worker": 10, "databas": 10, "postgresql": 10, "cach": 10, "redi": 10, "bucket": 10, "s3": 10, "sm": 10, "gatewai": 10, "aw": 10, "sn": 10, "email": 10, "se": 10, "report": 10, "infrastructur": 10}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"Django Commands": [[0, "django-commands"]], "Environment Variables": [[1, "environment-variables"]], "MIN_ENCOUNTER_DATE": [[1, "min-encounter-date"]], "TASK_SUMMARIZE_TRIAGE": [[1, "task-summarize-triage"]], "TASK_SUMMARIZE_TESTS": [[1, "task-summarize-tests"]], "TASK_SUMMARIZE_FACILITY_CAPACITY": [[1, "task-summarize-facility-capacity"]], "TASK_SUMMARIZE_PATIENT": [[1, "task-summarize-patient"]], "TASK_SUMMARIZE_DISTRICT_PATIENT": [[1, "task-summarize-district-patient"]], "GitHub Repository": [[2, "github-repository"]], "Glossary": [[3, "glossary"]], "Hierarchy": [[3, "hierarchy"]], "Models": [[3, "models"]], "Facility": [[3, "facility"]], "Inventory": [[3, "inventory"]], "Capacity": [[3, "capacity"]], "Location": [[3, "location"]], "Assets": [[3, "assets"]], "External Results": [[3, "external-results"]], "Patient": [[3, "patient"]], "Resources": [[3, "resources"]], "Welcome to Care\u2019s documentation!": [[4, "welcome-to-care-s-documentation"]], "Contents:": [[4, null]], "Indices and tables": [[4, "indices-and-tables"]], "Setting up development environment": [[5, "setting-up-development-environment"]], "Using Docker Compose": [[5, "using-docker-compose"]], "Manual setup": [[5, "manual-setup"]], "Setting up postgres for the first time": [[5, "setting-up-postgres-for-the-first-time"]], "Setting up Pre-Commit": [[5, "setting-up-pre-commit"]], "Basic Commands": [[5, "basic-commands"]], "Setting Up Your Users": [[5, "setting-up-your-users"]], "Type checks": [[5, "type-checks"]], "Run Tests": [[5, "run-tests"]], "Connecting with Middleware": [[6, "connecting-with-middleware"]], "Other Details": [[7, "other-details"]], "VAPID Keys": [[7, "vapid-keys"]], "JWKs": [[7, "jwks"]], "Pluggable Apps": [[8, "pluggable-apps"]], "Overview": [[8, "overview"]], "Plugin config variables": [[8, "plugin-config-variables"]], "Development": [[8, "development"]], "Available Plugins": [[8, "available-plugins"]], "Debugging with Pycharm": [[9, "debugging-with-pycharm"]], "Configure Remote Python Interpreter": [[9, "configure-remote-python-interpreter"]], "Known issues": [[9, "known-issues"]], "Working Components": [[10, "working-components"]], "Backend (Django)": [[10, "backend-django"]], "Task Scheduler (celery beat)": [[10, "task-scheduler-celery-beat"]], "Task Worker (celery worker)": [[10, "task-worker-celery-worker"]], "Database (PostgreSQL)": [[10, "database-postgresql"]], "Cache (Redis)": [[10, "cache-redis"]], "Bucket (S3)": [[10, "bucket-s3"]], "SMS Gateway (AWS SNS)": [[10, "sms-gateway-aws-sns"]], "Email Gateway (AWS SES)": [[10, "email-gateway-aws-ses"]], "Reporting Infrastructure": [[10, "reporting-infrastructure"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/working-components/configuration.html b/working-components/configuration.html index 5c337d3703..f5a1c0c99b 100644 --- a/working-components/configuration.html +++ b/working-components/configuration.html @@ -160,6 +160,7 @@ <li class="toctree-l1"><a class="reference internal" href="../pycharm/configuration.html">Debugging with Pycharm</a></li> <li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Working Components</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-configuration/configuration.html">Environment Variables</a></li> +<li class="toctree-l1"><a class="reference internal" href="../pluggable-apps/configuration.html">Pluggable Apps</a></li> <li class="toctree-l1"><a class="reference internal" href="../django-commands/configuration.html">Django Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="../github-repo/configuration.html">GitHub Repository</a></li> <li class="toctree-l1"><a class="reference internal" href="../others/configuration.html">Other Details</a></li>