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 ConditionClinicalStatusCodesEnum {
009
010        /**
011         * Display: <b>Active</b><br>
012         * Code Value: <b>active</b>
013         *
014         * The subject is currently experiencing the symptoms of the condition.
015         */
016        ACTIVE("active", "http://hl7.org/fhir/condition-clinical"),
017        
018        /**
019         * Display: <b>Relapse</b><br>
020         * Code Value: <b>relapse</b>
021         *
022         * The subject is re-experiencing the symptoms of the condition after a period of remission or presumed resolution.
023         */
024        RELAPSE("relapse", "http://hl7.org/fhir/condition-clinical"),
025        
026        /**
027         * Display: <b>Remission</b><br>
028         * Code Value: <b>remission</b>
029         *
030         * The subject is no longer experiencing the symptoms of the condition, but there is a risk of the symptoms returning.
031         */
032        REMISSION("remission", "http://hl7.org/fhir/condition-clinical"),
033        
034        /**
035         * Display: <b>Resolved</b><br>
036         * Code Value: <b>resolved</b>
037         *
038         * The subject is no longer experiencing the symptoms of the condition and there is no perceived risk of the symptoms returning.
039         */
040        RESOLVED("resolved", "http://hl7.org/fhir/condition-clinical"),
041        
042        ;
043        
044        /**
045         * Identifier for this Value Set:
046         * 
047         */
048        public static final String VALUESET_IDENTIFIER = "";
049
050        /**
051         * Name for this Value Set:
052         * Condition Clinical Status Codes
053         */
054        public static final String VALUESET_NAME = "Condition Clinical Status Codes";
055
056        private static Map<String, ConditionClinicalStatusCodesEnum> CODE_TO_ENUM = new HashMap<String, ConditionClinicalStatusCodesEnum>();
057        private static Map<String, Map<String, ConditionClinicalStatusCodesEnum>> SYSTEM_TO_CODE_TO_ENUM = new HashMap<String, Map<String, ConditionClinicalStatusCodesEnum>>();
058        
059        private final String myCode;
060        private final String mySystem;
061        
062        static {
063                for (ConditionClinicalStatusCodesEnum next : ConditionClinicalStatusCodesEnum.values()) {
064                        CODE_TO_ENUM.put(next.getCode(), next);
065                        
066                        if (!SYSTEM_TO_CODE_TO_ENUM.containsKey(next.getSystem())) {
067                                SYSTEM_TO_CODE_TO_ENUM.put(next.getSystem(), new HashMap<String, ConditionClinicalStatusCodesEnum>());
068                        }
069                        SYSTEM_TO_CODE_TO_ENUM.get(next.getSystem()).put(next.getCode(), next);                 
070                }
071        }
072        
073        /**
074         * Returns the code associated with this enumerated value
075         */
076        public String getCode() {
077                return myCode;
078        }
079        
080        /**
081         * Returns the code system associated with this enumerated value
082         */
083        public String getSystem() {
084                return mySystem;
085        }
086        
087        /**
088         * Returns the enumerated value associated with this code
089         */
090        public static ConditionClinicalStatusCodesEnum forCode(String theCode) {
091                ConditionClinicalStatusCodesEnum retVal = CODE_TO_ENUM.get(theCode);
092                return retVal;
093        }
094
095        /**
096         * Converts codes to their respective enumerated values
097         */
098        public static final IValueSetEnumBinder<ConditionClinicalStatusCodesEnum> VALUESET_BINDER = new IValueSetEnumBinder<ConditionClinicalStatusCodesEnum>() {
099                @Override
100                public String toCodeString(ConditionClinicalStatusCodesEnum theEnum) {
101                        return theEnum.getCode();
102                }
103
104                @Override
105                public String toSystemString(ConditionClinicalStatusCodesEnum theEnum) {
106                        return theEnum.getSystem();
107                }
108                
109                @Override
110                public ConditionClinicalStatusCodesEnum fromCodeString(String theCodeString) {
111                        return CODE_TO_ENUM.get(theCodeString);
112                }
113                
114                @Override
115                public ConditionClinicalStatusCodesEnum fromCodeString(String theCodeString, String theSystemString) {
116                        Map<String, ConditionClinicalStatusCodesEnum> map = SYSTEM_TO_CODE_TO_ENUM.get(theSystemString);
117                        if (map == null) {
118                                return null;
119                        }
120                        return map.get(theCodeString);
121                }
122                
123        };
124        
125        /** 
126         * Constructor
127         */
128        ConditionClinicalStatusCodesEnum(String theCode, String theSystem) {
129                myCode = theCode;
130                mySystem = theSystem;
131        }
132
133        
134}