# coding: utf-8

"""
    MolecularMatch MMPower

    MMPower API  # noqa: E501

    OpenAPI spec version: 1.0.0
    Contact: <EMAIL>
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six


class PrivateTrial(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'id': 'str',
        'institution_id': 'str',
        'institution_study_id': 'str',
        'registry_id': 'str',
        'visible_to_idn': 'bool',
        'brief_title': 'str',
        'acronym': 'list[str]',
        'official_title': 'str',
        'sponsors': 'list[ClinicalTrialSponsors]',
        'source': 'str',
        'oversight': 'Oversight',
        'brief_summary': 'str',
        'detailed_description': 'str',
        'status': 'str',
        'start_date': 'datetime',
        'completion_date': 'datetime',
        'phase': 'str',
        'study_type': 'str',
        'has_expanded_access': 'bool',
        'expanded_access': 'ExpandedAccess',
        'study_design': 'StudyDesign',
        'primary_outcome': 'list[Outcome]',
        'secondary_outcome': 'list[Outcome]',
        'other_outcome': 'list[Outcome]',
        'number_of_arms': 'int',
        'number_of_groups': 'int',
        'enrollment': 'int',
        'condition': 'list[str]',
        'arm_group': 'list[ArmGroup]',
        'intervention': 'list[Intervention]',
        'biospec_retention': 'str',
        'biospec_descr': 'str',
        'eligibility': 'Eligibility',
        'overall_official': 'list[Investigator]',
        'overall_contact': 'Contact',
        'overall_contact_backup': 'Contact',
        'location': 'list[Location]',
        'location_countries': 'list[str]',
        'link': 'str',
        'reference': 'list[Reference]',
        'verification_date': 'datetime',
        'study_first_submitted': 'datetime',
        'study_first_posted': 'datetime',
        'last_update_posted': 'datetime',
        'keyword': 'list[str]',
        'responsible_party': 'list[ResponsibleParty]',
        'processing_status': 'str',
        'test': 'bool'
    }

    attribute_map = {
        'id': 'id',
        'institution_id': 'institution_id',
        'institution_study_id': 'institution_study_id',
        'registry_id': 'registry_id',
        'visible_to_idn': 'visible_to_IDN',
        'brief_title': 'brief_title',
        'acronym': 'acronym',
        'official_title': 'official_title',
        'sponsors': 'sponsors',
        'source': 'source',
        'oversight': 'oversight',
        'brief_summary': 'brief_summary',
        'detailed_description': 'detailed_description',
        'status': 'status',
        'start_date': 'start_date',
        'completion_date': 'completion_date',
        'phase': 'phase',
        'study_type': 'study_type',
        'has_expanded_access': 'has_expanded_access',
        'expanded_access': 'expanded_access',
        'study_design': 'study_design',
        'primary_outcome': 'primary_outcome',
        'secondary_outcome': 'secondary_outcome',
        'other_outcome': 'other_outcome',
        'number_of_arms': 'number_of_arms',
        'number_of_groups': 'number_of_groups',
        'enrollment': 'enrollment',
        'condition': 'condition',
        'arm_group': 'arm_group',
        'intervention': 'intervention',
        'biospec_retention': 'biospec_retention',
        'biospec_descr': 'biospec_descr',
        'eligibility': 'eligibility',
        'overall_official': 'overall_official',
        'overall_contact': 'overall_contact',
        'overall_contact_backup': 'overall_contact_backup',
        'location': 'location',
        'location_countries': 'location_countries',
        'link': 'link',
        'reference': 'reference',
        'verification_date': 'verification_date',
        'study_first_submitted': 'study_first_submitted',
        'study_first_posted': 'study_first_posted',
        'last_update_posted': 'last_update_posted',
        'keyword': 'keyword',
        'responsible_party': 'responsible_party',
        'processing_status': 'processing_status',
        'test': 'test'
    }

    def __init__(self, id=None, institution_id=None, institution_study_id=None, registry_id=None, visible_to_idn=True, brief_title=None, acronym=None, official_title=None, sponsors=None, source=None, oversight=None, brief_summary=None, detailed_description=None, status=None, start_date=None, completion_date=None, phase='N/A', study_type=None, has_expanded_access=None, expanded_access=None, study_design=None, primary_outcome=None, secondary_outcome=None, other_outcome=None, number_of_arms=1, number_of_groups=1, enrollment=None, condition=None, arm_group=None, intervention=None, biospec_retention='None Retained', biospec_descr=None, eligibility=None, overall_official=None, overall_contact=None, overall_contact_backup=None, location=None, location_countries=None, link=None, reference=None, verification_date=None, study_first_submitted=None, study_first_posted=None, last_update_posted=None, keyword=None, responsible_party=None, processing_status='received', test=None):  # noqa: E501
        """PrivateTrial - a model defined in Swagger"""  # noqa: E501
        self._id = None
        self._institution_id = None
        self._institution_study_id = None
        self._registry_id = None
        self._visible_to_idn = None
        self._brief_title = None
        self._acronym = None
        self._official_title = None
        self._sponsors = None
        self._source = None
        self._oversight = None
        self._brief_summary = None
        self._detailed_description = None
        self._status = None
        self._start_date = None
        self._completion_date = None
        self._phase = None
        self._study_type = None
        self._has_expanded_access = None
        self._expanded_access = None
        self._study_design = None
        self._primary_outcome = None
        self._secondary_outcome = None
        self._other_outcome = None
        self._number_of_arms = None
        self._number_of_groups = None
        self._enrollment = None
        self._condition = None
        self._arm_group = None
        self._intervention = None
        self._biospec_retention = None
        self._biospec_descr = None
        self._eligibility = None
        self._overall_official = None
        self._overall_contact = None
        self._overall_contact_backup = None
        self._location = None
        self._location_countries = None
        self._link = None
        self._reference = None
        self._verification_date = None
        self._study_first_submitted = None
        self._study_first_posted = None
        self._last_update_posted = None
        self._keyword = None
        self._responsible_party = None
        self._processing_status = None
        self._test = None
        self.discriminator = None
        if id is not None:
            self.id = id
        self.institution_id = institution_id
        self.institution_study_id = institution_study_id
        if registry_id is not None:
            self.registry_id = registry_id
        if visible_to_idn is not None:
            self.visible_to_idn = visible_to_idn
        if brief_title is not None:
            self.brief_title = brief_title
        if acronym is not None:
            self.acronym = acronym
        self.official_title = official_title
        if sponsors is not None:
            self.sponsors = sponsors
        if source is not None:
            self.source = source
        if oversight is not None:
            self.oversight = oversight
        if brief_summary is not None:
            self.brief_summary = brief_summary
        if detailed_description is not None:
            self.detailed_description = detailed_description
        self.status = status
        self.start_date = start_date
        if completion_date is not None:
            self.completion_date = completion_date
        if phase is not None:
            self.phase = phase
        self.study_type = study_type
        if has_expanded_access is not None:
            self.has_expanded_access = has_expanded_access
        if expanded_access is not None:
            self.expanded_access = expanded_access
        if study_design is not None:
            self.study_design = study_design
        if primary_outcome is not None:
            self.primary_outcome = primary_outcome
        if secondary_outcome is not None:
            self.secondary_outcome = secondary_outcome
        if other_outcome is not None:
            self.other_outcome = other_outcome
        if number_of_arms is not None:
            self.number_of_arms = number_of_arms
        if number_of_groups is not None:
            self.number_of_groups = number_of_groups
        if enrollment is not None:
            self.enrollment = enrollment
        if condition is not None:
            self.condition = condition
        if arm_group is not None:
            self.arm_group = arm_group
        if intervention is not None:
            self.intervention = intervention
        if biospec_retention is not None:
            self.biospec_retention = biospec_retention
        if biospec_descr is not None:
            self.biospec_descr = biospec_descr
        if eligibility is not None:
            self.eligibility = eligibility
        if overall_official is not None:
            self.overall_official = overall_official
        if overall_contact is not None:
            self.overall_contact = overall_contact
        if overall_contact_backup is not None:
            self.overall_contact_backup = overall_contact_backup
        self.location = location
        if location_countries is not None:
            self.location_countries = location_countries
        if link is not None:
            self.link = link
        if reference is not None:
            self.reference = reference
        if verification_date is not None:
            self.verification_date = verification_date
        if study_first_submitted is not None:
            self.study_first_submitted = study_first_submitted
        if study_first_posted is not None:
            self.study_first_posted = study_first_posted
        if last_update_posted is not None:
            self.last_update_posted = last_update_posted
        if keyword is not None:
            self.keyword = keyword
        if responsible_party is not None:
            self.responsible_party = responsible_party
        if processing_status is not None:
            self.processing_status = processing_status
        if test is not None:
            self.test = test

    @property
    def id(self):
        """Gets the id of this PrivateTrial.  # noqa: E501

        unique study identifier.  # noqa: E501

        :return: The id of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._id

    @id.setter
    def id(self, id):
        """Sets the id of this PrivateTrial.

        unique study identifier.  # noqa: E501

        :param id: The id of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._id = id

    @property
    def institution_id(self):
        """Gets the institution_id of this PrivateTrial.  # noqa: E501

        Unique institution identifier.  # noqa: E501

        :return: The institution_id of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._institution_id

    @institution_id.setter
    def institution_id(self, institution_id):
        """Sets the institution_id of this PrivateTrial.

        Unique institution identifier.  # noqa: E501

        :param institution_id: The institution_id of this PrivateTrial.  # noqa: E501
        :type: str
        """
        if institution_id is None:
            raise ValueError("Invalid value for `institution_id`, must not be `None`")  # noqa: E501

        self._institution_id = institution_id

    @property
    def institution_study_id(self):
        """Gets the institution_study_id of this PrivateTrial.  # noqa: E501

        Unique study identifier (for the institution).  # noqa: E501

        :return: The institution_study_id of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._institution_study_id

    @institution_study_id.setter
    def institution_study_id(self, institution_study_id):
        """Sets the institution_study_id of this PrivateTrial.

        Unique study identifier (for the institution).  # noqa: E501

        :param institution_study_id: The institution_study_id of this PrivateTrial.  # noqa: E501
        :type: str
        """
        if institution_study_id is None:
            raise ValueError("Invalid value for `institution_study_id`, must not be `None`")  # noqa: E501

        self._institution_study_id = institution_study_id

    @property
    def registry_id(self):
        """Gets the registry_id of this PrivateTrial.  # noqa: E501

        The public registry study id.  This is only populated once the trial is no longer a private trial.  # noqa: E501

        :return: The registry_id of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._registry_id

    @registry_id.setter
    def registry_id(self, registry_id):
        """Sets the registry_id of this PrivateTrial.

        The public registry study id.  This is only populated once the trial is no longer a private trial.  # noqa: E501

        :param registry_id: The registry_id of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._registry_id = registry_id

    @property
    def visible_to_idn(self):
        """Gets the visible_to_idn of this PrivateTrial.  # noqa: E501

        If true, then this trial will be visible to the entire IDN, else it is visible only to the owning institution.  # noqa: E501

        :return: The visible_to_idn of this PrivateTrial.  # noqa: E501
        :rtype: bool
        """
        return self._visible_to_idn

    @visible_to_idn.setter
    def visible_to_idn(self, visible_to_idn):
        """Sets the visible_to_idn of this PrivateTrial.

        If true, then this trial will be visible to the entire IDN, else it is visible only to the owning institution.  # noqa: E501

        :param visible_to_idn: The visible_to_idn of this PrivateTrial.  # noqa: E501
        :type: bool
        """

        self._visible_to_idn = visible_to_idn

    @property
    def brief_title(self):
        """Gets the brief_title of this PrivateTrial.  # noqa: E501

        A short title of the clinical study written in language intended for the lay public. The title should include, where possible, information on the participants, condition being evaluated, and intervention(s) studied.  # noqa: E501

        :return: The brief_title of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._brief_title

    @brief_title.setter
    def brief_title(self, brief_title):
        """Sets the brief_title of this PrivateTrial.

        A short title of the clinical study written in language intended for the lay public. The title should include, where possible, information on the participants, condition being evaluated, and intervention(s) studied.  # noqa: E501

        :param brief_title: The brief_title of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._brief_title = brief_title

    @property
    def acronym(self):
        """Gets the acronym of this PrivateTrial.  # noqa: E501

        Acronyms or abbreviations used publicly to identify the clinical study.  # noqa: E501

        :return: The acronym of this PrivateTrial.  # noqa: E501
        :rtype: list[str]
        """
        return self._acronym

    @acronym.setter
    def acronym(self, acronym):
        """Sets the acronym of this PrivateTrial.

        Acronyms or abbreviations used publicly to identify the clinical study.  # noqa: E501

        :param acronym: The acronym of this PrivateTrial.  # noqa: E501
        :type: list[str]
        """

        self._acronym = acronym

    @property
    def official_title(self):
        """Gets the official_title of this PrivateTrial.  # noqa: E501

        Official title for the clinical trial.  # noqa: E501

        :return: The official_title of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._official_title

    @official_title.setter
    def official_title(self, official_title):
        """Sets the official_title of this PrivateTrial.

        Official title for the clinical trial.  # noqa: E501

        :param official_title: The official_title of this PrivateTrial.  # noqa: E501
        :type: str
        """
        if official_title is None:
            raise ValueError("Invalid value for `official_title`, must not be `None`")  # noqa: E501

        self._official_title = official_title

    @property
    def sponsors(self):
        """Gets the sponsors of this PrivateTrial.  # noqa: E501

        The list of organizations or persons who initiated the study and who have authority and control over the study.  # noqa: E501

        :return: The sponsors of this PrivateTrial.  # noqa: E501
        :rtype: list[ClinicalTrialSponsors]
        """
        return self._sponsors

    @sponsors.setter
    def sponsors(self, sponsors):
        """Sets the sponsors of this PrivateTrial.

        The list of organizations or persons who initiated the study and who have authority and control over the study.  # noqa: E501

        :param sponsors: The sponsors of this PrivateTrial.  # noqa: E501
        :type: list[ClinicalTrialSponsors]
        """

        self._sponsors = sponsors

    @property
    def source(self):
        """Gets the source of this PrivateTrial.  # noqa: E501

        Native data source of this record  # noqa: E501

        :return: The source of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._source

    @source.setter
    def source(self, source):
        """Sets the source of this PrivateTrial.

        Native data source of this record  # noqa: E501

        :param source: The source of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._source = source

    @property
    def oversight(self):
        """Gets the oversight of this PrivateTrial.  # noqa: E501


        :return: The oversight of this PrivateTrial.  # noqa: E501
        :rtype: Oversight
        """
        return self._oversight

    @oversight.setter
    def oversight(self, oversight):
        """Sets the oversight of this PrivateTrial.


        :param oversight: The oversight of this PrivateTrial.  # noqa: E501
        :type: Oversight
        """

        self._oversight = oversight

    @property
    def brief_summary(self):
        """Gets the brief_summary of this PrivateTrial.  # noqa: E501

        A short description of the clinical study, including a brief statement of the clinical study's hypothesis, written in language intended for the lay public.  # noqa: E501

        :return: The brief_summary of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._brief_summary

    @brief_summary.setter
    def brief_summary(self, brief_summary):
        """Sets the brief_summary of this PrivateTrial.

        A short description of the clinical study, including a brief statement of the clinical study's hypothesis, written in language intended for the lay public.  # noqa: E501

        :param brief_summary: The brief_summary of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._brief_summary = brief_summary

    @property
    def detailed_description(self):
        """Gets the detailed_description of this PrivateTrial.  # noqa: E501

        Extended description of the protocol, including more technical information (as compared to the Brief Summary), if desired. Do not include the entire protocol; do not duplicate information recorded in other data elements, such as Eligibility Criteria or outcome measures.  # noqa: E501

        :return: The detailed_description of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._detailed_description

    @detailed_description.setter
    def detailed_description(self, detailed_description):
        """Sets the detailed_description of this PrivateTrial.

        Extended description of the protocol, including more technical information (as compared to the Brief Summary), if desired. Do not include the entire protocol; do not duplicate information recorded in other data elements, such as Eligibility Criteria or outcome measures.  # noqa: E501

        :param detailed_description: The detailed_description of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._detailed_description = detailed_description

    @property
    def status(self):
        """Gets the status of this PrivateTrial.  # noqa: E501

        Trial recruiting status.  # noqa: E501

        :return: The status of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._status

    @status.setter
    def status(self, status):
        """Sets the status of this PrivateTrial.

        Trial recruiting status.  # noqa: E501

        :param status: The status of this PrivateTrial.  # noqa: E501
        :type: str
        """
        if status is None:
            raise ValueError("Invalid value for `status`, must not be `None`")  # noqa: E501
        allowed_values = ["Active, not recruiting", "Approved for marketing", "Available", "Completed", "Enrolling by invitation", "No longer available", "Not yet recruiting", "Recruiting", "Suspended", "Temporarily not available", "Terminated", "Withdrawn", "Withheld", "Unknown status"]  # noqa: E501
        if status not in allowed_values:
            raise ValueError(
                "Invalid value for `status` ({0}), must be one of {1}"  # noqa: E501
                .format(status, allowed_values)
            )

        self._status = status

    @property
    def start_date(self):
        """Gets the start_date of this PrivateTrial.  # noqa: E501

        The estimated date on which the clinical study will be open for recruitment of participants, or the actual date on which the first participant was enrolled.  # noqa: E501

        :return: The start_date of this PrivateTrial.  # noqa: E501
        :rtype: datetime
        """
        return self._start_date

    @start_date.setter
    def start_date(self, start_date):
        """Sets the start_date of this PrivateTrial.

        The estimated date on which the clinical study will be open for recruitment of participants, or the actual date on which the first participant was enrolled.  # noqa: E501

        :param start_date: The start_date of this PrivateTrial.  # noqa: E501
        :type: datetime
        """
        if start_date is None:
            raise ValueError("Invalid value for `start_date`, must not be `None`")  # noqa: E501

        self._start_date = start_date

    @property
    def completion_date(self):
        """Gets the completion_date of this PrivateTrial.  # noqa: E501

        The date the final participant was examined or received an intervention for purposes of final collection of data for the primary and secondary outcome measures and adverse events (for example, last participant’s last visit), whether the clinical study concluded according to the pre-specified protocol or was terminated  # noqa: E501

        :return: The completion_date of this PrivateTrial.  # noqa: E501
        :rtype: datetime
        """
        return self._completion_date

    @completion_date.setter
    def completion_date(self, completion_date):
        """Sets the completion_date of this PrivateTrial.

        The date the final participant was examined or received an intervention for purposes of final collection of data for the primary and secondary outcome measures and adverse events (for example, last participant’s last visit), whether the clinical study concluded according to the pre-specified protocol or was terminated  # noqa: E501

        :param completion_date: The completion_date of this PrivateTrial.  # noqa: E501
        :type: datetime
        """

        self._completion_date = completion_date

    @property
    def phase(self):
        """Gets the phase of this PrivateTrial.  # noqa: E501

        For a clinical trial of a drug product (including a biological product), the numerical phase of such clinical trial, consistent with terminology in 21 CFR 312.21 and in 21 CFR 312.85 for phase 4 studies.  # noqa: E501

        :return: The phase of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._phase

    @phase.setter
    def phase(self, phase):
        """Sets the phase of this PrivateTrial.

        For a clinical trial of a drug product (including a biological product), the numerical phase of such clinical trial, consistent with terminology in 21 CFR 312.21 and in 21 CFR 312.85 for phase 4 studies.  # noqa: E501

        :param phase: The phase of this PrivateTrial.  # noqa: E501
        :type: str
        """
        allowed_values = ["N/A", "Early Phase 1", "Phase 1", "Phase 1/Phase 2", "Phase 2", "Phase 2/Phase 3", "Phase 3", "Phase 4"]  # noqa: E501
        if phase not in allowed_values:
            raise ValueError(
                "Invalid value for `phase` ({0}), must be one of {1}"  # noqa: E501
                .format(phase, allowed_values)
            )

        self._phase = phase

    @property
    def study_type(self):
        """Gets the study_type of this PrivateTrial.  # noqa: E501

        The nature of the investigation or investigational use for which clinical study information is being submitted.  # noqa: E501

        :return: The study_type of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._study_type

    @study_type.setter
    def study_type(self, study_type):
        """Sets the study_type of this PrivateTrial.

        The nature of the investigation or investigational use for which clinical study information is being submitted.  # noqa: E501

        :param study_type: The study_type of this PrivateTrial.  # noqa: E501
        :type: str
        """
        if study_type is None:
            raise ValueError("Invalid value for `study_type`, must not be `None`")  # noqa: E501
        allowed_values = ["Expanded Access", "Interventional", "N/A", "Observational", "Observational [Patient Registry]"]  # noqa: E501
        if study_type not in allowed_values:
            raise ValueError(
                "Invalid value for `study_type` ({0}), must be one of {1}"  # noqa: E501
                .format(study_type, allowed_values)
            )

        self._study_type = study_type

    @property
    def has_expanded_access(self):
        """Gets the has_expanded_access of this PrivateTrial.  # noqa: E501

        Whether there is expanded access to the investigational product for patients who do not qualify for enrollment in a clinical trial. Expanded Access for investigational drug products (including biological products) includes all expanded access types under section 561 of the Federal Food, Drug, and Cosmetic Act: (1) for individual participants, including emergency use; (2) for intermediate-size participant populations; and (3) under a treatment IND or treatment protocol.  # noqa: E501

        :return: The has_expanded_access of this PrivateTrial.  # noqa: E501
        :rtype: bool
        """
        return self._has_expanded_access

    @has_expanded_access.setter
    def has_expanded_access(self, has_expanded_access):
        """Sets the has_expanded_access of this PrivateTrial.

        Whether there is expanded access to the investigational product for patients who do not qualify for enrollment in a clinical trial. Expanded Access for investigational drug products (including biological products) includes all expanded access types under section 561 of the Federal Food, Drug, and Cosmetic Act: (1) for individual participants, including emergency use; (2) for intermediate-size participant populations; and (3) under a treatment IND or treatment protocol.  # noqa: E501

        :param has_expanded_access: The has_expanded_access of this PrivateTrial.  # noqa: E501
        :type: bool
        """

        self._has_expanded_access = has_expanded_access

    @property
    def expanded_access(self):
        """Gets the expanded_access of this PrivateTrial.  # noqa: E501


        :return: The expanded_access of this PrivateTrial.  # noqa: E501
        :rtype: ExpandedAccess
        """
        return self._expanded_access

    @expanded_access.setter
    def expanded_access(self, expanded_access):
        """Sets the expanded_access of this PrivateTrial.


        :param expanded_access: The expanded_access of this PrivateTrial.  # noqa: E501
        :type: ExpandedAccess
        """

        self._expanded_access = expanded_access

    @property
    def study_design(self):
        """Gets the study_design of this PrivateTrial.  # noqa: E501


        :return: The study_design of this PrivateTrial.  # noqa: E501
        :rtype: StudyDesign
        """
        return self._study_design

    @study_design.setter
    def study_design(self, study_design):
        """Sets the study_design of this PrivateTrial.


        :param study_design: The study_design of this PrivateTrial.  # noqa: E501
        :type: StudyDesign
        """

        self._study_design = study_design

    @property
    def primary_outcome(self):
        """Gets the primary_outcome of this PrivateTrial.  # noqa: E501

        The outcome that an investigator considers to be the most important among the many outcomes that are to be examined in the study.  # noqa: E501

        :return: The primary_outcome of this PrivateTrial.  # noqa: E501
        :rtype: list[Outcome]
        """
        return self._primary_outcome

    @primary_outcome.setter
    def primary_outcome(self, primary_outcome):
        """Sets the primary_outcome of this PrivateTrial.

        The outcome that an investigator considers to be the most important among the many outcomes that are to be examined in the study.  # noqa: E501

        :param primary_outcome: The primary_outcome of this PrivateTrial.  # noqa: E501
        :type: list[Outcome]
        """

        self._primary_outcome = primary_outcome

    @property
    def secondary_outcome(self):
        """Gets the secondary_outcome of this PrivateTrial.  # noqa: E501


        :return: The secondary_outcome of this PrivateTrial.  # noqa: E501
        :rtype: list[Outcome]
        """
        return self._secondary_outcome

    @secondary_outcome.setter
    def secondary_outcome(self, secondary_outcome):
        """Sets the secondary_outcome of this PrivateTrial.


        :param secondary_outcome: The secondary_outcome of this PrivateTrial.  # noqa: E501
        :type: list[Outcome]
        """

        self._secondary_outcome = secondary_outcome

    @property
    def other_outcome(self):
        """Gets the other_outcome of this PrivateTrial.  # noqa: E501


        :return: The other_outcome of this PrivateTrial.  # noqa: E501
        :rtype: list[Outcome]
        """
        return self._other_outcome

    @other_outcome.setter
    def other_outcome(self, other_outcome):
        """Sets the other_outcome of this PrivateTrial.


        :param other_outcome: The other_outcome of this PrivateTrial.  # noqa: E501
        :type: list[Outcome]
        """

        self._other_outcome = other_outcome

    @property
    def number_of_arms(self):
        """Gets the number_of_arms of this PrivateTrial.  # noqa: E501

        The number of trial arms.  # noqa: E501

        :return: The number_of_arms of this PrivateTrial.  # noqa: E501
        :rtype: int
        """
        return self._number_of_arms

    @number_of_arms.setter
    def number_of_arms(self, number_of_arms):
        """Sets the number_of_arms of this PrivateTrial.

        The number of trial arms.  # noqa: E501

        :param number_of_arms: The number_of_arms of this PrivateTrial.  # noqa: E501
        :type: int
        """

        self._number_of_arms = number_of_arms

    @property
    def number_of_groups(self):
        """Gets the number_of_groups of this PrivateTrial.  # noqa: E501

        The number of trial groups.  # noqa: E501

        :return: The number_of_groups of this PrivateTrial.  # noqa: E501
        :rtype: int
        """
        return self._number_of_groups

    @number_of_groups.setter
    def number_of_groups(self, number_of_groups):
        """Sets the number_of_groups of this PrivateTrial.

        The number of trial groups.  # noqa: E501

        :param number_of_groups: The number_of_groups of this PrivateTrial.  # noqa: E501
        :type: int
        """

        self._number_of_groups = number_of_groups

    @property
    def enrollment(self):
        """Gets the enrollment of this PrivateTrial.  # noqa: E501

        The estimated total number of participants to be enrolled (target number) or the actual total number of participants that are enrolled in the clinical study.  # noqa: E501

        :return: The enrollment of this PrivateTrial.  # noqa: E501
        :rtype: int
        """
        return self._enrollment

    @enrollment.setter
    def enrollment(self, enrollment):
        """Sets the enrollment of this PrivateTrial.

        The estimated total number of participants to be enrolled (target number) or the actual total number of participants that are enrolled in the clinical study.  # noqa: E501

        :param enrollment: The enrollment of this PrivateTrial.  # noqa: E501
        :type: int
        """

        self._enrollment = enrollment

    @property
    def condition(self):
        """Gets the condition of this PrivateTrial.  # noqa: E501

        Diseases/Conditions related to this trial.  # noqa: E501

        :return: The condition of this PrivateTrial.  # noqa: E501
        :rtype: list[str]
        """
        return self._condition

    @condition.setter
    def condition(self, condition):
        """Sets the condition of this PrivateTrial.

        Diseases/Conditions related to this trial.  # noqa: E501

        :param condition: The condition of this PrivateTrial.  # noqa: E501
        :type: list[str]
        """

        self._condition = condition

    @property
    def arm_group(self):
        """Gets the arm_group of this PrivateTrial.  # noqa: E501

        Pre-specified groups of participants in a clinical trial assigned to receive specific interventions (or no intervention) according to a protocol.  # noqa: E501

        :return: The arm_group of this PrivateTrial.  # noqa: E501
        :rtype: list[ArmGroup]
        """
        return self._arm_group

    @arm_group.setter
    def arm_group(self, arm_group):
        """Sets the arm_group of this PrivateTrial.

        Pre-specified groups of participants in a clinical trial assigned to receive specific interventions (or no intervention) according to a protocol.  # noqa: E501

        :param arm_group: The arm_group of this PrivateTrial.  # noqa: E501
        :type: list[ArmGroup]
        """

        self._arm_group = arm_group

    @property
    def intervention(self):
        """Gets the intervention of this PrivateTrial.  # noqa: E501

        Specifies the intervention(s) associated with each arm or group.  # noqa: E501

        :return: The intervention of this PrivateTrial.  # noqa: E501
        :rtype: list[Intervention]
        """
        return self._intervention

    @intervention.setter
    def intervention(self, intervention):
        """Sets the intervention of this PrivateTrial.

        Specifies the intervention(s) associated with each arm or group.  # noqa: E501

        :param intervention: The intervention of this PrivateTrial.  # noqa: E501
        :type: list[Intervention]
        """

        self._intervention = intervention

    @property
    def biospec_retention(self):
        """Gets the biospec_retention of this PrivateTrial.  # noqa: E501


        :return: The biospec_retention of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._biospec_retention

    @biospec_retention.setter
    def biospec_retention(self, biospec_retention):
        """Sets the biospec_retention of this PrivateTrial.


        :param biospec_retention: The biospec_retention of this PrivateTrial.  # noqa: E501
        :type: str
        """
        allowed_values = ["None Retained", "Samples With DNA", "Samples Without DNA"]  # noqa: E501
        if biospec_retention not in allowed_values:
            raise ValueError(
                "Invalid value for `biospec_retention` ({0}), must be one of {1}"  # noqa: E501
                .format(biospec_retention, allowed_values)
            )

        self._biospec_retention = biospec_retention

    @property
    def biospec_descr(self):
        """Gets the biospec_descr of this PrivateTrial.  # noqa: E501


        :return: The biospec_descr of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._biospec_descr

    @biospec_descr.setter
    def biospec_descr(self, biospec_descr):
        """Sets the biospec_descr of this PrivateTrial.


        :param biospec_descr: The biospec_descr of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._biospec_descr = biospec_descr

    @property
    def eligibility(self):
        """Gets the eligibility of this PrivateTrial.  # noqa: E501


        :return: The eligibility of this PrivateTrial.  # noqa: E501
        :rtype: Eligibility
        """
        return self._eligibility

    @eligibility.setter
    def eligibility(self, eligibility):
        """Sets the eligibility of this PrivateTrial.


        :param eligibility: The eligibility of this PrivateTrial.  # noqa: E501
        :type: Eligibility
        """

        self._eligibility = eligibility

    @property
    def overall_official(self):
        """Gets the overall_official of this PrivateTrial.  # noqa: E501

        Person responsible for the overall scientific leadership of the protocol, including study principal investigator.  # noqa: E501

        :return: The overall_official of this PrivateTrial.  # noqa: E501
        :rtype: list[Investigator]
        """
        return self._overall_official

    @overall_official.setter
    def overall_official(self, overall_official):
        """Sets the overall_official of this PrivateTrial.

        Person responsible for the overall scientific leadership of the protocol, including study principal investigator.  # noqa: E501

        :param overall_official: The overall_official of this PrivateTrial.  # noqa: E501
        :type: list[Investigator]
        """

        self._overall_official = overall_official

    @property
    def overall_contact(self):
        """Gets the overall_contact of this PrivateTrial.  # noqa: E501


        :return: The overall_contact of this PrivateTrial.  # noqa: E501
        :rtype: Contact
        """
        return self._overall_contact

    @overall_contact.setter
    def overall_contact(self, overall_contact):
        """Sets the overall_contact of this PrivateTrial.


        :param overall_contact: The overall_contact of this PrivateTrial.  # noqa: E501
        :type: Contact
        """

        self._overall_contact = overall_contact

    @property
    def overall_contact_backup(self):
        """Gets the overall_contact_backup of this PrivateTrial.  # noqa: E501


        :return: The overall_contact_backup of this PrivateTrial.  # noqa: E501
        :rtype: Contact
        """
        return self._overall_contact_backup

    @overall_contact_backup.setter
    def overall_contact_backup(self, overall_contact_backup):
        """Sets the overall_contact_backup of this PrivateTrial.


        :param overall_contact_backup: The overall_contact_backup of this PrivateTrial.  # noqa: E501
        :type: Contact
        """

        self._overall_contact_backup = overall_contact_backup

    @property
    def location(self):
        """Gets the location of this PrivateTrial.  # noqa: E501

        Information about the locations offering this trial.  # noqa: E501

        :return: The location of this PrivateTrial.  # noqa: E501
        :rtype: list[Location]
        """
        return self._location

    @location.setter
    def location(self, location):
        """Sets the location of this PrivateTrial.

        Information about the locations offering this trial.  # noqa: E501

        :param location: The location of this PrivateTrial.  # noqa: E501
        :type: list[Location]
        """
        if location is None:
            raise ValueError("Invalid value for `location`, must not be `None`")  # noqa: E501

        self._location = location

    @property
    def location_countries(self):
        """Gets the location_countries of this PrivateTrial.  # noqa: E501

        Countries with locations offering this trial.  # noqa: E501

        :return: The location_countries of this PrivateTrial.  # noqa: E501
        :rtype: list[str]
        """
        return self._location_countries

    @location_countries.setter
    def location_countries(self, location_countries):
        """Sets the location_countries of this PrivateTrial.

        Countries with locations offering this trial.  # noqa: E501

        :param location_countries: The location_countries of this PrivateTrial.  # noqa: E501
        :type: list[str]
        """

        self._location_countries = location_countries

    @property
    def link(self):
        """Gets the link of this PrivateTrial.  # noqa: E501

        URL to institution (if private) or registry listing of this trial.  # noqa: E501

        :return: The link of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._link

    @link.setter
    def link(self, link):
        """Sets the link of this PrivateTrial.

        URL to institution (if private) or registry listing of this trial.  # noqa: E501

        :param link: The link of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._link = link

    @property
    def reference(self):
        """Gets the reference of this PrivateTrial.  # noqa: E501

        Reference publications pertaining to this trial.  # noqa: E501

        :return: The reference of this PrivateTrial.  # noqa: E501
        :rtype: list[Reference]
        """
        return self._reference

    @reference.setter
    def reference(self, reference):
        """Sets the reference of this PrivateTrial.

        Reference publications pertaining to this trial.  # noqa: E501

        :param reference: The reference of this PrivateTrial.  # noqa: E501
        :type: list[Reference]
        """

        self._reference = reference

    @property
    def verification_date(self):
        """Gets the verification_date of this PrivateTrial.  # noqa: E501

        The date on which the responsible party last verified the clinical study information in the entire ClinicalTrials.gov record for the clinical study, even if no additional or updated information is being submitted.  # noqa: E501

        :return: The verification_date of this PrivateTrial.  # noqa: E501
        :rtype: datetime
        """
        return self._verification_date

    @verification_date.setter
    def verification_date(self, verification_date):
        """Sets the verification_date of this PrivateTrial.

        The date on which the responsible party last verified the clinical study information in the entire ClinicalTrials.gov record for the clinical study, even if no additional or updated information is being submitted.  # noqa: E501

        :param verification_date: The verification_date of this PrivateTrial.  # noqa: E501
        :type: datetime
        """

        self._verification_date = verification_date

    @property
    def study_first_submitted(self):
        """Gets the study_first_submitted of this PrivateTrial.  # noqa: E501

        The date on which the study sponsor or investigator first submitted a study record to the trial registry.  # noqa: E501

        :return: The study_first_submitted of this PrivateTrial.  # noqa: E501
        :rtype: datetime
        """
        return self._study_first_submitted

    @study_first_submitted.setter
    def study_first_submitted(self, study_first_submitted):
        """Sets the study_first_submitted of this PrivateTrial.

        The date on which the study sponsor or investigator first submitted a study record to the trial registry.  # noqa: E501

        :param study_first_submitted: The study_first_submitted of this PrivateTrial.  # noqa: E501
        :type: datetime
        """

        self._study_first_submitted = study_first_submitted

    @property
    def study_first_posted(self):
        """Gets the study_first_posted of this PrivateTrial.  # noqa: E501

        The date on which the study was first made public on trial registry.  # noqa: E501

        :return: The study_first_posted of this PrivateTrial.  # noqa: E501
        :rtype: datetime
        """
        return self._study_first_posted

    @study_first_posted.setter
    def study_first_posted(self, study_first_posted):
        """Sets the study_first_posted of this PrivateTrial.

        The date on which the study was first made public on trial registry.  # noqa: E501

        :param study_first_posted: The study_first_posted of this PrivateTrial.  # noqa: E501
        :type: datetime
        """

        self._study_first_posted = study_first_posted

    @property
    def last_update_posted(self):
        """Gets the last_update_posted of this PrivateTrial.  # noqa: E501

        The most recent date that any information was updated for this trial.  # noqa: E501

        :return: The last_update_posted of this PrivateTrial.  # noqa: E501
        :rtype: datetime
        """
        return self._last_update_posted

    @last_update_posted.setter
    def last_update_posted(self, last_update_posted):
        """Sets the last_update_posted of this PrivateTrial.

        The most recent date that any information was updated for this trial.  # noqa: E501

        :param last_update_posted: The last_update_posted of this PrivateTrial.  # noqa: E501
        :type: datetime
        """

        self._last_update_posted = last_update_posted

    @property
    def keyword(self):
        """Gets the keyword of this PrivateTrial.  # noqa: E501

        Words or phrases that best describe the protocol. Keywords help users find studies in the database. Use NLM's Medical Subject Heading (MeSH)-controlled vocabulary terms where appropriate. Be as specific and precise as possible.  # noqa: E501

        :return: The keyword of this PrivateTrial.  # noqa: E501
        :rtype: list[str]
        """
        return self._keyword

    @keyword.setter
    def keyword(self, keyword):
        """Sets the keyword of this PrivateTrial.

        Words or phrases that best describe the protocol. Keywords help users find studies in the database. Use NLM's Medical Subject Heading (MeSH)-controlled vocabulary terms where appropriate. Be as specific and precise as possible.  # noqa: E501

        :param keyword: The keyword of this PrivateTrial.  # noqa: E501
        :type: list[str]
        """

        self._keyword = keyword

    @property
    def responsible_party(self):
        """Gets the responsible_party of this PrivateTrial.  # noqa: E501

        The entities and individuals responsible for this trial.  # noqa: E501

        :return: The responsible_party of this PrivateTrial.  # noqa: E501
        :rtype: list[ResponsibleParty]
        """
        return self._responsible_party

    @responsible_party.setter
    def responsible_party(self, responsible_party):
        """Sets the responsible_party of this PrivateTrial.

        The entities and individuals responsible for this trial.  # noqa: E501

        :param responsible_party: The responsible_party of this PrivateTrial.  # noqa: E501
        :type: list[ResponsibleParty]
        """

        self._responsible_party = responsible_party

    @property
    def processing_status(self):
        """Gets the processing_status of this PrivateTrial.  # noqa: E501

        Indication of its level of readiness and incorporation into the MolecularMatch Knowledge base.  # noqa: E501

        :return: The processing_status of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._processing_status

    @processing_status.setter
    def processing_status(self, processing_status):
        """Sets the processing_status of this PrivateTrial.

        Indication of its level of readiness and incorporation into the MolecularMatch Knowledge base.  # noqa: E501

        :param processing_status: The processing_status of this PrivateTrial.  # noqa: E501
        :type: str
        """
        allowed_values = ["received", "in-process", "registered"]  # noqa: E501
        if processing_status not in allowed_values:
            raise ValueError(
                "Invalid value for `processing_status` ({0}), must be one of {1}"  # noqa: E501
                .format(processing_status, allowed_values)
            )

        self._processing_status = processing_status

    @property
    def test(self):
        """Gets the test of this PrivateTrial.  # noqa: E501

        A flag to mark test private trials.  # noqa: E501

        :return: The test of this PrivateTrial.  # noqa: E501
        :rtype: bool
        """
        return self._test

    @test.setter
    def test(self, test):
        """Sets the test of this PrivateTrial.

        A flag to mark test private trials.  # noqa: E501

        :param test: The test of this PrivateTrial.  # noqa: E501
        :type: bool
        """

        self._test = test

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(PrivateTrial, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, PrivateTrial):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other

# coding: utf-8

"""
    MolecularMatch MMPower

    MMPower API  # noqa: E501

    OpenAPI spec version: 1.0.0
    Contact: <EMAIL>
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six


