###### Table 23-Health Status Values | **Health Status Name** | **Definition** | | ---------------------- | -------------- | | EfiDriverHealthStatu sHealthy | The controller is in a healthy state. | | EfiDriverHealthStatu sRepairRequired | The controller requires a repair operation taking an extended period of time to perform. The UEFI Boot Manager is required to call the Repair() function when this state is detected. | | EfiDriverHealthStatu sConfigurationRequired | The controller requires the user to make software or hardware configuration changes in order to put the controller into a healthy state. The set of software configuration changes are specified by the FormHiiHandle parameter. The EFI Boot Manager may call the EFI_FORM_BROWSER2_PROTOCOL.SendForm() function to display configuration information and allow the user to make the required configuration changes. The HII form is the first enabled form in the form set class EFI_HII_DRIVER_HEALTH_FORMSET_GUID, which is installed on the returned HII handle FormHiiHandle. | | EfiDriverHealthStatusFailed | The controller is in a failed state and there are no actions that can place the controller into a healthy state. This controller, nor no any boot devices behind it, cannot be used as a boot device. | | EfiDriverHealthStatu sReconnectRequired | A hardware and/or software configuration change was performed by the user and the controller needs to be reconnected before the controller can be placed in a healthy state. The UEFI Boot Manager is required to call the UEFI Boot Service DisconnectController(), followed by the UEFI Boot Service ConnectController(), to reconnect the controller. | | EfiDriverHealthStatu sRebootRequired | A hardware and/or software configuration change was performed by the user and the controller requires the entire platform to be rebooted before the controller can be placed in a healthy state. The UEFI Boot Manager should complete the configuration and repair operations on all the controllers that are not in a healthy state before rebooting the system. | Depending on the specific health status value returned, additional information may be returned in _MessageList_ and _FormHiiHandle_ as described in the table above. The health status for devices is typically stored in the private context data structure. The Driver Binding Protocol `Start()` function for a UEFI Driver is usually where the health status for a device is initially detected and the results of that detection logic are stored in the private context data structure. As the UEFI Boot Manager performs repair or configuration actions, the health status of a controller changes. Each time `GetHealthStatus()` is called, the health status of the controller must be evaluated. The EFI Driver Health Protocol section of the _UEFI Specification_ defines the legal state transitions for health status values as shown in the following figure.