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.19-py3-none-any.whl (39.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: edc-visit-tracking-0.2.19.macosx-10.7-x86_64.tar.gz
  • Upload date:
  • Size: 50.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for edc-visit-tracking-0.2.19.macosx-10.7-x86_64.tar.gz
Algorithm Hash digest
SHA256 809e99a18e0b244e7079406f668343fc578d390d24f0776a4c18bbb618681c32
MD5 3aa9fa9deed1452c617062f8052406e0
BLAKE2b-256 a16b8d9f1c770b0fed55009b2cbe95cc171ce7a12b9c8da5a5ac4275ec3d85da

See more details on using hashes here.

File details

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

File metadata

  • Download URL: edc_visit_tracking-0.2.19-py3-none-any.whl
  • Upload date:
  • Size: 39.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for edc_visit_tracking-0.2.19-py3-none-any.whl
Algorithm Hash digest
SHA256 17a98c7744aa54b8eb32c90ec35a01d2755f81aacd21dd3de074bb7423be1889
MD5 65ec2dc8efcb05ba840f722b0fa26c1a
BLAKE2b-256 418197922cf6f91219fa4531d7d3b7e4a7bfbdef73d2dcb77c4ed350445f37af

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