001package org.hl7.fhir.dstu3.model.codesystems;
002
003/*-
004 * #%L
005 * org.hl7.fhir.dstu3
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 Sat, Mar 25, 2017 21:03-0400 for FHIR v3.0.0
054
055
056import org.hl7.fhir.exceptions.FHIRException;
057
058public enum Iso21089Lifecycle {
059
060        /**
061         * occurs when an agent makes any change to record entry content currently residing in storage considered permanent (persistent)
062         */
063        _2, 
064        /**
065         * occurs when an agent causes the system to create and move archive artifacts containing record entry content, typically to long-term offline storage
066         */
067        _14, 
068        /**
069         * occurs when an agent causes the system to capture the agent’s digital signature (or equivalent indication) during formal validation of record entry content
070         */
071        _4, 
072        /**
073         * occurs when an agent causes the system to decode record entry content from a cipher
074         */
075        _27, 
076        /**
077         * occurs when an agent causes the system to scrub record entry content to reduce the association between a set of identifying data and the data subject in a way that may or may not be reversible
078         */
079        _10, 
080        /**
081         * occurs when an agent causes the system to tag record entry(ies) as obsolete, erroneous or untrustworthy, to warn against its future use
082         */
083        _17, 
084        /**
085         * occurs when an agent causes the system to permanently erase record entry content from the system
086         */
087        _16, 
088        /**
089         * occurs when an agent causes the system to release, transfer, provision access to, or otherwise divulge record entry content
090         */
091        _7, 
092        /**
093         * occurs when an agent causes the system to encode record entry content in a cipher
094         */
095        _26, 
096        /**
097         * occurs when an agent causes the system to selectively pull out a subset of record entry content, based on explicit criteria
098         */
099        _13, 
100        /**
101         * occurs when an agent causes the system to connect related record entries
102         */
103        _21, 
104        /**
105         * occurs when an agent causes the system to combine or join content from two or more record entries, resulting in a single logical record entry
106         */
107        _19, 
108        /**
109         * occurs when an agent causes the system to:  a) initiate capture of potential record content, and b) incorporate that content into the storage considered a permanent part of the health record
110         */
111        _1, 
112        /**
113         * occurs when an agent causes the system to remove record entry content to reduce the association between a set of identifying data and the data subject in a way that may be reversible
114         */
115        _11, 
116        /**
117         * occurs when an agent causes the system to recreate or restore full status to record entries previously deleted or deprecated
118         */
119        _18, 
120        /**
121         * occurs when an agent causes the system to:  a) initiate capture of data content from elseware, and b) incorporate that content into the storage considered a permanent part of the health record
122         */
123        _9, 
124        /**
125         * occurs when an agent causes the system to produce and deliver record entry content in a particular form and manner
126         */
127        _6, 
128        /**
129         * occurs when an agent causes the system to restore information to data that allows identification of information source and/or information subject
130         */
131        _12, 
132        /**
133         * occurs when an agent causes the system to remove a tag or other cues for special access management had required to fulfill organizational policy under the legal doctrine of “duty to preserve”
134         */
135        _24, 
136        /**
137         * occurs when an agent causes the system to recreate record entries and their content from a previous created archive artifact
138         */
139        _15, 
140        /**
141         * occurs when an agent causes the system to change the form, language or code system used to represent record entry content
142         */
143        _3, 
144        /**
145         * occurs when an agent causes the system to send record entry content from one (EHR/PHR/other) system to another
146         */
147        _8, 
148        /**
149         * occurs when an agent causes the system to disconnect two or more record entries previously connected, rendering them separate (disconnected) again
150         */
151        _22, 
152        /**
153         * occurs when an agent causes the system to reverse a previous record entry merge operation, rendering them separate again
154         */
155        _20, 
156        /**
157         * occurs when an agent causes the system to confirm compliance of data or data objects with regulations, requirements, specifications, or other imposed conditions based on organizational policy
158         */
159        _25, 
160        /**
161         * added to help the parsers
162         */
163        NULL;
164        public static Iso21089Lifecycle fromCode(String codeString) throws FHIRException {
165            if (codeString == null || "".equals(codeString))
166                return null;
167        if ("2".equals(codeString))
168          return _2;
169        if ("14".equals(codeString))
170          return _14;
171        if ("4".equals(codeString))
172          return _4;
173        if ("27".equals(codeString))
174          return _27;
175        if ("10".equals(codeString))
176          return _10;
177        if ("17".equals(codeString))
178          return _17;
179        if ("16".equals(codeString))
180          return _16;
181        if ("7".equals(codeString))
182          return _7;
183        if ("26".equals(codeString))
184          return _26;
185        if ("13".equals(codeString))
186          return _13;
187        if ("21".equals(codeString))
188          return _21;
189        if ("19".equals(codeString))
190          return _19;
191        if ("1".equals(codeString))
192          return _1;
193        if ("11".equals(codeString))
194          return _11;
195        if ("18".equals(codeString))
196          return _18;
197        if ("9".equals(codeString))
198          return _9;
199        if ("6".equals(codeString))
200          return _6;
201        if ("12".equals(codeString))
202          return _12;
203        if ("24".equals(codeString))
204          return _24;
205        if ("15".equals(codeString))
206          return _15;
207        if ("3".equals(codeString))
208          return _3;
209        if ("8".equals(codeString))
210          return _8;
211        if ("22".equals(codeString))
212          return _22;
213        if ("20".equals(codeString))
214          return _20;
215        if ("25".equals(codeString))
216          return _25;
217        throw new FHIRException("Unknown Iso21089Lifecycle code '"+codeString+"'");
218        }
219        public String toCode() {
220          switch (this) {
221            case _2: return "2";
222            case _14: return "14";
223            case _4: return "4";
224            case _27: return "27";
225            case _10: return "10";
226            case _17: return "17";
227            case _16: return "16";
228            case _7: return "7";
229            case _26: return "26";
230            case _13: return "13";
231            case _21: return "21";
232            case _19: return "19";
233            case _1: return "1";
234            case _11: return "11";
235            case _18: return "18";
236            case _9: return "9";
237            case _6: return "6";
238            case _12: return "12";
239            case _24: return "24";
240            case _15: return "15";
241            case _3: return "3";
242            case _8: return "8";
243            case _22: return "22";
244            case _20: return "20";
245            case _25: return "25";
246            default: return "?";
247          }
248        }
249        public String getSystem() {
250          return "http://hl7.org/fhir/iso-21089-lifecycle";
251        }
252        public String getDefinition() {
253          switch (this) {
254            case _2: return "occurs when an agent makes any change to record entry content currently residing in storage considered permanent (persistent)";
255            case _14: return "occurs when an agent causes the system to create and move archive artifacts containing record entry content, typically to long-term offline storage";
256            case _4: return "occurs when an agent causes the system to capture the agent’s digital signature (or equivalent indication) during formal validation of record entry content";
257            case _27: return "occurs when an agent causes the system to decode record entry content from a cipher";
258            case _10: return "occurs when an agent causes the system to scrub record entry content to reduce the association between a set of identifying data and the data subject in a way that may or may not be reversible";
259            case _17: return "occurs when an agent causes the system to tag record entry(ies) as obsolete, erroneous or untrustworthy, to warn against its future use";
260            case _16: return "occurs when an agent causes the system to permanently erase record entry content from the system";
261            case _7: return "occurs when an agent causes the system to release, transfer, provision access to, or otherwise divulge record entry content";
262            case _26: return "occurs when an agent causes the system to encode record entry content in a cipher";
263            case _13: return "occurs when an agent causes the system to selectively pull out a subset of record entry content, based on explicit criteria";
264            case _21: return "occurs when an agent causes the system to connect related record entries";
265            case _19: return "occurs when an agent causes the system to combine or join content from two or more record entries, resulting in a single logical record entry";
266            case _1: return "occurs when an agent causes the system to:  a) initiate capture of potential record content, and b) incorporate that content into the storage considered a permanent part of the health record";
267            case _11: return "occurs when an agent causes the system to remove record entry content to reduce the association between a set of identifying data and the data subject in a way that may be reversible";
268            case _18: return "occurs when an agent causes the system to recreate or restore full status to record entries previously deleted or deprecated";
269            case _9: return "occurs when an agent causes the system to:  a) initiate capture of data content from elseware, and b) incorporate that content into the storage considered a permanent part of the health record";
270            case _6: return "occurs when an agent causes the system to produce and deliver record entry content in a particular form and manner";
271            case _12: return "occurs when an agent causes the system to restore information to data that allows identification of information source and/or information subject";
272            case _24: return "occurs when an agent causes the system to remove a tag or other cues for special access management had required to fulfill organizational policy under the legal doctrine of “duty to preserve”";
273            case _15: return "occurs when an agent causes the system to recreate record entries and their content from a previous created archive artifact";
274            case _3: return "occurs when an agent causes the system to change the form, language or code system used to represent record entry content";
275            case _8: return "occurs when an agent causes the system to send record entry content from one (EHR/PHR/other) system to another";
276            case _22: return "occurs when an agent causes the system to disconnect two or more record entries previously connected, rendering them separate (disconnected) again";
277            case _20: return "occurs when an agent causes the system to reverse a previous record entry merge operation, rendering them separate again";
278            case _25: return "occurs when an agent causes the system to confirm compliance of data or data objects with regulations, requirements, specifications, or other imposed conditions based on organizational policy";
279            default: return "?";
280          }
281        }
282        public String getDisplay() {
283          switch (this) {
284            case _2: return "Amend (Update) - Lifeycle Event";
285            case _14: return "Archive - Lifeycle Event";
286            case _4: return "Attest - Lifecycle Event";
287            case _27: return "Decrypt - Lifecycle Event";
288            case _10: return "De-Identify (Anononymize) - Lifecycle Event";
289            case _17: return "Deprecate - Lifecycle Event";
290            case _16: return "Destroy/Delete - Lifecycle Event";
291            case _7: return "Disclose - Lifecycle Event";
292            case _26: return "Encrypt - Lifecycle Event";
293            case _13: return "Extract - Lifecycle Event";
294            case _21: return "Link - Lifecycle Event";
295            case _19: return "Merge - Lifecycle Event";
296            case _1: return "Originate/Retain - Record Lifecyle Event";
297            case _11: return "Pseudonymize - Lifecycle Event";
298            case _18: return "Re-activate - Lifecycle Event";
299            case _9: return "Receive/Retain - Lifecycle Event";
300            case _6: return "Report (Output) - Lifecycle Event";
301            case _12: return "Re-identify - Lifecycle Event";
302            case _24: return "Remove Legal Hold - Lifecycle Event";
303            case _15: return "Restore - Lifecycle Event";
304            case _3: return "Transform/Translate - Lifecycle Event";
305            case _8: return "Transmit - Lifecycle Event";
306            case _22: return "Unlink - Lifecycle Event";
307            case _20: return "Unmerge - Lifecycle Event";
308            case _25: return "Verify - Lifecycle Event";
309            default: return "?";
310          }
311    }
312
313
314}
315