Build a Medical Data Validator - Step 23

Tell us what’s happening:

Your constraints dictimedical_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 find_invalid_records(patient_id, age, gender, diagnosis, medications,last_visit_id):

constraints = {}

constraints\['patient_id'\] = isinstance(patient_id, str)

print(constraints\['patient_id'\])

return constraints

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



    if set(dictionary.keys()) != key_set:

        print(

            f'Invalid format: {dictionary} at position {index} has missing and/or invalid keys.'

        )

        is_invalid = True



if is_invalid:

    return False

print('Valid format.')

return True

validate(medical_records)

print(find_invalid_records(**medical_records[0]))onary should have a key patient_id with the value of isinstance(patient_id, str).

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 find_invalid_records(patient_id, age, gender, diagnosis, medications,last_visit_id):


# User Editable Region

    constraints = {}
    constraints['patient_id'] = isinstance(patient_id, str)
    print(constraints['patient_id'])

# User Editable Region

    return constraints
  
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

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

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

validate(medical_records)
print(find_invalid_records(**medical_records[0]))

Your browser information:

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

Challenge Information:

Build a Medical Data Validator - Step 23

This is the instruction:

Add the key patient_id to the constraints dictionary. For its value, use a call to isinstance passing in patient_id and str as the arguments.

Were you asked to print constraints? What does it say patient_id is? Where were you asked to add patient_id and its value?

Something looks wrong with this line