edc


Nameedc JSON
Version 0.6.13 PyPI version JSON
download
home_pagehttps://github.com/clinicedc/edc
SummaryEDC core modules for clinicedc/edc projects.
upload_time2024-09-19 16:14:07
maintainerNone
docs_urlNone
authorErik van Widenfelt
requires_python>=3.12
licenseGPL license, see LICENSE
keywords django edc clinical trials research
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            |pypi| |downloads| |black|

clinicedc
=========

Here are a set of python modules that extend Django to empower you to build an EDC / eSource system to handle data
collection and management for multi-site longitudinal clinical trials.

Refer to the specific open projects listed below for example EDC systems built with these modules.
The more recent the trial the better the example.

The codebase continues to evolve over many years of conducting clinical trials for mostly NIH-funded clinical trials through
the `Harvard T Chan School of Public Health <https://aids.harvard.edu>`__, the
`Botswana-Harvard AIDS Institute Partnership <https://aids.harvard.edu/research/bhp>`__
in Gaborone, Botswana and the `London School of Hygiene and Tropical Medicine <https://lshtm.ac.uk>`__.
Almost all trials were originally related to HIV/AIDS research.

More recent work with the `RESPOND Africa Group <https://www.ucl.ac.uk/global-health/respond-africa>`__ formerly at the
`Liverpool School of Tropical Medicine <https://lstm.ac.uk>`__ and now with the `University College London Institute for Global Health <https://www.ucl.ac.uk/global-health/>`__ has expanded into Diabetes (DM),
Hypertension (HTN) and models of integrating care in Africa (https://inteafrica.org) for the
three main chronic conditions -- HIV/DM/HTN.

See also https://www.ucl.ac.uk/global-health/respond-africa

The implementations we have developed are mostly eSource systems rather than the traditional EDCs.

The ``clinicedc`` for each trial consists of a subset of trial-specific modules that reference this module.

(python 3.12, Django 4.2, MySQL 8+, see setup.cfg)


How we describe the EDC in our protocol documents
-------------------------------------------------

Here is a simple example of a data management section for a study protocol document: `data_management_section`_

.. _data_management_section: https://github.com/clinicedc/edc/blob/main/docs/protocol_data_management_section.rst


Projects that use ``clinicedc``
-------------------------------
Recent examples of ``clinicedc`` applications using this codebase:

INTECOMM
--------
Controlling chronic diseases in Africa: Development and evaluation of an integrated community-based management model for HIV, Diabetes and Hypertension in Tanzania and Uganda

https://github.com/intecomm-trial/intecomm-edc (2022- )

EFFECT
------
Fluconazole plus flucytosine vs. fluconazole alone for cryptococcal antigen-positive patients identified through screening:

A phase III randomised controlled trial

https://github.com/effect-trial/effect-edc (2021- )

http://www.isrctn.com/ISRCTN30579828

META Trial (Phase III)
~~~~~~~~~~~~~~~~~~~~~~
A randomised placebo-controlled double-blind phase III trial to determine the effects of metformin versus placebo on the incidence of diabetes in HIV-infected persons with pre-diabetes in Tanzania.

https://github.com/meta-trial/meta-edc (2021- )

(The same codebase is used for META Phase 2 and META Phase 3)

http://www.isrctn.com/ISRCTN77382043

Mapitio
~~~~~~~

Retrospective HIV/Diabetes/Hypertension Cohort (Tanzania)

https://github.com/mapitio/mapitio-edc (2020-2022)

MOCCA
~~~~~

Integrated care for HIV and non-communicable diseases in Africa: a pilot study to inform a large-scale trial (MOCCA and MOCCA Extension Study)

https://github.com/mocca-trail/mocca-edc (2020-2022)

http://www.isrctn.com/ISRCTN71437522

INTE Africa Trial
~~~~~~~~~~~~~~~~~
Evaluating the integration of health services for chronic diseases in Africa

(32 sites in Uganda and Tanzania)

https://github.com/inte-africa-trial/inte-edc (2020-2022)

https://inteafrica.org

http://www.isrctn.com/ISRCTN43896688

META Trial (Phase II)
~~~~~~~~~~~~~~~~~~~~~
A randomised placebo-controlled double-blind phase II trial to determine the effects of metformin versus placebo on the incidence of diabetes in HIV-infected persons with pre-diabetes in Tanzania.

(3 sites in Tanzania)

https://github.com/meta-trial/meta-edc (2019-2021)

http://www.isrctn.com/ISRCTN76157257


The Ambition Trial
~~~~~~~~~~~~~~~~~~

High dose AMBISOME on a fluconazole backbone for cryptococcal meningitis induction therapy in sub-Saharan Africa

(7 sites in Botswana, Malawi, South Africa, Uganda, Zimbabwe)

https://github.com/ambition-trial/ambition-edc (2018-2021)

http://www.isrctn.com/ISRCTN72509687

Start with main repo `ambition-edc`

The Botswana Combination Prevention Project
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(30 remote offline sites in Botswana)

https://github.com/botswana-combination-prevention-project (2013-2018)

https://clinicaltrials.gov/ct2/show/NCT01965470

https://www.ncbi.nlm.nih.gov/pubmed/?term=NCT01965470

https://aids.harvard.edu/tag/bcpp/

Start with main repo `bcpp`

Contacts
--------

For further information go to https://github.com/erikvw.

|django| |jet-brains|

=========================== ============================= ==================================
edc-action-item_            |edc-action-item|             |pypi-edc-action-item|
edc-adverse-event_          |edc-adverse-event|           |pypi-edc-adverse-event|
edc-appconfig_              |edc-appconfig|               |pypi-edc-appconfig|
edc-appointment_            |edc-appointment|             |pypi-edc-appointment|
edc-auth_                   |edc-auth|                    |pypi-edc-auth|
edc-consent_                |edc-consent|                 |pypi-edc-consent|
edc-constants_                                            |pypi-edc-constants|
edc-crf_                    |edc-crf|                     |pypi-edc-crf|
edc-dashboard_              |edc-dashboard|               |pypi-edc-dashboard|
edc-data-manager_           |edc-data-manager|            |pypi-edc-data-manager|
edc-device_                 |edc-device|                  |pypi-edc-device|
edc-document-status_        |edc-document-status|         |pypi-edc-document-status|
edc-egfr_                   |edc-egfr|                    |pypi-edc-egfr|
edc-export_                 |edc-export|                  |pypi-edc-export|
edc-facility_               |edc-facility|                |pypi-edc-facility|
edc-fieldsets_              |edc-fieldsets|               |pypi-edc-fieldsets|
edc-form-describer_         |edc-form-describer|          |pypi-edc-form-describer|
edc-form-label_             |edc-form-label|              |pypi-edc-form-label|
edc-form-runners_           |edc-form-runners|            |pypi-edc-form-runners|
edc-form-validators_        |edc-form-validators|         |pypi-edc-form-validators|
edc-identifier_             |edc-identifier|              |pypi-edc-identifier|
edc-lab_                    |edc-lab|                     |pypi-edc-lab|
edc-lab-dashboard_          |edc-lab-dashboard|           |pypi-edc-lab-dashboard|
edc-lab-panel_              |edc-lab-panel|               |pypi-edc-lab-panel|
edc-lab-results_            |edc-lab-results|             |pypi-edc-lab-panel|
edc-label_                  |edc-label|                   |pypi-edc-label|
edc-list-data_              |edc-list-data|               |pypi-edc-list-data|
edc-listboard_              |edc-listboard|               |pypi-edc-listboard|
edc-locator_                |edc-locator|                 |pypi-edc-locator|
edc-ltfu_                   |edc-ltfu|                    |pypi-edc-ltfu|
edc-metadata_               |edc-metadata|                |pypi-edc-metadata|
edc-model_                  |edc-model|                   |pypi-edc-model|
edc-model-admin_            |edc-model-admin|             |pypi-edc-model-admin|
edc-model-fields_           |edc-model-fields|            |pypi-edc-model-fields|
edc-model-form_             |edc-model-form|              |pypi-edc-model-form|
edc-navbar_                 |edc-navbar|                  |pypi-edc-navbar|
edc-next-appointment_       |edc-next-appointment|        |pypi-edc-next-appointment|
edc-notification_           |edc-notification|            |pypi-edc-notification|
edc-offstudy_               |edc-offstudy|                |pypi-edc-offstudy|
edc-pdf-reports_            |edc-pdf-reports|             |pypi-edc-pdf-reports|
edc-pdutils_                |edc-pdutils|                 |pypi-edc-pdutils|
edc-prn_                    |edc-prn|                     |pypi-edc-prn|
edc-protocol_               |edc-protocol|                |pypi-edc-protocol|
edc-protocol-incident_      |edc-protocol-incident|       |pypi-edc-protocol-incident|
edc-qareports_              |edc-qareports|               |pypi-edc-qareports|
edc-randomization_          |edc-randomization|           |pypi-edc-randomization|
edc-refusal_                |edc-refusal|                 |pypi-edc-refusal|
edc-registration_           |edc-registration|            |pypi-edc-registration|
edc-reportable_             |edc-reportable|              |pypi-edc-reportable|
edc-review-dashboard_       |edc-review-dashboard|        |pypi-edc-review-dashboard|
edc-screening_              |edc-screening|               |pypi-edc-screening|
edc-search_                 |edc-search|                  |pypi-edc-search|
edc-sites_                  |edc-sites|                   |pypi-edc-sites|
edc-subject-dashboard_      |edc-subject-dashboard|       |pypi-edc-subject-dashboard|
edc-test-utils_             |edc-test-utils|              |pypi-edc-test-utils|
edc-timepoint_              |edc-timepoint|               |pypi-edc-timepoint|
edc-transfer_               |edc-transfer|                |pypi-edc-transfer|
edc-unblinding_             |edc-unblinding|              |pypi-edc-unblinding|
edc-utils_                  |edc-utils|                   |pypi-edc-utils|
edc-visit-schedule_         |edc-visit-schedule|          |pypi-edc-visit-schedule|
edc-visit-tracking_         |edc-visit-tracking|          |pypi-edc-visit-tracking|
=========================== ============================= ==================================


Contrib
-------

========================== ============================== ==================================
edc-adherence_              |edc-adherence|               |pypi-edc-adherence|
edc-csf_                    |edc-csf|                     |pypi-edc-csf|
edc-dx_                     |edc-dx|                      |pypi-edc-dx|
edc-dx-review_              |edc-dx-review|               |pypi-edc-dx-review|
edc-glucose_                |edc-glucose|                 |pypi-edc-glucose|
edc-he_                     |edc-he|                      |pypi-edc-he|
edc-mnsi_                   |edc-mnsi|                    |pypi-edc-mnsi|
edc-microbiology_           |edc-microbiology|            |pypi-edc-microbiology|
edc-microscopy_             |edc-microscopy|              |pypi-edc-microscopy|
edc-pharmacy_               |edc-pharmacy|                |pypi-edc-pharmacy|
edc-pharmacy-dashboard_     |edc-pharmacy-dashboard|      |pypi-edc-pharmacy-dashboard|
edc-qol_                    |edc-qol|                     |pypi-edc-qol|
edc-rx_                     |edc-rx|                      |pypi-edc-rx|
edc-vitals_                 |edc-vitals|                  |pypi-edc-vitals|
========================== ============================== ==================================

Thanks to JetBrains for support with an opensource PyCharm IDE license. |jet-brains|

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

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

.. |django| image:: https://www.djangoproject.com/m/img/badges/djangomade124x25.gif
   :target: http://www.djangoproject.com/
   :alt: Made with Django


.. _edc-action-item: https://github.com/clinicedc/edc-action-item
.. _edc-adherence: https://github.com/clinicedc/edc-adherence
.. _edc-adverse-event: https://github.com/clinicedc/edc-adverse-event
.. _edc-appointment: https://github.com/clinicedc/edc-appointment
.. _edc-appconfig: https://github.com/clinicedc/edc-appconfig
.. _edc-auth: https://github.com/clinicedc/edc-auth
.. _edc-consent: https://github.com/clinicedc/edc-consent
.. _edc-constants: https://github.com/clinicedc/edc-constants
.. _edc-crf: https://github.com/clinicedc/edc-crf
.. _edc-csf: https://github.com/clinicedc/edc-csf
.. _edc-dashboard: https://github.com/clinicedc/edc-dashboard
.. _edc-data-manager: https://github.com/clinicedc/edc-data-manager
.. _edc-device: https://github.com/clinicedc/edc-device
.. _edc-document-status: https://github.com/clinicedc/edc-document-status
.. _edc-dx: https://github.com/clinicedc/edc-dx
.. _edc-dx-review: https://github.com/clinicedc/edc-dx-review
.. _edc-egfr: https://github.com/clinicedc/edc-egfr
.. _edc-export: https://github.com/clinicedc/edc-export
.. _edc-facility: https://github.com/clinicedc/edc-facility
.. _edc-fieldsets: https://github.com/clinicedc/edc-fieldsets
.. _edc-form-describer: https://github.com/clinicedc/edc-form-describer
.. _edc-form-label: https://github.com/clinicedc/edc-form-label
.. _edc-form-runners: https://github.com/clinicedc/edc-form-runners
.. _edc-form-validators: https://github.com/clinicedc/edc-form-validators
.. _edc-glucose: https://github.com/clinicedc/edc-glucose
.. _edc-he: https://github.com/clinicedc/edc-he
.. _edc-identifier: https://github.com/clinicedc/edc-identifier
.. _edc-lab: https://github.com/clinicedc/edc-lab
.. _edc-lab-dashboard: https://github.com/clinicedc/edc-lab-dashboard
.. _edc-lab-panel: https://github.com/clinicedc/edc-lab-panel
.. _edc-lab-results: https://github.com/clinicedc/edc-lab-results
.. _edc-label: https://github.com/clinicedc/edc-label
.. _edc-list-data: https://github.com/clinicedc/edc-list-data
.. _edc-listboard: https://github.com/clinicedc/edc-listboard
.. _edc-locator: https://github.com/clinicedc/edc-locator
.. _edc-ltfu: https://github.com/clinicedc/edc-ltfu
.. _edc-metadata: https://github.com/clinicedc/edc-metadata
.. _edc-mnsi: https://github.com/clinicedc/edc-mnsi
.. _edc-microbiology: https://github.com/clinicedc/edc-microbiology
.. _edc-microscopy: https://github.com/clinicedc/edc-microscopy
.. _edc-model: https://github.com/clinicedc/edc-model
.. _edc-model-admin: https://github.com/clinicedc/edc-model-admin
.. _edc-model-fields: https://github.com/clinicedc/edc-model-fields
.. _edc-model-form: https://github.com/clinicedc/edc-model-form
.. _edc-navbar: https://github.com/clinicedc/edc-navbar
.. _edc-next-appointment: https://github.com/clinicedc/edc-next-appointment
.. _edc-notification: https://github.com/clinicedc/edc-notification
.. _edc-offstudy: https://github.com/clinicedc/edc-offstudy
.. _edc-pdutils: https://github.com/clinicedc/edc-pdutils
.. _edc-pharmacy: https://github.com/clinicedc/edc-pharmacy
.. _edc-pharmacy-dashboard: https://github.com/clinicedc/edc-pharmacy-dashboard
.. _edc-prn: https://github.com/clinicedc/edc-prn
.. _edc-protocol: https://github.com/clinicedc/edc-protocol
.. _edc-protocol-incident: https://github.com/clinicedc/edc-protocol-incident
.. _edc-qareports: https://github.com/clinicedc/edc-qareports
.. _edc-qol: https://github.com/clinicedc/edc-qol
.. _edc-randomization: https://github.com/clinicedc/edc-randomization
.. _edc-refusal: https://github.com/clinicedc/edc-refusal
.. _edc-registration: https://github.com/clinicedc/edc-registration
.. _edc-reportable: https://github.com/clinicedc/edc-reportable
.. _edc-pdf-reports: https://github.com/clinicedc/edc-reports
.. _edc-review-dashboard: https://github.com/clinicedc/edc-review-dashboard
.. _edc-rx: https://github.com/clinicedc/edc-rx
.. _edc-screening: https://github.com/clinicedc/edc-screening
.. _edc-search: https://github.com/clinicedc/edc-search
.. _edc-sites: https://github.com/clinicedc/edc-sites
.. _edc-subject-dashboard: https://github.com/clinicedc/edc-subject-dashboard
.. _edc-test-utils: https://github.com/clinicedc/edc-test-utils
.. _edc-timepoint: https://github.com/clinicedc/edc-timepoint
.. _edc-transfer: https://github.com/clinicedc/edc-transfer
.. _edc-unblinding: https://github.com/clinicedc/edc-unblinding
.. _edc-utils: https://github.com/clinicedc/edc-utils
.. _edc-visit-schedule: https://github.com/clinicedc/edc-visit-schedule
.. _edc-visit-tracking: https://github.com/clinicedc/edc-visit-tracking
.. _edc-vitals: https://github.com/clinicedc/edc-vitals

.. |edc-action-item| image:: https://github.com/clinicedc/edc-action-item/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-action-item/actions/workflows/build.yml
.. |edc-adherence| image:: https://github.com/clinicedc/edc-adherence/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-adherence/actions/workflows/build.yml
.. |edc-adverse-event| image:: https://github.com/clinicedc/edc-adverse-event/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-adverse-event/actions/workflows/build.yml
.. |edc-appointment| image:: https://github.com/clinicedc/edc-appointment/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-appointment/actions/workflows/build.yml
.. |edc-appconfig| image:: https://github.com/clinicedc/edc-appconfig/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-appconfig/actions/workflows/build.yml
.. |edc-auth| image:: https://github.com/clinicedc/edc-auth/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-auth/actions/workflows/build.yml
.. |edc-lab-results| image:: https://github.com/clinicedc/edc-lab-results/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-lab-results/actions/workflows/build.yml
.. |edc-clinic| image:: https://github.com/clinicedc/edc-clinic/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-clinic/actions/workflows/build.yml
.. |edc-consent| image:: https://github.com/clinicedc/edc-consent/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-consent/actions/workflows/build.yml
.. |edc-crf| image:: https://github.com/clinicedc/edc-crf/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-crf/actions/workflows/build.yml
.. |edc-csf| image:: https://github.com/clinicedc/edc-csf/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-csf/actions/workflows/build.yml
.. |edc-dashboard| image:: https://github.com/clinicedc/edc-dashboard/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-dashboard/actions/workflows/build.yml
.. |edc-data-manager| image:: https://github.com/clinicedc/edc-data-manager/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-data-manager/actions/workflows/build.yml
.. |edc-device| image:: https://github.com/clinicedc/edc-device/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-device/actions/workflows/build.yml
.. |edc-document-status| image:: https://github.com/clinicedc/edc-document-status/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-document-status/actions/workflows/build.yml
.. |edc-dx| image:: https://github.com/clinicedc/edc-dx/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-dx/actions/workflows/build.yml
.. |edc-dx-review| image:: https://github.com/clinicedc/edc-dx-review/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-dx-review/actions/workflows/build.yml
.. |edc-egfr| image:: https://github.com/clinicedc/edc-egfr/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-egfr/actions/workflows/build.yml
.. |edc-export| image:: https://github.com/clinicedc/edc-export/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-export/actions/workflows/build.yml
.. |edc-facility| image:: https://github.com/clinicedc/edc-facility/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-facility/actions/workflows/build.yml
.. |edc-fieldsets| image:: https://github.com/clinicedc/edc-fieldsets/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-fieldsets/actions/workflows/build.yml
.. |edc-form-describer| image:: https://github.com/clinicedc/edc-form-describer/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-form-describer/actions/workflows/build.yml
.. |edc-form-label| image:: https://github.com/clinicedc/edc-form-label/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-form-label/actions/workflows/build.yml
.. |edc-form-runners| image:: https://github.com/clinicedc/edc-form-runners/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-form-runners/actions/workflows/build.yml
.. |edc-form-validators| image:: https://github.com/clinicedc/edc-form-validators/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-form-validators/actions/workflows/build.yml
.. |edc-glucose| image:: https://github.com/clinicedc/edc-glucose/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-glucose/actions/workflows/build.yml
.. |edc-he| image:: https://github.com/clinicedc/edc-he/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-he/actions/workflows/build.yml
.. |edc-identifier| image:: https://github.com/clinicedc/edc-identifier/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-identifier/actions/workflows/build.yml
.. |edc-lab| image:: https://github.com/clinicedc/edc-lab/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-lab/actions/workflows/build.yml
.. |edc-lab-panel| image:: https://github.com/clinicedc/edc-lab-panel/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-lab-panel/actions/workflows/build.yml
.. |edc-lab-dashboard| image:: https://github.com/clinicedc/edc-lab-dashboard/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-lab-dashboard/actions/workflows/build.yml
.. |edc-label| image:: https://github.com/clinicedc/edc-label/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-label/actions/workflows/build.yml
.. |edc-list-data| image:: https://github.com/clinicedc/edc-list-data/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-list-data/actions/workflows/build.yml
.. |edc-listboard| image:: https://github.com/clinicedc/edc-listboard/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-listboard/actions/workflows/build.yml
.. |edc-locator| image:: https://github.com/clinicedc/edc-locator/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-locator/actions/workflows/build.yml
.. |edc-ltfu| image:: https://github.com/clinicedc/edc-ltfu/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-ltfu/actions/workflows/build.yml
.. |edc-metadata| image:: https://github.com/clinicedc/edc-metadata/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-metadata/actions/workflows/build.yml
.. |edc-metadata-rules| image:: https://github.com/clinicedc/edc-metadata-rules/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-metadata-rules/actions/workflows/build.yml
.. |edc-mnsi| image:: https://github.com/clinicedc/edc-mnsi/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-mnsi/actions/workflows/build.yml
.. |edc-microbiology| image:: https://github.com/clinicedc/edc-microbiology/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-microbiology/actions/workflows/build.yml
.. |edc-microscopy| image:: https://github.com/clinicedc/edc-microscopy/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-microscopy/actions/workflows/build.yml
.. |edc-model| image:: https://github.com/clinicedc/edc-model/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-model/actions/workflows/build.yml
.. |edc-model-admin| image:: https://github.com/clinicedc/edc-model-admin/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-model-admin/actions/workflows/build.yml
.. |edc-model-fields| image:: https://github.com/clinicedc/edc-model-fields/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-model-fields/actions/workflows/build.yml
.. |edc-model-form| image:: https://github.com/clinicedc/edc-model-form/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-model-form/actions/workflows/build.yml
.. |edc-navbar| image:: https://github.com/clinicedc/edc-navbar/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-navbar/actions/workflows/build.yml
.. |edc-next-appointment| image:: https://github.com/clinicedc/edc-next-appointment/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-next-appointment/actions/workflows/build.yml
.. |edc-notification| image:: https://github.com/clinicedc/edc-notification/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-notification/actions/workflows/build.yml
.. |edc-offstudy| image:: https://github.com/clinicedc/edc-offstudy/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-offstudy/actions/workflows/build.yml
.. |edc-pdutils| image:: https://github.com/clinicedc/edc-pdutils/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-pdutils/actions/workflows/build.yml
.. |edc-pharmacy| image:: https://github.com/clinicedc/edc-pharmacy/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-pharmacy/actions/workflows/build.yml
.. |edc-pharmacy-dashboard| image:: https://github.com/clinicedc/edc-pharmacy-dashboard/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-pharmacy-dashboard/actions/workflows/build.yml
.. |edc-prn| image:: https://github.com/clinicedc/edc-prn/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-prn/actions/workflows/build.yml
.. |edc-protocol| image:: https://github.com/clinicedc/edc-protocol/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-protocol/actions/workflows/build.yml
.. |edc-protocol-incident| image:: https://github.com/clinicedc/edc-protocol-incident/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-protocol-incident/actions/workflows/build.yml
.. |edc-randomization| image:: https://github.com/clinicedc/edc-randomization/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-randomization/actions/workflows/build.yml
.. |edc-refusal| image:: https://github.com/clinicedc/edc-refusal/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-refusal/actions/workflows/build.yml
.. |edc-registration| image:: https://github.com/clinicedc/edc-registration/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-registration/actions/workflows/build.yml
.. |edc-reportable| image:: https://github.com/clinicedc/edc-reportable/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-reportable/actions/workflows/build.yml
.. |edc-pdf-reports| image:: https://github.com/clinicedc/edc-pdf-reports/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-pdf-reports/actions/workflows/build.yml
.. |edc-qareports| image:: https://github.com/clinicedc/edc-qareports/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-qareports/actions/workflows/build.yml
.. |edc-qol| image:: https://github.com/clinicedc/edc-qol/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-qol/actions/workflows/build.yml
.. |edc-review-dashboard| image:: https://github.com/clinicedc/edc-review-dashboard/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-review-dashboard/actions/workflows/build.yml
.. |edc-rx| image:: https://github.com/clinicedc/edc-rx/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-rx/actions/workflows/build.yml
.. |edc-screening| image:: https://github.com/clinicedc/edc-screening/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-screening/actions/workflows/build.yml
.. |edc-search| image:: https://github.com/clinicedc/edc-search/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-search/actions/workflows/build.yml
.. |edc-sites| image:: https://github.com/clinicedc/edc-sites/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-sites/actions/workflows/build.yml
.. |edc-subject-dashboard| image:: https://github.com/clinicedc/edc-subject-dashboard/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-subject-dashboard/actions/workflows/build.yml
.. |edc-test-utils| image:: https://github.com/clinicedc/edc-test-utils/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-test-utils/actions/workflows/build.yml
.. |edc-timepoint| image:: https://github.com/clinicedc/edc-timepoint/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-timepoint/actions/workflows/build.yml
.. |edc-transfer| image:: https://github.com/clinicedc/edc-transfer/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-transfer/actions/workflows/build.yml
.. |edc-unblinding| image:: https://github.com/clinicedc/edc-unblinding/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-unblinding/actions/workflows/build.yml
.. |edc-utils| image:: https://github.com/clinicedc/edc-utils/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-utils/actions/workflows/build.yml
.. |edc-visit-schedule| image:: https://github.com/clinicedc/edc-visit-schedule/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-visit-schedule/actions/workflows/build.yml
.. |edc-visit-tracking| image:: https://github.com/clinicedc/edc-visit-tracking/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-visit-tracking/actions/workflows/build.yml
.. |edc-vitals| image:: https://github.com/clinicedc/edc-vitals/actions/workflows/build.yml/badge.svg
  :target: https://github.com/clinicedc/edc-vitals/actions/workflows/build.yml

.. |pypi-edc-action-item| image:: https://img.shields.io/pypi/v/edc-action-item.svg
    :target: https://pypi.python.org/pypi/edc-action-item
.. |pypi-edc-adherence| image:: https://img.shields.io/pypi/v/edc-adherence.svg
    :target: https://pypi.python.org/pypi/edc-adherence
.. |pypi-edc-adverse-event| image:: https://img.shields.io/pypi/v/edc-adverse-event.svg
    :target: https://pypi.python.org/pypi/edc-adverse-event
.. |pypi-edc-appointment| image:: https://img.shields.io/pypi/v/edc-appointment.svg
    :target: https://pypi.python.org/pypi/edc-appointment
.. |pypi-edc-appconfig| image:: https://img.shields.io/pypi/v/edc-appconfig.svg
    :target: https://pypi.python.org/pypi/edc-appconfig
.. |pypi-edc-auth| image:: https://img.shields.io/pypi/v/edc-auth.svg
    :target: https://pypi.python.org/pypi/edc-auth
.. |pypi-edc-blood-results| image:: https://img.shields.io/pypi/v/edc-blood-results.svg
    :target: https://pypi.python.org/pypi/edc-blood-results
.. |pypi-edc-consent| image:: https://img.shields.io/pypi/v/edc-consent.svg
    :target: https://pypi.python.org/pypi/edc-consent
.. |pypi-edc-constants| image:: https://img.shields.io/pypi/v/edc-constants.svg
    :target: https://pypi.python.org/pypi/edc-constants
.. |pypi-edc-crf| image:: https://img.shields.io/pypi/v/edc-crf.svg
    :target: https://pypi.python.org/pypi/edc-crf
.. |pypi-edc-csf| image:: https://img.shields.io/pypi/v/edc-csf.svg
    :target: https://pypi.python.org/pypi/edc-csf
.. |pypi-edc-dashboard| image:: https://img.shields.io/pypi/v/edc-dashboard.svg
    :target: https://pypi.python.org/pypi/edc-dashboard
.. |pypi-edc-data-manager| image:: https://img.shields.io/pypi/v/edc-data-manager.svg
    :target: https://pypi.python.org/pypi/edc-data-manager
.. |pypi-edc-device| image:: https://img.shields.io/pypi/v/edc-device.svg
    :target: https://pypi.python.org/pypi/edc-device
.. |pypi-edc-document-status| image:: https://img.shields.io/pypi/v/edc-document-status.svg
    :target: https://pypi.python.org/pypi/edc-document-status
.. |pypi-edc-dx| image:: https://img.shields.io/pypi/v/edc-dx.svg
    :target: https://pypi.python.org/pypi/edc-dx
.. |pypi-edc-dx-review| image:: https://img.shields.io/pypi/v/edc-dx-review.svg
    :target: https://pypi.python.org/pypi/edc-dx-review
.. |pypi-edc-egfr| image:: https://img.shields.io/pypi/v/edc-egfr.svg
    :target: https://pypi.python.org/pypi/edc-egfr
.. |pypi-edc-export| image:: https://img.shields.io/pypi/v/edc-export.svg
    :target: https://pypi.python.org/pypi/edc-export
.. |pypi-edc-facility| image:: https://img.shields.io/pypi/v/edc-facility.svg
    :target: https://pypi.python.org/pypi/edc-facility
.. |pypi-edc-fieldsets| image:: https://img.shields.io/pypi/v/edc-fieldsets.svg
    :target: https://pypi.python.org/pypi/edc-fieldsets
.. |pypi-edc-form-describer| image:: https://img.shields.io/pypi/v/edc-form-describer.svg
    :target: https://pypi.python.org/pypi/edc-form-describer
.. |pypi-edc-form-label| image:: https://img.shields.io/pypi/v/edc-form-label.svg
    :target: https://pypi.python.org/pypi/edc-form-label
.. |pypi-edc-form-runners| image:: https://img.shields.io/pypi/v/edc-form-runners.svg
    :target: https://pypi.python.org/pypi/edc-form-runners
.. |pypi-edc-form-validators| image:: https://img.shields.io/pypi/v/edc-form-validators.svg
    :target: https://pypi.python.org/pypi/edc-form-validators
.. |pypi-edc-glucose| image:: https://img.shields.io/pypi/v/edc-glucose.svg
    :target: https://pypi.python.org/pypi/edc-glucose
.. |pypi-edc-he| image:: https://img.shields.io/pypi/v/edc-he.svg
    :target: https://pypi.python.org/pypi/edc-he
.. |pypi-edc-identifier| image:: https://img.shields.io/pypi/v/edc-identifier.svg
    :target: https://pypi.python.org/pypi/edc-identifier
.. |pypi-edc-lab| image:: https://img.shields.io/pypi/v/edc-lab.svg
    :target: https://pypi.python.org/pypi/edc-lab
.. |pypi-edc-lab-panel| image:: https://img.shields.io/pypi/v/edc-lab-panel.svg
    :target: https://pypi.python.org/pypi/edc-lab-panel
.. |pypi-edc-lab-dashboard| image:: https://img.shields.io/pypi/v/edc-lab-dashboard.svg
    :target: https://pypi.python.org/pypi/edc-lab-dashboard
.. |pypi-edc-label| image:: https://img.shields.io/pypi/v/edc-label.svg
    :target: https://pypi.python.org/pypi/edc-label
.. |pypi-edc-list-data| image:: https://img.shields.io/pypi/v/edc-list-data.svg
    :target: https://pypi.python.org/pypi/edc-list-data
.. |pypi-edc-listboard| image:: https://img.shields.io/pypi/v/edc-listboard.svg
    :target: https://pypi.python.org/pypi/edc-listboard
.. |pypi-edc-locator| image:: https://img.shields.io/pypi/v/edc-locator.svg
    :target: https://pypi.python.org/pypi/edc-locator
.. |pypi-edc-ltfu| image:: https://img.shields.io/pypi/v/edc-ltfu.svg
    :target: https://pypi.python.org/pypi/edc-ltfu
.. |pypi-edc-metadata| image:: https://img.shields.io/pypi/v/edc-metadata.svg
    :target: https://pypi.python.org/pypi/edc-metadata
.. |pypi-edc-mnsi| image:: https://img.shields.io/pypi/v/edc-mnsi.svg
    :target: https://pypi.python.org/pypi/edc-mnsi
.. |pypi-edc-microbiology| image:: https://img.shields.io/pypi/v/edc-microbiology.svg
    :target: https://pypi.python.org/pypi/edc-microbiology
.. |pypi-edc-microscopy| image:: https://img.shields.io/pypi/v/edc-microscopy.svg
    :target: https://pypi.python.org/pypi/edc-microscopy
.. |pypi-edc-model| image:: https://img.shields.io/pypi/v/edc-model.svg
    :target: https://pypi.python.org/pypi/edc-model
.. |pypi-edc-model-admin| image:: https://img.shields.io/pypi/v/edc-model-admin.svg
    :target: https://pypi.python.org/pypi/edc-model-admin
.. |pypi-edc-model-fields| image:: https://img.shields.io/pypi/v/edc-model-fields.svg
    :target: https://pypi.python.org/pypi/edc-model-fields
.. |pypi-edc-model-form| image:: https://img.shields.io/pypi/v/edc-model-form.svg
    :target: https://pypi.python.org/pypi/edc-model-form
.. |pypi-edc-navbar| image:: https://img.shields.io/pypi/v/edc-navbar.svg
    :target: https://pypi.python.org/pypi/edc-navbar
.. |pypi-edc-next-appointment| image:: https://img.shields.io/pypi/v/edc-next-appointment.svg
    :target: https://pypi.python.org/pypi/edc-next-appointment
.. |pypi-edc-notification| image:: https://img.shields.io/pypi/v/edc-notification.svg
    :target: https://pypi.python.org/pypi/edc-notification
.. |pypi-edc-offstudy| image:: https://img.shields.io/pypi/v/edc-offstudy.svg
    :target: https://pypi.python.org/pypi/edc-offstudy
.. |pypi-edc-pdutils| image:: https://img.shields.io/pypi/v/edc-pdutils.svg
    :target: https://pypi.python.org/pypi/edc-pdutils
.. |pypi-edc-pharmacy| image:: https://img.shields.io/pypi/v/edc-pharmacy.svg
    :target: https://pypi.python.org/pypi/edc-pharmacy
.. |pypi-edc-pharmacy-dashboard| image:: https://img.shields.io/pypi/v/edc-pharmacy-dashboard.svg
    :target: https://pypi.python.org/pypi/edc-pharmacy-dashboard
.. |pypi-edc-prn| image:: https://img.shields.io/pypi/v/edc-prn.svg
    :target: https://pypi.python.org/pypi/edc-prn
.. |pypi-edc-protocol| image:: https://img.shields.io/pypi/v/edc-protocol.svg
    :target: https://pypi.python.org/pypi/edc-protocol
.. |pypi-edc-protocol-incident| image:: https://img.shields.io/pypi/v/edc-protocol-incident.svg
    :target: https://pypi.python.org/pypi/edc-protocol-incident
.. |pypi-edc-qol| image:: https://img.shields.io/pypi/v/edc-qol.svg
    :target: https://pypi.python.org/pypi/edc-qol
.. |pypi-edc-randomization| image:: https://img.shields.io/pypi/v/edc-randomization.svg
    :target: https://pypi.python.org/pypi/edc-randomization
.. |pypi-edc-refusal| image:: https://img.shields.io/pypi/v/edc-refusal.svg
    :target: https://pypi.python.org/pypi/edc-refusal
.. |pypi-edc-registration| image:: https://img.shields.io/pypi/v/edc-registration.svg
    :target: https://pypi.python.org/pypi/edc-registration
.. |pypi-edc-reportable| image:: https://img.shields.io/pypi/v/edc-reportable.svg
    :target: https://pypi.python.org/pypi/edc-reportable
.. |pypi-edc-pdf-reports| image:: https://img.shields.io/pypi/v/edc-pdf-reports.svg
    :target: https://pypi.python.org/pypi/edc-pdf-reports
.. |pypi-edc-qareports| image:: https://img.shields.io/pypi/v/edc-qareports.svg
    :target: https://pypi.python.org/pypi/edc-qareports
.. |pypi-edc-review-dashboard| image:: https://img.shields.io/pypi/v/edc-review-dashboard.svg
    :target: https://pypi.python.org/pypi/edc-review-dashboard
.. |pypi-edc-rx| image:: https://img.shields.io/pypi/v/edc-rx.svg
    :target: https://pypi.python.org/pypi/edc-rx
.. |pypi-edc-screening| image:: https://img.shields.io/pypi/v/edc-screening.svg
    :target: https://pypi.python.org/pypi/edc-screening
.. |pypi-edc-search| image:: https://img.shields.io/pypi/v/edc-search.svg
    :target: https://pypi.python.org/pypi/edc-search
.. |pypi-edc-sites| image:: https://img.shields.io/pypi/v/edc-sites.svg
    :target: https://pypi.python.org/pypi/edc-sites
.. |pypi-edc-subject-dashboard| image:: https://img.shields.io/pypi/v/edc-subject-dashboard.svg
    :target: https://pypi.python.org/pypi/edc-subject-dashboard
.. |pypi-edc-test-utils| image:: https://img.shields.io/pypi/v/edc-test-utils.svg
    :target: https://pypi.python.org/pypi/edc-test-utils
.. |pypi-edc-timepoint| image:: https://img.shields.io/pypi/v/edc-timepoint.svg
    :target: https://pypi.python.org/pypi/edc-timepoint
.. |pypi-edc-transfer| image:: https://img.shields.io/pypi/v/edc-transfer.svg
    :target: https://pypi.python.org/pypi/edc-transfer
.. |pypi-edc-unblinding| image:: https://img.shields.io/pypi/v/edc-utils.svg
    :target: https://pypi.python.org/pypi/edc-unblinding
.. |pypi-edc-utils| image:: https://img.shields.io/pypi/v/edc-utils.svg
    :target: https://pypi.python.org/pypi/edc-utils
.. |pypi-edc-visit-schedule| image:: https://img.shields.io/pypi/v/edc-visit-schedule.svg
    :target: https://pypi.python.org/pypi/edc-visit-schedule
.. |pypi-edc-visit-tracking| image:: https://img.shields.io/pypi/v/edc-visit-tracking.svg
    :target: https://pypi.python.org/pypi/edc-visit-tracking
.. |pypi-edc-vitals| image:: https://img.shields.io/pypi/v/edc-vitals.svg
    :target: https://pypi.python.org/pypi/edc-vitals
.. |jet-brains| image:: https://resources.jetbrains.com/storage/products/company/brand/logos/PyCharm_icon.png
    :target: https://jb.gg/OpenSource
    :width: 25
    :alt: JetBrains PyCharm

.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/clinicedc/edc",
    "name": "edc",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "django edc clinical trials research",
    "author": "Erik van Widenfelt",
    "author_email": "ew2789@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ba/2e/b637af130ebfc6f8fd82901d73ca6c25407853b169343279d0448fed2f98/edc-0.6.13.tar.gz",
    "platform": null,
    "description": "|pypi| |downloads| |black|\n\nclinicedc\n=========\n\nHere are a set of python modules that extend Django to empower you to build an EDC / eSource system to handle data\ncollection and management for multi-site longitudinal clinical trials.\n\nRefer to the specific open projects listed below for example EDC systems built with these modules.\nThe more recent the trial the better the example.\n\nThe codebase continues to evolve over many years of conducting clinical trials for mostly NIH-funded clinical trials through\nthe `Harvard T Chan School of Public Health <https://aids.harvard.edu>`__, the\n`Botswana-Harvard AIDS Institute Partnership <https://aids.harvard.edu/research/bhp>`__\nin Gaborone, Botswana and the `London School of Hygiene and Tropical Medicine <https://lshtm.ac.uk>`__.\nAlmost all trials were originally related to HIV/AIDS research.\n\nMore recent work with the `RESPOND Africa Group <https://www.ucl.ac.uk/global-health/respond-africa>`__ formerly at the\n`Liverpool School of Tropical Medicine <https://lstm.ac.uk>`__ and now with the `University College London Institute for Global Health <https://www.ucl.ac.uk/global-health/>`__ has expanded into Diabetes (DM),\nHypertension (HTN) and models of integrating care in Africa (https://inteafrica.org) for the\nthree main chronic conditions -- HIV/DM/HTN.\n\nSee also https://www.ucl.ac.uk/global-health/respond-africa\n\nThe implementations we have developed are mostly eSource systems rather than the traditional EDCs.\n\nThe ``clinicedc`` for each trial consists of a subset of trial-specific modules that reference this module.\n\n(python 3.12, Django 4.2, MySQL 8+, see setup.cfg)\n\n\nHow we describe the EDC in our protocol documents\n-------------------------------------------------\n\nHere is a simple example of a data management section for a study protocol document: `data_management_section`_\n\n.. _data_management_section: https://github.com/clinicedc/edc/blob/main/docs/protocol_data_management_section.rst\n\n\nProjects that use ``clinicedc``\n-------------------------------\nRecent examples of ``clinicedc`` applications using this codebase:\n\nINTECOMM\n--------\nControlling chronic diseases in Africa: Development and evaluation of an integrated community-based management model for HIV, Diabetes and Hypertension in Tanzania and Uganda\n\nhttps://github.com/intecomm-trial/intecomm-edc (2022- )\n\nEFFECT\n------\nFluconazole plus flucytosine vs. fluconazole alone for cryptococcal antigen-positive patients identified through screening:\n\nA phase III randomised controlled trial\n\nhttps://github.com/effect-trial/effect-edc (2021- )\n\nhttp://www.isrctn.com/ISRCTN30579828\n\nMETA Trial (Phase III)\n~~~~~~~~~~~~~~~~~~~~~~\nA randomised placebo-controlled double-blind phase III trial to determine the effects of metformin versus placebo on the incidence of diabetes in HIV-infected persons with pre-diabetes in Tanzania.\n\nhttps://github.com/meta-trial/meta-edc (2021- )\n\n(The same codebase is used for META Phase 2 and META Phase 3)\n\nhttp://www.isrctn.com/ISRCTN77382043\n\nMapitio\n~~~~~~~\n\nRetrospective HIV/Diabetes/Hypertension Cohort (Tanzania)\n\nhttps://github.com/mapitio/mapitio-edc (2020-2022)\n\nMOCCA\n~~~~~\n\nIntegrated care for HIV and non-communicable diseases in Africa: a pilot study to inform a large-scale trial (MOCCA and MOCCA Extension Study)\n\nhttps://github.com/mocca-trail/mocca-edc (2020-2022)\n\nhttp://www.isrctn.com/ISRCTN71437522\n\nINTE Africa Trial\n~~~~~~~~~~~~~~~~~\nEvaluating the integration of health services for chronic diseases in Africa\n\n(32 sites in Uganda and Tanzania)\n\nhttps://github.com/inte-africa-trial/inte-edc (2020-2022)\n\nhttps://inteafrica.org\n\nhttp://www.isrctn.com/ISRCTN43896688\n\nMETA Trial (Phase II)\n~~~~~~~~~~~~~~~~~~~~~\nA randomised placebo-controlled double-blind phase II trial to determine the effects of metformin versus placebo on the incidence of diabetes in HIV-infected persons with pre-diabetes in Tanzania.\n\n(3 sites in Tanzania)\n\nhttps://github.com/meta-trial/meta-edc (2019-2021)\n\nhttp://www.isrctn.com/ISRCTN76157257\n\n\nThe Ambition Trial\n~~~~~~~~~~~~~~~~~~\n\nHigh dose AMBISOME on a fluconazole backbone for cryptococcal meningitis induction therapy in sub-Saharan Africa\n\n(7 sites in Botswana, Malawi, South Africa, Uganda, Zimbabwe)\n\nhttps://github.com/ambition-trial/ambition-edc (2018-2021)\n\nhttp://www.isrctn.com/ISRCTN72509687\n\nStart with main repo `ambition-edc`\n\nThe Botswana Combination Prevention Project\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n(30 remote offline sites in Botswana)\n\nhttps://github.com/botswana-combination-prevention-project (2013-2018)\n\nhttps://clinicaltrials.gov/ct2/show/NCT01965470\n\nhttps://www.ncbi.nlm.nih.gov/pubmed/?term=NCT01965470\n\nhttps://aids.harvard.edu/tag/bcpp/\n\nStart with main repo `bcpp`\n\nContacts\n--------\n\nFor further information go to https://github.com/erikvw.\n\n|django| |jet-brains|\n\n=========================== ============================= ==================================\nedc-action-item_            |edc-action-item|             |pypi-edc-action-item|\nedc-adverse-event_          |edc-adverse-event|           |pypi-edc-adverse-event|\nedc-appconfig_              |edc-appconfig|               |pypi-edc-appconfig|\nedc-appointment_            |edc-appointment|             |pypi-edc-appointment|\nedc-auth_                   |edc-auth|                    |pypi-edc-auth|\nedc-consent_                |edc-consent|                 |pypi-edc-consent|\nedc-constants_                                            |pypi-edc-constants|\nedc-crf_                    |edc-crf|                     |pypi-edc-crf|\nedc-dashboard_              |edc-dashboard|               |pypi-edc-dashboard|\nedc-data-manager_           |edc-data-manager|            |pypi-edc-data-manager|\nedc-device_                 |edc-device|                  |pypi-edc-device|\nedc-document-status_        |edc-document-status|         |pypi-edc-document-status|\nedc-egfr_                   |edc-egfr|                    |pypi-edc-egfr|\nedc-export_                 |edc-export|                  |pypi-edc-export|\nedc-facility_               |edc-facility|                |pypi-edc-facility|\nedc-fieldsets_              |edc-fieldsets|               |pypi-edc-fieldsets|\nedc-form-describer_         |edc-form-describer|          |pypi-edc-form-describer|\nedc-form-label_             |edc-form-label|              |pypi-edc-form-label|\nedc-form-runners_           |edc-form-runners|            |pypi-edc-form-runners|\nedc-form-validators_        |edc-form-validators|         |pypi-edc-form-validators|\nedc-identifier_             |edc-identifier|              |pypi-edc-identifier|\nedc-lab_                    |edc-lab|                     |pypi-edc-lab|\nedc-lab-dashboard_          |edc-lab-dashboard|           |pypi-edc-lab-dashboard|\nedc-lab-panel_              |edc-lab-panel|               |pypi-edc-lab-panel|\nedc-lab-results_            |edc-lab-results|             |pypi-edc-lab-panel|\nedc-label_                  |edc-label|                   |pypi-edc-label|\nedc-list-data_              |edc-list-data|               |pypi-edc-list-data|\nedc-listboard_              |edc-listboard|               |pypi-edc-listboard|\nedc-locator_                |edc-locator|                 |pypi-edc-locator|\nedc-ltfu_                   |edc-ltfu|                    |pypi-edc-ltfu|\nedc-metadata_               |edc-metadata|                |pypi-edc-metadata|\nedc-model_                  |edc-model|                   |pypi-edc-model|\nedc-model-admin_            |edc-model-admin|             |pypi-edc-model-admin|\nedc-model-fields_           |edc-model-fields|            |pypi-edc-model-fields|\nedc-model-form_             |edc-model-form|              |pypi-edc-model-form|\nedc-navbar_                 |edc-navbar|                  |pypi-edc-navbar|\nedc-next-appointment_       |edc-next-appointment|        |pypi-edc-next-appointment|\nedc-notification_           |edc-notification|            |pypi-edc-notification|\nedc-offstudy_               |edc-offstudy|                |pypi-edc-offstudy|\nedc-pdf-reports_            |edc-pdf-reports|             |pypi-edc-pdf-reports|\nedc-pdutils_                |edc-pdutils|                 |pypi-edc-pdutils|\nedc-prn_                    |edc-prn|                     |pypi-edc-prn|\nedc-protocol_               |edc-protocol|                |pypi-edc-protocol|\nedc-protocol-incident_      |edc-protocol-incident|       |pypi-edc-protocol-incident|\nedc-qareports_              |edc-qareports|               |pypi-edc-qareports|\nedc-randomization_          |edc-randomization|           |pypi-edc-randomization|\nedc-refusal_                |edc-refusal|                 |pypi-edc-refusal|\nedc-registration_           |edc-registration|            |pypi-edc-registration|\nedc-reportable_             |edc-reportable|              |pypi-edc-reportable|\nedc-review-dashboard_       |edc-review-dashboard|        |pypi-edc-review-dashboard|\nedc-screening_              |edc-screening|               |pypi-edc-screening|\nedc-search_                 |edc-search|                  |pypi-edc-search|\nedc-sites_                  |edc-sites|                   |pypi-edc-sites|\nedc-subject-dashboard_      |edc-subject-dashboard|       |pypi-edc-subject-dashboard|\nedc-test-utils_             |edc-test-utils|              |pypi-edc-test-utils|\nedc-timepoint_              |edc-timepoint|               |pypi-edc-timepoint|\nedc-transfer_               |edc-transfer|                |pypi-edc-transfer|\nedc-unblinding_             |edc-unblinding|              |pypi-edc-unblinding|\nedc-utils_                  |edc-utils|                   |pypi-edc-utils|\nedc-visit-schedule_         |edc-visit-schedule|          |pypi-edc-visit-schedule|\nedc-visit-tracking_         |edc-visit-tracking|          |pypi-edc-visit-tracking|\n=========================== ============================= ==================================\n\n\nContrib\n-------\n\n========================== ============================== ==================================\nedc-adherence_              |edc-adherence|               |pypi-edc-adherence|\nedc-csf_                    |edc-csf|                     |pypi-edc-csf|\nedc-dx_                     |edc-dx|                      |pypi-edc-dx|\nedc-dx-review_              |edc-dx-review|               |pypi-edc-dx-review|\nedc-glucose_                |edc-glucose|                 |pypi-edc-glucose|\nedc-he_                     |edc-he|                      |pypi-edc-he|\nedc-mnsi_                   |edc-mnsi|                    |pypi-edc-mnsi|\nedc-microbiology_           |edc-microbiology|            |pypi-edc-microbiology|\nedc-microscopy_             |edc-microscopy|              |pypi-edc-microscopy|\nedc-pharmacy_               |edc-pharmacy|                |pypi-edc-pharmacy|\nedc-pharmacy-dashboard_     |edc-pharmacy-dashboard|      |pypi-edc-pharmacy-dashboard|\nedc-qol_                    |edc-qol|                     |pypi-edc-qol|\nedc-rx_                     |edc-rx|                      |pypi-edc-rx|\nedc-vitals_                 |edc-vitals|                  |pypi-edc-vitals|\n========================== ============================== ==================================\n\nThanks to JetBrains for support with an opensource PyCharm IDE license. |jet-brains|\n\n.. |pypi| image:: https://img.shields.io/pypi/v/edc.svg\n    :target: https://pypi.python.org/pypi/edc\n\n.. |downloads| image:: https://pepy.tech/badge/edc\n   :target: https://pepy.tech/project/edc\n\n.. |django| image:: https://www.djangoproject.com/m/img/badges/djangomade124x25.gif\n   :target: http://www.djangoproject.com/\n   :alt: Made with Django\n\n\n.. _edc-action-item: https://github.com/clinicedc/edc-action-item\n.. _edc-adherence: https://github.com/clinicedc/edc-adherence\n.. _edc-adverse-event: https://github.com/clinicedc/edc-adverse-event\n.. _edc-appointment: https://github.com/clinicedc/edc-appointment\n.. _edc-appconfig: https://github.com/clinicedc/edc-appconfig\n.. _edc-auth: https://github.com/clinicedc/edc-auth\n.. _edc-consent: https://github.com/clinicedc/edc-consent\n.. _edc-constants: https://github.com/clinicedc/edc-constants\n.. _edc-crf: https://github.com/clinicedc/edc-crf\n.. _edc-csf: https://github.com/clinicedc/edc-csf\n.. _edc-dashboard: https://github.com/clinicedc/edc-dashboard\n.. _edc-data-manager: https://github.com/clinicedc/edc-data-manager\n.. _edc-device: https://github.com/clinicedc/edc-device\n.. _edc-document-status: https://github.com/clinicedc/edc-document-status\n.. _edc-dx: https://github.com/clinicedc/edc-dx\n.. _edc-dx-review: https://github.com/clinicedc/edc-dx-review\n.. _edc-egfr: https://github.com/clinicedc/edc-egfr\n.. _edc-export: https://github.com/clinicedc/edc-export\n.. _edc-facility: https://github.com/clinicedc/edc-facility\n.. _edc-fieldsets: https://github.com/clinicedc/edc-fieldsets\n.. _edc-form-describer: https://github.com/clinicedc/edc-form-describer\n.. _edc-form-label: https://github.com/clinicedc/edc-form-label\n.. _edc-form-runners: https://github.com/clinicedc/edc-form-runners\n.. _edc-form-validators: https://github.com/clinicedc/edc-form-validators\n.. _edc-glucose: https://github.com/clinicedc/edc-glucose\n.. _edc-he: https://github.com/clinicedc/edc-he\n.. _edc-identifier: https://github.com/clinicedc/edc-identifier\n.. _edc-lab: https://github.com/clinicedc/edc-lab\n.. _edc-lab-dashboard: https://github.com/clinicedc/edc-lab-dashboard\n.. _edc-lab-panel: https://github.com/clinicedc/edc-lab-panel\n.. _edc-lab-results: https://github.com/clinicedc/edc-lab-results\n.. _edc-label: https://github.com/clinicedc/edc-label\n.. _edc-list-data: https://github.com/clinicedc/edc-list-data\n.. _edc-listboard: https://github.com/clinicedc/edc-listboard\n.. _edc-locator: https://github.com/clinicedc/edc-locator\n.. _edc-ltfu: https://github.com/clinicedc/edc-ltfu\n.. _edc-metadata: https://github.com/clinicedc/edc-metadata\n.. _edc-mnsi: https://github.com/clinicedc/edc-mnsi\n.. _edc-microbiology: https://github.com/clinicedc/edc-microbiology\n.. _edc-microscopy: https://github.com/clinicedc/edc-microscopy\n.. _edc-model: https://github.com/clinicedc/edc-model\n.. _edc-model-admin: https://github.com/clinicedc/edc-model-admin\n.. _edc-model-fields: https://github.com/clinicedc/edc-model-fields\n.. _edc-model-form: https://github.com/clinicedc/edc-model-form\n.. _edc-navbar: https://github.com/clinicedc/edc-navbar\n.. _edc-next-appointment: https://github.com/clinicedc/edc-next-appointment\n.. _edc-notification: https://github.com/clinicedc/edc-notification\n.. _edc-offstudy: https://github.com/clinicedc/edc-offstudy\n.. _edc-pdutils: https://github.com/clinicedc/edc-pdutils\n.. _edc-pharmacy: https://github.com/clinicedc/edc-pharmacy\n.. _edc-pharmacy-dashboard: https://github.com/clinicedc/edc-pharmacy-dashboard\n.. _edc-prn: https://github.com/clinicedc/edc-prn\n.. _edc-protocol: https://github.com/clinicedc/edc-protocol\n.. _edc-protocol-incident: https://github.com/clinicedc/edc-protocol-incident\n.. _edc-qareports: https://github.com/clinicedc/edc-qareports\n.. _edc-qol: https://github.com/clinicedc/edc-qol\n.. _edc-randomization: https://github.com/clinicedc/edc-randomization\n.. _edc-refusal: https://github.com/clinicedc/edc-refusal\n.. _edc-registration: https://github.com/clinicedc/edc-registration\n.. _edc-reportable: https://github.com/clinicedc/edc-reportable\n.. _edc-pdf-reports: https://github.com/clinicedc/edc-reports\n.. _edc-review-dashboard: https://github.com/clinicedc/edc-review-dashboard\n.. _edc-rx: https://github.com/clinicedc/edc-rx\n.. _edc-screening: https://github.com/clinicedc/edc-screening\n.. _edc-search: https://github.com/clinicedc/edc-search\n.. _edc-sites: https://github.com/clinicedc/edc-sites\n.. _edc-subject-dashboard: https://github.com/clinicedc/edc-subject-dashboard\n.. _edc-test-utils: https://github.com/clinicedc/edc-test-utils\n.. _edc-timepoint: https://github.com/clinicedc/edc-timepoint\n.. _edc-transfer: https://github.com/clinicedc/edc-transfer\n.. _edc-unblinding: https://github.com/clinicedc/edc-unblinding\n.. _edc-utils: https://github.com/clinicedc/edc-utils\n.. _edc-visit-schedule: https://github.com/clinicedc/edc-visit-schedule\n.. _edc-visit-tracking: https://github.com/clinicedc/edc-visit-tracking\n.. _edc-vitals: https://github.com/clinicedc/edc-vitals\n\n.. |edc-action-item| image:: https://github.com/clinicedc/edc-action-item/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-action-item/actions/workflows/build.yml\n.. |edc-adherence| image:: https://github.com/clinicedc/edc-adherence/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-adherence/actions/workflows/build.yml\n.. |edc-adverse-event| image:: https://github.com/clinicedc/edc-adverse-event/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-adverse-event/actions/workflows/build.yml\n.. |edc-appointment| image:: https://github.com/clinicedc/edc-appointment/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-appointment/actions/workflows/build.yml\n.. |edc-appconfig| image:: https://github.com/clinicedc/edc-appconfig/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-appconfig/actions/workflows/build.yml\n.. |edc-auth| image:: https://github.com/clinicedc/edc-auth/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-auth/actions/workflows/build.yml\n.. |edc-lab-results| image:: https://github.com/clinicedc/edc-lab-results/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-lab-results/actions/workflows/build.yml\n.. |edc-clinic| image:: https://github.com/clinicedc/edc-clinic/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-clinic/actions/workflows/build.yml\n.. |edc-consent| image:: https://github.com/clinicedc/edc-consent/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-consent/actions/workflows/build.yml\n.. |edc-crf| image:: https://github.com/clinicedc/edc-crf/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-crf/actions/workflows/build.yml\n.. |edc-csf| image:: https://github.com/clinicedc/edc-csf/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-csf/actions/workflows/build.yml\n.. |edc-dashboard| image:: https://github.com/clinicedc/edc-dashboard/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-dashboard/actions/workflows/build.yml\n.. |edc-data-manager| image:: https://github.com/clinicedc/edc-data-manager/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-data-manager/actions/workflows/build.yml\n.. |edc-device| image:: https://github.com/clinicedc/edc-device/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-device/actions/workflows/build.yml\n.. |edc-document-status| image:: https://github.com/clinicedc/edc-document-status/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-document-status/actions/workflows/build.yml\n.. |edc-dx| image:: https://github.com/clinicedc/edc-dx/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-dx/actions/workflows/build.yml\n.. |edc-dx-review| image:: https://github.com/clinicedc/edc-dx-review/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-dx-review/actions/workflows/build.yml\n.. |edc-egfr| image:: https://github.com/clinicedc/edc-egfr/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-egfr/actions/workflows/build.yml\n.. |edc-export| image:: https://github.com/clinicedc/edc-export/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-export/actions/workflows/build.yml\n.. |edc-facility| image:: https://github.com/clinicedc/edc-facility/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-facility/actions/workflows/build.yml\n.. |edc-fieldsets| image:: https://github.com/clinicedc/edc-fieldsets/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-fieldsets/actions/workflows/build.yml\n.. |edc-form-describer| image:: https://github.com/clinicedc/edc-form-describer/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-form-describer/actions/workflows/build.yml\n.. |edc-form-label| image:: https://github.com/clinicedc/edc-form-label/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-form-label/actions/workflows/build.yml\n.. |edc-form-runners| image:: https://github.com/clinicedc/edc-form-runners/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-form-runners/actions/workflows/build.yml\n.. |edc-form-validators| image:: https://github.com/clinicedc/edc-form-validators/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-form-validators/actions/workflows/build.yml\n.. |edc-glucose| image:: https://github.com/clinicedc/edc-glucose/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-glucose/actions/workflows/build.yml\n.. |edc-he| image:: https://github.com/clinicedc/edc-he/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-he/actions/workflows/build.yml\n.. |edc-identifier| image:: https://github.com/clinicedc/edc-identifier/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-identifier/actions/workflows/build.yml\n.. |edc-lab| image:: https://github.com/clinicedc/edc-lab/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-lab/actions/workflows/build.yml\n.. |edc-lab-panel| image:: https://github.com/clinicedc/edc-lab-panel/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-lab-panel/actions/workflows/build.yml\n.. |edc-lab-dashboard| image:: https://github.com/clinicedc/edc-lab-dashboard/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-lab-dashboard/actions/workflows/build.yml\n.. |edc-label| image:: https://github.com/clinicedc/edc-label/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-label/actions/workflows/build.yml\n.. |edc-list-data| image:: https://github.com/clinicedc/edc-list-data/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-list-data/actions/workflows/build.yml\n.. |edc-listboard| image:: https://github.com/clinicedc/edc-listboard/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-listboard/actions/workflows/build.yml\n.. |edc-locator| image:: https://github.com/clinicedc/edc-locator/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-locator/actions/workflows/build.yml\n.. |edc-ltfu| image:: https://github.com/clinicedc/edc-ltfu/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-ltfu/actions/workflows/build.yml\n.. |edc-metadata| image:: https://github.com/clinicedc/edc-metadata/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-metadata/actions/workflows/build.yml\n.. |edc-metadata-rules| image:: https://github.com/clinicedc/edc-metadata-rules/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-metadata-rules/actions/workflows/build.yml\n.. |edc-mnsi| image:: https://github.com/clinicedc/edc-mnsi/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-mnsi/actions/workflows/build.yml\n.. |edc-microbiology| image:: https://github.com/clinicedc/edc-microbiology/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-microbiology/actions/workflows/build.yml\n.. |edc-microscopy| image:: https://github.com/clinicedc/edc-microscopy/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-microscopy/actions/workflows/build.yml\n.. |edc-model| image:: https://github.com/clinicedc/edc-model/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-model/actions/workflows/build.yml\n.. |edc-model-admin| image:: https://github.com/clinicedc/edc-model-admin/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-model-admin/actions/workflows/build.yml\n.. |edc-model-fields| image:: https://github.com/clinicedc/edc-model-fields/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-model-fields/actions/workflows/build.yml\n.. |edc-model-form| image:: https://github.com/clinicedc/edc-model-form/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-model-form/actions/workflows/build.yml\n.. |edc-navbar| image:: https://github.com/clinicedc/edc-navbar/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-navbar/actions/workflows/build.yml\n.. |edc-next-appointment| image:: https://github.com/clinicedc/edc-next-appointment/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-next-appointment/actions/workflows/build.yml\n.. |edc-notification| image:: https://github.com/clinicedc/edc-notification/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-notification/actions/workflows/build.yml\n.. |edc-offstudy| image:: https://github.com/clinicedc/edc-offstudy/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-offstudy/actions/workflows/build.yml\n.. |edc-pdutils| image:: https://github.com/clinicedc/edc-pdutils/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-pdutils/actions/workflows/build.yml\n.. |edc-pharmacy| image:: https://github.com/clinicedc/edc-pharmacy/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-pharmacy/actions/workflows/build.yml\n.. |edc-pharmacy-dashboard| image:: https://github.com/clinicedc/edc-pharmacy-dashboard/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-pharmacy-dashboard/actions/workflows/build.yml\n.. |edc-prn| image:: https://github.com/clinicedc/edc-prn/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-prn/actions/workflows/build.yml\n.. |edc-protocol| image:: https://github.com/clinicedc/edc-protocol/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-protocol/actions/workflows/build.yml\n.. |edc-protocol-incident| image:: https://github.com/clinicedc/edc-protocol-incident/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-protocol-incident/actions/workflows/build.yml\n.. |edc-randomization| image:: https://github.com/clinicedc/edc-randomization/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-randomization/actions/workflows/build.yml\n.. |edc-refusal| image:: https://github.com/clinicedc/edc-refusal/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-refusal/actions/workflows/build.yml\n.. |edc-registration| image:: https://github.com/clinicedc/edc-registration/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-registration/actions/workflows/build.yml\n.. |edc-reportable| image:: https://github.com/clinicedc/edc-reportable/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-reportable/actions/workflows/build.yml\n.. |edc-pdf-reports| image:: https://github.com/clinicedc/edc-pdf-reports/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-pdf-reports/actions/workflows/build.yml\n.. |edc-qareports| image:: https://github.com/clinicedc/edc-qareports/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-qareports/actions/workflows/build.yml\n.. |edc-qol| image:: https://github.com/clinicedc/edc-qol/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-qol/actions/workflows/build.yml\n.. |edc-review-dashboard| image:: https://github.com/clinicedc/edc-review-dashboard/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-review-dashboard/actions/workflows/build.yml\n.. |edc-rx| image:: https://github.com/clinicedc/edc-rx/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-rx/actions/workflows/build.yml\n.. |edc-screening| image:: https://github.com/clinicedc/edc-screening/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-screening/actions/workflows/build.yml\n.. |edc-search| image:: https://github.com/clinicedc/edc-search/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-search/actions/workflows/build.yml\n.. |edc-sites| image:: https://github.com/clinicedc/edc-sites/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-sites/actions/workflows/build.yml\n.. |edc-subject-dashboard| image:: https://github.com/clinicedc/edc-subject-dashboard/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-subject-dashboard/actions/workflows/build.yml\n.. |edc-test-utils| image:: https://github.com/clinicedc/edc-test-utils/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-test-utils/actions/workflows/build.yml\n.. |edc-timepoint| image:: https://github.com/clinicedc/edc-timepoint/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-timepoint/actions/workflows/build.yml\n.. |edc-transfer| image:: https://github.com/clinicedc/edc-transfer/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-transfer/actions/workflows/build.yml\n.. |edc-unblinding| image:: https://github.com/clinicedc/edc-unblinding/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-unblinding/actions/workflows/build.yml\n.. |edc-utils| image:: https://github.com/clinicedc/edc-utils/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-utils/actions/workflows/build.yml\n.. |edc-visit-schedule| image:: https://github.com/clinicedc/edc-visit-schedule/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-visit-schedule/actions/workflows/build.yml\n.. |edc-visit-tracking| image:: https://github.com/clinicedc/edc-visit-tracking/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-visit-tracking/actions/workflows/build.yml\n.. |edc-vitals| image:: https://github.com/clinicedc/edc-vitals/actions/workflows/build.yml/badge.svg\n  :target: https://github.com/clinicedc/edc-vitals/actions/workflows/build.yml\n\n.. |pypi-edc-action-item| image:: https://img.shields.io/pypi/v/edc-action-item.svg\n    :target: https://pypi.python.org/pypi/edc-action-item\n.. |pypi-edc-adherence| image:: https://img.shields.io/pypi/v/edc-adherence.svg\n    :target: https://pypi.python.org/pypi/edc-adherence\n.. |pypi-edc-adverse-event| image:: https://img.shields.io/pypi/v/edc-adverse-event.svg\n    :target: https://pypi.python.org/pypi/edc-adverse-event\n.. |pypi-edc-appointment| image:: https://img.shields.io/pypi/v/edc-appointment.svg\n    :target: https://pypi.python.org/pypi/edc-appointment\n.. |pypi-edc-appconfig| image:: https://img.shields.io/pypi/v/edc-appconfig.svg\n    :target: https://pypi.python.org/pypi/edc-appconfig\n.. |pypi-edc-auth| image:: https://img.shields.io/pypi/v/edc-auth.svg\n    :target: https://pypi.python.org/pypi/edc-auth\n.. |pypi-edc-blood-results| image:: https://img.shields.io/pypi/v/edc-blood-results.svg\n    :target: https://pypi.python.org/pypi/edc-blood-results\n.. |pypi-edc-consent| image:: https://img.shields.io/pypi/v/edc-consent.svg\n    :target: https://pypi.python.org/pypi/edc-consent\n.. |pypi-edc-constants| image:: https://img.shields.io/pypi/v/edc-constants.svg\n    :target: https://pypi.python.org/pypi/edc-constants\n.. |pypi-edc-crf| image:: https://img.shields.io/pypi/v/edc-crf.svg\n    :target: https://pypi.python.org/pypi/edc-crf\n.. |pypi-edc-csf| image:: https://img.shields.io/pypi/v/edc-csf.svg\n    :target: https://pypi.python.org/pypi/edc-csf\n.. |pypi-edc-dashboard| image:: https://img.shields.io/pypi/v/edc-dashboard.svg\n    :target: https://pypi.python.org/pypi/edc-dashboard\n.. |pypi-edc-data-manager| image:: https://img.shields.io/pypi/v/edc-data-manager.svg\n    :target: https://pypi.python.org/pypi/edc-data-manager\n.. |pypi-edc-device| image:: https://img.shields.io/pypi/v/edc-device.svg\n    :target: https://pypi.python.org/pypi/edc-device\n.. |pypi-edc-document-status| image:: https://img.shields.io/pypi/v/edc-document-status.svg\n    :target: https://pypi.python.org/pypi/edc-document-status\n.. |pypi-edc-dx| image:: https://img.shields.io/pypi/v/edc-dx.svg\n    :target: https://pypi.python.org/pypi/edc-dx\n.. |pypi-edc-dx-review| image:: https://img.shields.io/pypi/v/edc-dx-review.svg\n    :target: https://pypi.python.org/pypi/edc-dx-review\n.. |pypi-edc-egfr| image:: https://img.shields.io/pypi/v/edc-egfr.svg\n    :target: https://pypi.python.org/pypi/edc-egfr\n.. |pypi-edc-export| image:: https://img.shields.io/pypi/v/edc-export.svg\n    :target: https://pypi.python.org/pypi/edc-export\n.. |pypi-edc-facility| image:: https://img.shields.io/pypi/v/edc-facility.svg\n    :target: https://pypi.python.org/pypi/edc-facility\n.. |pypi-edc-fieldsets| image:: https://img.shields.io/pypi/v/edc-fieldsets.svg\n    :target: https://pypi.python.org/pypi/edc-fieldsets\n.. |pypi-edc-form-describer| image:: https://img.shields.io/pypi/v/edc-form-describer.svg\n    :target: https://pypi.python.org/pypi/edc-form-describer\n.. |pypi-edc-form-label| image:: https://img.shields.io/pypi/v/edc-form-label.svg\n    :target: https://pypi.python.org/pypi/edc-form-label\n.. |pypi-edc-form-runners| image:: https://img.shields.io/pypi/v/edc-form-runners.svg\n    :target: https://pypi.python.org/pypi/edc-form-runners\n.. |pypi-edc-form-validators| image:: https://img.shields.io/pypi/v/edc-form-validators.svg\n    :target: https://pypi.python.org/pypi/edc-form-validators\n.. |pypi-edc-glucose| image:: https://img.shields.io/pypi/v/edc-glucose.svg\n    :target: https://pypi.python.org/pypi/edc-glucose\n.. |pypi-edc-he| image:: https://img.shields.io/pypi/v/edc-he.svg\n    :target: https://pypi.python.org/pypi/edc-he\n.. |pypi-edc-identifier| image:: https://img.shields.io/pypi/v/edc-identifier.svg\n    :target: https://pypi.python.org/pypi/edc-identifier\n.. |pypi-edc-lab| image:: https://img.shields.io/pypi/v/edc-lab.svg\n    :target: https://pypi.python.org/pypi/edc-lab\n.. |pypi-edc-lab-panel| image:: https://img.shields.io/pypi/v/edc-lab-panel.svg\n    :target: https://pypi.python.org/pypi/edc-lab-panel\n.. |pypi-edc-lab-dashboard| image:: https://img.shields.io/pypi/v/edc-lab-dashboard.svg\n    :target: https://pypi.python.org/pypi/edc-lab-dashboard\n.. |pypi-edc-label| image:: https://img.shields.io/pypi/v/edc-label.svg\n    :target: https://pypi.python.org/pypi/edc-label\n.. |pypi-edc-list-data| image:: https://img.shields.io/pypi/v/edc-list-data.svg\n    :target: https://pypi.python.org/pypi/edc-list-data\n.. |pypi-edc-listboard| image:: https://img.shields.io/pypi/v/edc-listboard.svg\n    :target: https://pypi.python.org/pypi/edc-listboard\n.. |pypi-edc-locator| image:: https://img.shields.io/pypi/v/edc-locator.svg\n    :target: https://pypi.python.org/pypi/edc-locator\n.. |pypi-edc-ltfu| image:: https://img.shields.io/pypi/v/edc-ltfu.svg\n    :target: https://pypi.python.org/pypi/edc-ltfu\n.. |pypi-edc-metadata| image:: https://img.shields.io/pypi/v/edc-metadata.svg\n    :target: https://pypi.python.org/pypi/edc-metadata\n.. |pypi-edc-mnsi| image:: https://img.shields.io/pypi/v/edc-mnsi.svg\n    :target: https://pypi.python.org/pypi/edc-mnsi\n.. |pypi-edc-microbiology| image:: https://img.shields.io/pypi/v/edc-microbiology.svg\n    :target: https://pypi.python.org/pypi/edc-microbiology\n.. |pypi-edc-microscopy| image:: https://img.shields.io/pypi/v/edc-microscopy.svg\n    :target: https://pypi.python.org/pypi/edc-microscopy\n.. |pypi-edc-model| image:: https://img.shields.io/pypi/v/edc-model.svg\n    :target: https://pypi.python.org/pypi/edc-model\n.. |pypi-edc-model-admin| image:: https://img.shields.io/pypi/v/edc-model-admin.svg\n    :target: https://pypi.python.org/pypi/edc-model-admin\n.. |pypi-edc-model-fields| image:: https://img.shields.io/pypi/v/edc-model-fields.svg\n    :target: https://pypi.python.org/pypi/edc-model-fields\n.. |pypi-edc-model-form| image:: https://img.shields.io/pypi/v/edc-model-form.svg\n    :target: https://pypi.python.org/pypi/edc-model-form\n.. |pypi-edc-navbar| image:: https://img.shields.io/pypi/v/edc-navbar.svg\n    :target: https://pypi.python.org/pypi/edc-navbar\n.. |pypi-edc-next-appointment| image:: https://img.shields.io/pypi/v/edc-next-appointment.svg\n    :target: https://pypi.python.org/pypi/edc-next-appointment\n.. |pypi-edc-notification| image:: https://img.shields.io/pypi/v/edc-notification.svg\n    :target: https://pypi.python.org/pypi/edc-notification\n.. |pypi-edc-offstudy| image:: https://img.shields.io/pypi/v/edc-offstudy.svg\n    :target: https://pypi.python.org/pypi/edc-offstudy\n.. |pypi-edc-pdutils| image:: https://img.shields.io/pypi/v/edc-pdutils.svg\n    :target: https://pypi.python.org/pypi/edc-pdutils\n.. |pypi-edc-pharmacy| image:: https://img.shields.io/pypi/v/edc-pharmacy.svg\n    :target: https://pypi.python.org/pypi/edc-pharmacy\n.. |pypi-edc-pharmacy-dashboard| image:: https://img.shields.io/pypi/v/edc-pharmacy-dashboard.svg\n    :target: https://pypi.python.org/pypi/edc-pharmacy-dashboard\n.. |pypi-edc-prn| image:: https://img.shields.io/pypi/v/edc-prn.svg\n    :target: https://pypi.python.org/pypi/edc-prn\n.. |pypi-edc-protocol| image:: https://img.shields.io/pypi/v/edc-protocol.svg\n    :target: https://pypi.python.org/pypi/edc-protocol\n.. |pypi-edc-protocol-incident| image:: https://img.shields.io/pypi/v/edc-protocol-incident.svg\n    :target: https://pypi.python.org/pypi/edc-protocol-incident\n.. |pypi-edc-qol| image:: https://img.shields.io/pypi/v/edc-qol.svg\n    :target: https://pypi.python.org/pypi/edc-qol\n.. |pypi-edc-randomization| image:: https://img.shields.io/pypi/v/edc-randomization.svg\n    :target: https://pypi.python.org/pypi/edc-randomization\n.. |pypi-edc-refusal| image:: https://img.shields.io/pypi/v/edc-refusal.svg\n    :target: https://pypi.python.org/pypi/edc-refusal\n.. |pypi-edc-registration| image:: https://img.shields.io/pypi/v/edc-registration.svg\n    :target: https://pypi.python.org/pypi/edc-registration\n.. |pypi-edc-reportable| image:: https://img.shields.io/pypi/v/edc-reportable.svg\n    :target: https://pypi.python.org/pypi/edc-reportable\n.. |pypi-edc-pdf-reports| image:: https://img.shields.io/pypi/v/edc-pdf-reports.svg\n    :target: https://pypi.python.org/pypi/edc-pdf-reports\n.. |pypi-edc-qareports| image:: https://img.shields.io/pypi/v/edc-qareports.svg\n    :target: https://pypi.python.org/pypi/edc-qareports\n.. |pypi-edc-review-dashboard| image:: https://img.shields.io/pypi/v/edc-review-dashboard.svg\n    :target: https://pypi.python.org/pypi/edc-review-dashboard\n.. |pypi-edc-rx| image:: https://img.shields.io/pypi/v/edc-rx.svg\n    :target: https://pypi.python.org/pypi/edc-rx\n.. |pypi-edc-screening| image:: https://img.shields.io/pypi/v/edc-screening.svg\n    :target: https://pypi.python.org/pypi/edc-screening\n.. |pypi-edc-search| image:: https://img.shields.io/pypi/v/edc-search.svg\n    :target: https://pypi.python.org/pypi/edc-search\n.. |pypi-edc-sites| image:: https://img.shields.io/pypi/v/edc-sites.svg\n    :target: https://pypi.python.org/pypi/edc-sites\n.. |pypi-edc-subject-dashboard| image:: https://img.shields.io/pypi/v/edc-subject-dashboard.svg\n    :target: https://pypi.python.org/pypi/edc-subject-dashboard\n.. |pypi-edc-test-utils| image:: https://img.shields.io/pypi/v/edc-test-utils.svg\n    :target: https://pypi.python.org/pypi/edc-test-utils\n.. |pypi-edc-timepoint| image:: https://img.shields.io/pypi/v/edc-timepoint.svg\n    :target: https://pypi.python.org/pypi/edc-timepoint\n.. |pypi-edc-transfer| image:: https://img.shields.io/pypi/v/edc-transfer.svg\n    :target: https://pypi.python.org/pypi/edc-transfer\n.. |pypi-edc-unblinding| image:: https://img.shields.io/pypi/v/edc-utils.svg\n    :target: https://pypi.python.org/pypi/edc-unblinding\n.. |pypi-edc-utils| image:: https://img.shields.io/pypi/v/edc-utils.svg\n    :target: https://pypi.python.org/pypi/edc-utils\n.. |pypi-edc-visit-schedule| image:: https://img.shields.io/pypi/v/edc-visit-schedule.svg\n    :target: https://pypi.python.org/pypi/edc-visit-schedule\n.. |pypi-edc-visit-tracking| image:: https://img.shields.io/pypi/v/edc-visit-tracking.svg\n    :target: https://pypi.python.org/pypi/edc-visit-tracking\n.. |pypi-edc-vitals| image:: https://img.shields.io/pypi/v/edc-vitals.svg\n    :target: https://pypi.python.org/pypi/edc-vitals\n.. |jet-brains| image:: https://resources.jetbrains.com/storage/products/company/brand/logos/PyCharm_icon.png\n    :target: https://jb.gg/OpenSource\n    :width: 25\n    :alt: JetBrains PyCharm\n\n.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :target: https://github.com/psf/black\n",
    "bugtrack_url": null,
    "license": "GPL license, see LICENSE",
    "summary": "EDC core modules for clinicedc/edc projects.",
    "version": "0.6.13",
    "project_urls": {
        "Homepage": "https://github.com/clinicedc/edc"
    },
    "split_keywords": [
        "django",
        "edc",
        "clinical",
        "trials",
        "research"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "55439dbb7af7016a8f576061a4ca9d1567adf857fb2c9a6bb6eec72c028411c6",
                "md5": "62f3abf99ddc6d05228027bf5fafbf8d",
                "sha256": "c5886f23167aecd09dfa636b507292c191644bf17a70748b13c735e78296e914"
            },
            "downloads": -1,
            "filename": "edc-0.6.13-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "62f3abf99ddc6d05228027bf5fafbf8d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 20409,
            "upload_time": "2024-09-19T16:14:02",
            "upload_time_iso_8601": "2024-09-19T16:14:02.914472Z",
            "url": "https://files.pythonhosted.org/packages/55/43/9dbb7af7016a8f576061a4ca9d1567adf857fb2c9a6bb6eec72c028411c6/edc-0.6.13-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ba2eb637af130ebfc6f8fd82901d73ca6c25407853b169343279d0448fed2f98",
                "md5": "046f83d6e0eb91ad4d897a37fe2bf345",
                "sha256": "0d0a0658a6e7288f58f46ab49e4d9205a153373df103620aaa38c7666f111c17"
            },
            "downloads": -1,
            "filename": "edc-0.6.13.tar.gz",
            "has_sig": false,
            "md5_digest": "046f83d6e0eb91ad4d897a37fe2bf345",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 620986,
            "upload_time": "2024-09-19T16:14:07",
            "upload_time_iso_8601": "2024-09-19T16:14:07.011938Z",
            "url": "https://files.pythonhosted.org/packages/ba/2e/b637af130ebfc6f8fd82901d73ca6c25407853b169343279d0448fed2f98/edc-0.6.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-19 16:14:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "clinicedc",
    "github_project": "edc",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "edc"
}
        
Elapsed time: 0.41109s