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 TestscriptOperationCodes {
041
042        /**
043         * Read the current state of the resource.
044         */
045        READ, 
046        /**
047         * Read the state of a specific version of the resource.
048         */
049        VREAD, 
050        /**
051         * Update an existing resource by its id.
052         */
053        UPDATE, 
054        /**
055         * Update an existing resource by its id (or create it if it is new).
056         */
057        UPDATECREATE, 
058        /**
059         * Patch an existing resource by its id.
060         */
061        PATCH, 
062        /**
063         * Delete a resource.
064         */
065        DELETE, 
066        /**
067         * Conditionally delete a single resource based on search parameters.
068         */
069        DELETECONDSINGLE, 
070        /**
071         * Conditionally delete one or more resources based on search parameters.
072         */
073        DELETECONDMULTIPLE, 
074        /**
075         * Retrieve the change history for a particular resource or resource type.
076         */
077        HISTORY, 
078        /**
079         * Create a new resource with a server assigned id.
080         */
081        CREATE, 
082        /**
083         * Search based on some filter criteria.
084         */
085        SEARCH, 
086        /**
087         * Update, create or delete a set of resources as independent actions.
088         */
089        BATCH, 
090        /**
091         * Update, create or delete a set of resources as a single transaction.
092         */
093        TRANSACTION, 
094        /**
095         * Get a capability statement for the system.
096         */
097        CAPABILITIES, 
098        /**
099         * Realizes an ActivityDefinition in a specific context
100         */
101        APPLY, 
102        /**
103         * Closure Table Maintenance
104         */
105        CLOSURE, 
106        /**
107         * Finding Codes based on supplied properties
108         */
109        FINDMATCHES, 
110        /**
111         * Compare two systems CapabilityStatements
112         */
113        CONFORMS, 
114        /**
115         * Aggregates and returns the parameters and data requirements for a resource and all its dependencies as a single module definition
116         */
117        DATAREQUIREMENTS, 
118        /**
119         * Generate a Document
120         */
121        DOCUMENT, 
122        /**
123         * Request clinical decision support guidance based on a specific decision support module
124         */
125        EVALUATE, 
126        /**
127         * Invoke an eMeasure and obtain the results
128         */
129        EVALUATEMEASURE, 
130        /**
131         * Return all the related information as described in the Encounter or Patient
132         */
133        EVERYTHING, 
134        /**
135         * Value Set Expansion
136         */
137        EXPAND, 
138        /**
139         * Find a functional list
140         */
141        FIND, 
142        /**
143         * Invoke a GraphQL query
144         */
145        GRAPHQL, 
146        /**
147         * Test if a server implements a client's required operations
148         */
149        IMPLEMENTS, 
150        /**
151         * Last N Observations Query
152         */
153        LASTN, 
154        /**
155         * Concept Look Up and Decomposition
156         */
157        LOOKUP, 
158        /**
159         * Find patient matches using MPI based logic
160         */
161        MATCH, 
162        /**
163         * Access a list of profiles, tags, and security labels
164         */
165        META, 
166        /**
167         * Add profiles, tags, and security labels to a resource
168         */
169        METAADD, 
170        /**
171         * Delete profiles, tags, and security labels for a resource
172         */
173        METADELETE, 
174        /**
175         * Populate Questionnaire
176         */
177        POPULATE, 
178        /**
179         * Generate HTML for Questionnaire
180         */
181        POPULATEHTML, 
182        /**
183         * Generate a link to a Questionnaire completion webpage
184         */
185        POPULATELINK, 
186        /**
187         * Process a message according to the defined event
188         */
189        PROCESSMESSAGE, 
190        /**
191         * Build Questionnaire
192         */
193        QUESTIONNAIRE, 
194        /**
195         * Observation Statistics
196         */
197        STATS, 
198        /**
199         * Fetch a subset of the CapabilityStatement resource
200         */
201        SUBSET, 
202        /**
203         * CodeSystem Subsumption Testing
204         */
205        SUBSUMES, 
206        /**
207         * Model Instance Transformation
208         */
209        TRANSFORM, 
210        /**
211         * Concept Translation
212         */
213        TRANSLATE, 
214        /**
215         * Validate a resource
216         */
217        VALIDATE, 
218        /**
219         * ValueSet based Validation
220         */
221        VALIDATECODE, 
222        /**
223         * added to help the parsers
224         */
225        NULL;
226        public static TestscriptOperationCodes fromCode(String codeString) throws FHIRException {
227            if (codeString == null || "".equals(codeString))
228                return null;
229        if ("read".equals(codeString))
230          return READ;
231        if ("vread".equals(codeString))
232          return VREAD;
233        if ("update".equals(codeString))
234          return UPDATE;
235        if ("updateCreate".equals(codeString))
236          return UPDATECREATE;
237        if ("patch".equals(codeString))
238          return PATCH;
239        if ("delete".equals(codeString))
240          return DELETE;
241        if ("deleteCondSingle".equals(codeString))
242          return DELETECONDSINGLE;
243        if ("deleteCondMultiple".equals(codeString))
244          return DELETECONDMULTIPLE;
245        if ("history".equals(codeString))
246          return HISTORY;
247        if ("create".equals(codeString))
248          return CREATE;
249        if ("search".equals(codeString))
250          return SEARCH;
251        if ("batch".equals(codeString))
252          return BATCH;
253        if ("transaction".equals(codeString))
254          return TRANSACTION;
255        if ("capabilities".equals(codeString))
256          return CAPABILITIES;
257        if ("apply".equals(codeString))
258          return APPLY;
259        if ("closure".equals(codeString))
260          return CLOSURE;
261        if ("find-matches".equals(codeString))
262          return FINDMATCHES;
263        if ("conforms".equals(codeString))
264          return CONFORMS;
265        if ("data-requirements".equals(codeString))
266          return DATAREQUIREMENTS;
267        if ("document".equals(codeString))
268          return DOCUMENT;
269        if ("evaluate".equals(codeString))
270          return EVALUATE;
271        if ("evaluate-measure".equals(codeString))
272          return EVALUATEMEASURE;
273        if ("everything".equals(codeString))
274          return EVERYTHING;
275        if ("expand".equals(codeString))
276          return EXPAND;
277        if ("find".equals(codeString))
278          return FIND;
279        if ("graphql".equals(codeString))
280          return GRAPHQL;
281        if ("implements".equals(codeString))
282          return IMPLEMENTS;
283        if ("lastn".equals(codeString))
284          return LASTN;
285        if ("lookup".equals(codeString))
286          return LOOKUP;
287        if ("match".equals(codeString))
288          return MATCH;
289        if ("meta".equals(codeString))
290          return META;
291        if ("meta-add".equals(codeString))
292          return METAADD;
293        if ("meta-delete".equals(codeString))
294          return METADELETE;
295        if ("populate".equals(codeString))
296          return POPULATE;
297        if ("populatehtml".equals(codeString))
298          return POPULATEHTML;
299        if ("populatelink".equals(codeString))
300          return POPULATELINK;
301        if ("process-message".equals(codeString))
302          return PROCESSMESSAGE;
303        if ("questionnaire".equals(codeString))
304          return QUESTIONNAIRE;
305        if ("stats".equals(codeString))
306          return STATS;
307        if ("subset".equals(codeString))
308          return SUBSET;
309        if ("subsumes".equals(codeString))
310          return SUBSUMES;
311        if ("transform".equals(codeString))
312          return TRANSFORM;
313        if ("translate".equals(codeString))
314          return TRANSLATE;
315        if ("validate".equals(codeString))
316          return VALIDATE;
317        if ("validate-code".equals(codeString))
318          return VALIDATECODE;
319        throw new FHIRException("Unknown TestscriptOperationCodes code '"+codeString+"'");
320        }
321        public String toCode() {
322          switch (this) {
323            case READ: return "read";
324            case VREAD: return "vread";
325            case UPDATE: return "update";
326            case UPDATECREATE: return "updateCreate";
327            case PATCH: return "patch";
328            case DELETE: return "delete";
329            case DELETECONDSINGLE: return "deleteCondSingle";
330            case DELETECONDMULTIPLE: return "deleteCondMultiple";
331            case HISTORY: return "history";
332            case CREATE: return "create";
333            case SEARCH: return "search";
334            case BATCH: return "batch";
335            case TRANSACTION: return "transaction";
336            case CAPABILITIES: return "capabilities";
337            case APPLY: return "apply";
338            case CLOSURE: return "closure";
339            case FINDMATCHES: return "find-matches";
340            case CONFORMS: return "conforms";
341            case DATAREQUIREMENTS: return "data-requirements";
342            case DOCUMENT: return "document";
343            case EVALUATE: return "evaluate";
344            case EVALUATEMEASURE: return "evaluate-measure";
345            case EVERYTHING: return "everything";
346            case EXPAND: return "expand";
347            case FIND: return "find";
348            case GRAPHQL: return "graphql";
349            case IMPLEMENTS: return "implements";
350            case LASTN: return "lastn";
351            case LOOKUP: return "lookup";
352            case MATCH: return "match";
353            case META: return "meta";
354            case METAADD: return "meta-add";
355            case METADELETE: return "meta-delete";
356            case POPULATE: return "populate";
357            case POPULATEHTML: return "populatehtml";
358            case POPULATELINK: return "populatelink";
359            case PROCESSMESSAGE: return "process-message";
360            case QUESTIONNAIRE: return "questionnaire";
361            case STATS: return "stats";
362            case SUBSET: return "subset";
363            case SUBSUMES: return "subsumes";
364            case TRANSFORM: return "transform";
365            case TRANSLATE: return "translate";
366            case VALIDATE: return "validate";
367            case VALIDATECODE: return "validate-code";
368            case NULL: return null;
369            default: return "?";
370          }
371        }
372        public String getSystem() {
373          return "http://terminology.hl7.org/CodeSystem/testscript-operation-codes";
374        }
375        public String getDefinition() {
376          switch (this) {
377            case READ: return "Read the current state of the resource.";
378            case VREAD: return "Read the state of a specific version of the resource.";
379            case UPDATE: return "Update an existing resource by its id.";
380            case UPDATECREATE: return "Update an existing resource by its id (or create it if it is new).";
381            case PATCH: return "Patch an existing resource by its id.";
382            case DELETE: return "Delete a resource.";
383            case DELETECONDSINGLE: return "Conditionally delete a single resource based on search parameters.";
384            case DELETECONDMULTIPLE: return "Conditionally delete one or more resources based on search parameters.";
385            case HISTORY: return "Retrieve the change history for a particular resource or resource type.";
386            case CREATE: return "Create a new resource with a server assigned id.";
387            case SEARCH: return "Search based on some filter criteria.";
388            case BATCH: return "Update, create or delete a set of resources as independent actions.";
389            case TRANSACTION: return "Update, create or delete a set of resources as a single transaction.";
390            case CAPABILITIES: return "Get a capability statement for the system.";
391            case APPLY: return "Realizes an ActivityDefinition in a specific context";
392            case CLOSURE: return "Closure Table Maintenance";
393            case FINDMATCHES: return "Finding Codes based on supplied properties";
394            case CONFORMS: return "Compare two systems CapabilityStatements";
395            case DATAREQUIREMENTS: return "Aggregates and returns the parameters and data requirements for a resource and all its dependencies as a single module definition";
396            case DOCUMENT: return "Generate a Document";
397            case EVALUATE: return "Request clinical decision support guidance based on a specific decision support module";
398            case EVALUATEMEASURE: return "Invoke an eMeasure and obtain the results";
399            case EVERYTHING: return "Return all the related information as described in the Encounter or Patient";
400            case EXPAND: return "Value Set Expansion";
401            case FIND: return "Find a functional list";
402            case GRAPHQL: return "Invoke a GraphQL query";
403            case IMPLEMENTS: return "Test if a server implements a client's required operations";
404            case LASTN: return "Last N Observations Query";
405            case LOOKUP: return "Concept Look Up and Decomposition";
406            case MATCH: return "Find patient matches using MPI based logic";
407            case META: return "Access a list of profiles, tags, and security labels";
408            case METAADD: return "Add profiles, tags, and security labels to a resource";
409            case METADELETE: return "Delete profiles, tags, and security labels for a resource";
410            case POPULATE: return "Populate Questionnaire";
411            case POPULATEHTML: return "Generate HTML for Questionnaire";
412            case POPULATELINK: return "Generate a link to a Questionnaire completion webpage";
413            case PROCESSMESSAGE: return "Process a message according to the defined event";
414            case QUESTIONNAIRE: return "Build Questionnaire";
415            case STATS: return "Observation Statistics";
416            case SUBSET: return "Fetch a subset of the CapabilityStatement resource";
417            case SUBSUMES: return "CodeSystem Subsumption Testing";
418            case TRANSFORM: return "Model Instance Transformation";
419            case TRANSLATE: return "Concept Translation";
420            case VALIDATE: return "Validate a resource";
421            case VALIDATECODE: return "ValueSet based Validation";
422            case NULL: return null;
423            default: return "?";
424          }
425        }
426        public String getDisplay() {
427          switch (this) {
428            case READ: return "Read";
429            case VREAD: return "Version Read";
430            case UPDATE: return "Update";
431            case UPDATECREATE: return "Create using Update";
432            case PATCH: return "Patch";
433            case DELETE: return "Delete";
434            case DELETECONDSINGLE: return "Conditional Delete Single";
435            case DELETECONDMULTIPLE: return "Conditional Delete Multiple";
436            case HISTORY: return "History";
437            case CREATE: return "Create";
438            case SEARCH: return "Search";
439            case BATCH: return "Batch";
440            case TRANSACTION: return "Transaction";
441            case CAPABILITIES: return "Capabilities";
442            case APPLY: return "$apply";
443            case CLOSURE: return "$closure";
444            case FINDMATCHES: return "$find-matches";
445            case CONFORMS: return "$conforms";
446            case DATAREQUIREMENTS: return "$data-requirements";
447            case DOCUMENT: return "$document";
448            case EVALUATE: return "$evaluate";
449            case EVALUATEMEASURE: return "$evaluate-measure";
450            case EVERYTHING: return "$everything";
451            case EXPAND: return "$expand";
452            case FIND: return "$find";
453            case GRAPHQL: return "$graphql";
454            case IMPLEMENTS: return "$implements";
455            case LASTN: return "$lastn";
456            case LOOKUP: return "$lookup";
457            case MATCH: return "$match";
458            case META: return "$meta";
459            case METAADD: return "$meta-add";
460            case METADELETE: return "$meta-delete";
461            case POPULATE: return "$populate";
462            case POPULATEHTML: return "$populatehtml";
463            case POPULATELINK: return "$populatelink";
464            case PROCESSMESSAGE: return "$process-message";
465            case QUESTIONNAIRE: return "$questionnaire";
466            case STATS: return "$stats";
467            case SUBSET: return "$subset";
468            case SUBSUMES: return "$subsumes";
469            case TRANSFORM: return "$transform";
470            case TRANSLATE: return "$translate";
471            case VALIDATE: return "$validate";
472            case VALIDATECODE: return "$validate-code";
473            case NULL: return null;
474            default: return "?";
475          }
476    }
477
478
479}