Unable to StartCoroutine or even change component from another script.

I have a player that will give a sitting patient a pill and then he will stand for 60 seconds. I cannot get the patient to stand. I tried using a IEnumerator coroutine and even tried accessing the Animator component in the script. Everything else works like giving me a message that the patient has been saved but he still stays sitting on the ground. Please help.

Here is my patient script:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PatientMove : MonoBehaviour
{
private Animator patient;

void Start()
{
    patient = GetComponent<Animator>();
    patient.Play("Idle_SittingOnGround");
}

public IEnumerator TreatPatient()
{
    Animator patient;
    patient = GetComponent<Animator>();
    patient.Play("Idle");
    yield return new WaitForSeconds(60);
    patient.Play("Idle_SittingOnGround");
}

}

Here is my player script:

private void OnTriggerEnter(Collider other)
{
    if(other.gameObject.CompareTag("Business Man") && hasPill)
    {
        hasPill = false;
        pillVaccine.SetActive(false);
        patientSaved++;
        textScore.text = "Patients: " + patientSaved;
        GameObject.FindWithTag("Business Man").GetComponent<Animator>().Play("Idle");
        //StartCoroutine(GameObject.FindWithTag("Business Man").GetComponent<PatientMove>().TreatPatient());
    }

@strmchsr… here is a slimmer version, may still not work but cleaner looking

using System.Collections; 
using System.Collections.
Generic; using UnityEngine;

public class PatientMove : MonoBehaviour {
 Animator patient;// NOT PRIVATE

void Start()
 {
     patient = GetComponent<Animator>();
 }
 public IEnumerator TreatPatient()
 {
     yield return new WaitForSeconds(60);
     patient.Play("Idle_SittingOnGround");
 }
}

////////Here is my player script:
 private void OnTriggerEnter(Collider other)
 {
     if(other.gameObject.CompareTag("Business Man") && hasPill)
     {
         pillVaccine.SetActive(false);
         patientSaved++;
         textScore.text = "Patients: " + patientSaved;
         //StartCoroutine(GameObject.FindWithTag("Business Man").GetComponent<PatientMove>().TreatPatient());
  hasPill = false;
     }

The patient is the business man. player is the doctor giving the pill. The patient, aka business man, is sitting on the ground sick. When I give him the pill, he is stupposed to stand up just in idle. The player script is just a partial of the full script. I just cannot seem to access the coroutine from the player spript. I have tried multiple ways and looked at many threads. Nothing seems to work. I also tried using the line that is commented out without accessing the coroutine but still will not play idle from the animator.