This is how I would build the flow. I'm assuming you're sending an email for each person that has a medical due. Also, assuming you have a Recurrence trigger set to run daily. For this example, I have two lists.
The Employee List is below.

And the Medical List is below:

Full flow below. I'll go into each of the actions.

Recurrence is set to run daily.

Get items Medicals will retrieve all medicals that are due today. My internal column name is NextMedicalAssessmentDue. You'll need to find out what your internal name is.
I've also used the following expression to get the current date formatted as yyyy-MM-dd which is the same format that will be returned for each of your items.
formatDateTime(utcNow(), 'yyyy-MM-dd')

Apply to each Medical uses the value from Get items Medical so it will loop over each of the Medicals returned (ones that are due today).

Get items Employees retrieves employees where the Employee ID matches the Employee ID in the current Medical List. Note that it has Title and Title - this is because I renamed my Title columns to Employee ID in both lists, and we always use the internal column name when applying filters. This should only return a single employee.

Apply to each Employee will then loop through each employee that was returned which should only ever be one, but Power Automate doesn't know this so adds a loop assuming it could be more than one.

Lastly, it will send the email using the properties from both lists. In my example, I'm just sending the email to myself.

The email, as it is in my example, will look like:
