Tommy,You say it runs well? Sometimes false codes are set by loose or corroded engine grounds.Some models have several small computer grounds on the thermostat housing bolt, usually a bad connection there. A bad battery, internally shorted may start the engine but not allow the proper charging system voltage ,setting off codes.The computer recieves a signal from the egr valve on a timed basis, if the computer thinks the egr is malfunctioning, it sets a code.If the egr exhaust passages are plugged with carbon(common)the code will set even if the valve is ok.If all else fails, a piece of tape over the check engine light can bring peace of mind.