001package org.hl7.fhir.dstu3.model.codesystems; 002 003/*- 004 * #%L 005 * org.hl7.fhir.dstu3 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 Sat, Mar 25, 2017 21:03-0400 for FHIR v3.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, displayname, 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. 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 * added to help the parsers 094 */ 095 NULL; 096 public static SearchParamType fromCode(String codeString) throws FHIRException { 097 if (codeString == null || "".equals(codeString)) 098 return null; 099 if ("number".equals(codeString)) 100 return NUMBER; 101 if ("date".equals(codeString)) 102 return DATE; 103 if ("string".equals(codeString)) 104 return STRING; 105 if ("token".equals(codeString)) 106 return TOKEN; 107 if ("reference".equals(codeString)) 108 return REFERENCE; 109 if ("composite".equals(codeString)) 110 return COMPOSITE; 111 if ("quantity".equals(codeString)) 112 return QUANTITY; 113 if ("uri".equals(codeString)) 114 return URI; 115 throw new FHIRException("Unknown SearchParamType code '"+codeString+"'"); 116 } 117 public String toCode() { 118 switch (this) { 119 case NUMBER: return "number"; 120 case DATE: return "date"; 121 case STRING: return "string"; 122 case TOKEN: return "token"; 123 case REFERENCE: return "reference"; 124 case COMPOSITE: return "composite"; 125 case QUANTITY: return "quantity"; 126 case URI: return "uri"; 127 default: return "?"; 128 } 129 } 130 public String getSystem() { 131 return "http://hl7.org/fhir/search-param-type"; 132 } 133 public String getDefinition() { 134 switch (this) { 135 case NUMBER: return "Search parameter SHALL be a number (a whole number, or a decimal)."; 136 case DATE: return "Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported."; 137 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."; 138 case TOKEN: return "Search parameter on a coded element or identifier. May be used to search through the text, displayname, 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."; 139 case REFERENCE: return "A reference to another resource."; 140 case COMPOSITE: return "A composite search parameter that combines a search on two values together."; 141 case QUANTITY: return "A search parameter that searches on a quantity."; 142 case URI: return "A search parameter that searches on a URI (RFC 3986)."; 143 default: return "?"; 144 } 145 } 146 public String getDisplay() { 147 switch (this) { 148 case NUMBER: return "Number"; 149 case DATE: return "Date/DateTime"; 150 case STRING: return "String"; 151 case TOKEN: return "Token"; 152 case REFERENCE: return "Reference"; 153 case COMPOSITE: return "Composite"; 154 case QUANTITY: return "Quantity"; 155 case URI: return "URI"; 156 default: return "?"; 157 } 158 } 159 160 161} 162