Metadata-Version: 2.1
Name: intecomm-edc
Version: 0.1.58
Summary: INTECOMM Trial EDC (http://www.isrctn.com/ISRCTN76157257)
Home-page: https://github.com/intecomm-trial/intecomm-edc
Author: Erik van Widenfelt
Author-email: ew2789@gmail.com
License: GPL license, see LICENSE
Keywords: django edc INTECOMM EDC,clinicedc,clinical trials
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 4.2
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Requires-Python: >=3.11
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS

|pypi| |actions| |codecov| |downloads|

intecomm-edc
------------
Controlling chronic diseases in Africa: Development and evaluation of an integrated community-based management model for HIV, Diabetes and Hypertension in Tanzania and Uganda (INTE-COMM study)

Liverpool School of Tropical Medicine

http://www.isrctn.com/ISRCTN15319595

See also https://github.com/clinicedc/edc

Installation
------------
... in development

Randomization
-------------
Groups of patients are randomized to community integrated care (intervention) or facility integrated care (control).

A patient group is represented by the ``PatientGroup`` model. A ``PatientGroup`` model instance contains patients who are represented by ``PatientLog`` model instances.

Before a group is "ready" to randomize:

* the group membership must meet the ratio of HIV, HTN, DM or multi-morbidity patients.
* the group must meet the minimum group size.
* all patients must be screened as eligible and consented

If "ready", the patient group is randomized when the ``PatientGroup`` model instance saves succcessfully
with field ``randomize_now`` set to YES.

Randomization occurs in the signal ``randomize_patient_group_on_post_save``. The signal
leaves most of the work to the class ``RandomizeGroup``. ``RandomizeGroup`` calls it's ``randomize`` method does the following:

* The group is randomized to intervention or control;
* ``PatientGroup`` model instance is allocated a ``group_identifier``;
* Each ``PatientGroup`` model instance in the group is updated with the ``group_identifier``;
* Each ``SubjectConsent`` model instance in the group is updated with the ``group_identifier`` (which triggers another signal associated with the subject consent. This signal puts the subject on schedule);
* Each ``RegisteredSubject`` model instance in the group is updated with the ``group_identifier``;


.. |pypi| image:: https://img.shields.io/pypi/v/intecomm-edc.svg
    :target: https://pypi.python.org/pypi/intecomm-edc

.. |actions| image:: https://github.com/intecomm-trial/intecomm-edc/workflows/build/badge.svg?branch=develop
  :target: https://github.com/intecomm-trial/intecomm-edc/actions?query=workflow:build

.. |codecov| image:: https://codecov.io/gh/intecomm-trial/intecomm-edc/branch/develop/graph/badge.svg
  :target: https://codecov.io/gh/intecomm-trial/intecomm-edc

.. |downloads| image:: https://pepy.tech/badge/intecomm-edc
   :target: https://pepy.tech/project/intecomm-edc
