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 CompositionStatusEnum {
009
010        /**
011         * Display: <b>Preliminary</b><br>
012         * Code Value: <b>preliminary</b>
013         *
014         * This is a preliminary composition or document (also known as initial or interim). The content may be incomplete or unverified.
015         */
016        PRELIMINARY("preliminary", "http://hl7.org/fhir/composition-status"),
017        
018        /**
019         * Display: <b>Final</b><br>
020         * Code Value: <b>final</b>
021         *
022         * This version of the composition is complete and verified by an appropriate person and no further work is planned. Any subsequent updates would be on a new version of the composition.
023         */
024        FINAL("final", "http://hl7.org/fhir/composition-status"),
025        
026        /**
027         * Display: <b>Amended</b><br>
028         * Code Value: <b>amended</b>
029         *
030         * The composition content or the referenced resources have been modified (edited or added to) subsequent to being released as "final" and the composition is complete and verified by an authorized person.
031         */
032        AMENDED("amended", "http://hl7.org/fhir/composition-status"),
033        
034        /**
035         * Display: <b>Entered in Error</b><br>
036         * Code Value: <b>entered-in-error</b>
037         *
038         * The composition or document was originally created/issued in error, and this is an amendment that marks that the entire series should not be considered as valid.
039         */
040        ENTERED_IN_ERROR("entered-in-error", "http://hl7.org/fhir/composition-status"),
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         * CompositionStatus
053         */
054        public static final String VALUESET_NAME = "CompositionStatus";
055
056        private static Map<String, CompositionStatusEnum> CODE_TO_ENUM = new HashMap<String, CompositionStatusEnum>();
057        private static Map<String, Map<String, CompositionStatusEnum>> SYSTEM_TO_CODE_TO_ENUM = new HashMap<String, Map<String, CompositionStatusEnum>>();
058        
059        private final String myCode;
060        private final String mySystem;
061        
062        static {
063                for (CompositionStatusEnum next : CompositionStatusEnum.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, CompositionStatusEnum>());
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 CompositionStatusEnum forCode(String theCode) {
091                CompositionStatusEnum 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<CompositionStatusEnum> VALUESET_BINDER = new IValueSetEnumBinder<CompositionStatusEnum>() {
099                @Override
100                public String toCodeString(CompositionStatusEnum theEnum) {
101                        return theEnum.getCode();
102                }
103
104                @Override
105                public String toSystemString(CompositionStatusEnum theEnum) {
106                        return theEnum.getSystem();
107                }
108                
109                @Override
110                public CompositionStatusEnum fromCodeString(String theCodeString) {
111                        return CODE_TO_ENUM.get(theCodeString);
112                }
113                
114                @Override
115                public CompositionStatusEnum fromCodeString(String theCodeString, String theSystemString) {
116                        Map<String, CompositionStatusEnum> 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        CompositionStatusEnum(String theCode, String theSystem) {
129                myCode = theCode;
130                mySystem = theSystem;
131        }
132
133        
134}