It's a long process (2-4 years long). Depending on the circumstances, the process first goes through two review boards to upgrade discharge. If those do not upgrade discharge and there's a 10 US Code violation, the discharge can be challenged in federal court.