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}