Build a Medical Data Validator - Step 18

Tell us what’s happening:

Im stuck at the STEP 18 of the Medical Data Validator. I added the code as under
if set(dictionary.keys()) != key_set:
print(‘Invalid format: {dictionary} at position {index} has missing and/or invalid keys.’)
is_invalid=True
if is_invalid:
return False
The console says “Valid Format” but the code does not pass. The message
You should print “Invalid format: at position has missing and/or invalid keys.” appears. The code seems to be perfect …

Your code so far

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',
    }   
]


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
    key_set = set(
        ['patient_id', 'age', 'gender', 'diagnosis', 'medications', 'last_visit_id']
    )

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


# User Editable Region

        if set(dictionary.keys()) != key_set:
            print('Invalid format: {dictionary} at position  {index} has missing and/or invalid keys.')    
            is_invalid=True 

# User Editable Region

        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 18

Welcome to the forum @umsapkal !

Please make sure the message printed is exactly the same as the message in the instructions, including spacing.

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