/********************************************************************
 * Copyright © 2006 VHA. All rights reserved
 ********************************************************************/

/*
 * Created on Jan 24, 2006
 *
 */
package gov.va.med.esr.common.model.lookup;


// Java classes

// Library classes

// Framework classes
import gov.va.med.fw.model.lookup.AbstractCode;
import gov.va.med.fw.model.lookup.AbstractNamedLookup;

// EDB Classes

/**
 * @author Yi He
 * @version 1.0
 */
public class ComLetterTemplateType extends AbstractNamedLookup {
	/**
	 * An instance of serialVersionUID
	 */
	private static final long serialVersionUID = 3439497227657528300L;

	public static final String FORM_NUMBER_PREFIX = "742-";

    public static final Code FORM_NUMBER_600A = new Code("742-600A");
    public static final Code FORM_NUMBER_600B = new Code("742-600B");
    public static final Code FORM_NUMBER_600C = new Code("742-600C");
    public static final Code FORM_NUMBER_600D = new Code("742-600D");
    public static final Code FORM_NUMBER_601A = new Code("742-601A");
    public static final Code FORM_NUMBER_601B = new Code("742-601B");
    public static final Code FORM_NUMBER_601C = new Code("742-601C");
    public static final Code FORM_NUMBER_601D = new Code("742-601D");
    public static final Code FORM_NUMBER_601E = new Code("742-601E");
    public static final Code FORM_NUMBER_601F = new Code("742-601F");
    public static final Code FORM_NUMBER_604A = new Code("742-604A");
    public static final Code FORM_NUMBER_604B = new Code("742-604B");
    public static final Code FORM_NUMBER_607A = new Code("742-607A");
    public static final Code FORM_NUMBER_607B = new Code("742-607B");
    public static final Code FORM_NUMBER_620A = new Code("742-620A");
    public static final Code FORM_NUMBER_620B = new Code("742-620B");
    public static final Code FORM_NUMBER_623A = new Code("742-623A");

    //Subsequent Rejection Letter ESR 3.6_CodeCR10108
    public static final Code FORM_NUMBER_623C = new Code("742-623C");

    public static final Code FORM_NUMBER_623D = new Code("742-623D");
    public static final Code FORM_NUMBER_623R = new Code("742-623R");
    public static final Code FORM_NUMBER_624A = new Code("742-624A");
    public static final Code FORM_NUMBER_624B = new Code("742-624B");
    public static final Code FORM_NUMBER_624C = new Code("742-624C");
    public static final Code FORM_NUMBER_625A = new Code("742-625A");
    public static final Code FORM_NUMBER_625B = new Code("742-625B");
    public static final Code FORM_NUMBER_625C = new Code("742-625C");
    public static final Code FORM_NUMBER_630A = new Code("742-630A");
    public static final Code FORM_NUMBER_630B = new Code("742-630B");
    public static final Code FORM_NUMBER_630C = new Code("742-630C");
    public static final Code FORM_NUMBER_630D = new Code("742-630D");
    public static final Code FORM_NUMBER_630E = new Code("742-630E");
    public static final Code FORM_NUMBER_630F = new Code("742-630F");
    public static final Code FORM_NUMBER_630G = new Code("742-630G");
    public static final Code FORM_NUMBER_630H = new Code("742-630H");
    public static final Code FORM_NUMBER_640A = new Code("742-640A");
    public static final Code FORM_NUMBER_640B = new Code("742-640B");
    public static final Code FORM_NUMBER_640C = new Code("742-640C");
    public static final Code FORM_NUMBER_640V = new Code("742-640V");
    public static final Code FORM_NUMBER_640D = new Code("742-640D");
    public static final Code FORM_NUMBER_640F = new Code("742-640F");
    public static final Code FORM_NUMBER_640G = new Code("742-640G");
    public static final Code FORM_NUMBER_640H = new Code("742-640H");
    public static final Code FORM_NUMBER_640I = new Code("742-640I");

    //Public Law ESR 3.5_CodeCR10680
    public static final Code FORM_NUMBER_640K = new Code("742-640K");

    public static final Code FORM_NUMBER_650A = new Code("742-650A");

    // VFA-SP1 One Time Notification of Net Worth Discontinuation
    public static final Code FORM_NUMBER_680N = new Code("742-680N");

    //SSN letters
    public static final Code FORM_NUMBER_290 = new Code("742-290");
    public static final Code FORM_NUMBER_291 = new Code("742-291");
    public static final Code FORM_NUMBER_292 = new Code("742-292");
    public static final Code FORM_NUMBER_293 = new Code("742-293");
    public static final Code FORM_NUMBER_298 = new Code("742-298");
    public static final Code FORM_NUMBER_299 = new Code("742-299");

    //handbook Handbook_CodeCR10386
    public static final Code FORM_NUMBER_400H = new Code("742-400H");
//  handbook Handbook_CodeCR10658
    public static final Code FORM_NUMBER_400B = new Code("742-400B");
    public static final Code FORM_NUMBER_400F = new Code("742-400F");

    // CodeCR12825 for Final Letters and Compassion Letter
    public static final Code FORM_NUMBER_400 = new Code("742-400");
    public static final Code FORM_NUMBER_450 = new Code("742-450");
    public static final Code FORM_NUMBER_451 = new Code("742-451");
    public static final Code FORM_NUMBER_452 = new Code("742-452");
    public static final Code FORM_NUMBER_453 = new Code("742-453");
    public static final Code FORM_NUMBER_454 = new Code("742-454");
    public static final Code FORM_NUMBER_455 = new Code("742-455");
    public static final Code FORM_NUMBER_683A = new Code("683A");

    //ACA letters
    //742-800
    //742-800D
    //742-800A
    public static final Code FORM_NUMBER_800 = new Code("742-800");
    public static final Code FORM_NUMBER_800D = new Code("742-800D");
    public static final Code FORM_NUMBER_800A = new Code("742-800A");

    public static class Code extends AbstractCode {
		/**
		 * An instance of serialVersionUID
		 */
		private static final long serialVersionUID = -4540991366895014687L;

		private Code(String code) {
			super(code);
		}

		public static Code getByCode(String code) {
			return (Code) getCode(Code.class, code);
		}
	}

    public ComLetterTemplateType() {
    	super();
    }
}

