001
002package ca.uhn.fhir.model.dstu2.valueset;
003
004import ca.uhn.fhir.model.api.*;
005import java.util.HashMap;
006import java.util.Map;
007
008public enum ImmunizationRecommendationDateCriterionCodesEnum {
009
010        /**
011         * Display: <b>Due</b><br>
012         * Code Value: <b>due</b>
013         *
014         * Date the next dose is considered due.
015         */
016        DUE("due", "http://hl7.org/fhir/immunization-recommendation-date-criterion"),
017        
018        /**
019         * Display: <b>Recommended</b><br>
020         * Code Value: <b>recommended</b>
021         *
022         * At the recommended date.
023         */
024        RECOMMENDED("recommended", "http://hl7.org/fhir/immunization-recommendation-date-criterion"),
025        
026        /**
027         * Display: <b>Earliest Date</b><br>
028         * Code Value: <b>earliest</b>
029         *
030         * As early as possible.
031         */
032        EARLIEST_DATE("earliest", "http://hl7.org/fhir/immunization-recommendation-date-criterion"),
033        
034        /**
035         * Display: <b>Past Due Date</b><br>
036         * Code Value: <b>overdue</b>
037         *
038         * Date the next dose is considered overdue.
039         */
040        PAST_DUE_DATE("overdue", "http://hl7.org/fhir/immunization-recommendation-date-criterion"),
041        
042        /**
043         * Display: <b>Latest</b><br>
044         * Code Value: <b>latest</b>
045         *
046         * The latest date the next dose is to be given.
047         */
048        LATEST("latest", "http://hl7.org/fhir/immunization-recommendation-date-criterion"),
049        
050        ;
051        
052        /**
053         * Identifier for this Value Set:
054         * 
055         */
056        public static final String VALUESET_IDENTIFIER = "";
057
058        /**
059         * Name for this Value Set:
060         * Immunization Recommendation Date Criterion Codes
061         */
062        public static final String VALUESET_NAME = "Immunization Recommendation Date Criterion Codes";
063
064        private static Map<String, ImmunizationRecommendationDateCriterionCodesEnum> CODE_TO_ENUM = new HashMap<String, ImmunizationRecommendationDateCriterionCodesEnum>();
065        private static Map<String, Map<String, ImmunizationRecommendationDateCriterionCodesEnum>> SYSTEM_TO_CODE_TO_ENUM = new HashMap<String, Map<String, ImmunizationRecommendationDateCriterionCodesEnum>>();
066        
067        private final String myCode;
068        private final String mySystem;
069        
070        static {
071                for (ImmunizationRecommendationDateCriterionCodesEnum next : ImmunizationRecommendationDateCriterionCodesEnum.values()) {
072                        CODE_TO_ENUM.put(next.getCode(), next);
073                        
074                        if (!SYSTEM_TO_CODE_TO_ENUM.containsKey(next.getSystem())) {
075                                SYSTEM_TO_CODE_TO_ENUM.put(next.getSystem(), new HashMap<String, ImmunizationRecommendationDateCriterionCodesEnum>());
076                        }
077                        SYSTEM_TO_CODE_TO_ENUM.get(next.getSystem()).put(next.getCode(), next);                 
078                }
079        }
080        
081        /**
082         * Returns the code associated with this enumerated value
083         */
084        public String getCode() {
085                return myCode;
086        }
087        
088        /**
089         * Returns the code system associated with this enumerated value
090         */
091        public String getSystem() {
092                return mySystem;
093        }
094        
095        /**
096         * Returns the enumerated value associated with this code
097         */
098        public static ImmunizationRecommendationDateCriterionCodesEnum forCode(String theCode) {
099                ImmunizationRecommendationDateCriterionCodesEnum retVal = CODE_TO_ENUM.get(theCode);
100                return retVal;
101        }
102
103        /**
104         * Converts codes to their respective enumerated values
105         */
106        public static final IValueSetEnumBinder<ImmunizationRecommendationDateCriterionCodesEnum> VALUESET_BINDER = new IValueSetEnumBinder<ImmunizationRecommendationDateCriterionCodesEnum>() {
107                @Override
108                public String toCodeString(ImmunizationRecommendationDateCriterionCodesEnum theEnum) {
109                        return theEnum.getCode();
110                }
111
112                @Override
113                public String toSystemString(ImmunizationRecommendationDateCriterionCodesEnum theEnum) {
114                        return theEnum.getSystem();
115                }
116                
117                @Override
118                public ImmunizationRecommendationDateCriterionCodesEnum fromCodeString(String theCodeString) {
119                        return CODE_TO_ENUM.get(theCodeString);
120                }
121                
122                @Override
123                public ImmunizationRecommendationDateCriterionCodesEnum fromCodeString(String theCodeString, String theSystemString) {
124                        Map<String, ImmunizationRecommendationDateCriterionCodesEnum> map = SYSTEM_TO_CODE_TO_ENUM.get(theSystemString);
125                        if (map == null) {
126                                return null;
127                        }
128                        return map.get(theCodeString);
129                }
130                
131        };
132        
133        /** 
134         * Constructor
135         */
136        ImmunizationRecommendationDateCriterionCodesEnum(String theCode, String theSystem) {
137                myCode = theCode;
138                mySystem = theSystem;
139        }
140
141        
142}