Skip to content

Add sandbox population script #531

@danlamanna

Description

@danlamanna

A random snippet I've used for generating accession metadata:

def accession_metadata():
    def from_enum(e):
        return fake.random_element([x.value for x in e])

    m = {
        'age': fake.pyint(1, 85),
        'sex': fake.random_element(['male', 'female']),
        'benign_malignant': from_enum(BenignMalignantEnum),
        'diagnosis': from_enum(DiagnosisEnum),
        'diagnosis_confirm_type': from_enum(DiagnosisConfirmTypeEnum),
        'personal_hx_mm': fake.boolean(),
        'family_hx_mm': fake.boolean(),
        'clin_size_long_diam_mm': fake.pyfloat(
            left_digits=3, right_digits=2, positive=True, max_value=100.0
        ),
        'melanocytic': fake.boolean(),
        'patient_id': f'IP_{fake.pyint(1_000_000,9_999_999)}',
        'lesion_id': f'IL_{fake.pyint(1_000_000,9_999_999)}',
        'acquisition_day': fake.pyint(),
        'nevus_type': from_enum(NevusTypeEnum),
        'image_type': from_enum(ImageTypeEnum),
        'dermoscopic_type': from_enum(DermoscopicTypeEnum),
        'anatom_site_general': from_enum(GeneralAnatomicSiteEnum),
        'mel_class': from_enum(MelClassEnum),
        'mel_mitotic_index': from_enum(MelMitoticIndexEnum),
        'mel_thick_mm': fake.pyfloat(left_digits=1, right_digits=2, positive=True, max_value=5.0),
        'mel_type': from_enum(MelTypeEnum),
        'mel_ulcer': fake.boolean(),
    }

    for key in fake.random.sample(list(m.keys()), fake.pyint(0, len(m))):
        del m[key]

    return m


def accession_unstructured_metadata():
    return fake.pydict(
        value_types=list(set(Provider.default_value_types) - {'date_time', 'decimal'})
    )

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions