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            default: return "?";
369          }
370        }
371        public String getSystem() {
372          return "http://terminology.hl7.org/CodeSystem/testscript-operation-codes";
373        }
374        public String getDefinition() {
375          switch (this) {
376            case READ: return "Read the current state of the resource.";
377            case VREAD: return "Read the state of a specific version of the resource.";
378            case UPDATE: return "Update an existing resource by its id.";
379            case UPDATECREATE: return "Update an existing resource by its id (or create it if it is new).";
380            case PATCH: return "Patch an existing resource by its id.";
381            case DELETE: return "Delete a resource.";
382            case DELETECONDSINGLE: return "Conditionally delete a single resource based on search parameters.";
383            case DELETECONDMULTIPLE: return "Conditionally delete one or more resources based on search parameters.";
384            case HISTORY: return "Retrieve the change history for a particular resource or resource type.";
385            case CREATE: return "Create a new resource with a server assigned id.";
386            case SEARCH: return "Search based on some filter criteria.";
387            case BATCH: return "Update, create or delete a set of resources as independent actions.";
388            case TRANSACTION: return "Update, create or delete a set of resources as a single transaction.";
389            case CAPABILITIES: return "Get a capability statement for the system.";
390            case APPLY: return "Realizes an ActivityDefinition in a specific context";
391            case CLOSURE: return "Closure Table Maintenance";
392            case FINDMATCHES: return "Finding Codes based on supplied properties";
393            case CONFORMS: return "Compare two systems CapabilityStatements";
394            case DATAREQUIREMENTS: return "Aggregates and returns the parameters and data requirements for a resource and all its dependencies as a single module definition";
395            case DOCUMENT: return "Generate a Document";
396            case EVALUATE: return "Request clinical decision support guidance based on a specific decision support module";
397            case EVALUATEMEASURE: return "Invoke an eMeasure and obtain the results";
398            case EVERYTHING: return "Return all the related information as described in the Encounter or Patient";
399            case EXPAND: return "Value Set Expansion";
400            case FIND: return "Find a functional list";
401            case GRAPHQL: return "Invoke a GraphQL query";
402            case IMPLEMENTS: return "Test if a server implements a client's required operations";
403            case LASTN: return "Last N Observations Query";
404            case LOOKUP: return "Concept Look Up and Decomposition";
405            case MATCH: return "Find patient matches using MPI based logic";
406            case META: return "Access a list of profiles, tags, and security labels";
407            case METAADD: return "Add profiles, tags, and security labels to a resource";
408            case METADELETE: return "Delete profiles, tags, and security labels for a resource";
409            case POPULATE: return "Populate Questionnaire";
410            case POPULATEHTML: return "Generate HTML for Questionnaire";
411            case POPULATELINK: return "Generate a link to a Questionnaire completion webpage";
412            case PROCESSMESSAGE: return "Process a message according to the defined event";
413            case QUESTIONNAIRE: return "Build Questionnaire";
414            case STATS: return "Observation Statistics";
415            case SUBSET: return "Fetch a subset of the CapabilityStatement resource";
416            case SUBSUMES: return "CodeSystem Subsumption Testing";
417            case TRANSFORM: return "Model Instance Transformation";
418            case TRANSLATE: return "Concept Translation";
419            case VALIDATE: return "Validate a resource";
420            case VALIDATECODE: return "ValueSet based Validation";
421            default: return "?";
422          }
423        }
424        public String getDisplay() {
425          switch (this) {
426            case READ: return "Read";
427            case VREAD: return "Version Read";
428            case UPDATE: return "Update";
429            case UPDATECREATE: return "Create using Update";
430            case PATCH: return "Patch";
431            case DELETE: return "Delete";
432            case DELETECONDSINGLE: return "Conditional Delete Single";
433            case DELETECONDMULTIPLE: return "Conditional Delete Multiple";
434            case HISTORY: return "History";
435            case CREATE: return "Create";
436            case SEARCH: return "Search";
437            case BATCH: return "Batch";
438            case TRANSACTION: return "Transaction";
439            case CAPABILITIES: return "Capabilities";
440            case APPLY: return "$apply";
441            case CLOSURE: return "$closure";
442            case FINDMATCHES: return "$find-matches";
443            case CONFORMS: return "$conforms";
444            case DATAREQUIREMENTS: return "$data-requirements";
445            case DOCUMENT: return "$document";
446            case EVALUATE: return "$evaluate";
447            case EVALUATEMEASURE: return "$evaluate-measure";
448            case EVERYTHING: return "$everything";
449            case EXPAND: return "$expand";
450            case FIND: return "$find";
451            case GRAPHQL: return "$graphql";
452            case IMPLEMENTS: return "$implements";
453            case LASTN: return "$lastn";
454            case LOOKUP: return "$lookup";
455            case MATCH: return "$match";
456            case META: return "$meta";
457            case METAADD: return "$meta-add";
458            case METADELETE: return "$meta-delete";
459            case POPULATE: return "$populate";
460            case POPULATEHTML: return "$populatehtml";
461            case POPULATELINK: return "$populatelink";
462            case PROCESSMESSAGE: return "$process-message";
463            case QUESTIONNAIRE: return "$questionnaire";
464            case STATS: return "$stats";
465            case SUBSET: return "$subset";
466            case SUBSUMES: return "$subsumes";
467            case TRANSFORM: return "$transform";
468            case TRANSLATE: return "$translate";
469            case VALIDATE: return "$validate";
470            case VALIDATECODE: return "$validate-code";
471            default: return "?";
472          }
473    }
474
475
476}