001package org.hl7.fhir.r4.model.codesystems;
002
003
004
005
006/*
007  Copyright (c) 2011+, HL7, Inc.
008  All rights reserved.
009  
010  Redistribution and use in source and binary forms, with or without modification, 
011  are permitted provided that the following conditions are met:
012  
013   * Redistributions of source code must retain the above copyright notice, this 
014     list of conditions and the following disclaimer.
015   * Redistributions in binary form must reproduce the above copyright notice, 
016     this list of conditions and the following disclaimer in the documentation 
017     and/or other materials provided with the distribution.
018   * Neither the name of HL7 nor the names of its contributors may be used to 
019     endorse or promote products derived from this software without specific 
020     prior written permission.
021  
022  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
023  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
024  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
025  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
026  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
027  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
028  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
029  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
030  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
031  POSSIBILITY OF SUCH DAMAGE.
032  
033*/
034
035// Generated on Wed, Jan 30, 2019 16:19-0500 for FHIR v4.0.0
036
037
038import org.hl7.fhir.exceptions.FHIRException;
039
040public enum IssueType {
041
042        /**
043         * Content invalid against the specification or a profile.
044         */
045        INVALID, 
046        /**
047         * A structural issue in the content such as wrong namespace, unable to parse the content completely, invalid syntax, etc.
048         */
049        STRUCTURE, 
050        /**
051         * A required element is missing.
052         */
053        REQUIRED, 
054        /**
055         * An element or header value is invalid.
056         */
057        VALUE, 
058        /**
059         * A content validation rule failed - e.g. a schematron rule.
060         */
061        INVARIANT, 
062        /**
063         * An authentication/authorization/permissions issue of some kind.
064         */
065        SECURITY, 
066        /**
067         * The client needs to initiate an authentication process.
068         */
069        LOGIN, 
070        /**
071         * The user or system was not able to be authenticated (either there is no process, or the proferred token is unacceptable).
072         */
073        UNKNOWN, 
074        /**
075         * User session expired; a login may be required.
076         */
077        EXPIRED, 
078        /**
079         * The user does not have the rights to perform this action.
080         */
081        FORBIDDEN, 
082        /**
083         * Some information was not or might not have been returned due to business rules, consent or privacy rules, or access permission constraints.  This information may be accessible through alternate processes.
084         */
085        SUPPRESSED, 
086        /**
087         * Processing issues. These are expected to be final e.g. there is no point resubmitting the same content unchanged.
088         */
089        PROCESSING, 
090        /**
091         * The interaction, operation, resource or profile is not supported.
092         */
093        NOTSUPPORTED, 
094        /**
095         * An attempt was made to create a duplicate record.
096         */
097        DUPLICATE, 
098        /**
099         * Multiple matching records were found when the operation required only one match.
100         */
101        MULTIPLEMATCHES, 
102        /**
103         * The reference provided was not found. In a pure RESTful environment, this would be an HTTP 404 error, but this code may be used where the content is not found further into the application architecture.
104         */
105        NOTFOUND, 
106        /**
107         * The reference pointed to content (usually a resource) that has been deleted.
108         */
109        DELETED, 
110        /**
111         * Provided content is too long (typically, this is a denial of service protection type of error).
112         */
113        TOOLONG, 
114        /**
115         * The code or system could not be understood, or it was not valid in the context of a particular ValueSet.code.
116         */
117        CODEINVALID, 
118        /**
119         * An extension was found that was not acceptable, could not be resolved, or a modifierExtension was not recognized.
120         */
121        EXTENSION, 
122        /**
123         * The operation was stopped to protect server resources; e.g. a request for a value set expansion on all of SNOMED CT.
124         */
125        TOOCOSTLY, 
126        /**
127         * The content/operation failed to pass some business rule and so could not proceed.
128         */
129        BUSINESSRULE, 
130        /**
131         * Content could not be accepted because of an edit conflict (i.e. version aware updates). (In a pure RESTful environment, this would be an HTTP 409 error, but this code may be used where the conflict is discovered further into the application architecture.).
132         */
133        CONFLICT, 
134        /**
135         * Transient processing issues. The system receiving the message may be able to resubmit the same content once an underlying issue is resolved.
136         */
137        TRANSIENT, 
138        /**
139         * A resource/record locking failure (usually in an underlying database).
140         */
141        LOCKERROR, 
142        /**
143         * The persistent store is unavailable; e.g. the database is down for maintenance or similar action, and the interaction or operation cannot be processed.
144         */
145        NOSTORE, 
146        /**
147         * y.
148         */
149        EXCEPTION, 
150        /**
151         * An internal timeout has occurred.
152         */
153        TIMEOUT, 
154        /**
155         * Not all data sources typically accessed could be reached or responded in time, so the returned information might not be complete (applies to search interactions and some operations).
156         */
157        INCOMPLETE, 
158        /**
159         * The system is not prepared to handle this request due to load management.
160         */
161        THROTTLED, 
162        /**
163         * A message unrelated to the processing success of the completed operation (examples of the latter include things like reminders of password expiry, system maintenance times, etc.).
164         */
165        INFORMATIONAL, 
166        /**
167         * added to help the parsers
168         */
169        NULL;
170        public static IssueType fromCode(String codeString) throws FHIRException {
171            if (codeString == null || "".equals(codeString))
172                return null;
173        if ("invalid".equals(codeString))
174          return INVALID;
175        if ("structure".equals(codeString))
176          return STRUCTURE;
177        if ("required".equals(codeString))
178          return REQUIRED;
179        if ("value".equals(codeString))
180          return VALUE;
181        if ("invariant".equals(codeString))
182          return INVARIANT;
183        if ("security".equals(codeString))
184          return SECURITY;
185        if ("login".equals(codeString))
186          return LOGIN;
187        if ("unknown".equals(codeString))
188          return UNKNOWN;
189        if ("expired".equals(codeString))
190          return EXPIRED;
191        if ("forbidden".equals(codeString))
192          return FORBIDDEN;
193        if ("suppressed".equals(codeString))
194          return SUPPRESSED;
195        if ("processing".equals(codeString))
196          return PROCESSING;
197        if ("not-supported".equals(codeString))
198          return NOTSUPPORTED;
199        if ("duplicate".equals(codeString))
200          return DUPLICATE;
201        if ("multiple-matches".equals(codeString))
202          return MULTIPLEMATCHES;
203        if ("not-found".equals(codeString))
204          return NOTFOUND;
205        if ("deleted".equals(codeString))
206          return DELETED;
207        if ("too-long".equals(codeString))
208          return TOOLONG;
209        if ("code-invalid".equals(codeString))
210          return CODEINVALID;
211        if ("extension".equals(codeString))
212          return EXTENSION;
213        if ("too-costly".equals(codeString))
214          return TOOCOSTLY;
215        if ("business-rule".equals(codeString))
216          return BUSINESSRULE;
217        if ("conflict".equals(codeString))
218          return CONFLICT;
219        if ("transient".equals(codeString))
220          return TRANSIENT;
221        if ("lock-error".equals(codeString))
222          return LOCKERROR;
223        if ("no-store".equals(codeString))
224          return NOSTORE;
225        if ("exception".equals(codeString))
226          return EXCEPTION;
227        if ("timeout".equals(codeString))
228          return TIMEOUT;
229        if ("incomplete".equals(codeString))
230          return INCOMPLETE;
231        if ("throttled".equals(codeString))
232          return THROTTLED;
233        if ("informational".equals(codeString))
234          return INFORMATIONAL;
235        throw new FHIRException("Unknown IssueType code '"+codeString+"'");
236        }
237        public String toCode() {
238          switch (this) {
239            case INVALID: return "invalid";
240            case STRUCTURE: return "structure";
241            case REQUIRED: return "required";
242            case VALUE: return "value";
243            case INVARIANT: return "invariant";
244            case SECURITY: return "security";
245            case LOGIN: return "login";
246            case UNKNOWN: return "unknown";
247            case EXPIRED: return "expired";
248            case FORBIDDEN: return "forbidden";
249            case SUPPRESSED: return "suppressed";
250            case PROCESSING: return "processing";
251            case NOTSUPPORTED: return "not-supported";
252            case DUPLICATE: return "duplicate";
253            case MULTIPLEMATCHES: return "multiple-matches";
254            case NOTFOUND: return "not-found";
255            case DELETED: return "deleted";
256            case TOOLONG: return "too-long";
257            case CODEINVALID: return "code-invalid";
258            case EXTENSION: return "extension";
259            case TOOCOSTLY: return "too-costly";
260            case BUSINESSRULE: return "business-rule";
261            case CONFLICT: return "conflict";
262            case TRANSIENT: return "transient";
263            case LOCKERROR: return "lock-error";
264            case NOSTORE: return "no-store";
265            case EXCEPTION: return "exception";
266            case TIMEOUT: return "timeout";
267            case INCOMPLETE: return "incomplete";
268            case THROTTLED: return "throttled";
269            case INFORMATIONAL: return "informational";
270            default: return "?";
271          }
272        }
273        public String getSystem() {
274          return "http://hl7.org/fhir/issue-type";
275        }
276        public String getDefinition() {
277          switch (this) {
278            case INVALID: return "Content invalid against the specification or a profile.";
279            case STRUCTURE: return "A structural issue in the content such as wrong namespace, unable to parse the content completely, invalid syntax, etc.";
280            case REQUIRED: return "A required element is missing.";
281            case VALUE: return "An element or header value is invalid.";
282            case INVARIANT: return "A content validation rule failed - e.g. a schematron rule.";
283            case SECURITY: return "An authentication/authorization/permissions issue of some kind.";
284            case LOGIN: return "The client needs to initiate an authentication process.";
285            case UNKNOWN: return "The user or system was not able to be authenticated (either there is no process, or the proferred token is unacceptable).";
286            case EXPIRED: return "User session expired; a login may be required.";
287            case FORBIDDEN: return "The user does not have the rights to perform this action.";
288            case SUPPRESSED: return "Some information was not or might not have been returned due to business rules, consent or privacy rules, or access permission constraints.  This information may be accessible through alternate processes.";
289            case PROCESSING: return "Processing issues. These are expected to be final e.g. there is no point resubmitting the same content unchanged.";
290            case NOTSUPPORTED: return "The interaction, operation, resource or profile is not supported.";
291            case DUPLICATE: return "An attempt was made to create a duplicate record.";
292            case MULTIPLEMATCHES: return "Multiple matching records were found when the operation required only one match.";
293            case NOTFOUND: return "The reference provided was not found. In a pure RESTful environment, this would be an HTTP 404 error, but this code may be used where the content is not found further into the application architecture.";
294            case DELETED: return "The reference pointed to content (usually a resource) that has been deleted.";
295            case TOOLONG: return "Provided content is too long (typically, this is a denial of service protection type of error).";
296            case CODEINVALID: return "The code or system could not be understood, or it was not valid in the context of a particular ValueSet.code.";
297            case EXTENSION: return "An extension was found that was not acceptable, could not be resolved, or a modifierExtension was not recognized.";
298            case TOOCOSTLY: return "The operation was stopped to protect server resources; e.g. a request for a value set expansion on all of SNOMED CT.";
299            case BUSINESSRULE: return "The content/operation failed to pass some business rule and so could not proceed.";
300            case CONFLICT: return "Content could not be accepted because of an edit conflict (i.e. version aware updates). (In a pure RESTful environment, this would be an HTTP 409 error, but this code may be used where the conflict is discovered further into the application architecture.).";
301            case TRANSIENT: return "Transient processing issues. The system receiving the message may be able to resubmit the same content once an underlying issue is resolved.";
302            case LOCKERROR: return "A resource/record locking failure (usually in an underlying database).";
303            case NOSTORE: return "The persistent store is unavailable; e.g. the database is down for maintenance or similar action, and the interaction or operation cannot be processed.";
304            case EXCEPTION: return "y.";
305            case TIMEOUT: return "An internal timeout has occurred.";
306            case INCOMPLETE: return "Not all data sources typically accessed could be reached or responded in time, so the returned information might not be complete (applies to search interactions and some operations).";
307            case THROTTLED: return "The system is not prepared to handle this request due to load management.";
308            case INFORMATIONAL: return "A message unrelated to the processing success of the completed operation (examples of the latter include things like reminders of password expiry, system maintenance times, etc.).";
309            default: return "?";
310          }
311        }
312        public String getDisplay() {
313          switch (this) {
314            case INVALID: return "Invalid Content";
315            case STRUCTURE: return "Structural Issue";
316            case REQUIRED: return "Required element missing";
317            case VALUE: return "Element value invalid";
318            case INVARIANT: return "Validation rule failed";
319            case SECURITY: return "Security Problem";
320            case LOGIN: return "Login Required";
321            case UNKNOWN: return "Unknown User";
322            case EXPIRED: return "Session Expired";
323            case FORBIDDEN: return "Forbidden";
324            case SUPPRESSED: return "Information  Suppressed";
325            case PROCESSING: return "Processing Failure";
326            case NOTSUPPORTED: return "Content not supported";
327            case DUPLICATE: return "Duplicate";
328            case MULTIPLEMATCHES: return "Multiple Matches";
329            case NOTFOUND: return "Not Found";
330            case DELETED: return "Deleted";
331            case TOOLONG: return "Content Too Long";
332            case CODEINVALID: return "Invalid Code";
333            case EXTENSION: return "Unacceptable Extension";
334            case TOOCOSTLY: return "Operation Too Costly";
335            case BUSINESSRULE: return "Business Rule Violation";
336            case CONFLICT: return "Edit Version Conflict";
337            case TRANSIENT: return "Transient Issue";
338            case LOCKERROR: return "Lock Error";
339            case NOSTORE: return "No Store Available";
340            case EXCEPTION: return "Exception";
341            case TIMEOUT: return "Timeout";
342            case INCOMPLETE: return "Incomplete Results";
343            case THROTTLED: return "Throttled";
344            case INFORMATIONAL: return "Informational Note";
345            default: return "?";
346          }
347    }
348
349
350}