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 EncounterTypeEnum {
009
010        /**
011         * Display: <b>Annual diabetes mellitus screening</b><br>
012         * Code Value: <b>ADMS</b>
013         */
014        ANNUAL_DIABETES_MELLITUS_SCREENING("ADMS", "http://hl7.org/fhir/encounter-type"),
015        
016        /**
017         * Display: <b>Bone drilling/bone marrow punction in clinic</b><br>
018         * Code Value: <b>BD/BM-clin</b>
019         */
020        BONE_DRILLING_BONE_MARROW_PUNCTION_IN_CLINIC("BD/BM-clin", "http://hl7.org/fhir/encounter-type"),
021        
022        /**
023         * Display: <b>Infant colon screening - 60 minutes</b><br>
024         * Code Value: <b>CCS60</b>
025         */
026        INFANT_COLON_SCREENING___60_MINUTES("CCS60", "http://hl7.org/fhir/encounter-type"),
027        
028        /**
029         * Display: <b>Outpatient Kenacort injection</b><br>
030         * Code Value: <b>OKI</b>
031         */
032        OUTPATIENT_KENACORT_INJECTION("OKI", "http://hl7.org/fhir/encounter-type"),
033        
034        ;
035        
036        /**
037         * Identifier for this Value Set:
038         * 
039         */
040        public static final String VALUESET_IDENTIFIER = "";
041
042        /**
043         * Name for this Value Set:
044         * EncounterType
045         */
046        public static final String VALUESET_NAME = "EncounterType";
047
048        private static Map<String, EncounterTypeEnum> CODE_TO_ENUM = new HashMap<String, EncounterTypeEnum>();
049        private static Map<String, Map<String, EncounterTypeEnum>> SYSTEM_TO_CODE_TO_ENUM = new HashMap<String, Map<String, EncounterTypeEnum>>();
050        
051        private final String myCode;
052        private final String mySystem;
053        
054        static {
055                for (EncounterTypeEnum next : EncounterTypeEnum.values()) {
056                        CODE_TO_ENUM.put(next.getCode(), next);
057                        
058                        if (!SYSTEM_TO_CODE_TO_ENUM.containsKey(next.getSystem())) {
059                                SYSTEM_TO_CODE_TO_ENUM.put(next.getSystem(), new HashMap<String, EncounterTypeEnum>());
060                        }
061                        SYSTEM_TO_CODE_TO_ENUM.get(next.getSystem()).put(next.getCode(), next);                 
062                }
063        }
064        
065        /**
066         * Returns the code associated with this enumerated value
067         */
068        public String getCode() {
069                return myCode;
070        }
071        
072        /**
073         * Returns the code system associated with this enumerated value
074         */
075        public String getSystem() {
076                return mySystem;
077        }
078        
079        /**
080         * Returns the enumerated value associated with this code
081         */
082        public static EncounterTypeEnum forCode(String theCode) {
083                EncounterTypeEnum retVal = CODE_TO_ENUM.get(theCode);
084                return retVal;
085        }
086
087        /**
088         * Converts codes to their respective enumerated values
089         */
090        public static final IValueSetEnumBinder<EncounterTypeEnum> VALUESET_BINDER = new IValueSetEnumBinder<EncounterTypeEnum>() {
091                @Override
092                public String toCodeString(EncounterTypeEnum theEnum) {
093                        return theEnum.getCode();
094                }
095
096                @Override
097                public String toSystemString(EncounterTypeEnum theEnum) {
098                        return theEnum.getSystem();
099                }
100                
101                @Override
102                public EncounterTypeEnum fromCodeString(String theCodeString) {
103                        return CODE_TO_ENUM.get(theCodeString);
104                }
105                
106                @Override
107                public EncounterTypeEnum fromCodeString(String theCodeString, String theSystemString) {
108                        Map<String, EncounterTypeEnum> map = SYSTEM_TO_CODE_TO_ENUM.get(theSystemString);
109                        if (map == null) {
110                                return null;
111                        }
112                        return map.get(theCodeString);
113                }
114                
115        };
116        
117        /** 
118         * Constructor
119         */
120        EncounterTypeEnum(String theCode, String theSystem) {
121                myCode = theCode;
122                mySystem = theSystem;
123        }
124
125        
126}