class PrivateTrial(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'id': 'str',
        'institution_id': 'str',
        'institution_study_id': 'str',
        'registry_id': 'str',
        'visible_to_idn': 'bool',
        'brief_title': 'str',
        'acronym': 'list[str]',
        'official_title': 'str',
        'sponsors': 'list[ClinicalTrialSponsors]',
        'source': 'str',
        'oversight': 'Oversight',
        'brief_summary': 'str',
        'detailed_description': 'str',
        'status': 'str',
        'start_date': 'datetime',
        'completion_date': 'datetime',
        'phase': 'str',
        'study_type': 'str',
        'has_expanded_access': 'bool',
        'expanded_access': 'ExpandedAccess',
        'study_design': 'StudyDesign',
        'primary_outcome': 'list[Outcome]',
        'secondary_outcome': 'list[Outcome]',
        'other_outcome': 'list[Outcome]',
        'number_of_arms': 'int',
        'number_of_groups': 'int',
        'enrollment': 'int',
        'condition': 'list[str]',
        'arm_group': 'list[ArmGroup]',
        'intervention': 'list[Intervention]',
        'biospec_retention': 'str',
        'biospec_descr': 'str',
        'eligibility': 'Eligibility',
        'overall_official': 'list[Investigator]',
        'overall_contact': 'Contact',
        'overall_contact_backup': 'Contact',
        'location': 'list[Location]',
        'location_countries': 'list[str]',
        'link': 'str',
        'reference': 'list[Reference]',
        'verification_date': 'datetime',
        'study_first_submitted': 'datetime',
        'study_first_posted': 'datetime',
        'last_update_posted': 'datetime',
        'keyword': 'list[str]',
        'responsible_party': 'list[ResponsibleParty]',
        'processing_status': 'str',
        'test': 'bool'
    }

    attribute_map = {
        'id': 'id',
        'institution_id': 'institution_id',
        'institution_study_id': 'institution_study_id',
        'registry_id': 'registry_id',
        'visible_to_idn': 'visible_to_IDN',
        'brief_title': 'brief_title',
        'acronym': 'acronym',
        'official_title': 'official_title',
        'sponsors': 'sponsors',
        'source': 'source',
        'oversight': 'oversight',
        'brief_summary': 'brief_summary',
        'detailed_description': 'detailed_description',
        'status': 'status',
        'start_date': 'start_date',
        'completion_date': 'completion_date',
        'phase': 'phase',
        'study_type': 'study_type',
        'has_expanded_access': 'has_expanded_access',
        'expanded_access': 'expanded_access',
        'study_design': 'study_design',
        'primary_outcome': 'primary_outcome',
        'secondary_outcome': 'secondary_outcome',
        'other_outcome': 'other_outcome',
        'number_of_arms': 'number_of_arms',
        'number_of_groups': 'number_of_groups',
        'enrollment': 'enrollment',
        'condition': 'condition',
        'arm_group': 'arm_group',
        'intervention': 'intervention',
        'biospec_retention': 'biospec_retention',
        'biospec_descr': 'biospec_descr',
        'eligibility': 'eligibility',
        'overall_official': 'overall_official',
        'overall_contact': 'overall_contact',
        'overall_contact_backup': 'overall_contact_backup',
        'location': 'location',
        'location_countries': 'location_countries',
        'link': 'link',
        'reference': 'reference',
        'verification_date': 'verification_date',
        'study_first_submitted': 'study_first_submitted',
        'study_first_posted': 'study_first_posted',
        'last_update_posted': 'last_update_posted',
        'keyword': 'keyword',
        'responsible_party': 'responsible_party',
        'processing_status': 'processing_status',
        'test': 'test'
    }

    def __init__(self, id=None, institution_id=None, institution_study_id=None, registry_id=None, visible_to_idn=True, brief_title=None, acronym=None, official_title=None, sponsors=None, source=None, oversight=None, brief_summary=None, detailed_description=None, status=None, start_date=None, completion_date=None, phase='N/A', study_type=None, has_expanded_access=None, expanded_access=None, study_design=None, primary_outcome=None, secondary_outcome=None, other_outcome=None, number_of_arms=1, number_of_groups=1, enrollment=None, condition=None, arm_group=None, intervention=None, biospec_retention='None Retained', biospec_descr=None, eligibility=None, overall_official=None, overall_contact=None, overall_contact_backup=None, location=None, location_countries=None, link=None, reference=None, verification_date=None, study_first_submitted=None, study_first_posted=None, last_update_posted=None, keyword=None, responsible_party=None, processing_status='received', test=None):  # noqa: E501
        """PrivateTrial - a model defined in Swagger"""  # noqa: E501
        self._id = None
        self._institution_id = None
        self._institution_study_id = None
        self._registry_id = None
        self._visible_to_idn = None
        self._brief_title = None
        self._acronym = None
        self._official_title = None
        self._sponsors = None
        self._source = None
        self._oversight = None
        self._brief_summary = None
        self._detailed_description = None
        self._status = None
        self._start_date = None
        self._completion_date = None
        self._phase = None
        self._study_type = None
        self._has_expanded_access = None
        self._expanded_access = None
        self._study_design = None
        self._primary_outcome = None
        self._secondary_outcome = None
        self._other_outcome = None
        self._number_of_arms = None
        self._number_of_groups = None
        self._enrollment = None
        self._condition = None
        self._arm_group = None
        self._intervention = None
        self._biospec_retention = None
        self._biospec_descr = None
        self._eligibility = None
        self._overall_official = None
        self._overall_contact = None
        self._overall_contact_backup = None
        self._location = None
        self._location_countries = None
        self._link = None
        self._reference = None
        self._verification_date = None
        self._study_first_submitted = None
        self._study_first_posted = None
        self._last_update_posted = None
        self._keyword = None
        self._responsible_party = None
        self._processing_status = None
        self._test = None
        self.discriminator = None
        if id is not None:
            self.id = id
        self.institution_id = institution_id
        self.institution_study_id = institution_study_id
        if registry_id is not None:
            self.registry_id = registry_id
        if visible_to_idn is not None:
            self.visible_to_idn = visible_to_idn
        if brief_title is not None:
            self.brief_title = brief_title
        if acronym is not None:
            self.acronym = acronym
        self.official_title = official_title
        if sponsors is not None:
            self.sponsors = sponsors
        if source is not None:
            self.source = source
        if oversight is not None:
            self.oversight = oversight
        if brief_summary is not None:
            self.brief_summary = brief_summary
        if detailed_description is not None:
            self.detailed_description = detailed_description
        self.status = status
        self.start_date = start_date
        if completion_date is not None:
            self.completion_date = completion_date
        if phase is not None:
            self.phase = phase
        self.study_type = study_type
        if has_expanded_access is not None:
            self.has_expanded_access = has_expanded_access
        if expanded_access is not None:
            self.expanded_access = expanded_access
        if study_design is not None:
            self.study_design = study_design
        if primary_outcome is not None:
            self.primary_outcome = primary_outcome
        if secondary_outcome is not None:
            self.secondary_outcome = secondary_outcome
        if other_outcome is not None:
            self.other_outcome = other_outcome
        if number_of_arms is not None:
            self.number_of_arms = number_of_arms
        if number_of_groups is not None:
            self.number_of_groups = number_of_groups
        if enrollment is not None:
            self.enrollment = enrollment
        if condition is not None:
            self.condition = condition
        if arm_group is not None:
            self.arm_group = arm_group
        if intervention is not None:
            self.intervention = intervention
        if biospec_retention is not None:
            self.biospec_retention = biospec_retention
        if biospec_descr is not None:
            self.biospec_descr = biospec_descr
        if eligibility is not None:
            self.eligibility = eligibility
        if overall_official is not None:
            self.overall_official = overall_official
        if overall_contact is not None:
            self.overall_contact = overall_contact
        if overall_contact_backup is not None:
            self.overall_contact_backup = overall_contact_backup
        self.location = location
        if location_countries is not None:
            self.location_countries = location_countries
        if link is not None:
            self.link = link
        if reference is not None:
            self.reference = reference
        if verification_date is not None:
            self.verification_date = verification_date
        if study_first_submitted is not None:
            self.study_first_submitted = study_first_submitted
        if study_first_posted is not None:
            self.study_first_posted = study_first_posted
        if last_update_posted is not None:
            self.last_update_posted = last_update_posted
        if keyword is not None:
            self.keyword = keyword
        if responsible_party is not None:
            self.responsible_party = responsible_party
        if processing_status is not None:
            self.processing_status = processing_status
        if test is not None:
            self.test = test

    @property
    def id(self):
        """Gets the id of this PrivateTrial.  # noqa: E501

        unique study identifier.  # noqa: E501

        :return: The id of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._id

    @id.setter
    def id(self, id):
        """Sets the id of this PrivateTrial.

        unique study identifier.  # noqa: E501

        :param id: The id of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._id = id

    @property
    def institution_id(self):
        """Gets the institution_id of this PrivateTrial.  # noqa: E501

        Unique institution identifier.  # noqa: E501

        :return: The institution_id of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._institution_id

    @institution_id.setter
    def institution_id(self, institution_id):
        """Sets the institution_id of this PrivateTrial.

        Unique institution identifier.  # noqa: E501

        :param institution_id: The institution_id of this PrivateTrial.  # noqa: E501
        :type: str
        """
        if institution_id is None:
            raise ValueError("Invalid value for `institution_id`, must not be `None`")  # noqa: E501

        self._institution_id = institution_id

    @property
    def institution_study_id(self):
        """Gets the institution_study_id of this PrivateTrial.  # noqa: E501

        Unique study identifier (for the institution).  # noqa: E501

        :return: The institution_study_id of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._institution_study_id

    @institution_study_id.setter
    def institution_study_id(self, institution_study_id):
        """Sets the institution_study_id of this PrivateTrial.

        Unique study identifier (for the institution).  # noqa: E501

        :param institution_study_id: The institution_study_id of this PrivateTrial.  # noqa: E501
        :type: str
        """
        if institution_study_id is None:
            raise ValueError("Invalid value for `institution_study_id`, must not be `None`")  # noqa: E501

        self._institution_study_id = institution_study_id

    @property
    def registry_id(self):
        """Gets the registry_id of this PrivateTrial.  # noqa: E501

        The public registry study id.  This is only populated once the trial is no longer a private trial.  # noqa: E501

        :return: The registry_id of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._registry_id

    @registry_id.setter
    def registry_id(self, registry_id):
        """Sets the registry_id of this PrivateTrial.

        The public registry study id.  This is only populated once the trial is no longer a private trial.  # noqa: E501

        :param registry_id: The registry_id of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._registry_id = registry_id

    @property
    def visible_to_idn(self):
        """Gets the visible_to_idn of this PrivateTrial.  # noqa: E501

        If true, then this trial will be visible to the entire IDN, else it is visible only to the owning institution.  # noqa: E501

        :return: The visible_to_idn of this PrivateTrial.  # noqa: E501
        :rtype: bool
        """
        return self._visible_to_idn

    @visible_to_idn.setter
    def visible_to_idn(self, visible_to_idn):
        """Sets the visible_to_idn of this PrivateTrial.

        If true, then this trial will be visible to the entire IDN, else it is visible only to the owning institution.  # noqa: E501

        :param visible_to_idn: The visible_to_idn of this PrivateTrial.  # noqa: E501
        :type: bool
        """

        self._visible_to_idn = visible_to_idn

    @property
    def brief_title(self):
        """Gets the brief_title of this PrivateTrial.  # noqa: E501

        A short title of the clinical study written in language intended for the lay public. The title should include, where possible, information on the participants, condition being evaluated, and intervention(s) studied.  # noqa: E501

        :return: The brief_title of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._brief_title

    @brief_title.setter
    def brief_title(self, brief_title):
        """Sets the brief_title of this PrivateTrial.

        A short title of the clinical study written in language intended for the lay public. The title should include, where possible, information on the participants, condition being evaluated, and intervention(s) studied.  # noqa: E501

        :param brief_title: The brief_title of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._brief_title = brief_title

    @property
    def acronym(self):
        """Gets the acronym of this PrivateTrial.  # noqa: E501

        Acronyms or abbreviations used publicly to identify the clinical study.  # noqa: E501

        :return: The acronym of this PrivateTrial.  # noqa: E501
        :rtype: list[str]
        """
        return self._acronym

    @acronym.setter
    def acronym(self, acronym):
        """Sets the acronym of this PrivateTrial.

        Acronyms or abbreviations used publicly to identify the clinical study.  # noqa: E501

        :param acronym: The acronym of this PrivateTrial.  # noqa: E501
        :type: list[str]
        """

        self._acronym = acronym

    @property
    def official_title(self):
        """Gets the official_title of this PrivateTrial.  # noqa: E501

        Official title for the clinical trial.  # noqa: E501

        :return: The official_title of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._official_title

    @official_title.setter
    def official_title(self, official_title):
        """Sets the official_title of this PrivateTrial.

        Official title for the clinical trial.  # noqa: E501

        :param official_title: The official_title of this PrivateTrial.  # noqa: E501
        :type: str
        """
        if official_title is None:
            raise ValueError("Invalid value for `official_title`, must not be `None`")  # noqa: E501

        self._official_title = official_title

    @property
    def sponsors(self):
        """Gets the sponsors of this PrivateTrial.  # noqa: E501

        The list of organizations or persons who initiated the study and who have authority and control over the study.  # noqa: E501

        :return: The sponsors of this PrivateTrial.  # noqa: E501
        :rtype: list[ClinicalTrialSponsors]
        """
        return self._sponsors

    @sponsors.setter
    def sponsors(self, sponsors):
        """Sets the sponsors of this PrivateTrial.

        The list of organizations or persons who initiated the study and who have authority and control over the study.  # noqa: E501

        :param sponsors: The sponsors of this PrivateTrial.  # noqa: E501
        :type: list[ClinicalTrialSponsors]
        """

        self._sponsors = sponsors

    @property
    def source(self):
        """Gets the source of this PrivateTrial.  # noqa: E501

        Native data source of this record  # noqa: E501

        :return: The source of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._source

    @source.setter
    def source(self, source):
        """Sets the source of this PrivateTrial.

        Native data source of this record  # noqa: E501

        :param source: The source of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._source = source

    @property
    def oversight(self):
        """Gets the oversight of this PrivateTrial.  # noqa: E501


        :return: The oversight of this PrivateTrial.  # noqa: E501
        :rtype: Oversight
        """
        return self._oversight

    @oversight.setter
    def oversight(self, oversight):
        """Sets the oversight of this PrivateTrial.


        :param oversight: The oversight of this PrivateTrial.  # noqa: E501
        :type: Oversight
        """

        self._oversight = oversight

    @property
    def brief_summary(self):
        """Gets the brief_summary of this PrivateTrial.  # noqa: E501

        A short description of the clinical study, including a brief statement of the clinical study's hypothesis, written in language intended for the lay public.  # noqa: E501

        :return: The brief_summary of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._brief_summary

    @brief_summary.setter
    def brief_summary(self, brief_summary):
        """Sets the brief_summary of this PrivateTrial.

        A short description of the clinical study, including a brief statement of the clinical study's hypothesis, written in language intended for the lay public.  # noqa: E501

        :param brief_summary: The brief_summary of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._brief_summary = brief_summary

    @property
    def detailed_description(self):
        """Gets the detailed_description of this PrivateTrial.  # noqa: E501

        Extended description of the protocol, including more technical information (as compared to the Brief Summary), if desired. Do not include the entire protocol; do not duplicate information recorded in other data elements, such as Eligibility Criteria or outcome measures.  # noqa: E501

        :return: The detailed_description of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._detailed_description

    @detailed_description.setter
    def detailed_description(self, detailed_description):
        """Sets the detailed_description of this PrivateTrial.

        Extended description of the protocol, including more technical information (as compared to the Brief Summary), if desired. Do not include the entire protocol; do not duplicate information recorded in other data elements, such as Eligibility Criteria or outcome measures.  # noqa: E501

        :param detailed_description: The detailed_description of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._detailed_description = detailed_description

    @property
    def status(self):
        """Gets the status of this PrivateTrial.  # noqa: E501

        Trial recruiting status.  # noqa: E501

        :return: The status of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._status

    @status.setter
    def status(self, status):
        """Sets the status of this PrivateTrial.

        Trial recruiting status.  # noqa: E501

        :param status: The status of this PrivateTrial.  # noqa: E501
        :type: str
        """
        if status is None:
            raise ValueError("Invalid value for `status`, must not be `None`")  # noqa: E501
        allowed_values = ["Active, not recruiting", "Approved for marketing", "Available", "Completed", "Enrolling by invitation", "No longer available", "Not yet recruiting", "Recruiting", "Suspended", "Temporarily not available", "Terminated", "Withdrawn", "Withheld", "Unknown status"]  # noqa: E501
        if status not in allowed_values:
            raise ValueError(
                "Invalid value for `status` ({0}), must be one of {1}"  # noqa: E501
                .format(status, allowed_values)
            )

        self._status = status

    @property
    def start_date(self):
        """Gets the start_date of this PrivateTrial.  # noqa: E501

        The estimated date on which the clinical study will be open for recruitment of participants, or the actual date on which the first participant was enrolled.  # noqa: E501

        :return: The start_date of this PrivateTrial.  # noqa: E501
        :rtype: datetime
        """
        return self._start_date

    @start_date.setter
    def start_date(self, start_date):
        """Sets the start_date of this PrivateTrial.

        The estimated date on which the clinical study will be open for recruitment of participants, or the actual date on which the first participant was enrolled.  # noqa: E501

        :param start_date: The start_date of this PrivateTrial.  # noqa: E501
        :type: datetime
        """
        if start_date is None:
            raise ValueError("Invalid value for `start_date`, must not be `None`")  # noqa: E501

        self._start_date = start_date

    @property
    def completion_date(self):
        """Gets the completion_date of this PrivateTrial.  # noqa: E501

        The date the final participant was examined or received an intervention for purposes of final collection of data for the primary and secondary outcome measures and adverse events (for example, last participant’s last visit), whether the clinical study concluded according to the pre-specified protocol or was terminated  # noqa: E501

        :return: The completion_date of this PrivateTrial.  # noqa: E501
        :rtype: datetime
        """
        return self._completion_date

    @completion_date.setter
    def completion_date(self, completion_date):
        """Sets the completion_date of this PrivateTrial.

        The date the final participant was examined or received an intervention for purposes of final collection of data for the primary and secondary outcome measures and adverse events (for example, last participant’s last visit), whether the clinical study concluded according to the pre-specified protocol or was terminated  # noqa: E501

        :param completion_date: The completion_date of this PrivateTrial.  # noqa: E501
        :type: datetime
        """

        self._completion_date = completion_date

    @property
    def phase(self):
        """Gets the phase of this PrivateTrial.  # noqa: E501

        For a clinical trial of a drug product (including a biological product), the numerical phase of such clinical trial, consistent with terminology in 21 CFR 312.21 and in 21 CFR 312.85 for phase 4 studies.  # noqa: E501

        :return: The phase of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._phase

    @phase.setter
    def phase(self, phase):
        """Sets the phase of this PrivateTrial.

        For a clinical trial of a drug product (including a biological product), the numerical phase of such clinical trial, consistent with terminology in 21 CFR 312.21 and in 21 CFR 312.85 for phase 4 studies.  # noqa: E501

        :param phase: The phase of this PrivateTrial.  # noqa: E501
        :type: str
        """
        allowed_values = ["N/A", "Early Phase 1", "Phase 1", "Phase 1/Phase 2", "Phase 2", "Phase 2/Phase 3", "Phase 3", "Phase 4"]  # noqa: E501
        if phase not in allowed_values:
            raise ValueError(
                "Invalid value for `phase` ({0}), must be one of {1}"  # noqa: E501
                .format(phase, allowed_values)
            )

        self._phase = phase

    @property
    def study_type(self):
        """Gets the study_type of this PrivateTrial.  # noqa: E501

        The nature of the investigation or investigational use for which clinical study information is being submitted.  # noqa: E501

        :return: The study_type of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._study_type

    @study_type.setter
    def study_type(self, study_type):
        """Sets the study_type of this PrivateTrial.

        The nature of the investigation or investigational use for which clinical study information is being submitted.  # noqa: E501

        :param study_type: The study_type of this PrivateTrial.  # noqa: E501
        :type: str
        """
        if study_type is None:
            raise ValueError("Invalid value for `study_type`, must not be `None`")  # noqa: E501
        allowed_values = ["Expanded Access", "Interventional", "N/A", "Observational", "Observational [Patient Registry]"]  # noqa: E501
        if study_type not in allowed_values:
            raise ValueError(
                "Invalid value for `study_type` ({0}), must be one of {1}"  # noqa: E501
                .format(study_type, allowed_values)
            )

        self._study_type = study_type

    @property
    def has_expanded_access(self):
        """Gets the has_expanded_access of this PrivateTrial.  # noqa: E501

        Whether there is expanded access to the investigational product for patients who do not qualify for enrollment in a clinical trial. Expanded Access for investigational drug products (including biological products) includes all expanded access types under section 561 of the Federal Food, Drug, and Cosmetic Act: (1) for individual participants, including emergency use; (2) for intermediate-size participant populations; and (3) under a treatment IND or treatment protocol.  # noqa: E501

        :return: The has_expanded_access of this PrivateTrial.  # noqa: E501
        :rtype: bool
        """
        return self._has_expanded_access

    @has_expanded_access.setter
    def has_expanded_access(self, has_expanded_access):
        """Sets the has_expanded_access of this PrivateTrial.

        Whether there is expanded access to the investigational product for patients who do not qualify for enrollment in a clinical trial. Expanded Access for investigational drug products (including biological products) includes all expanded access types under section 561 of the Federal Food, Drug, and Cosmetic Act: (1) for individual participants, including emergency use; (2) for intermediate-size participant populations; and (3) under a treatment IND or treatment protocol.  # noqa: E501

        :param has_expanded_access: The has_expanded_access of this PrivateTrial.  # noqa: E501
        :type: bool
        """

        self._has_expanded_access = has_expanded_access

    @property
    def expanded_access(self):
        """Gets the expanded_access of this PrivateTrial.  # noqa: E501


        :return: The expanded_access of this PrivateTrial.  # noqa: E501
        :rtype: ExpandedAccess
        """
        return self._expanded_access

    @expanded_access.setter
    def expanded_access(self, expanded_access):
        """Sets the expanded_access of this PrivateTrial.


        :param expanded_access: The expanded_access of this PrivateTrial.  # noqa: E501
        :type: ExpandedAccess
        """

        self._expanded_access = expanded_access

    @property
    def study_design(self):
        """Gets the study_design of this PrivateTrial.  # noqa: E501


        :return: The study_design of this PrivateTrial.  # noqa: E501
        :rtype: StudyDesign
        """
        return self._study_design

    @study_design.setter
    def study_design(self, study_design):
        """Sets the study_design of this PrivateTrial.


        :param study_design: The study_design of this PrivateTrial.  # noqa: E501
        :type: StudyDesign
        """

        self._study_design = study_design

    @property
    def primary_outcome(self):
        """Gets the primary_outcome of this PrivateTrial.  # noqa: E501

        The outcome that an investigator considers to be the most important among the many outcomes that are to be examined in the study.  # noqa: E501

        :return: The primary_outcome of this PrivateTrial.  # noqa: E501
        :rtype: list[Outcome]
        """
        return self._primary_outcome

    @primary_outcome.setter
    def primary_outcome(self, primary_outcome):
        """Sets the primary_outcome of this PrivateTrial.

        The outcome that an investigator considers to be the most important among the many outcomes that are to be examined in the study.  # noqa: E501

        :param primary_outcome: The primary_outcome of this PrivateTrial.  # noqa: E501
        :type: list[Outcome]
        """

        self._primary_outcome = primary_outcome

    @property
    def secondary_outcome(self):
        """Gets the secondary_outcome of this PrivateTrial.  # noqa: E501


        :return: The secondary_outcome of this PrivateTrial.  # noqa: E501
        :rtype: list[Outcome]
        """
        return self._secondary_outcome

    @secondary_outcome.setter
    def secondary_outcome(self, secondary_outcome):
        """Sets the secondary_outcome of this PrivateTrial.


        :param secondary_outcome: The secondary_outcome of this PrivateTrial.  # noqa: E501
        :type: list[Outcome]
        """

        self._secondary_outcome = secondary_outcome

    @property
    def other_outcome(self):
        """Gets the other_outcome of this PrivateTrial.  # noqa: E501


        :return: The other_outcome of this PrivateTrial.  # noqa: E501
        :rtype: list[Outcome]
        """
        return self._other_outcome

    @other_outcome.setter
    def other_outcome(self, other_outcome):
        """Sets the other_outcome of this PrivateTrial.


        :param other_outcome: The other_outcome of this PrivateTrial.  # noqa: E501
        :type: list[Outcome]
        """

        self._other_outcome = other_outcome

    @property
    def number_of_arms(self):
        """Gets the number_of_arms of this PrivateTrial.  # noqa: E501

        The number of trial arms.  # noqa: E501

        :return: The number_of_arms of this PrivateTrial.  # noqa: E501
        :rtype: int
        """
        return self._number_of_arms

    @number_of_arms.setter
    def number_of_arms(self, number_of_arms):
        """Sets the number_of_arms of this PrivateTrial.

        The number of trial arms.  # noqa: E501

        :param number_of_arms: The number_of_arms of this PrivateTrial.  # noqa: E501
        :type: int
        """

        self._number_of_arms = number_of_arms

    @property
    def number_of_groups(self):
        """Gets the number_of_groups of this PrivateTrial.  # noqa: E501

        The number of trial groups.  # noqa: E501

        :return: The number_of_groups of this PrivateTrial.  # noqa: E501
        :rtype: int
        """
        return self._number_of_groups

    @number_of_groups.setter
    def number_of_groups(self, number_of_groups):
        """Sets the number_of_groups of this PrivateTrial.

        The number of trial groups.  # noqa: E501

        :param number_of_groups: The number_of_groups of this PrivateTrial.  # noqa: E501
        :type: int
        """

        self._number_of_groups = number_of_groups

    @property
    def enrollment(self):
        """Gets the enrollment of this PrivateTrial.  # noqa: E501

        The estimated total number of participants to be enrolled (target number) or the actual total number of participants that are enrolled in the clinical study.  # noqa: E501

        :return: The enrollment of this PrivateTrial.  # noqa: E501
        :rtype: int
        """
        return self._enrollment

    @enrollment.setter
    def enrollment(self, enrollment):
        """Sets the enrollment of this PrivateTrial.

        The estimated total number of participants to be enrolled (target number) or the actual total number of participants that are enrolled in the clinical study.  # noqa: E501

        :param enrollment: The enrollment of this PrivateTrial.  # noqa: E501
        :type: int
        """

        self._enrollment = enrollment

    @property
    def condition(self):
        """Gets the condition of this PrivateTrial.  # noqa: E501

        Diseases/Conditions related to this trial.  # noqa: E501

        :return: The condition of this PrivateTrial.  # noqa: E501
        :rtype: list[str]
        """
        return self._condition

    @condition.setter
    def condition(self, condition):
        """Sets the condition of this PrivateTrial.

        Diseases/Conditions related to this trial.  # noqa: E501

        :param condition: The condition of this PrivateTrial.  # noqa: E501
        :type: list[str]
        """

        self._condition = condition

    @property
    def arm_group(self):
        """Gets the arm_group of this PrivateTrial.  # noqa: E501

        Pre-specified groups of participants in a clinical trial assigned to receive specific interventions (or no intervention) according to a protocol.  # noqa: E501

        :return: The arm_group of this PrivateTrial.  # noqa: E501
        :rtype: list[ArmGroup]
        """
        return self._arm_group

    @arm_group.setter
    def arm_group(self, arm_group):
        """Sets the arm_group of this PrivateTrial.

        Pre-specified groups of participants in a clinical trial assigned to receive specific interventions (or no intervention) according to a protocol.  # noqa: E501

        :param arm_group: The arm_group of this PrivateTrial.  # noqa: E501
        :type: list[ArmGroup]
        """

        self._arm_group = arm_group

    @property
    def intervention(self):
        """Gets the intervention of this PrivateTrial.  # noqa: E501

        Specifies the intervention(s) associated with each arm or group.  # noqa: E501

        :return: The intervention of this PrivateTrial.  # noqa: E501
        :rtype: list[Intervention]
        """
        return self._intervention

    @intervention.setter
    def intervention(self, intervention):
        """Sets the intervention of this PrivateTrial.

        Specifies the intervention(s) associated with each arm or group.  # noqa: E501

        :param intervention: The intervention of this PrivateTrial.  # noqa: E501
        :type: list[Intervention]
        """

        self._intervention = intervention

    @property
    def biospec_retention(self):
        """Gets the biospec_retention of this PrivateTrial.  # noqa: E501


        :return: The biospec_retention of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._biospec_retention

    @biospec_retention.setter
    def biospec_retention(self, biospec_retention):
        """Sets the biospec_retention of this PrivateTrial.


        :param biospec_retention: The biospec_retention of this PrivateTrial.  # noqa: E501
        :type: str
        """
        allowed_values = ["None Retained", "Samples With DNA", "Samples Without DNA"]  # noqa: E501
        if biospec_retention not in allowed_values:
            raise ValueError(
                "Invalid value for `biospec_retention` ({0}), must be one of {1}"  # noqa: E501
                .format(biospec_retention, allowed_values)
            )

        self._biospec_retention = biospec_retention

    @property
    def biospec_descr(self):
        """Gets the biospec_descr of this PrivateTrial.  # noqa: E501


        :return: The biospec_descr of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._biospec_descr

    @biospec_descr.setter
    def biospec_descr(self, biospec_descr):
        """Sets the biospec_descr of this PrivateTrial.


        :param biospec_descr: The biospec_descr of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._biospec_descr = biospec_descr

    @property
    def eligibility(self):
        """Gets the eligibility of this PrivateTrial.  # noqa: E501


        :return: The eligibility of this PrivateTrial.  # noqa: E501
        :rtype: Eligibility
        """
        return self._eligibility

    @eligibility.setter
    def eligibility(self, eligibility):
        """Sets the eligibility of this PrivateTrial.


        :param eligibility: The eligibility of this PrivateTrial.  # noqa: E501
        :type: Eligibility
        """

        self._eligibility = eligibility

    @property
    def overall_official(self):
        """Gets the overall_official of this PrivateTrial.  # noqa: E501

        Person responsible for the overall scientific leadership of the protocol, including study principal investigator.  # noqa: E501

        :return: The overall_official of this PrivateTrial.  # noqa: E501
        :rtype: list[Investigator]
        """
        return self._overall_official

    @overall_official.setter
    def overall_official(self, overall_official):
        """Sets the overall_official of this PrivateTrial.

        Person responsible for the overall scientific leadership of the protocol, including study principal investigator.  # noqa: E501

        :param overall_official: The overall_official of this PrivateTrial.  # noqa: E501
        :type: list[Investigator]
        """

        self._overall_official = overall_official

    @property
    def overall_contact(self):
        """Gets the overall_contact of this PrivateTrial.  # noqa: E501


        :return: The overall_contact of this PrivateTrial.  # noqa: E501
        :rtype: Contact
        """
        return self._overall_contact

    @overall_contact.setter
    def overall_contact(self, overall_contact):
        """Sets the overall_contact of this PrivateTrial.


        :param overall_contact: The overall_contact of this PrivateTrial.  # noqa: E501
        :type: Contact
        """

        self._overall_contact = overall_contact

    @property
    def overall_contact_backup(self):
        """Gets the overall_contact_backup of this PrivateTrial.  # noqa: E501


        :return: The overall_contact_backup of this PrivateTrial.  # noqa: E501
        :rtype: Contact
        """
        return self._overall_contact_backup

    @overall_contact_backup.setter
    def overall_contact_backup(self, overall_contact_backup):
        """Sets the overall_contact_backup of this PrivateTrial.


        :param overall_contact_backup: The overall_contact_backup of this PrivateTrial.  # noqa: E501
        :type: Contact
        """

        self._overall_contact_backup = overall_contact_backup

    @property
    def location(self):
        """Gets the location of this PrivateTrial.  # noqa: E501

        Information about the locations offering this trial.  # noqa: E501

        :return: The location of this PrivateTrial.  # noqa: E501
        :rtype: list[Location]
        """
        return self._location

    @location.setter
    def location(self, location):
        """Sets the location of this PrivateTrial.

        Information about the locations offering this trial.  # noqa: E501

        :param location: The location of this PrivateTrial.  # noqa: E501
        :type: list[Location]
        """
        if location is None:
            raise ValueError("Invalid value for `location`, must not be `None`")  # noqa: E501

        self._location = location

    @property
    def location_countries(self):
        """Gets the location_countries of this PrivateTrial.  # noqa: E501

        Countries with locations offering this trial.  # noqa: E501

        :return: The location_countries of this PrivateTrial.  # noqa: E501
        :rtype: list[str]
        """
        return self._location_countries

    @location_countries.setter
    def location_countries(self, location_countries):
        """Sets the location_countries of this PrivateTrial.

        Countries with locations offering this trial.  # noqa: E501

        :param location_countries: The location_countries of this PrivateTrial.  # noqa: E501
        :type: list[str]
        """

        self._location_countries = location_countries

    @property
    def link(self):
        """Gets the link of this PrivateTrial.  # noqa: E501

        URL to institution (if private) or registry listing of this trial.  # noqa: E501

        :return: The link of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._link

    @link.setter
    def link(self, link):
        """Sets the link of this PrivateTrial.

        URL to institution (if private) or registry listing of this trial.  # noqa: E501

        :param link: The link of this PrivateTrial.  # noqa: E501
        :type: str
        """

        self._link = link

    @property
    def reference(self):
        """Gets the reference of this PrivateTrial.  # noqa: E501

        Reference publications pertaining to this trial.  # noqa: E501

        :return: The reference of this PrivateTrial.  # noqa: E501
        :rtype: list[Reference]
        """
        return self._reference

    @reference.setter
    def reference(self, reference):
        """Sets the reference of this PrivateTrial.

        Reference publications pertaining to this trial.  # noqa: E501

        :param reference: The reference of this PrivateTrial.  # noqa: E501
        :type: list[Reference]
        """

        self._reference = reference

    @property
    def verification_date(self):
        """Gets the verification_date of this PrivateTrial.  # noqa: E501

        The date on which the responsible party last verified the clinical study information in the entire ClinicalTrials.gov record for the clinical study, even if no additional or updated information is being submitted.  # noqa: E501

        :return: The verification_date of this PrivateTrial.  # noqa: E501
        :rtype: datetime
        """
        return self._verification_date

    @verification_date.setter
    def verification_date(self, verification_date):
        """Sets the verification_date of this PrivateTrial.

        The date on which the responsible party last verified the clinical study information in the entire ClinicalTrials.gov record for the clinical study, even if no additional or updated information is being submitted.  # noqa: E501

        :param verification_date: The verification_date of this PrivateTrial.  # noqa: E501
        :type: datetime
        """

        self._verification_date = verification_date

    @property
    def study_first_submitted(self):
        """Gets the study_first_submitted of this PrivateTrial.  # noqa: E501

        The date on which the study sponsor or investigator first submitted a study record to the trial registry.  # noqa: E501

        :return: The study_first_submitted of this PrivateTrial.  # noqa: E501
        :rtype: datetime
        """
        return self._study_first_submitted

    @study_first_submitted.setter
    def study_first_submitted(self, study_first_submitted):
        """Sets the study_first_submitted of this PrivateTrial.

        The date on which the study sponsor or investigator first submitted a study record to the trial registry.  # noqa: E501

        :param study_first_submitted: The study_first_submitted of this PrivateTrial.  # noqa: E501
        :type: datetime
        """

        self._study_first_submitted = study_first_submitted

    @property
    def study_first_posted(self):
        """Gets the study_first_posted of this PrivateTrial.  # noqa: E501

        The date on which the study was first made public on trial registry.  # noqa: E501

        :return: The study_first_posted of this PrivateTrial.  # noqa: E501
        :rtype: datetime
        """
        return self._study_first_posted

    @study_first_posted.setter
    def study_first_posted(self, study_first_posted):
        """Sets the study_first_posted of this PrivateTrial.

        The date on which the study was first made public on trial registry.  # noqa: E501

        :param study_first_posted: The study_first_posted of this PrivateTrial.  # noqa: E501
        :type: datetime
        """

        self._study_first_posted = study_first_posted

    @property
    def last_update_posted(self):
        """Gets the last_update_posted of this PrivateTrial.  # noqa: E501

        The most recent date that any information was updated for this trial.  # noqa: E501

        :return: The last_update_posted of this PrivateTrial.  # noqa: E501
        :rtype: datetime
        """
        return self._last_update_posted

    @last_update_posted.setter
    def last_update_posted(self, last_update_posted):
        """Sets the last_update_posted of this PrivateTrial.

        The most recent date that any information was updated for this trial.  # noqa: E501

        :param last_update_posted: The last_update_posted of this PrivateTrial.  # noqa: E501
        :type: datetime
        """

        self._last_update_posted = last_update_posted

    @property
    def keyword(self):
        """Gets the keyword of this PrivateTrial.  # noqa: E501

        Words or phrases that best describe the protocol. Keywords help users find studies in the database. Use NLM's Medical Subject Heading (MeSH)-controlled vocabulary terms where appropriate. Be as specific and precise as possible.  # noqa: E501

        :return: The keyword of this PrivateTrial.  # noqa: E501
        :rtype: list[str]
        """
        return self._keyword

    @keyword.setter
    def keyword(self, keyword):
        """Sets the keyword of this PrivateTrial.

        Words or phrases that best describe the protocol. Keywords help users find studies in the database. Use NLM's Medical Subject Heading (MeSH)-controlled vocabulary terms where appropriate. Be as specific and precise as possible.  # noqa: E501

        :param keyword: The keyword of this PrivateTrial.  # noqa: E501
        :type: list[str]
        """

        self._keyword = keyword

    @property
    def responsible_party(self):
        """Gets the responsible_party of this PrivateTrial.  # noqa: E501

        The entities and individuals responsible for this trial.  # noqa: E501

        :return: The responsible_party of this PrivateTrial.  # noqa: E501
        :rtype: list[ResponsibleParty]
        """
        return self._responsible_party

    @responsible_party.setter
    def responsible_party(self, responsible_party):
        """Sets the responsible_party of this PrivateTrial.

        The entities and individuals responsible for this trial.  # noqa: E501

        :param responsible_party: The responsible_party of this PrivateTrial.  # noqa: E501
        :type: list[ResponsibleParty]
        """

        self._responsible_party = responsible_party

    @property
    def processing_status(self):
        """Gets the processing_status of this PrivateTrial.  # noqa: E501

        Indication of its level of readiness and incorporation into the MolecularMatch Knowledge base.  # noqa: E501

        :return: The processing_status of this PrivateTrial.  # noqa: E501
        :rtype: str
        """
        return self._processing_status

    @processing_status.setter
    def processing_status(self, processing_status):
        """Sets the processing_status of this PrivateTrial.

        Indication of its level of readiness and incorporation into the MolecularMatch Knowledge base.  # noqa: E501

        :param processing_status: The processing_status of this PrivateTrial.  # noqa: E501
        :type: str
        """
        allowed_values = ["received", "in-process", "registered"]  # noqa: E501
        if processing_status not in allowed_values:
            raise ValueError(
                "Invalid value for `processing_status` ({0}), must be one of {1}"  # noqa: E501
                .format(processing_status, allowed_values)
            )

        self._processing_status = processing_status

    @property
    def test(self):
        """Gets the test of this PrivateTrial.  # noqa: E501

        A flag to mark test private trials.  # noqa: E501

        :return: The test of this PrivateTrial.  # noqa: E501
        :rtype: bool
        """
        return self._test

    @test.setter
    def test(self, test):
        """Sets the test of this PrivateTrial.

        A flag to mark test private trials.  # noqa: E501

        :param test: The test of this PrivateTrial.  # noqa: E501
        :type: bool
        """

        self._test = test

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(PrivateTrial, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, PrivateTrial):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other

