Build a Medical Data Validator - Step 13

Tell us what’s happening:

To test the first if statement of your function, turn medical_records into a string. You should see Invalid format: expected a list or tuple. printed to the terminal.

The terminal reads Invalid format: expected a list or tuple…not sure what I am doing wrong?

Your code so far


# User Editable Region

medical_records = [
    {
        'patient_id': 'P1001',
        'age': 34,
        'gender': 'Female',
        'diagnosis': 'Hypertension',
        'medications': ['Lisinopril'],
        'last_visit_id': 'V2301',
    },
    {
        'patient_id': 'p1002',
        'age': 47,
        'gender': 'male',
        'diagnosis': 'Type 2 Diabetes',
        'medications': ['Metformin', 'Insulin'],
        'last_visit_id': 'v2302',
    },
    {
        'patient_id': 'P1003',
        'age': 29,
        'gender': 'female',
        'diagnosis': 'Asthma',
        'medications': ['Albuterol'],
        'last_visit_id': 'v2303',
    },
    {
        'patient_id': 'p1004',
        'age': 56,
        'gender': 'Male',
        'diagnosis': 'Chronic Back Pain',
        'medications': ['Ibuprofen', 'Physical Therapy'],
        'last_visit_id': 'V2304',
    }
]

# User Editable Region


def validate(data):
    is_sequence = isinstance(data, (list, tuple))

    if not is_sequence:
        print('Invalid format: expected a list or tuple.')
        return False
        
    is_invalid = False

    for index, dictionary in enumerate(data):
        if not isinstance(dictionary, dict):
            print(f'Invalid format: expected a dictionary at position {index}.')
            is_invalid = True

    if is_invalid:
        return False
    print('Valid format.')
    return True

validate('medical_records')

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36

Challenge Information:

Build a Medical Data Validator - Step 13

You are sending a string to validate rather than a list or tuple.

yes it says to turn medical_records into a string and the expected outcome in the terminal should read Invalid format: expected a list or tuple….which is shown in the terminal….I don’t know what else I am missing

This is a pretty interesting interpretation of the instructions, but you are passing a string to the function.

This step wants you to change the variable assignment itself

medical_records = [
    {
        'patient_id': 'P1001',

not the variable passed to the function.

Look at the part of the code that is highlighted (darker in dark mode). That is the area of code you are to edit.

2 Likes

thank you for the explanation, I appreciate it!

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.