code: func agentHealthService(serviceID string, s *HTTPServer) (int, string, api.HealthChecks) {
  	checks := s.agent.State.Checks()
  	serviceChecks := make(api.HealthChecks, 0)
  	for _, c := range checks {
  		if c.ServiceID == serviceID || c.ServiceID == "" {
  			// TODO: harmonize struct.HealthCheck and api.HealthCheck (or at least extract conversion function)
  			healthCheck := &api.HealthCheck{
  				Node:        c.Node,
  				CheckID:     string(c.CheckID),
  				Name:        c.Name,
  				Status:      c.Status,
  				Notes:       c.Notes,
  				Output:      c.Output,
  				ServiceID:   c.ServiceID,
  				ServiceName: c.ServiceName,
  				ServiceTags: c.ServiceTags,
  			}
  			serviceChecks = append(serviceChecks, healthCheck)
  		}
  	}
  	status := serviceChecks.AggregatedStatus()
  	switch status {
  	case api.HealthWarning:
  		return http.StatusTooManyRequests, status, serviceChecks
  	case api.HealthPassing:
  		return http.StatusOK, status, serviceChecks
  	default:
  		return http.StatusServiceUnavailable, status, serviceChecks
  	}
  }
docs: // agentHealthService Returns Health for a given service ID