Skip to main content

Base classes for visit reports/tracking in clinicedc/edc.

Project description

|pypi| |travis| |coverage|


edc-visit-tracking
------------------

Track study participant visit reports.


Declaring a visit model
+++++++++++++++++++++++

A **visit_model** is declared using the model mixin `VisitModelMixin`. Normally, a **visit_model** will be declared with additional model mixins, but `VisitModelMixin` must be there.


.. code-block:: python

class SubjectVisit(VisitModelMixin, BaseUuidModel):
...

Also, ensure the `Meta` class attributes of `VisitModelMixin` are inherited. These include required constraints and ordering.


.. code-block:: python

class SubjectVisit(VisitModelMixin, BaseUuidModel):

...

class Meta(VisitModelMixin.Meta):
pass

Among other features, `VisitModelMixin` adds a `OneToOneField` foreign key to the **visit_model** that points to `edc_appointment.Appointment`.

Important: A **visit model** is a special model in the EDC. A model declared with the model mixin, `VisitModelMixin`, is the definition of a **visit model**. CRFs and Requisitions have a foreign key pointing to a **visit model**. A number of methods on CRFs and Requisitions detect their **visit model** foreign key name, model class and value by looking for the FK declared with `VisitModelMixin`.


For a subject that requires ICF the **visit model** would look like this:

.. code-block:: python

class SubjectVisit(VisitModelMixin, OffstudyMixin, CreatesMetadataModelMixin,
RequiresConsentModelMixin, BaseUuidModel):

class Meta(VisitModelMixin.Meta):
consent_model = 'myapp.subjectconsent' # for RequiresConsentModelMixin


If the subject does not require ICF, such as an infant, don't include the `RequiresConsentModelMixin`:

.. code-block:: python

class InfantVisit(VisitModelMixin, OffstudyMixin,
CreatesMetadataModelMixin, BaseUuidModel):

class Meta(VisitModelMixin.Meta):
pass

Declaring a CRF
+++++++++++++++

The `CrfModelMixin` is required for all CRF models. CRF models have a `OneToOneField` key to a **visit model**.

.. code-block:: python

class CrfOne(CrfModelMixin, OffstudyCrfModelMixin, RequiresConsentModelMixin,
UpdatesCrfMetadataModelMixin, BaseUuidModel):

subject_visit = models.OneToOneField(SubjectVisit)

f1 = models.CharField(max_length=10, default='erik')

vl = models.CharField(max_length=10, default=NO)

rdb = models.CharField(max_length=10, default=NO)

class Meta:
consent_model = 'myapp.subjectconsent' # for RequiresConsentModelMixin

Declaring forms:
+++++++++++++++
The `VisitFormMixin` includes a number of common validations in the `clean` method:

.. code-block:: python

class SubjectVisitForm(VisitFormMixin, forms.ModelForm):

class Meta:
model = SubjectVisit

`PreviousVisitModelMixin`
++++++++++++++++++++++++

The `PreviousVisitModelMixin` ensures that visits are entered in sequence. It is included with the `VisitModelMixin`.


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

.. |travis| image:: https://travis-ci.org/clinicedc/edc-visit-tracking.svg?branch=develop
:target: https://travis-ci.org/clinicedc/edc-visit-tracking

.. |coverage| image:: https://coveralls.io/repos/github/clinicedc/edc-visit-tracking/badge.svg?branch=develop
:target: https://coveralls.io/github/clinicedc/edc-visit-tracking?branch=develop



Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

edc_visit_tracking-0.2.20-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

Details for the file edc-visit-tracking-0.2.20.macosx-10.7-x86_64.tar.gz.

File metadata

  • Download URL: edc-visit-tracking-0.2.20.macosx-10.7-x86_64.tar.gz
  • Upload date:
  • Size: 50.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0

File hashes

Hashes for edc-visit-tracking-0.2.20.macosx-10.7-x86_64.tar.gz
Algorithm Hash digest
SHA256 3961458414fbbd01558000c08c9c54dce86ec02c37720ecb404a1dd283fd030d
MD5 e115aed52e1b22259cfb57196fe5e381
BLAKE2b-256 cf9a08824d1241efc2b770d35913e4911a2505047f5ee445d148191f140bd5eb

See more details on using hashes here.

File details

Details for the file edc_visit_tracking-0.2.20-py3-none-any.whl.

File metadata

  • Download URL: edc_visit_tracking-0.2.20-py3-none-any.whl
  • Upload date:
  • Size: 33.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0

File hashes

Hashes for edc_visit_tracking-0.2.20-py3-none-any.whl
Algorithm Hash digest
SHA256 6a34d02dc0a54739c15ae549944c874707d093f06b3c08a4493c060b7904d1a5
MD5 aa8dedae353a6df97d1aac56d45a9e37
BLAKE2b-256 6ceb546b175f2adc73c77e7a45665cd86229580dcaf7a772585bf2c4b1e5b48b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page