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 ProvenanceEntityRoleEnum { 009 010 /** 011 * Display: <b>Derivation</b><br> 012 * Code Value: <b>derivation</b> 013 * 014 * A transformation of an entity into another, an update of an entity resulting in a new one, or the construction of a new entity based on a preexisting entity. 015 */ 016 DERIVATION("derivation", "http://hl7.org/fhir/provenance-entity-role"), 017 018 /** 019 * Display: <b>Revision</b><br> 020 * Code Value: <b>revision</b> 021 * 022 * A derivation for which the resulting entity is a revised version of some original. 023 */ 024 REVISION("revision", "http://hl7.org/fhir/provenance-entity-role"), 025 026 /** 027 * Display: <b>Quotation</b><br> 028 * Code Value: <b>quotation</b> 029 * 030 * The repeat of (some or all of) an entity, such as text or image, by someone who may or may not be its original author. 031 */ 032 QUOTATION("quotation", "http://hl7.org/fhir/provenance-entity-role"), 033 034 /** 035 * Display: <b>Source</b><br> 036 * Code Value: <b>source</b> 037 * 038 * A primary source for a topic refers to something produced by some agent with direct experience and knowledge about the topic, at the time of the topic's study, without benefit from hindsight. 039 */ 040 SOURCE("source", "http://hl7.org/fhir/provenance-entity-role"), 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 * ProvenanceEntityRole 053 */ 054 public static final String VALUESET_NAME = "ProvenanceEntityRole"; 055 056 private static Map<String, ProvenanceEntityRoleEnum> CODE_TO_ENUM = new HashMap<String, ProvenanceEntityRoleEnum>(); 057 private static Map<String, Map<String, ProvenanceEntityRoleEnum>> SYSTEM_TO_CODE_TO_ENUM = new HashMap<String, Map<String, ProvenanceEntityRoleEnum>>(); 058 059 private final String myCode; 060 private final String mySystem; 061 062 static { 063 for (ProvenanceEntityRoleEnum next : ProvenanceEntityRoleEnum.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, ProvenanceEntityRoleEnum>()); 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 ProvenanceEntityRoleEnum forCode(String theCode) { 091 ProvenanceEntityRoleEnum 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<ProvenanceEntityRoleEnum> VALUESET_BINDER = new IValueSetEnumBinder<ProvenanceEntityRoleEnum>() { 099 @Override 100 public String toCodeString(ProvenanceEntityRoleEnum theEnum) { 101 return theEnum.getCode(); 102 } 103 104 @Override 105 public String toSystemString(ProvenanceEntityRoleEnum theEnum) { 106 return theEnum.getSystem(); 107 } 108 109 @Override 110 public ProvenanceEntityRoleEnum fromCodeString(String theCodeString) { 111 return CODE_TO_ENUM.get(theCodeString); 112 } 113 114 @Override 115 public ProvenanceEntityRoleEnum fromCodeString(String theCodeString, String theSystemString) { 116 Map<String, ProvenanceEntityRoleEnum> 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 ProvenanceEntityRoleEnum(String theCode, String theSystem) { 129 myCode = theCode; 130 mySystem = theSystem; 131 } 132 133 134}