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 SupplementTypeCodesEnum {
009
010        /**
011         * Code Value: <b>442901000124106</b>
012         */
013        _442901000124106("442901000124106", "http://snomed.info/sct"),
014        
015        /**
016         * Code Value: <b>443031000124106</b>
017         */
018        _443031000124106("443031000124106", "http://snomed.info/sct"),
019        
020        /**
021         * Code Value: <b>443051000124104</b>
022         */
023        _443051000124104("443051000124104", "http://snomed.info/sct"),
024        
025        /**
026         * Code Value: <b>442911000124109</b>
027         */
028        _442911000124109("442911000124109", "http://snomed.info/sct"),
029        
030        /**
031         * Code Value: <b>443021000124108</b>
032         */
033        _443021000124108("443021000124108", "http://snomed.info/sct"),
034        
035        /**
036         * Code Value: <b>442971000124100</b>
037         */
038        _442971000124100("442971000124100", "http://snomed.info/sct"),
039        
040        /**
041         * Code Value: <b>442981000124102</b>
042         */
043        _442981000124102("442981000124102", "http://snomed.info/sct"),
044        
045        /**
046         * Code Value: <b>442991000124104</b>
047         */
048        _442991000124104("442991000124104", "http://snomed.info/sct"),
049        
050        /**
051         * Code Value: <b>443011000124100</b>
052         */
053        _443011000124100("443011000124100", "http://snomed.info/sct"),
054        
055        /**
056         * Code Value: <b>442961000124107</b>
057         */
058        _442961000124107("442961000124107", "http://snomed.info/sct"),
059        
060        /**
061         * Code Value: <b>442951000124105</b>
062         */
063        _442951000124105("442951000124105", "http://snomed.info/sct"),
064        
065        /**
066         * Code Value: <b>442941000124108</b>
067         */
068        _442941000124108("442941000124108", "http://snomed.info/sct"),
069        
070        /**
071         * Code Value: <b>442921000124101</b>
072         */
073        _442921000124101("442921000124101", "http://snomed.info/sct"),
074        
075        /**
076         * Code Value: <b>442931000124103</b>
077         */
078        _442931000124103("442931000124103", "http://snomed.info/sct"),
079        
080        /**
081         * Code Value: <b>444331000124106</b>
082         */
083        _444331000124106("444331000124106", "http://snomed.info/sct"),
084        
085        /**
086         * Code Value: <b>443361000124100</b>
087         */
088        _443361000124100("443361000124100", "http://snomed.info/sct"),
089        
090        /**
091         * Code Value: <b>443391000124108</b>
092         */
093        _443391000124108("443391000124108", "http://snomed.info/sct"),
094        
095        /**
096         * Code Value: <b>443401000124105</b>
097         */
098        _443401000124105("443401000124105", "http://snomed.info/sct"),
099        
100        /**
101         * Code Value: <b>443491000124103</b>
102         */
103        _443491000124103("443491000124103", "http://snomed.info/sct"),
104        
105        /**
106         * Code Value: <b>443501000124106</b>
107         */
108        _443501000124106("443501000124106", "http://snomed.info/sct"),
109        
110        /**
111         * Code Value: <b>443421000124100</b>
112         */
113        _443421000124100("443421000124100", "http://snomed.info/sct"),
114        
115        /**
116         * Code Value: <b>443471000124104</b>
117         */
118        _443471000124104("443471000124104", "http://snomed.info/sct"),
119        
120        /**
121         * Code Value: <b>444431000124104</b>
122         */
123        _444431000124104("444431000124104", "http://snomed.info/sct"),
124        
125        /**
126         * Code Value: <b>443451000124109</b>
127         */
128        _443451000124109("443451000124109", "http://snomed.info/sct"),
129        
130        /**
131         * Code Value: <b>444321000124108</b>
132         */
133        _444321000124108("444321000124108", "http://snomed.info/sct"),
134        
135        /**
136         * Code Value: <b>441561000124106</b>
137         */
138        _441561000124106("441561000124106", "http://snomed.info/sct"),
139        
140        /**
141         * Code Value: <b>443461000124106</b>
142         */
143        _443461000124106("443461000124106", "http://snomed.info/sct"),
144        
145        /**
146         * Code Value: <b>441531000124102</b>
147         */
148        _441531000124102("441531000124102", "http://snomed.info/sct"),
149        
150        /**
151         * Code Value: <b>443561000124107</b>
152         */
153        _443561000124107("443561000124107", "http://snomed.info/sct"),
154        
155        /**
156         * Code Value: <b>443481000124101</b>
157         */
158        _443481000124101("443481000124101", "http://snomed.info/sct"),
159        
160        /**
161         * Code Value: <b>441571000124104</b>
162         */
163        _441571000124104("441571000124104", "http://snomed.info/sct"),
164        
165        /**
166         * Code Value: <b>441591000124103</b>
167         */
168        _441591000124103("441591000124103", "http://snomed.info/sct"),
169        
170        /**
171         * Code Value: <b>441601000124106</b>
172         */
173        _441601000124106("441601000124106", "http://snomed.info/sct"),
174        
175        /**
176         * Code Value: <b>443351000124102</b>
177         */
178        _443351000124102("443351000124102", "http://snomed.info/sct"),
179        
180        /**
181         * Code Value: <b>443771000124106</b>
182         */
183        _443771000124106("443771000124106", "http://snomed.info/sct"),
184        
185        /**
186         * Code Value: <b>441671000124100</b>
187         */
188        _441671000124100("441671000124100", "http://snomed.info/sct"),
189        
190        /**
191         * Code Value: <b>443111000124101</b>
192         */
193        _443111000124101("443111000124101", "http://snomed.info/sct"),
194        
195        /**
196         * Code Value: <b>443431000124102</b>
197         */
198        _443431000124102("443431000124102", "http://snomed.info/sct"),
199        
200        /**
201         * Code Value: <b>443411000124108</b>
202         */
203        _443411000124108("443411000124108", "http://snomed.info/sct"),
204        
205        /**
206         * Code Value: <b>444361000124102</b>
207         */
208        _444361000124102("444361000124102", "http://snomed.info/sct"),
209        
210        /**
211         * Code Value: <b>444401000124107</b>
212         */
213        _444401000124107("444401000124107", "http://snomed.info/sct"),
214        
215        /**
216         * Code Value: <b>444381000124107</b>
217         */
218        _444381000124107("444381000124107", "http://snomed.info/sct"),
219        
220        /**
221         * Code Value: <b>444371000124109</b>
222         */
223        _444371000124109("444371000124109", "http://snomed.info/sct"),
224        
225        /**
226         * Code Value: <b>443441000124107</b>
227         */
228        _443441000124107("443441000124107", "http://snomed.info/sct"),
229        
230        /**
231         * Code Value: <b>442651000124102</b>
232         */
233        _442651000124102("442651000124102", "http://snomed.info/sct"),
234        
235        ;
236        
237        /**
238         * Identifier for this Value Set:
239         * 
240         */
241        public static final String VALUESET_IDENTIFIER = "";
242
243        /**
244         * Name for this Value Set:
245         * Supplement Type Codes
246         */
247        public static final String VALUESET_NAME = "Supplement Type Codes";
248
249        private static Map<String, SupplementTypeCodesEnum> CODE_TO_ENUM = new HashMap<String, SupplementTypeCodesEnum>();
250        private static Map<String, Map<String, SupplementTypeCodesEnum>> SYSTEM_TO_CODE_TO_ENUM = new HashMap<String, Map<String, SupplementTypeCodesEnum>>();
251        
252        private final String myCode;
253        private final String mySystem;
254        
255        static {
256                for (SupplementTypeCodesEnum next : SupplementTypeCodesEnum.values()) {
257                        CODE_TO_ENUM.put(next.getCode(), next);
258                        
259                        if (!SYSTEM_TO_CODE_TO_ENUM.containsKey(next.getSystem())) {
260                                SYSTEM_TO_CODE_TO_ENUM.put(next.getSystem(), new HashMap<String, SupplementTypeCodesEnum>());
261                        }
262                        SYSTEM_TO_CODE_TO_ENUM.get(next.getSystem()).put(next.getCode(), next);                 
263                }
264        }
265        
266        /**
267         * Returns the code associated with this enumerated value
268         */
269        public String getCode() {
270                return myCode;
271        }
272        
273        /**
274         * Returns the code system associated with this enumerated value
275         */
276        public String getSystem() {
277                return mySystem;
278        }
279        
280        /**
281         * Returns the enumerated value associated with this code
282         */
283        public static SupplementTypeCodesEnum forCode(String theCode) {
284                SupplementTypeCodesEnum retVal = CODE_TO_ENUM.get(theCode);
285                return retVal;
286        }
287
288        /**
289         * Converts codes to their respective enumerated values
290         */
291        public static final IValueSetEnumBinder<SupplementTypeCodesEnum> VALUESET_BINDER = new IValueSetEnumBinder<SupplementTypeCodesEnum>() {
292                @Override
293                public String toCodeString(SupplementTypeCodesEnum theEnum) {
294                        return theEnum.getCode();
295                }
296
297                @Override
298                public String toSystemString(SupplementTypeCodesEnum theEnum) {
299                        return theEnum.getSystem();
300                }
301                
302                @Override
303                public SupplementTypeCodesEnum fromCodeString(String theCodeString) {
304                        return CODE_TO_ENUM.get(theCodeString);
305                }
306                
307                @Override
308                public SupplementTypeCodesEnum fromCodeString(String theCodeString, String theSystemString) {
309                        Map<String, SupplementTypeCodesEnum> map = SYSTEM_TO_CODE_TO_ENUM.get(theSystemString);
310                        if (map == null) {
311                                return null;
312                        }
313                        return map.get(theCodeString);
314                }
315                
316        };
317        
318        /** 
319         * Constructor
320         */
321        SupplementTypeCodesEnum(String theCode, String theSystem) {
322                myCode = theCode;
323                mySystem = theSystem;
324        }
325
326        
327}