001package org.hl7.fhir.r4.model.codesystems; 002 003/*- 004 * #%L 005 * org.hl7.fhir.r4 006 * %% 007 * Copyright (C) 2014 - 2019 Health Level 7 008 * %% 009 * Licensed under the Apache License, Version 2.0 (the "License"); 010 * you may not use this file except in compliance with the License. 011 * You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, software 016 * distributed under the License is distributed on an "AS IS" BASIS, 017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 018 * See the License for the specific language governing permissions and 019 * limitations under the License. 020 * #L% 021 */ 022 023 024/* 025 Copyright (c) 2011+, HL7, Inc. 026 All rights reserved. 027 028 Redistribution and use in source and binary forms, with or without modification, 029 are permitted provided that the following conditions are met: 030 031 * Redistributions of source code must retain the above copyright notice, this 032 list of conditions and the following disclaimer. 033 * Redistributions in binary form must reproduce the above copyright notice, 034 this list of conditions and the following disclaimer in the documentation 035 and/or other materials provided with the distribution. 036 * Neither the name of HL7 nor the names of its contributors may be used to 037 endorse or promote products derived from this software without specific 038 prior written permission. 039 040 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 041 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 042 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 043 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 044 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 045 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 046 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 047 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 048 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 049 POSSIBILITY OF SUCH DAMAGE. 050 051*/ 052 053// Generated on Wed, Jan 30, 2019 16:19-0500 for FHIR v4.0.0 054 055 056import org.hl7.fhir.exceptions.FHIRException; 057 058public enum SearchParamType { 059 060 /** 061 * Search parameter SHALL be a number (a whole number, or a decimal). 062 */ 063 NUMBER, 064 /** 065 * Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported. 066 */ 067 DATE, 068 /** 069 * Search parameter is a simple string, like a name part. Search is case-insensitive and accent-insensitive. May match just the start of a string. String parameters may contain spaces. 070 */ 071 STRING, 072 /** 073 * Search parameter on a coded element or identifier. May be used to search through the text, display, code and code/codesystem (for codes) and label, system and key (for identifier). Its value is either a string or a pair of namespace and value, separated by a "|", depending on the modifier used. 074 */ 075 TOKEN, 076 /** 077 * A reference to another resource (Reference or canonical). 078 */ 079 REFERENCE, 080 /** 081 * A composite search parameter that combines a search on two values together. 082 */ 083 COMPOSITE, 084 /** 085 * A search parameter that searches on a quantity. 086 */ 087 QUANTITY, 088 /** 089 * A search parameter that searches on a URI (RFC 3986). 090 */ 091 URI, 092 /** 093 * Special logic applies to this parameter per the description of the search parameter. 094 */ 095 SPECIAL, 096 /** 097 * added to help the parsers 098 */ 099 NULL; 100 public static SearchParamType fromCode(String codeString) throws FHIRException { 101 if (codeString == null || "".equals(codeString)) 102 return null; 103 if ("number".equals(codeString)) 104 return NUMBER; 105 if ("date".equals(codeString)) 106 return DATE; 107 if ("string".equals(codeString)) 108 return STRING; 109 if ("token".equals(codeString)) 110 return TOKEN; 111 if ("reference".equals(codeString)) 112 return REFERENCE; 113 if ("composite".equals(codeString)) 114 return COMPOSITE; 115 if ("quantity".equals(codeString)) 116 return QUANTITY; 117 if ("uri".equals(codeString)) 118 return URI; 119 if ("special".equals(codeString)) 120 return SPECIAL; 121 throw new FHIRException("Unknown SearchParamType code '"+codeString+"'"); 122 } 123 public String toCode() { 124 switch (this) { 125 case NUMBER: return "number"; 126 case DATE: return "date"; 127 case STRING: return "string"; 128 case TOKEN: return "token"; 129 case REFERENCE: return "reference"; 130 case COMPOSITE: return "composite"; 131 case QUANTITY: return "quantity"; 132 case URI: return "uri"; 133 case SPECIAL: return "special"; 134 default: return "?"; 135 } 136 } 137 public String getSystem() { 138 return "http://hl7.org/fhir/search-param-type"; 139 } 140 public String getDefinition() { 141 switch (this) { 142 case NUMBER: return "Search parameter SHALL be a number (a whole number, or a decimal)."; 143 case DATE: return "Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported."; 144 case STRING: return "Search parameter is a simple string, like a name part. Search is case-insensitive and accent-insensitive. May match just the start of a string. String parameters may contain spaces."; 145 case TOKEN: return "Search parameter on a coded element or identifier. May be used to search through the text, display, code and code/codesystem (for codes) and label, system and key (for identifier). Its value is either a string or a pair of namespace and value, separated by a \"|\", depending on the modifier used."; 146 case REFERENCE: return "A reference to another resource (Reference or canonical)."; 147 case COMPOSITE: return "A composite search parameter that combines a search on two values together."; 148 case QUANTITY: return "A search parameter that searches on a quantity."; 149 case URI: return "A search parameter that searches on a URI (RFC 3986)."; 150 case SPECIAL: return "Special logic applies to this parameter per the description of the search parameter."; 151 default: return "?"; 152 } 153 } 154 public String getDisplay() { 155 switch (this) { 156 case NUMBER: return "Number"; 157 case DATE: return "Date/DateTime"; 158 case STRING: return "String"; 159 case TOKEN: return "Token"; 160 case REFERENCE: return "Reference"; 161 case COMPOSITE: return "Composite"; 162 case QUANTITY: return "Quantity"; 163 case URI: return "URI"; 164 case SPECIAL: return "Special"; 165 default: return "?"; 166 } 167 } 168 169 170} 171