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 LinkTypeEnum { 009 010 /** 011 * Display: <b>Replace</b><br> 012 * Code Value: <b>replace</b> 013 * 014 * The patient resource containing this link must no longer be used. The link points forward to another patient resource that must be used in lieu of the patient resource that contains this link. 015 */ 016 REPLACE("replace", "http://hl7.org/fhir/link-type"), 017 018 /** 019 * Display: <b>Refer</b><br> 020 * Code Value: <b>refer</b> 021 * 022 * The patient resource containing this link is in use and valid but not considered the main source of information about a patient. The link points forward to another patient resource that should be consulted to retrieve additional patient information. 023 */ 024 REFER("refer", "http://hl7.org/fhir/link-type"), 025 026 /** 027 * Display: <b>See also</b><br> 028 * Code Value: <b>seealso</b> 029 * 030 * The patient resource containing this link is in use and valid, but points to another patient resource that is known to contain data about the same person. Data in this resource might overlap or contradict information found in the other patient resource. This link does not indicate any relative importance of the resources concerned, and both should be regarded as equally valid. 031 */ 032 SEE_ALSO("seealso", "http://hl7.org/fhir/link-type"), 033 034 ; 035 036 /** 037 * Identifier for this Value Set: 038 * 039 */ 040 public static final String VALUESET_IDENTIFIER = ""; 041 042 /** 043 * Name for this Value Set: 044 * LinkType 045 */ 046 public static final String VALUESET_NAME = "LinkType"; 047 048 private static Map<String, LinkTypeEnum> CODE_TO_ENUM = new HashMap<String, LinkTypeEnum>(); 049 private static Map<String, Map<String, LinkTypeEnum>> SYSTEM_TO_CODE_TO_ENUM = new HashMap<String, Map<String, LinkTypeEnum>>(); 050 051 private final String myCode; 052 private final String mySystem; 053 054 static { 055 for (LinkTypeEnum next : LinkTypeEnum.values()) { 056 CODE_TO_ENUM.put(next.getCode(), next); 057 058 if (!SYSTEM_TO_CODE_TO_ENUM.containsKey(next.getSystem())) { 059 SYSTEM_TO_CODE_TO_ENUM.put(next.getSystem(), new HashMap<String, LinkTypeEnum>()); 060 } 061 SYSTEM_TO_CODE_TO_ENUM.get(next.getSystem()).put(next.getCode(), next); 062 } 063 } 064 065 /** 066 * Returns the code associated with this enumerated value 067 */ 068 public String getCode() { 069 return myCode; 070 } 071 072 /** 073 * Returns the code system associated with this enumerated value 074 */ 075 public String getSystem() { 076 return mySystem; 077 } 078 079 /** 080 * Returns the enumerated value associated with this code 081 */ 082 public static LinkTypeEnum forCode(String theCode) { 083 LinkTypeEnum retVal = CODE_TO_ENUM.get(theCode); 084 return retVal; 085 } 086 087 /** 088 * Converts codes to their respective enumerated values 089 */ 090 public static final IValueSetEnumBinder<LinkTypeEnum> VALUESET_BINDER = new IValueSetEnumBinder<LinkTypeEnum>() { 091 @Override 092 public String toCodeString(LinkTypeEnum theEnum) { 093 return theEnum.getCode(); 094 } 095 096 @Override 097 public String toSystemString(LinkTypeEnum theEnum) { 098 return theEnum.getSystem(); 099 } 100 101 @Override 102 public LinkTypeEnum fromCodeString(String theCodeString) { 103 return CODE_TO_ENUM.get(theCodeString); 104 } 105 106 @Override 107 public LinkTypeEnum fromCodeString(String theCodeString, String theSystemString) { 108 Map<String, LinkTypeEnum> map = SYSTEM_TO_CODE_TO_ENUM.get(theSystemString); 109 if (map == null) { 110 return null; 111 } 112 return map.get(theCodeString); 113 } 114 115 }; 116 117 /** 118 * Constructor 119 */ 120 LinkTypeEnum(String theCode, String theSystem) { 121 myCode = theCode; 122 mySystem = theSystem; 123 } 124 125 126}