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 ContactPointUseEnum { 009 010 /** 011 * Display: <b>Home</b><br> 012 * Code Value: <b>home</b> 013 * 014 * A communication contact point at a home; attempted contacts for business purposes might intrude privacy and chances are one will contact family or other household members instead of the person one wishes to call. Typically used with urgent cases, or if no other contacts are available. 015 */ 016 HOME("home", "http://hl7.org/fhir/contact-point-use"), 017 018 /** 019 * Display: <b>Work</b><br> 020 * Code Value: <b>work</b> 021 * 022 * An office contact point. First choice for business related contacts during business hours. 023 */ 024 WORK("work", "http://hl7.org/fhir/contact-point-use"), 025 026 /** 027 * Display: <b>Temp</b><br> 028 * Code Value: <b>temp</b> 029 * 030 * A temporary contact point. The period can provide more detailed information. 031 */ 032 TEMP("temp", "http://hl7.org/fhir/contact-point-use"), 033 034 /** 035 * Display: <b>Old</b><br> 036 * Code Value: <b>old</b> 037 * 038 * This contact point is no longer in use (or was never correct, but retained for records). 039 */ 040 OLD("old", "http://hl7.org/fhir/contact-point-use"), 041 042 /** 043 * Display: <b>Mobile</b><br> 044 * Code Value: <b>mobile</b> 045 * 046 * A telecommunication device that moves and stays with its owner. May have characteristics of all other use codes, suitable for urgent matters, not the first choice for routine business. 047 */ 048 MOBILE("mobile", "http://hl7.org/fhir/contact-point-use"), 049 050 ; 051 052 /** 053 * Identifier for this Value Set: 054 * 055 */ 056 public static final String VALUESET_IDENTIFIER = ""; 057 058 /** 059 * Name for this Value Set: 060 * ContactPointUse 061 */ 062 public static final String VALUESET_NAME = "ContactPointUse"; 063 064 private static Map<String, ContactPointUseEnum> CODE_TO_ENUM = new HashMap<String, ContactPointUseEnum>(); 065 private static Map<String, Map<String, ContactPointUseEnum>> SYSTEM_TO_CODE_TO_ENUM = new HashMap<String, Map<String, ContactPointUseEnum>>(); 066 067 private final String myCode; 068 private final String mySystem; 069 070 static { 071 for (ContactPointUseEnum next : ContactPointUseEnum.values()) { 072 CODE_TO_ENUM.put(next.getCode(), next); 073 074 if (!SYSTEM_TO_CODE_TO_ENUM.containsKey(next.getSystem())) { 075 SYSTEM_TO_CODE_TO_ENUM.put(next.getSystem(), new HashMap<String, ContactPointUseEnum>()); 076 } 077 SYSTEM_TO_CODE_TO_ENUM.get(next.getSystem()).put(next.getCode(), next); 078 } 079 } 080 081 /** 082 * Returns the code associated with this enumerated value 083 */ 084 public String getCode() { 085 return myCode; 086 } 087 088 /** 089 * Returns the code system associated with this enumerated value 090 */ 091 public String getSystem() { 092 return mySystem; 093 } 094 095 /** 096 * Returns the enumerated value associated with this code 097 */ 098 public static ContactPointUseEnum forCode(String theCode) { 099 ContactPointUseEnum retVal = CODE_TO_ENUM.get(theCode); 100 return retVal; 101 } 102 103 /** 104 * Converts codes to their respective enumerated values 105 */ 106 public static final IValueSetEnumBinder<ContactPointUseEnum> VALUESET_BINDER = new IValueSetEnumBinder<ContactPointUseEnum>() { 107 @Override 108 public String toCodeString(ContactPointUseEnum theEnum) { 109 return theEnum.getCode(); 110 } 111 112 @Override 113 public String toSystemString(ContactPointUseEnum theEnum) { 114 return theEnum.getSystem(); 115 } 116 117 @Override 118 public ContactPointUseEnum fromCodeString(String theCodeString) { 119 return CODE_TO_ENUM.get(theCodeString); 120 } 121 122 @Override 123 public ContactPointUseEnum fromCodeString(String theCodeString, String theSystemString) { 124 Map<String, ContactPointUseEnum> map = SYSTEM_TO_CODE_TO_ENUM.get(theSystemString); 125 if (map == null) { 126 return null; 127 } 128 return map.get(theCodeString); 129 } 130 131 }; 132 133 /** 134 * Constructor 135 */ 136 ContactPointUseEnum(String theCode, String theSystem) { 137 myCode = theCode; 138 mySystem = theSystem; 139 } 140 141 142}