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 V3DataOperation {
059
060        /**
061         * Description:Act on an object or objects.
062         */
063        OPERATE, 
064        /**
065         * Description:Fundamental operation in an Information System (IS) that results only in the act of bringing an object into existence. Note: The preceding definition is taken from the HL7 RBAC specification.  There is no restriction on how the operation is invoked, e.g., via a user interface. For an HL7 Act, the state transitions per the HL7 Reference Information Model.
066         */
067        CREATE, 
068        /**
069         * Description:Fundamental operation in an Information System (IS) that results only in the removal of information about an object from memory or storage. Note: The preceding definition is taken from the HL7 RBAC specification.  There is no restriction on how the operation is invoked, e.g., via a user interface.
070         */
071        DELETE, 
072        /**
073         * Description:Fundamental operation in an IS that results only in initiating performance of a single or set of programs (i.e., software objects). Note: The preceding definition is taken from the HL7 RBAC specification.  There is no restriction on how the operation is invoked, e.g., via a user interface.
074         */
075        EXECUTE, 
076        /**
077         * Description:Fundamental operation in an Information System (IS) that results only in the flow of information about an object to a subject. Note: The preceding definition is taken from the HL7 RBAC specification.  There is no restriction on how the operation is invoked, e.g., via a user interface.
078         */
079        READ, 
080        /**
081         * Definition:Fundamental operation in an Information System (IS) that results only in the revision or alteration of an object. Note: The preceding definition is taken from the HL7 RBAC specification. There is no restriction on how the operation is invoked, e.g., via a user interface.
082         */
083        UPDATE, 
084        /**
085         * Description:Fundamental operation in an Information System (IS) that results only in the addition of information to an object already in existence. Note: The preceding definition is taken from the HL7 RBAC specification.  There is no restriction on how the operation is invoked, e.g., via a user interface.
086         */
087        APPEND, 
088        /**
089         * Description:Change the status of an object representing an Act.
090         */
091        MODIFYSTATUS, 
092        /**
093         * Description:Change the status of an object representing an Act to "aborted", i.e., terminated prior to the originally intended completion. For an HL7 Act, the state transitions per the HL7 Reference Information Model.
094         */
095        ABORT, 
096        /**
097         * Description:Change the status of an object representing an Act to "active", i.e., so it can be performed or is being performed, for the first time. (Contrast with REACTIVATE.) For an HL7 Act, the state transitions per the HL7 Reference Information Model.
098         */
099        ACTIVATE, 
100        /**
101         * Description:Change the status of an object representing an Act to "cancelled", i.e., abandoned before activation. For an HL7 Act, the state transitions per the HL7 Reference Information Model.
102         */
103        CANCEL, 
104        /**
105         * Description:Change the status of an object representing an Act to "completed", i.e., terminated normally after all of its constituents have been performed. For an HL7 Act, the state transitions per the HL7 Reference Information Model.
106         */
107        COMPLETE, 
108        /**
109         * Description:Change the status of an object representing an Act to "held", i.e., put aside an Act that is still in preparatory stages.  No action can occur until the Act is released. For an HL7 Act, the state transitions per the HL7 Reference Information Model.
110         */
111        HOLD, 
112        /**
113         * Description:Change the status of an object representing an Act to a normal state. For an HL7 Act, the state transitions per the HL7 Reference Information Model.
114         */
115        JUMP, 
116        /**
117         * Description:Change the status of an object representing an Act to "nullified", i.e., treat as though it never existed. For an HL7 Act, the state transitions per the HL7 Reference Information Model.
118         */
119        NULLIFY, 
120        /**
121         * Description:Change the status of an object representing an Act to "obsolete" when it has been replaced by a new instance. For an HL7 Act, the state transitions per the HL7 Reference Information Model.
122         */
123        OBSOLETE, 
124        /**
125         * Description:Change the status of a formerly active object representing an Act to "active", i.e., so it can again be performed or is being performed. (Contrast with ACTIVATE.) For an HL7 Act, the state transitions per the HL7 Reference Information Model.
126         */
127        REACTIVATE, 
128        /**
129         * Description:Change the status of an object representing an Act so it is no longer "held", i.e., allow action to occur. For an HL7 Act, the state transitions per the HL7 Reference Information Model.
130         */
131        RELEASE, 
132        /**
133         * Description:Change the status of a suspended object representing an Act to "active", i.e., so it can be performed or is being performed. For an HL7 Act, the state transitions per the HL7 Reference Information Model.
134         */
135        RESUME, 
136        /**
137         * Definition:Change the status of an object representing an Act to suspended, i.e., so it is temporarily not in service.
138         */
139        SUSPEND, 
140        /**
141         * added to help the parsers
142         */
143        NULL;
144        public static V3DataOperation fromCode(String codeString) throws FHIRException {
145            if (codeString == null || "".equals(codeString))
146                return null;
147        if ("OPERATE".equals(codeString))
148          return OPERATE;
149        if ("CREATE".equals(codeString))
150          return CREATE;
151        if ("DELETE".equals(codeString))
152          return DELETE;
153        if ("EXECUTE".equals(codeString))
154          return EXECUTE;
155        if ("READ".equals(codeString))
156          return READ;
157        if ("UPDATE".equals(codeString))
158          return UPDATE;
159        if ("APPEND".equals(codeString))
160          return APPEND;
161        if ("MODIFYSTATUS".equals(codeString))
162          return MODIFYSTATUS;
163        if ("ABORT".equals(codeString))
164          return ABORT;
165        if ("ACTIVATE".equals(codeString))
166          return ACTIVATE;
167        if ("CANCEL".equals(codeString))
168          return CANCEL;
169        if ("COMPLETE".equals(codeString))
170          return COMPLETE;
171        if ("HOLD".equals(codeString))
172          return HOLD;
173        if ("JUMP".equals(codeString))
174          return JUMP;
175        if ("NULLIFY".equals(codeString))
176          return NULLIFY;
177        if ("OBSOLETE".equals(codeString))
178          return OBSOLETE;
179        if ("REACTIVATE".equals(codeString))
180          return REACTIVATE;
181        if ("RELEASE".equals(codeString))
182          return RELEASE;
183        if ("RESUME".equals(codeString))
184          return RESUME;
185        if ("SUSPEND".equals(codeString))
186          return SUSPEND;
187        throw new FHIRException("Unknown V3DataOperation code '"+codeString+"'");
188        }
189        public String toCode() {
190          switch (this) {
191            case OPERATE: return "OPERATE";
192            case CREATE: return "CREATE";
193            case DELETE: return "DELETE";
194            case EXECUTE: return "EXECUTE";
195            case READ: return "READ";
196            case UPDATE: return "UPDATE";
197            case APPEND: return "APPEND";
198            case MODIFYSTATUS: return "MODIFYSTATUS";
199            case ABORT: return "ABORT";
200            case ACTIVATE: return "ACTIVATE";
201            case CANCEL: return "CANCEL";
202            case COMPLETE: return "COMPLETE";
203            case HOLD: return "HOLD";
204            case JUMP: return "JUMP";
205            case NULLIFY: return "NULLIFY";
206            case OBSOLETE: return "OBSOLETE";
207            case REACTIVATE: return "REACTIVATE";
208            case RELEASE: return "RELEASE";
209            case RESUME: return "RESUME";
210            case SUSPEND: return "SUSPEND";
211            default: return "?";
212          }
213        }
214        public String getSystem() {
215          return "http://terminology.hl7.org/CodeSystem/v3-DataOperation";
216        }
217        public String getDefinition() {
218          switch (this) {
219            case OPERATE: return "Description:Act on an object or objects.";
220            case CREATE: return "Description:Fundamental operation in an Information System (IS) that results only in the act of bringing an object into existence. Note: The preceding definition is taken from the HL7 RBAC specification.  There is no restriction on how the operation is invoked, e.g., via a user interface. For an HL7 Act, the state transitions per the HL7 Reference Information Model.";
221            case DELETE: return "Description:Fundamental operation in an Information System (IS) that results only in the removal of information about an object from memory or storage. Note: The preceding definition is taken from the HL7 RBAC specification.  There is no restriction on how the operation is invoked, e.g., via a user interface.";
222            case EXECUTE: return "Description:Fundamental operation in an IS that results only in initiating performance of a single or set of programs (i.e., software objects). Note: The preceding definition is taken from the HL7 RBAC specification.  There is no restriction on how the operation is invoked, e.g., via a user interface.";
223            case READ: return "Description:Fundamental operation in an Information System (IS) that results only in the flow of information about an object to a subject. Note: The preceding definition is taken from the HL7 RBAC specification.  There is no restriction on how the operation is invoked, e.g., via a user interface.";
224            case UPDATE: return "Definition:Fundamental operation in an Information System (IS) that results only in the revision or alteration of an object. Note: The preceding definition is taken from the HL7 RBAC specification. There is no restriction on how the operation is invoked, e.g., via a user interface.";
225            case APPEND: return "Description:Fundamental operation in an Information System (IS) that results only in the addition of information to an object already in existence. Note: The preceding definition is taken from the HL7 RBAC specification.  There is no restriction on how the operation is invoked, e.g., via a user interface.";
226            case MODIFYSTATUS: return "Description:Change the status of an object representing an Act.";
227            case ABORT: return "Description:Change the status of an object representing an Act to \"aborted\", i.e., terminated prior to the originally intended completion. For an HL7 Act, the state transitions per the HL7 Reference Information Model.";
228            case ACTIVATE: return "Description:Change the status of an object representing an Act to \"active\", i.e., so it can be performed or is being performed, for the first time. (Contrast with REACTIVATE.) For an HL7 Act, the state transitions per the HL7 Reference Information Model.";
229            case CANCEL: return "Description:Change the status of an object representing an Act to \"cancelled\", i.e., abandoned before activation. For an HL7 Act, the state transitions per the HL7 Reference Information Model.";
230            case COMPLETE: return "Description:Change the status of an object representing an Act to \"completed\", i.e., terminated normally after all of its constituents have been performed. For an HL7 Act, the state transitions per the HL7 Reference Information Model.";
231            case HOLD: return "Description:Change the status of an object representing an Act to \"held\", i.e., put aside an Act that is still in preparatory stages.  No action can occur until the Act is released. For an HL7 Act, the state transitions per the HL7 Reference Information Model.";
232            case JUMP: return "Description:Change the status of an object representing an Act to a normal state. For an HL7 Act, the state transitions per the HL7 Reference Information Model.";
233            case NULLIFY: return "Description:Change the status of an object representing an Act to \"nullified\", i.e., treat as though it never existed. For an HL7 Act, the state transitions per the HL7 Reference Information Model.";
234            case OBSOLETE: return "Description:Change the status of an object representing an Act to \"obsolete\" when it has been replaced by a new instance. For an HL7 Act, the state transitions per the HL7 Reference Information Model.";
235            case REACTIVATE: return "Description:Change the status of a formerly active object representing an Act to \"active\", i.e., so it can again be performed or is being performed. (Contrast with ACTIVATE.) For an HL7 Act, the state transitions per the HL7 Reference Information Model.";
236            case RELEASE: return "Description:Change the status of an object representing an Act so it is no longer \"held\", i.e., allow action to occur. For an HL7 Act, the state transitions per the HL7 Reference Information Model.";
237            case RESUME: return "Description:Change the status of a suspended object representing an Act to \"active\", i.e., so it can be performed or is being performed. For an HL7 Act, the state transitions per the HL7 Reference Information Model.";
238            case SUSPEND: return "Definition:Change the status of an object representing an Act to suspended, i.e., so it is temporarily not in service.";
239            default: return "?";
240          }
241        }
242        public String getDisplay() {
243          switch (this) {
244            case OPERATE: return "operate";
245            case CREATE: return "create";
246            case DELETE: return "delete";
247            case EXECUTE: return "execute";
248            case READ: return "read";
249            case UPDATE: return "revise";
250            case APPEND: return "append";
251            case MODIFYSTATUS: return "modify status";
252            case ABORT: return "abort";
253            case ACTIVATE: return "activate";
254            case CANCEL: return "cancel";
255            case COMPLETE: return "complete";
256            case HOLD: return "hold";
257            case JUMP: return "jump";
258            case NULLIFY: return "nullify";
259            case OBSOLETE: return "obsolete";
260            case REACTIVATE: return "reactivate";
261            case RELEASE: return "release";
262            case RESUME: return "resume";
263            case SUSPEND: return "suspend";
264            default: return "?";
265          }
266    }
267
268
269}
270