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 Sun, May 6, 2018 17:51-0400 for FHIR v3.4.0
033
034
035import org.hl7.fhir.exceptions.FHIRException;
036
037public enum V3DataOperation {
038
039        /**
040         * Description:Act on an object or objects.
041         */
042        OPERATE, 
043        /**
044         * 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.
045         */
046        CREATE, 
047        /**
048         * 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.
049         */
050        DELETE, 
051        /**
052         * 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.
053         */
054        EXECUTE, 
055        /**
056         * 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.
057         */
058        READ, 
059        /**
060         * 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.
061         */
062        UPDATE, 
063        /**
064         * 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.
065         */
066        APPEND, 
067        /**
068         * Description:Change the status of an object representing an Act.
069         */
070        MODIFYSTATUS, 
071        /**
072         * 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.
073         */
074        ABORT, 
075        /**
076         * 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.
077         */
078        ACTIVATE, 
079        /**
080         * 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.
081         */
082        CANCEL, 
083        /**
084         * 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.
085         */
086        COMPLETE, 
087        /**
088         * 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.
089         */
090        HOLD, 
091        /**
092         * 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.
093         */
094        JUMP, 
095        /**
096         * 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.
097         */
098        NULLIFY, 
099        /**
100         * 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.
101         */
102        OBSOLETE, 
103        /**
104         * 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.
105         */
106        REACTIVATE, 
107        /**
108         * 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.
109         */
110        RELEASE, 
111        /**
112         * 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.
113         */
114        RESUME, 
115        /**
116         * Definition:Change the status of an object representing an Act to suspended, i.e., so it is temporarily not in service.
117         */
118        SUSPEND, 
119        /**
120         * added to help the parsers
121         */
122        NULL;
123        public static V3DataOperation fromCode(String codeString) throws FHIRException {
124            if (codeString == null || "".equals(codeString))
125                return null;
126        if ("OPERATE".equals(codeString))
127          return OPERATE;
128        if ("CREATE".equals(codeString))
129          return CREATE;
130        if ("DELETE".equals(codeString))
131          return DELETE;
132        if ("EXECUTE".equals(codeString))
133          return EXECUTE;
134        if ("READ".equals(codeString))
135          return READ;
136        if ("UPDATE".equals(codeString))
137          return UPDATE;
138        if ("APPEND".equals(codeString))
139          return APPEND;
140        if ("MODIFYSTATUS".equals(codeString))
141          return MODIFYSTATUS;
142        if ("ABORT".equals(codeString))
143          return ABORT;
144        if ("ACTIVATE".equals(codeString))
145          return ACTIVATE;
146        if ("CANCEL".equals(codeString))
147          return CANCEL;
148        if ("COMPLETE".equals(codeString))
149          return COMPLETE;
150        if ("HOLD".equals(codeString))
151          return HOLD;
152        if ("JUMP".equals(codeString))
153          return JUMP;
154        if ("NULLIFY".equals(codeString))
155          return NULLIFY;
156        if ("OBSOLETE".equals(codeString))
157          return OBSOLETE;
158        if ("REACTIVATE".equals(codeString))
159          return REACTIVATE;
160        if ("RELEASE".equals(codeString))
161          return RELEASE;
162        if ("RESUME".equals(codeString))
163          return RESUME;
164        if ("SUSPEND".equals(codeString))
165          return SUSPEND;
166        throw new FHIRException("Unknown V3DataOperation code '"+codeString+"'");
167        }
168        public String toCode() {
169          switch (this) {
170            case OPERATE: return "OPERATE";
171            case CREATE: return "CREATE";
172            case DELETE: return "DELETE";
173            case EXECUTE: return "EXECUTE";
174            case READ: return "READ";
175            case UPDATE: return "UPDATE";
176            case APPEND: return "APPEND";
177            case MODIFYSTATUS: return "MODIFYSTATUS";
178            case ABORT: return "ABORT";
179            case ACTIVATE: return "ACTIVATE";
180            case CANCEL: return "CANCEL";
181            case COMPLETE: return "COMPLETE";
182            case HOLD: return "HOLD";
183            case JUMP: return "JUMP";
184            case NULLIFY: return "NULLIFY";
185            case OBSOLETE: return "OBSOLETE";
186            case REACTIVATE: return "REACTIVATE";
187            case RELEASE: return "RELEASE";
188            case RESUME: return "RESUME";
189            case SUSPEND: return "SUSPEND";
190            default: return "?";
191          }
192        }
193        public String getSystem() {
194          return "http://hl7.org/fhir/v3/DataOperation";
195        }
196        public String getDefinition() {
197          switch (this) {
198            case OPERATE: return "Description:Act on an object or objects.";
199            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.";
200            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.";
201            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.";
202            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.";
203            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.";
204            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.";
205            case MODIFYSTATUS: return "Description:Change the status of an object representing an Act.";
206            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.";
207            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.";
208            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.";
209            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.";
210            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.";
211            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.";
212            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.";
213            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.";
214            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.";
215            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.";
216            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.";
217            case SUSPEND: return "Definition:Change the status of an object representing an Act to suspended, i.e., so it is temporarily not in service.";
218            default: return "?";
219          }
220        }
221        public String getDisplay() {
222          switch (this) {
223            case OPERATE: return "operate";
224            case CREATE: return "create";
225            case DELETE: return "delete";
226            case EXECUTE: return "execute";
227            case READ: return "read";
228            case UPDATE: return "revise";
229            case APPEND: return "append";
230            case MODIFYSTATUS: return "modify status";
231            case ABORT: return "abort";
232            case ACTIVATE: return "activate";
233            case CANCEL: return "cancel";
234            case COMPLETE: return "complete";
235            case HOLD: return "hold";
236            case JUMP: return "jump";
237            case NULLIFY: return "nullify";
238            case OBSOLETE: return "obsolete";
239            case REACTIVATE: return "reactivate";
240            case RELEASE: return "release";
241            case RESUME: return "resume";
242            case SUSPEND: return "suspend";
243            default: return "?";
244          }
245    }
246
247
248}
249