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