class InfantCrfModel(CrfModelMixin, SyncModelMixin, OffStudyMixin,
                     ExportTrackingFieldsMixin, BaseUuidModel):
    """ A model completed by the user on the infant's scheduled visit. """

    off_study_model = ('td_infant', 'InfantOffStudy')

    infant_visit = models.OneToOneField(InfantVisit)

    history = SyncHistoricalRecords()

    objects = InfantVisitCrfManager()
    entry_meta_data_manager = CrfMetaDataManager(InfantVisit)

    def __str__(self):
        return "{}: {}".format(
            self.__class__._meta.model_name, self.infant_visit.appointment.
            registered_subject.subject_identifier)

    def get_consenting_subject_identifier(self):
        """Returns mother's identifier."""
        return self.get_visit(
        ).appointment.registered_subject.relative_identifier

    class Meta:
        abstract = True
예제 #2
0
class MaternalCrfModel(SyncModelMixin, CrfModelMixin,
                       ExportTrackingFieldsMixin, OffStudyMixin,
                       RequiresConsentMixin, BaseUuidModel):
    """ Base model for all scheduled models (adds key to :class:`MaternalVisit`). """

    consent_model = MaternalConsent

    visit_model_attr = 'maternal_visit'

    off_study_model = ('td_maternal', 'MaternalOffStudy')

    maternal_visit = models.OneToOneField(MaternalVisit)

    history = SyncHistoricalRecords()

    objects = VisitCrfModelManager()

    entry_meta_data_manager = CrfMetaDataManager(MaternalVisit)

    def __str__(self):
        return "{}: {}".format(
            self.__class__._meta.model_name, self.maternal_visit.appointment.
            registered_subject.subject_identifier)

    def natural_key(self):
        return self.maternal_visit.natural_key()

    class Meta:
        abstract = True
예제 #3
0
class InfantOffStudy(CrfModelMixin, SyncModelMixin, OffStudyModelMixin,
                     ExportTrackingFieldsMixin, BaseUuidModel):
    """ A model completed by the user when the infant is taken off study. """

    infant_visit = models.OneToOneField(InfantVisit)

    entry_meta_data_manager = CrfMetaDataManager(InfantVisit)

    history = AuditTrail()

    class Meta:
        app_label = 'mb_infant'
        verbose_name = "Infant Off-Study"
        verbose_name_plural = "Infant Off-Study"
class MaternalOffStudy(OffStudyModelMixin, CrfModelMixin, SyncModelMixin,
                       RequiresConsentMixin, ExportTrackingFieldsMixin,
                       BaseUuidModel):
    """ A model completed by the user on the visit when the mother is taken off-study. """

    consent_model = MaternalConsent

    maternal_visit = models.OneToOneField(MaternalVisit)

    history = AuditTrail()

    entry_meta_data_manager = CrfMetaDataManager(MaternalVisit)

    class Meta:
        app_label = 'mb_maternal'
        verbose_name = "Maternal Off Study"
class MaternalCrfModel(CrfModelMixin, ExportTrackingFieldsMixin,
                       SyncModelMixin, OffStudyMixin, RequiresConsentMixin,
                       BaseUuidModel):
    """ Base model for all scheduled models (adds key to :class:`MaternalVisit`). """

    consent_model = MaternalConsent

    off_study_model = ('mb_maternal', 'MaternalOffStudy')

    maternal_visit = models.OneToOneField(MaternalVisit)

    history = AuditTrail()

    entry_meta_data_manager = CrfMetaDataManager(MaternalVisit)

    class Meta:
        abstract = True
예제 #6
0
class MaternalDeathReport(CrfModelMixin, SyncModelMixin, DeathReportModelMixin,
                          ExportTrackingFieldsMixin, BaseUuidModel):
    """ A model completed by the user on the mother's death. """

    maternal_visit = models.OneToOneField(MaternalVisit)

    #     history = AuditTrail()

    entry_meta_data_manager = CrfMetaDataManager(MaternalVisit)

    def natural_key(self):
        return self.maternal_visit.natural_key()

    natural_key.dependencies = ['td_maternal.maternalvisit']

    class Meta:
        app_label = 'td_maternal'
        verbose_name = "Maternal Death Report"
class InfantCrfModel(
        CrfModelMixin, SyncModelMixin, OffStudyMixin, ExportTrackingFieldsMixin, BaseUuidModel):

    """ A model completed by the user on the infant's scheduled visit. """

    off_study_model = ('mb_infant', 'InfantOffStudy')

    infant_visit = models.OneToOneField(InfantVisit)

    history = AuditTrail()

    entry_meta_data_manager = CrfMetaDataManager(InfantVisit)

    def get_consenting_subject_identifier(self):
        """Returns mother's identifier."""
        return self.get_visit().appointment.registered_subject.relative_identifier

    class Meta:
        abstract = True