001package org.hl7.fhir.r4.model.codesystems;
002
003/*
004  Copyright (c) 2011+, HL7, Inc.
005  All rights reserved.
006  
007  Redistribution and use in source and binary forms, with or without modification, 
008  are permitted provided that the following conditions are met:
009  
010   * Redistributions of source code must retain the above copyright notice, this 
011     list of conditions and the following disclaimer.
012   * Redistributions in binary form must reproduce the above copyright notice, 
013     this list of conditions and the following disclaimer in the documentation 
014     and/or other materials provided with the distribution.
015   * Neither the name of HL7 nor the names of its contributors may be used to 
016     endorse or promote products derived from this software without specific 
017     prior written permission.
018  
019  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
020  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
021  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
022  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
023  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
024  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
025  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
026  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
027  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
028  POSSIBILITY OF SUCH DAMAGE.
029  
030*/
031
032// Generated on Thu, Sep 13, 2018 09:04-0400 for FHIR v3.5.0
033
034
035import org.hl7.fhir.exceptions.FHIRException;
036
037public enum TestscriptOperationCodes {
038
039        /**
040         * Read the current state of the resource.
041         */
042        READ, 
043        /**
044         * Read the state of a specific version of the resource.
045         */
046        VREAD, 
047        /**
048         * Update an existing resource by its id.
049         */
050        UPDATE, 
051        /**
052         * Update an existing resource by its id (or create it if it is new).
053         */
054        UPDATECREATE, 
055        /**
056         * Patch an existing resource by its id.
057         */
058        PATCH, 
059        /**
060         * Delete a resource.
061         */
062        DELETE, 
063        /**
064         * Conditionally delete a single resource based on search parameters.
065         */
066        DELETECONDSINGLE, 
067        /**
068         * Conditionally delete one or more resources based on search parameters.
069         */
070        DELETECONDMULTIPLE, 
071        /**
072         * Retrieve the change history for a particular resource or resource type.
073         */
074        HISTORY, 
075        /**
076         * Create a new resource with a server assigned id.
077         */
078        CREATE, 
079        /**
080         * Search based on some filter criteria.
081         */
082        SEARCH, 
083        /**
084         * Update, create or delete a set of resources as independent actions.
085         */
086        BATCH, 
087        /**
088         * Update, create or delete a set of resources as a single transaction.
089         */
090        TRANSACTION, 
091        /**
092         * Get a capability statement for the system.
093         */
094        CAPABILITIES, 
095        /**
096         * Realizes an ActivityDefinition in a specific context
097         */
098        APPLY, 
099        /**
100         * Closure Table Maintenance
101         */
102        CLOSURE, 
103        /**
104         * Finding Codes based on supplied properties
105         */
106        FINDMATCHES, 
107        /**
108         * Compare two systems CapabilityStatements
109         */
110        CONFORMS, 
111        /**
112         * Aggregates and returns the parameters and data requirements for a resource and all its dependencies as a single module definition
113         */
114        DATAREQUIREMENTS, 
115        /**
116         * Generate a Document
117         */
118        DOCUMENT, 
119        /**
120         * Request clinical decision support guidance based on a specific decision support module
121         */
122        EVALUATE, 
123        /**
124         * Invoke an eMeasure and obtain the results
125         */
126        EVALUATEMEASURE, 
127        /**
128         * Return all the related information as described in the Encounter or Patient
129         */
130        EVERYTHING, 
131        /**
132         * Value Set Expansion
133         */
134        EXPAND, 
135        /**
136         * Find a functional list
137         */
138        FIND, 
139        /**
140         * Invoke a GraphQL query
141         */
142        GRAPHQL, 
143        /**
144         * Test if a server implements a client's required operations
145         */
146        IMPLEMENTS, 
147        /**
148         * Last N Observations Query
149         */
150        LASTN, 
151        /**
152         * Concept Look Up and Decomposition
153         */
154        LOOKUP, 
155        /**
156         * Find patient matches using MPI based logic
157         */
158        MATCH, 
159        /**
160         * Access a list of profiles, tags, and security labels
161         */
162        META, 
163        /**
164         * Add profiles, tags, and security labels to a resource
165         */
166        METAADD, 
167        /**
168         * Delete profiles, tags, and security labels for a resource
169         */
170        METADELETE, 
171        /**
172         * Populate Questionnaire
173         */
174        POPULATE, 
175        /**
176         * Generate HTML for Questionnaire
177         */
178        POPULATEHTML, 
179        /**
180         * Generate a link to a Questionnaire completion webpage
181         */
182        POPULATELINK, 
183        /**
184         * Process a message according to the defined event
185         */
186        PROCESSMESSAGE, 
187        /**
188         * Build Questionnaire
189         */
190        QUESTIONNAIRE, 
191        /**
192         * Observation Statistics
193         */
194        STATS, 
195        /**
196         * Fetch a subset of the CapabilityStatement resource
197         */
198        SUBSET, 
199        /**
200         * CodeSystem Subsumption Testing
201         */
202        SUBSUMES, 
203        /**
204         * Model Instance Transformation
205         */
206        TRANSFORM, 
207        /**
208         * Concept Translation
209         */
210        TRANSLATE, 
211        /**
212         * Validate a resource
213         */
214        VALIDATE, 
215        /**
216         * ValueSet based Validation
217         */
218        VALIDATECODE, 
219        /**
220         * added to help the parsers
221         */
222        NULL;
223        public static TestscriptOperationCodes fromCode(String codeString) throws FHIRException {
224            if (codeString == null || "".equals(codeString))
225                return null;
226        if ("read".equals(codeString))
227          return READ;
228        if ("vread".equals(codeString))
229          return VREAD;
230        if ("update".equals(codeString))
231          return UPDATE;
232        if ("updateCreate".equals(codeString))
233          return UPDATECREATE;
234        if ("patch".equals(codeString))
235          return PATCH;
236        if ("delete".equals(codeString))
237          return DELETE;
238        if ("deleteCondSingle".equals(codeString))
239          return DELETECONDSINGLE;
240        if ("deleteCondMultiple".equals(codeString))
241          return DELETECONDMULTIPLE;
242        if ("history".equals(codeString))
243          return HISTORY;
244        if ("create".equals(codeString))
245          return CREATE;
246        if ("search".equals(codeString))
247          return SEARCH;
248        if ("batch".equals(codeString))
249          return BATCH;
250        if ("transaction".equals(codeString))
251          return TRANSACTION;
252        if ("capabilities".equals(codeString))
253          return CAPABILITIES;
254        if ("apply".equals(codeString))
255          return APPLY;
256        if ("closure".equals(codeString))
257          return CLOSURE;
258        if ("find-matches".equals(codeString))
259          return FINDMATCHES;
260        if ("conforms".equals(codeString))
261          return CONFORMS;
262        if ("data-requirements".equals(codeString))
263          return DATAREQUIREMENTS;
264        if ("document".equals(codeString))
265          return DOCUMENT;
266        if ("evaluate".equals(codeString))
267          return EVALUATE;
268        if ("evaluate-measure".equals(codeString))
269          return EVALUATEMEASURE;
270        if ("everything".equals(codeString))
271          return EVERYTHING;
272        if ("expand".equals(codeString))
273          return EXPAND;
274        if ("find".equals(codeString))
275          return FIND;
276        if ("graphql".equals(codeString))
277          return GRAPHQL;
278        if ("implements".equals(codeString))
279          return IMPLEMENTS;
280        if ("lastn".equals(codeString))
281          return LASTN;
282        if ("lookup".equals(codeString))
283          return LOOKUP;
284        if ("match".equals(codeString))
285          return MATCH;
286        if ("meta".equals(codeString))
287          return META;
288        if ("meta-add".equals(codeString))
289          return METAADD;
290        if ("meta-delete".equals(codeString))
291          return METADELETE;
292        if ("populate".equals(codeString))
293          return POPULATE;
294        if ("populatehtml".equals(codeString))
295          return POPULATEHTML;
296        if ("populatelink".equals(codeString))
297          return POPULATELINK;
298        if ("process-message".equals(codeString))
299          return PROCESSMESSAGE;
300        if ("questionnaire".equals(codeString))
301          return QUESTIONNAIRE;
302        if ("stats".equals(codeString))
303          return STATS;
304        if ("subset".equals(codeString))
305          return SUBSET;
306        if ("subsumes".equals(codeString))
307          return SUBSUMES;
308        if ("transform".equals(codeString))
309          return TRANSFORM;
310        if ("translate".equals(codeString))
311          return TRANSLATE;
312        if ("validate".equals(codeString))
313          return VALIDATE;
314        if ("validate-code".equals(codeString))
315          return VALIDATECODE;
316        throw new FHIRException("Unknown TestscriptOperationCodes code '"+codeString+"'");
317        }
318        public String toCode() {
319          switch (this) {
320            case READ: return "read";
321            case VREAD: return "vread";
322            case UPDATE: return "update";
323            case UPDATECREATE: return "updateCreate";
324            case PATCH: return "patch";
325            case DELETE: return "delete";
326            case DELETECONDSINGLE: return "deleteCondSingle";
327            case DELETECONDMULTIPLE: return "deleteCondMultiple";
328            case HISTORY: return "history";
329            case CREATE: return "create";
330            case SEARCH: return "search";
331            case BATCH: return "batch";
332            case TRANSACTION: return "transaction";
333            case CAPABILITIES: return "capabilities";
334            case APPLY: return "apply";
335            case CLOSURE: return "closure";
336            case FINDMATCHES: return "find-matches";
337            case CONFORMS: return "conforms";
338            case DATAREQUIREMENTS: return "data-requirements";
339            case DOCUMENT: return "document";
340            case EVALUATE: return "evaluate";
341            case EVALUATEMEASURE: return "evaluate-measure";
342            case EVERYTHING: return "everything";
343            case EXPAND: return "expand";
344            case FIND: return "find";
345            case GRAPHQL: return "graphql";
346            case IMPLEMENTS: return "implements";
347            case LASTN: return "lastn";
348            case LOOKUP: return "lookup";
349            case MATCH: return "match";
350            case META: return "meta";
351            case METAADD: return "meta-add";
352            case METADELETE: return "meta-delete";
353            case POPULATE: return "populate";
354            case POPULATEHTML: return "populatehtml";
355            case POPULATELINK: return "populatelink";
356            case PROCESSMESSAGE: return "process-message";
357            case QUESTIONNAIRE: return "questionnaire";
358            case STATS: return "stats";
359            case SUBSET: return "subset";
360            case SUBSUMES: return "subsumes";
361            case TRANSFORM: return "transform";
362            case TRANSLATE: return "translate";
363            case VALIDATE: return "validate";
364            case VALIDATECODE: return "validate-code";
365            default: return "?";
366          }
367        }
368        public String getSystem() {
369          return "http://terminology.hl7.org/CodeSystem/testscript-operation-codes";
370        }
371        public String getDefinition() {
372          switch (this) {
373            case READ: return "Read the current state of the resource.";
374            case VREAD: return "Read the state of a specific version of the resource.";
375            case UPDATE: return "Update an existing resource by its id.";
376            case UPDATECREATE: return "Update an existing resource by its id (or create it if it is new).";
377            case PATCH: return "Patch an existing resource by its id.";
378            case DELETE: return "Delete a resource.";
379            case DELETECONDSINGLE: return "Conditionally delete a single resource based on search parameters.";
380            case DELETECONDMULTIPLE: return "Conditionally delete one or more resources based on search parameters.";
381            case HISTORY: return "Retrieve the change history for a particular resource or resource type.";
382            case CREATE: return "Create a new resource with a server assigned id.";
383            case SEARCH: return "Search based on some filter criteria.";
384            case BATCH: return "Update, create or delete a set of resources as independent actions.";
385            case TRANSACTION: return "Update, create or delete a set of resources as a single transaction.";
386            case CAPABILITIES: return "Get a capability statement for the system.";
387            case APPLY: return "Realizes an ActivityDefinition in a specific context";
388            case CLOSURE: return "Closure Table Maintenance";
389            case FINDMATCHES: return "Finding Codes based on supplied properties";
390            case CONFORMS: return "Compare two systems CapabilityStatements";
391            case DATAREQUIREMENTS: return "Aggregates and returns the parameters and data requirements for a resource and all its dependencies as a single module definition";
392            case DOCUMENT: return "Generate a Document";
393            case EVALUATE: return "Request clinical decision support guidance based on a specific decision support module";
394            case EVALUATEMEASURE: return "Invoke an eMeasure and obtain the results";
395            case EVERYTHING: return "Return all the related information as described in the Encounter or Patient";
396            case EXPAND: return "Value Set Expansion";
397            case FIND: return "Find a functional list";
398            case GRAPHQL: return "Invoke a GraphQL query";
399            case IMPLEMENTS: return "Test if a server implements a client's required operations";
400            case LASTN: return "Last N Observations Query";
401            case LOOKUP: return "Concept Look Up and Decomposition";
402            case MATCH: return "Find patient matches using MPI based logic";
403            case META: return "Access a list of profiles, tags, and security labels";
404            case METAADD: return "Add profiles, tags, and security labels to a resource";
405            case METADELETE: return "Delete profiles, tags, and security labels for a resource";
406            case POPULATE: return "Populate Questionnaire";
407            case POPULATEHTML: return "Generate HTML for Questionnaire";
408            case POPULATELINK: return "Generate a link to a Questionnaire completion webpage";
409            case PROCESSMESSAGE: return "Process a message according to the defined event";
410            case QUESTIONNAIRE: return "Build Questionnaire";
411            case STATS: return "Observation Statistics";
412            case SUBSET: return "Fetch a subset of the CapabilityStatement resource";
413            case SUBSUMES: return "CodeSystem Subsumption Testing";
414            case TRANSFORM: return "Model Instance Transformation";
415            case TRANSLATE: return "Concept Translation";
416            case VALIDATE: return "Validate a resource";
417            case VALIDATECODE: return "ValueSet based Validation";
418            default: return "?";
419          }
420        }
421        public String getDisplay() {
422          switch (this) {
423            case READ: return "Read";
424            case VREAD: return "Version Read";
425            case UPDATE: return "Update";
426            case UPDATECREATE: return "Create using Update";
427            case PATCH: return "Patch";
428            case DELETE: return "Delete";
429            case DELETECONDSINGLE: return "Conditional Delete Single";
430            case DELETECONDMULTIPLE: return "Conditional Delete Multiple";
431            case HISTORY: return "History";
432            case CREATE: return "Create";
433            case SEARCH: return "Search";
434            case BATCH: return "Batch";
435            case TRANSACTION: return "Transaction";
436            case CAPABILITIES: return "Capabilities";
437            case APPLY: return "$apply";
438            case CLOSURE: return "$closure";
439            case FINDMATCHES: return "$find-matches";
440            case CONFORMS: return "$conforms";
441            case DATAREQUIREMENTS: return "$data-requirements";
442            case DOCUMENT: return "$document";
443            case EVALUATE: return "$evaluate";
444            case EVALUATEMEASURE: return "$evaluate-measure";
445            case EVERYTHING: return "$everything";
446            case EXPAND: return "$expand";
447            case FIND: return "$find";
448            case GRAPHQL: return "$graphql";
449            case IMPLEMENTS: return "$implements";
450            case LASTN: return "$lastn";
451            case LOOKUP: return "$lookup";
452            case MATCH: return "$match";
453            case META: return "$meta";
454            case METAADD: return "$meta-add";
455            case METADELETE: return "$meta-delete";
456            case POPULATE: return "$populate";
457            case POPULATEHTML: return "$populatehtml";
458            case POPULATELINK: return "$populatelink";
459            case PROCESSMESSAGE: return "$process-message";
460            case QUESTIONNAIRE: return "$questionnaire";
461            case STATS: return "$stats";
462            case SUBSET: return "$subset";
463            case SUBSUMES: return "$subsumes";
464            case TRANSFORM: return "$transform";
465            case TRANSLATE: return "$translate";
466            case VALIDATE: return "$validate";
467            case VALIDATECODE: return "$validate-code";
468            default: return "?";
469          }
470    }
471
472
473}
474