# coding: utf-8 MolecularMatch MMPower      MMPower API  # noqa: E501      OpenAPI spec version: 1.0.0     Contact: <EMAIL>     Generated by: https://github.com/swagger-api/swagger-codegen.git # noqa: F401 NOTE: This class is auto generated by the swagger code generator program.      Do not edit the class manually. Attributes:       swagger_types (dict): The key is attribute name                             and the value is attribute type.       attribute_map (dict): The key is attribute name                             and the value is json key in definition. # noqa: E501 PrivateTrial - a model defined in Swagger # noqa: E501 Gets the id of this PrivateTrial.  # noqa: E501          unique study identifier.  # noqa: E501          :return: The id of this PrivateTrial.  # noqa: E501         :rtype: str Sets the id of this PrivateTrial.          unique study identifier.  # noqa: E501          :param id: The id of this PrivateTrial.  # noqa: E501         :type: str Gets the institution_id of this PrivateTrial.  # noqa: E501          Unique institution identifier.  # noqa: E501          :return: The institution_id of this PrivateTrial.  # noqa: E501         :rtype: str Sets the institution_id of this PrivateTrial.          Unique institution identifier.  # noqa: E501          :param institution_id: The institution_id of this PrivateTrial.  # noqa: E501         :type: str # noqa: E501 Gets the institution_study_id of this PrivateTrial.  # noqa: E501          Unique study identifier (for the institution).  # noqa: E501          :return: The institution_study_id of this PrivateTrial.  # noqa: E501         :rtype: str Sets the institution_study_id of this PrivateTrial.          Unique study identifier (for the institution).  # noqa: E501          :param institution_study_id: The institution_study_id of this PrivateTrial.  # noqa: E501         :type: str # noqa: E501 Gets the registry_id of this PrivateTrial.  # noqa: E501          The public registry study id.  This is only populated once the trial is no longer a private trial.  # noqa: E501          :return: The registry_id of this PrivateTrial.  # noqa: E501         :rtype: str Sets the registry_id of this PrivateTrial.          The public registry study id.  This is only populated once the trial is no longer a private trial.  # noqa: E501          :param registry_id: The registry_id of this PrivateTrial.  # noqa: E501         :type: str Gets the visible_to_idn of this PrivateTrial.  # noqa: E501          If true, then this trial will be visible to the entire IDN, else it is visible only to the owning institution.  # noqa: E501          :return: The visible_to_idn of this PrivateTrial.  # noqa: E501         :rtype: bool Sets the visible_to_idn of this PrivateTrial.          If true, then this trial will be visible to the entire IDN, else it is visible only to the owning institution.  # noqa: E501          :param visible_to_idn: The visible_to_idn of this PrivateTrial.  # noqa: E501         :type: bool Gets the brief_title of this PrivateTrial.  # noqa: E501          A short title of the clinical study written in language intended for the lay public. The title should include, where possible, information on the participants, condition being evaluated, and intervention(s) studied.  # noqa: E501          :return: The brief_title of this PrivateTrial.  # noqa: E501         :rtype: str Sets the brief_title of this PrivateTrial.          A short title of the clinical study written in language intended for the lay public. The title should include, where possible, information on the participants, condition being evaluated, and intervention(s) studied.  # noqa: E501          :param brief_title: The brief_title of this PrivateTrial.  # noqa: E501         :type: str Gets the acronym of this PrivateTrial.  # noqa: E501          Acronyms or abbreviations used publicly to identify the clinical study.  # noqa: E501          :return: The acronym of this PrivateTrial.  # noqa: E501         :rtype: list[str] Sets the acronym of this PrivateTrial.          Acronyms or abbreviations used publicly to identify the clinical study.  # noqa: E501          :param acronym: The acronym of this PrivateTrial.  # noqa: E501         :type: list[str] Gets the official_title of this PrivateTrial.  # noqa: E501          Official title for the clinical trial.  # noqa: E501          :return: The official_title of this PrivateTrial.  # noqa: E501         :rtype: str Sets the official_title of this PrivateTrial.          Official title for the clinical trial.  # noqa: E501          :param official_title: The official_title of this PrivateTrial.  # noqa: E501         :type: str # noqa: E501 Gets the sponsors of this PrivateTrial.  # noqa: E501          The list of organizations or persons who initiated the study and who have authority and control over the study.  # noqa: E501          :return: The sponsors of this PrivateTrial.  # noqa: E501         :rtype: list[ClinicalTrialSponsors] Sets the sponsors of this PrivateTrial.          The list of organizations or persons who initiated the study and who have authority and control over the study.  # noqa: E501          :param sponsors: The sponsors of this PrivateTrial.  # noqa: E501         :type: list[ClinicalTrialSponsors] Gets the source of this PrivateTrial.  # noqa: E501          Native data source of this record  # noqa: E501          :return: The source of this PrivateTrial.  # noqa: E501         :rtype: str Sets the source of this PrivateTrial.          Native data source of this record  # noqa: E501          :param source: The source of this PrivateTrial.  # noqa: E501         :type: str Gets the oversight of this PrivateTrial.  # noqa: E501           :return: The oversight of this PrivateTrial.  # noqa: E501         :rtype: Oversight Sets the oversight of this PrivateTrial.           :param oversight: The oversight of this PrivateTrial.  # noqa: E501         :type: Oversight Gets the brief_summary of this PrivateTrial.  # noqa: E501          A short description of the clinical study, including a brief statement of the clinical study's hypothesis, written in language intended for the lay public.  # noqa: E501          :return: The brief_summary of this PrivateTrial.  # noqa: E501         :rtype: str Sets the brief_summary of this PrivateTrial.          A short description of the clinical study, including a brief statement of the clinical study's hypothesis, written in language intended for the lay public.  # noqa: E501          :param brief_summary: The brief_summary of this PrivateTrial.  # noqa: E501         :type: str Gets the detailed_description of this PrivateTrial.  # noqa: E501          Extended description of the protocol, including more technical information (as compared to the Brief Summary), if desired. Do not include the entire protocol; do not duplicate information recorded in other data elements, such as Eligibility Criteria or outcome measures.  # noqa: E501          :return: The detailed_description of this PrivateTrial.  # noqa: E501         :rtype: str Sets the detailed_description of this PrivateTrial.          Extended description of the protocol, including more technical information (as compared to the Brief Summary), if desired. Do not include the entire protocol; do not duplicate information recorded in other data elements, such as Eligibility Criteria or outcome measures.  # noqa: E501          :param detailed_description: The detailed_description of this PrivateTrial.  # noqa: E501         :type: str Gets the status of this PrivateTrial.  # noqa: E501          Trial recruiting status.  # noqa: E501          :return: The status of this PrivateTrial.  # noqa: E501         :rtype: str Sets the status of this PrivateTrial.          Trial recruiting status.  # noqa: E501          :param status: The status of this PrivateTrial.  # noqa: E501         :type: str # noqa: E501 # noqa: E501 # noqa: E501 Gets the start_date of this PrivateTrial.  # noqa: E501          The estimated date on which the clinical study will be open for recruitment of participants, or the actual date on which the first participant was enrolled.  # noqa: E501          :return: The start_date of this PrivateTrial.  # noqa: E501         :rtype: datetime Sets the start_date of this PrivateTrial.          The estimated date on which the clinical study will be open for recruitment of participants, or the actual date on which the first participant was enrolled.  # noqa: E501          :param start_date: The start_date of this PrivateTrial.  # noqa: E501         :type: datetime # noqa: E501 Gets the completion_date of this PrivateTrial.  # noqa: E501          The date the final participant was examined or received an intervention for purposes of final collection of data for the primary and secondary outcome measures and adverse events (for example, last participant’s last visit), whether the clinical study concluded according to the pre-specified protocol or was terminated  # noqa: E501          :return: The completion_date of this PrivateTrial.  # noqa: E501         :rtype: datetime Sets the completion_date of this PrivateTrial.          The date the final participant was examined or received an intervention for purposes of final collection of data for the primary and secondary outcome measures and adverse events (for example, last participant’s last visit), whether the clinical study concluded according to the pre-specified protocol or was terminated  # noqa: E501          :param completion_date: The completion_date of this PrivateTrial.  # noqa: E501         :type: datetime Gets the phase of this PrivateTrial.  # noqa: E501          For a clinical trial of a drug product (including a biological product), the numerical phase of such clinical trial, consistent with terminology in 21 CFR 312.21 and in 21 CFR 312.85 for phase 4 studies.  # noqa: E501          :return: The phase of this PrivateTrial.  # noqa: E501         :rtype: str Sets the phase of this PrivateTrial.          For a clinical trial of a drug product (including a biological product), the numerical phase of such clinical trial, consistent with terminology in 21 CFR 312.21 and in 21 CFR 312.85 for phase 4 studies.  # noqa: E501          :param phase: The phase of this PrivateTrial.  # noqa: E501         :type: str # noqa: E501 # noqa: E501 Gets the study_type of this PrivateTrial.  # noqa: E501          The nature of the investigation or investigational use for which clinical study information is being submitted.  # noqa: E501          :return: The study_type of this PrivateTrial.  # noqa: E501         :rtype: str Sets the study_type of this PrivateTrial.          The nature of the investigation or investigational use for which clinical study information is being submitted.  # noqa: E501          :param study_type: The study_type of this PrivateTrial.  # noqa: E501         :type: str # noqa: E501 # noqa: E501 # noqa: E501 Gets the has_expanded_access of this PrivateTrial.  # noqa: E501          Whether there is expanded access to the investigational product for patients who do not qualify for enrollment in a clinical trial. Expanded Access for investigational drug products (including biological products) includes all expanded access types under section 561 of the Federal Food, Drug, and Cosmetic Act: (1) for individual participants, including emergency use; (2) for intermediate-size participant populations; and (3) under a treatment IND or treatment protocol.  # noqa: E501          :return: The has_expanded_access of this PrivateTrial.  # noqa: E501         :rtype: bool Sets the has_expanded_access of this PrivateTrial.          Whether there is expanded access to the investigational product for patients who do not qualify for enrollment in a clinical trial. Expanded Access for investigational drug products (including biological products) includes all expanded access types under section 561 of the Federal Food, Drug, and Cosmetic Act: (1) for individual participants, including emergency use; (2) for intermediate-size participant populations; and (3) under a treatment IND or treatment protocol.  # noqa: E501          :param has_expanded_access: The has_expanded_access of this PrivateTrial.  # noqa: E501         :type: bool Gets the expanded_access of this PrivateTrial.  # noqa: E501           :return: The expanded_access of this PrivateTrial.  # noqa: E501         :rtype: ExpandedAccess Sets the expanded_access of this PrivateTrial.           :param expanded_access: The expanded_access of this PrivateTrial.  # noqa: E501         :type: ExpandedAccess Gets the study_design of this PrivateTrial.  # noqa: E501           :return: The study_design of this PrivateTrial.  # noqa: E501         :rtype: StudyDesign Sets the study_design of this PrivateTrial.           :param study_design: The study_design of this PrivateTrial.  # noqa: E501         :type: StudyDesign Gets the primary_outcome of this PrivateTrial.  # noqa: E501          The outcome that an investigator considers to be the most important among the many outcomes that are to be examined in the study.  # noqa: E501          :return: The primary_outcome of this PrivateTrial.  # noqa: E501         :rtype: list[Outcome] Sets the primary_outcome of this PrivateTrial.          The outcome that an investigator considers to be the most important among the many outcomes that are to be examined in the study.  # noqa: E501          :param primary_outcome: The primary_outcome of this PrivateTrial.  # noqa: E501         :type: list[Outcome] Gets the secondary_outcome of this PrivateTrial.  # noqa: E501           :return: The secondary_outcome of this PrivateTrial.  # noqa: E501         :rtype: list[Outcome] Sets the secondary_outcome of this PrivateTrial.           :param secondary_outcome: The secondary_outcome of this PrivateTrial.  # noqa: E501         :type: list[Outcome] Gets the other_outcome of this PrivateTrial.  # noqa: E501           :return: The other_outcome of this PrivateTrial.  # noqa: E501         :rtype: list[Outcome] Sets the other_outcome of this PrivateTrial.           :param other_outcome: The other_outcome of this PrivateTrial.  # noqa: E501         :type: list[Outcome] Gets the number_of_arms of this PrivateTrial.  # noqa: E501          The number of trial arms.  # noqa: E501          :return: The number_of_arms of this PrivateTrial.  # noqa: E501         :rtype: int Sets the number_of_arms of this PrivateTrial.          The number of trial arms.  # noqa: E501          :param number_of_arms: The number_of_arms of this PrivateTrial.  # noqa: E501         :type: int Gets the number_of_groups of this PrivateTrial.  # noqa: E501          The number of trial groups.  # noqa: E501          :return: The number_of_groups of this PrivateTrial.  # noqa: E501         :rtype: int Sets the number_of_groups of this PrivateTrial.          The number of trial groups.  # noqa: E501          :param number_of_groups: The number_of_groups of this PrivateTrial.  # noqa: E501         :type: int Gets the enrollment of this PrivateTrial.  # noqa: E501          The estimated total number of participants to be enrolled (target number) or the actual total number of participants that are enrolled in the clinical study.  # noqa: E501          :return: The enrollment of this PrivateTrial.  # noqa: E501         :rtype: int Sets the enrollment of this PrivateTrial.          The estimated total number of participants to be enrolled (target number) or the actual total number of participants that are enrolled in the clinical study.  # noqa: E501          :param enrollment: The enrollment of this PrivateTrial.  # noqa: E501         :type: int Gets the condition of this PrivateTrial.  # noqa: E501          Diseases/Conditions related to this trial.  # noqa: E501          :return: The condition of this PrivateTrial.  # noqa: E501         :rtype: list[str] Sets the condition of this PrivateTrial.          Diseases/Conditions related to this trial.  # noqa: E501          :param condition: The condition of this PrivateTrial.  # noqa: E501         :type: list[str] Gets the arm_group of this PrivateTrial.  # noqa: E501          Pre-specified groups of participants in a clinical trial assigned to receive specific interventions (or no intervention) according to a protocol.  # noqa: E501          :return: The arm_group of this PrivateTrial.  # noqa: E501         :rtype: list[ArmGroup] Sets the arm_group of this PrivateTrial.          Pre-specified groups of participants in a clinical trial assigned to receive specific interventions (or no intervention) according to a protocol.  # noqa: E501          :param arm_group: The arm_group of this PrivateTrial.  # noqa: E501         :type: list[ArmGroup] Gets the intervention of this PrivateTrial.  # noqa: E501          Specifies the intervention(s) associated with each arm or group.  # noqa: E501          :return: The intervention of this PrivateTrial.  # noqa: E501         :rtype: list[Intervention] Sets the intervention of this PrivateTrial.          Specifies the intervention(s) associated with each arm or group.  # noqa: E501          :param intervention: The intervention of this PrivateTrial.  # noqa: E501         :type: list[Intervention] Gets the biospec_retention of this PrivateTrial.  # noqa: E501           :return: The biospec_retention of this PrivateTrial.  # noqa: E501         :rtype: str Sets the biospec_retention of this PrivateTrial.           :param biospec_retention: The biospec_retention of this PrivateTrial.  # noqa: E501         :type: str # noqa: E501 # noqa: E501 Gets the biospec_descr of this PrivateTrial.  # noqa: E501           :return: The biospec_descr of this PrivateTrial.  # noqa: E501         :rtype: str Sets the biospec_descr of this PrivateTrial.           :param biospec_descr: The biospec_descr of this PrivateTrial.  # noqa: E501         :type: str Gets the eligibility of this PrivateTrial.  # noqa: E501           :return: The eligibility of this PrivateTrial.  # noqa: E501         :rtype: Eligibility Sets the eligibility of this PrivateTrial.           :param eligibility: The eligibility of this PrivateTrial.  # noqa: E501         :type: Eligibility Gets the overall_official of this PrivateTrial.  # noqa: E501          Person responsible for the overall scientific leadership of the protocol, including study principal investigator.  # noqa: E501          :return: The overall_official of this PrivateTrial.  # noqa: E501         :rtype: list[Investigator] Sets the overall_official of this PrivateTrial.          Person responsible for the overall scientific leadership of the protocol, including study principal investigator.  # noqa: E501          :param overall_official: The overall_official of this PrivateTrial.  # noqa: E501         :type: list[Investigator] Gets the overall_contact of this PrivateTrial.  # noqa: E501           :return: The overall_contact of this PrivateTrial.  # noqa: E501         :rtype: Contact Sets the overall_contact of this PrivateTrial.           :param overall_contact: The overall_contact of this PrivateTrial.  # noqa: E501         :type: Contact Gets the overall_contact_backup of this PrivateTrial.  # noqa: E501           :return: The overall_contact_backup of this PrivateTrial.  # noqa: E501         :rtype: Contact Sets the overall_contact_backup of this PrivateTrial.           :param overall_contact_backup: The overall_contact_backup of this PrivateTrial.  # noqa: E501         :type: Contact Gets the location of this PrivateTrial.  # noqa: E501          Information about the locations offering this trial.  # noqa: E501          :return: The location of this PrivateTrial.  # noqa: E501         :rtype: list[Location] Sets the location of this PrivateTrial.          Information about the locations offering this trial.  # noqa: E501          :param location: The location of this PrivateTrial.  # noqa: E501         :type: list[Location] # noqa: E501 Gets the location_countries of this PrivateTrial.  # noqa: E501          Countries with locations offering this trial.  # noqa: E501          :return: The location_countries of this PrivateTrial.  # noqa: E501         :rtype: list[str] Sets the location_countries of this PrivateTrial.          Countries with locations offering this trial.  # noqa: E501          :param location_countries: The location_countries of this PrivateTrial.  # noqa: E501         :type: list[str] Gets the link of this PrivateTrial.  # noqa: E501          URL to institution (if private) or registry listing of this trial.  # noqa: E501          :return: The link of this PrivateTrial.  # noqa: E501         :rtype: str Sets the link of this PrivateTrial.          URL to institution (if private) or registry listing of this trial.  # noqa: E501          :param link: The link of this PrivateTrial.  # noqa: E501         :type: str Gets the reference of this PrivateTrial.  # noqa: E501          Reference publications pertaining to this trial.  # noqa: E501          :return: The reference of this PrivateTrial.  # noqa: E501         :rtype: list[Reference] Sets the reference of this PrivateTrial.          Reference publications pertaining to this trial.  # noqa: E501          :param reference: The reference of this PrivateTrial.  # noqa: E501         :type: list[Reference] Gets the verification_date of this PrivateTrial.  # noqa: E501          The date on which the responsible party last verified the clinical study information in the entire ClinicalTrials.gov record for the clinical study, even if no additional or updated information is being submitted.  # noqa: E501          :return: The verification_date of this PrivateTrial.  # noqa: E501         :rtype: datetime Sets the verification_date of this PrivateTrial.          The date on which the responsible party last verified the clinical study information in the entire ClinicalTrials.gov record for the clinical study, even if no additional or updated information is being submitted.  # noqa: E501          :param verification_date: The verification_date of this PrivateTrial.  # noqa: E501         :type: datetime Gets the study_first_submitted of this PrivateTrial.  # noqa: E501          The date on which the study sponsor or investigator first submitted a study record to the trial registry.  # noqa: E501          :return: The study_first_submitted of this PrivateTrial.  # noqa: E501         :rtype: datetime Sets the study_first_submitted of this PrivateTrial.          The date on which the study sponsor or investigator first submitted a study record to the trial registry.  # noqa: E501          :param study_first_submitted: The study_first_submitted of this PrivateTrial.  # noqa: E501         :type: datetime Gets the study_first_posted of this PrivateTrial.  # noqa: E501          The date on which the study was first made public on trial registry.  # noqa: E501          :return: The study_first_posted of this PrivateTrial.  # noqa: E501         :rtype: datetime Sets the study_first_posted of this PrivateTrial.          The date on which the study was first made public on trial registry.  # noqa: E501          :param study_first_posted: The study_first_posted of this PrivateTrial.  # noqa: E501         :type: datetime Gets the last_update_posted of this PrivateTrial.  # noqa: E501          The most recent date that any information was updated for this trial.  # noqa: E501          :return: The last_update_posted of this PrivateTrial.  # noqa: E501         :rtype: datetime Sets the last_update_posted of this PrivateTrial.          The most recent date that any information was updated for this trial.  # noqa: E501          :param last_update_posted: The last_update_posted of this PrivateTrial.  # noqa: E501         :type: datetime Gets the keyword of this PrivateTrial.  # noqa: E501          Words or phrases that best describe the protocol. Keywords help users find studies in the database. Use NLM's Medical Subject Heading (MeSH)-controlled vocabulary terms where appropriate. Be as specific and precise as possible.  # noqa: E501          :return: The keyword of this PrivateTrial.  # noqa: E501         :rtype: list[str] Sets the keyword of this PrivateTrial.          Words or phrases that best describe the protocol. Keywords help users find studies in the database. Use NLM's Medical Subject Heading (MeSH)-controlled vocabulary terms where appropriate. Be as specific and precise as possible.  # noqa: E501          :param keyword: The keyword of this PrivateTrial.  # noqa: E501         :type: list[str] Gets the responsible_party of this PrivateTrial.  # noqa: E501          The entities and individuals responsible for this trial.  # noqa: E501          :return: The responsible_party of this PrivateTrial.  # noqa: E501         :rtype: list[ResponsibleParty] Sets the responsible_party of this PrivateTrial.          The entities and individuals responsible for this trial.  # noqa: E501          :param responsible_party: The responsible_party of this PrivateTrial.  # noqa: E501         :type: list[ResponsibleParty] Gets the processing_status of this PrivateTrial.  # noqa: E501          Indication of its level of readiness and incorporation into the MolecularMatch Knowledge base.  # noqa: E501          :return: The processing_status of this PrivateTrial.  # noqa: E501         :rtype: str Sets the processing_status of this PrivateTrial.          Indication of its level of readiness and incorporation into the MolecularMatch Knowledge base.  # noqa: E501          :param processing_status: The processing_status of this PrivateTrial.  # noqa: E501         :type: str # noqa: E501 # noqa: E501 Gets the test of this PrivateTrial.  # noqa: E501          A flag to mark test private trials.  # noqa: E501          :return: The test of this PrivateTrial.  # noqa: E501         :rtype: bool Sets the test of this PrivateTrial.          A flag to mark test private trials.  # noqa: E501          :param test: The test of this PrivateTrial.  # noqa: E501         :type: bool Returns the model properties as a dict Returns the string representation of the model For `print` and `pprint` Returns true if both objects are equal Returns true if both objects are not equal