Skip to main content

MNSI form/model for the clinicedc/edc and other django projects

Project description

pypi actions codecov downloads

edc-mnsi

Django classes for the Michigan Neuropathy Screening Instrument (MNSI).

MNSI scores are calculated in signals.py through a call to the MnsiCalculator and stored in two calculated fields on the model. The two calculated fields can also be viewed as read only on the form in Admin.

See also:

edc_mnsi has an Mnsi model. If the default model does not meet your needs, you can use the Mnsi model mixin, MnsiModelMixin, and declare a custom Mnsi model in your app.

# models.py
from edc_mnsi.model_mixins import MnsiModelMixin
from edc_model import models as edc_models
# a custom mixin
from ..model_mixins import CrfModelMixin


class Mnsi(
    MnsiModelMixin,
    CrfModelMixin,
    edc_models.BaseUuidModel,
):
    class Meta(MnsiModelMixin.Meta, CrfModelMixin.Meta, edc_models.BaseUuidModel.Meta):
        pass

Add the following to settings if using a custom Mnsi model:

EDC_MNSI_MODEL = "my_app.mnsi"

Note: settings.EDC_MNSI_MODEL is needed by edc_mnsi.auths.py to find the Mnsi model. This is applicable if you are using edc_auth.

A custom admin class will be needed for your custom Mnsi model. Here is an example of a custom admin class that refers to fields added to the custom Mnsi model and adds a custom modeladmin mixin.

Note: In your custom admin you should unregister the default admin class before registering your custom admin class.

# admin.py
from django.contrib import admin
from django_audit_fields import audit_fieldset_tuple
from edc_crf.admin import crf_status_fieldset_tuple
from edc_mnsi.admin_site import edc_mnsi_admin
from edc_mnsi.fieldsets import calculated_values_fieldset
from edc_mnsi.fieldsets import get_fieldsets as get_mnsi_fieldsets
from edc_mnsi.model_admin_mixin import MnsiModelAdminMixin, radio_fields
from edc_mnsi.models import Mnsi as DefaultMnsi
from edc_model_admin.history import SimpleHistoryAdmin

# your app's admin site
from ..admin_site import my_app_admin
# your custom form
from ..forms import MnsiForm
# your custom model
from ..models import Mnsi
# a custom mixin
from .modeladmin import CrfModelAdmin

# customize the fieldsets as needed
def get_fieldsets():
    fieldset = (
        None,
        {
            "fields": (
                "subject_visit",
                "report_datetime",
                "mnsi_performed",
                "mnsi_not_performed_reason",
            )
        },
    )

    fieldsets = (fieldset,) + get_mnsi_fieldsets()
    fieldsets += (crf_status_fieldset_tuple,)
    fieldsets += (calculated_values_fieldset,)
    fieldsets += (audit_fieldset_tuple,)
    return fieldsets

# customize radio_fields
radio_fields.update(crf_status=admin.VERTICAL)
# unregister the default model
edc_mnsi_admin.unregister(DefaultMnsi)

@admin.register(Mnsi, site=meta_subject_admin)
class MnsiAdmin(
    MnsiModelAdminMixin,
    CrfModelAdmin,
    SimpleHistoryAdmin,
):
    form = MnsiForm
    fieldsets = get_fieldsets()
    radio_fields = radio_fields

Made with Django

Project details


Download files

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

Source Distribution

edc-mnsi-0.1.14.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

edc_mnsi-0.1.14-py3-none-any.whl (48.8 kB view details)

Uploaded Python 3

File details

Details for the file edc-mnsi-0.1.14.tar.gz.

File metadata

  • Download URL: edc-mnsi-0.1.14.tar.gz
  • Upload date:
  • Size: 43.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.9

File hashes

Hashes for edc-mnsi-0.1.14.tar.gz
Algorithm Hash digest
SHA256 c166ba45b4604279aaa0df680c391a2821716831b4d9e84741f4785df821ea3b
MD5 339517023aab9eacb9a164b8e8fbdb88
BLAKE2b-256 f44b1d5b7865698df406e541b5dae30f70abb47564a714adfe8ef5c712e26cb7

See more details on using hashes here.

File details

Details for the file edc_mnsi-0.1.14-py3-none-any.whl.

File metadata

  • Download URL: edc_mnsi-0.1.14-py3-none-any.whl
  • Upload date:
  • Size: 48.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.9

File hashes

Hashes for edc_mnsi-0.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 7f1917e9d45c39c8b39600742cd5e68056d0c508e7f361eca7cfa52620df7ffb
MD5 7eb4cbcb1eaa28de765e08d4bb954521
BLAKE2b-256 aff89b9e56208294876bab46e1a228a04669782a1ab5bf2f16e81dd507abbfa7

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