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 FilterOperator { 059 060 /** 061 * The specified property of the code equals the provided value. 062 */ 063 EQUAL, 064 /** 065 * Includes all concept ids that have a transitive is-a relationship with the concept Id provided as the value, including the provided concept itself (include descendant codes and self). 066 */ 067 ISA, 068 /** 069 * Includes all concept ids that have a transitive is-a relationship with the concept Id provided as the value, excluding the provided concept itself i.e. include descendant codes only). 070 */ 071 DESCENDENTOF, 072 /** 073 * The specified property of the code does not have an is-a relationship with the provided value. 074 */ 075 ISNOTA, 076 /** 077 * The specified property of the code matches the regex specified in the provided value. 078 */ 079 REGEX, 080 /** 081 * The specified property of the code is in the set of codes or concepts specified in the provided value (comma separated list). 082 */ 083 IN, 084 /** 085 * The specified property of the code is not in the set of codes or concepts specified in the provided value (comma separated list). 086 */ 087 NOTIN, 088 /** 089 * Includes all concept ids that have a transitive is-a relationship from the concept Id provided as the value, including the provided concept itself (i.e. include ancestor codes and self). 090 */ 091 GENERALIZES, 092 /** 093 * The specified property of the code has at least one value (if the specified value is true; if the specified value is false, then matches when the specified property of the code has no values). 094 */ 095 EXISTS, 096 /** 097 * added to help the parsers 098 */ 099 NULL; 100 public static FilterOperator fromCode(String codeString) throws FHIRException { 101 if (codeString == null || "".equals(codeString)) 102 return null; 103 if ("=".equals(codeString)) 104 return EQUAL; 105 if ("is-a".equals(codeString)) 106 return ISA; 107 if ("descendent-of".equals(codeString)) 108 return DESCENDENTOF; 109 if ("is-not-a".equals(codeString)) 110 return ISNOTA; 111 if ("regex".equals(codeString)) 112 return REGEX; 113 if ("in".equals(codeString)) 114 return IN; 115 if ("not-in".equals(codeString)) 116 return NOTIN; 117 if ("generalizes".equals(codeString)) 118 return GENERALIZES; 119 if ("exists".equals(codeString)) 120 return EXISTS; 121 throw new FHIRException("Unknown FilterOperator code '"+codeString+"'"); 122 } 123 public String toCode() { 124 switch (this) { 125 case EQUAL: return "="; 126 case ISA: return "is-a"; 127 case DESCENDENTOF: return "descendent-of"; 128 case ISNOTA: return "is-not-a"; 129 case REGEX: return "regex"; 130 case IN: return "in"; 131 case NOTIN: return "not-in"; 132 case GENERALIZES: return "generalizes"; 133 case EXISTS: return "exists"; 134 default: return "?"; 135 } 136 } 137 public String getSystem() { 138 return "http://hl7.org/fhir/filter-operator"; 139 } 140 public String getDefinition() { 141 switch (this) { 142 case EQUAL: return "The specified property of the code equals the provided value."; 143 case ISA: return "Includes all concept ids that have a transitive is-a relationship with the concept Id provided as the value, including the provided concept itself (include descendant codes and self)."; 144 case DESCENDENTOF: return "Includes all concept ids that have a transitive is-a relationship with the concept Id provided as the value, excluding the provided concept itself i.e. include descendant codes only)."; 145 case ISNOTA: return "The specified property of the code does not have an is-a relationship with the provided value."; 146 case REGEX: return "The specified property of the code matches the regex specified in the provided value."; 147 case IN: return "The specified property of the code is in the set of codes or concepts specified in the provided value (comma separated list)."; 148 case NOTIN: return "The specified property of the code is not in the set of codes or concepts specified in the provided value (comma separated list)."; 149 case GENERALIZES: return "Includes all concept ids that have a transitive is-a relationship from the concept Id provided as the value, including the provided concept itself (i.e. include ancestor codes and self)."; 150 case EXISTS: return "The specified property of the code has at least one value (if the specified value is true; if the specified value is false, then matches when the specified property of the code has no values)."; 151 default: return "?"; 152 } 153 } 154 public String getDisplay() { 155 switch (this) { 156 case EQUAL: return "Equals"; 157 case ISA: return "Is A (by subsumption)"; 158 case DESCENDENTOF: return "Descendent Of (by subsumption)"; 159 case ISNOTA: return "Not (Is A) (by subsumption)"; 160 case REGEX: return "Regular Expression"; 161 case IN: return "In Set"; 162 case NOTIN: return "Not in Set"; 163 case GENERALIZES: return "Generalizes (by Subsumption)"; 164 case EXISTS: return "Exists"; 165 default: return "?"; 166 } 167 } 168 169 170} 171