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 Iso21089Lifecycle { 059 060 /** 061 * Occurs when an agent causes the system to obtain and open a record entry for inspection or review. 062 */ 063 ACCESS, 064 /** 065 * Occurs when an agent causes the system to tag or otherwise indicate special access management and suspension of record entry deletion/destruction, if deemed relevant to a lawsuit or which are reasonably anticipated to be relevant or to fulfill organizational policy under the legal doctrine of “duty to preserve”. 066 */ 067 HOLD, 068 /** 069 * Occurs when an agent makes any change to record entry content currently residing in storage considered permanent (persistent). 070 */ 071 AMEND, 072 /** 073 * Occurs when an agent causes the system to create and move archive artifacts containing record entry content, typically to long-term offline storage. 074 */ 075 ARCHIVE, 076 /** 077 * Occurs when an agent causes the system to capture the agent’s digital signature (or equivalent indication) during formal validation of record entry content. 078 */ 079 ATTEST, 080 /** 081 * Occurs when an agent causes the system to decode record entry content from a cipher. 082 */ 083 DECRYPT, 084 /** 085 * 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 might or might not be reversible. 086 */ 087 DEIDENTIFY, 088 /** 089 * Occurs when an agent causes the system to tag record entry(ies) as obsolete, erroneous or untrustworthy, to warn against its future use. 090 */ 091 DEPRECATE, 092 /** 093 * Occurs when an agent causes the system to permanently erase record entry content from the system. 094 */ 095 DESTROY, 096 /** 097 * Occurs when an agent causes the system to release, transfer, provision access to, or otherwise divulge record entry content. 098 */ 099 DISCLOSE, 100 /** 101 * Occurs when an agent causes the system to encode record entry content in a cipher. 102 */ 103 ENCRYPT, 104 /** 105 * Occurs when an agent causes the system to selectively pull out a subset of record entry content, based on explicit criteria. 106 */ 107 EXTRACT, 108 /** 109 * Occurs when an agent causes the system to connect related record entries. 110 */ 111 LINK, 112 /** 113 * 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. 114 */ 115 MERGE, 116 /** 117 * 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. 118 */ 119 ORIGINATE, 120 /** 121 * 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. 122 */ 123 PSEUDONYMIZE, 124 /** 125 * Occurs when an agent causes the system to recreate or restore full status to record entries previously deleted or deprecated. 126 */ 127 REACTIVATE, 128 /** 129 * Occurs when an agent causes the system to a) initiate capture of data content from elsewhere, and b) incorporate that content into the storage considered a permanent part of the health record. 130 */ 131 RECEIVE, 132 /** 133 * Occurs when an agent causes the system to restore information to data that allows identification of information source and/or information subject. 134 */ 135 REIDENTIFY, 136 /** 137 * 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”. 138 */ 139 UNHOLD, 140 /** 141 * Occurs when an agent causes the system to produce and deliver record entry content in a particular form and manner. 142 */ 143 REPORT, 144 /** 145 * Occurs when an agent causes the system to recreate record entries and their content from a previous created archive artefact. 146 */ 147 RESTORE, 148 /** 149 * Occurs when an agent causes the system to change the form, language or code system used to represent record entry content. 150 */ 151 TRANSFORM, 152 /** 153 * Occurs when an agent causes the system to send record entry content from one (EHR/PHR/other) system to another. 154 */ 155 TRANSMIT, 156 /** 157 * Occurs when an agent causes the system to disconnect two or more record entries previously connected, rendering them separate (disconnected) again. 158 */ 159 UNLINK, 160 /** 161 * Occurs when an agent causes the system to reverse a previous record entry merge operation, rendering them separate again. 162 */ 163 UNMERGE, 164 /** 165 * 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. 166 */ 167 VERIFY, 168 /** 169 * added to help the parsers 170 */ 171 NULL; 172 public static Iso21089Lifecycle fromCode(String codeString) throws FHIRException { 173 if (codeString == null || "".equals(codeString)) 174 return null; 175 if ("access".equals(codeString)) 176 return ACCESS; 177 if ("hold".equals(codeString)) 178 return HOLD; 179 if ("amend".equals(codeString)) 180 return AMEND; 181 if ("archive".equals(codeString)) 182 return ARCHIVE; 183 if ("attest".equals(codeString)) 184 return ATTEST; 185 if ("decrypt".equals(codeString)) 186 return DECRYPT; 187 if ("deidentify".equals(codeString)) 188 return DEIDENTIFY; 189 if ("deprecate".equals(codeString)) 190 return DEPRECATE; 191 if ("destroy".equals(codeString)) 192 return DESTROY; 193 if ("disclose".equals(codeString)) 194 return DISCLOSE; 195 if ("encrypt".equals(codeString)) 196 return ENCRYPT; 197 if ("extract".equals(codeString)) 198 return EXTRACT; 199 if ("link".equals(codeString)) 200 return LINK; 201 if ("merge".equals(codeString)) 202 return MERGE; 203 if ("originate".equals(codeString)) 204 return ORIGINATE; 205 if ("pseudonymize".equals(codeString)) 206 return PSEUDONYMIZE; 207 if ("reactivate".equals(codeString)) 208 return REACTIVATE; 209 if ("receive".equals(codeString)) 210 return RECEIVE; 211 if ("reidentify".equals(codeString)) 212 return REIDENTIFY; 213 if ("unhold".equals(codeString)) 214 return UNHOLD; 215 if ("report".equals(codeString)) 216 return REPORT; 217 if ("restore".equals(codeString)) 218 return RESTORE; 219 if ("transform".equals(codeString)) 220 return TRANSFORM; 221 if ("transmit".equals(codeString)) 222 return TRANSMIT; 223 if ("unlink".equals(codeString)) 224 return UNLINK; 225 if ("unmerge".equals(codeString)) 226 return UNMERGE; 227 if ("verify".equals(codeString)) 228 return VERIFY; 229 throw new FHIRException("Unknown Iso21089Lifecycle code '"+codeString+"'"); 230 } 231 public String toCode() { 232 switch (this) { 233 case ACCESS: return "access"; 234 case HOLD: return "hold"; 235 case AMEND: return "amend"; 236 case ARCHIVE: return "archive"; 237 case ATTEST: return "attest"; 238 case DECRYPT: return "decrypt"; 239 case DEIDENTIFY: return "deidentify"; 240 case DEPRECATE: return "deprecate"; 241 case DESTROY: return "destroy"; 242 case DISCLOSE: return "disclose"; 243 case ENCRYPT: return "encrypt"; 244 case EXTRACT: return "extract"; 245 case LINK: return "link"; 246 case MERGE: return "merge"; 247 case ORIGINATE: return "originate"; 248 case PSEUDONYMIZE: return "pseudonymize"; 249 case REACTIVATE: return "reactivate"; 250 case RECEIVE: return "receive"; 251 case REIDENTIFY: return "reidentify"; 252 case UNHOLD: return "unhold"; 253 case REPORT: return "report"; 254 case RESTORE: return "restore"; 255 case TRANSFORM: return "transform"; 256 case TRANSMIT: return "transmit"; 257 case UNLINK: return "unlink"; 258 case UNMERGE: return "unmerge"; 259 case VERIFY: return "verify"; 260 default: return "?"; 261 } 262 } 263 public String getSystem() { 264 return "http://terminology.hl7.org/CodeSystem/iso-21089-lifecycle"; 265 } 266 public String getDefinition() { 267 switch (this) { 268 case ACCESS: return "Occurs when an agent causes the system to obtain and open a record entry for inspection or review."; 269 case HOLD: return "Occurs when an agent causes the system to tag or otherwise indicate special access management and suspension of record entry deletion/destruction, if deemed relevant to a lawsuit or which are reasonably anticipated to be relevant or to fulfill organizational policy under the legal doctrine of “duty to preserve”."; 270 case AMEND: return "Occurs when an agent makes any change to record entry content currently residing in storage considered permanent (persistent)."; 271 case ARCHIVE: return "Occurs when an agent causes the system to create and move archive artifacts containing record entry content, typically to long-term offline storage."; 272 case ATTEST: 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."; 273 case DECRYPT: return "Occurs when an agent causes the system to decode record entry content from a cipher."; 274 case DEIDENTIFY: 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 might or might not be reversible."; 275 case DEPRECATE: return "Occurs when an agent causes the system to tag record entry(ies) as obsolete, erroneous or untrustworthy, to warn against its future use."; 276 case DESTROY: return "Occurs when an agent causes the system to permanently erase record entry content from the system."; 277 case DISCLOSE: return "Occurs when an agent causes the system to release, transfer, provision access to, or otherwise divulge record entry content."; 278 case ENCRYPT: return "Occurs when an agent causes the system to encode record entry content in a cipher."; 279 case EXTRACT: return "Occurs when an agent causes the system to selectively pull out a subset of record entry content, based on explicit criteria."; 280 case LINK: return "Occurs when an agent causes the system to connect related record entries."; 281 case MERGE: 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."; 282 case ORIGINATE: 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."; 283 case PSEUDONYMIZE: 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."; 284 case REACTIVATE: return "Occurs when an agent causes the system to recreate or restore full status to record entries previously deleted or deprecated."; 285 case RECEIVE: return "Occurs when an agent causes the system to a) initiate capture of data content from elsewhere, and b) incorporate that content into the storage considered a permanent part of the health record."; 286 case REIDENTIFY: return "Occurs when an agent causes the system to restore information to data that allows identification of information source and/or information subject."; 287 case UNHOLD: 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”."; 288 case REPORT: return "Occurs when an agent causes the system to produce and deliver record entry content in a particular form and manner."; 289 case RESTORE: return "Occurs when an agent causes the system to recreate record entries and their content from a previous created archive artefact."; 290 case TRANSFORM: return "Occurs when an agent causes the system to change the form, language or code system used to represent record entry content."; 291 case TRANSMIT: return "Occurs when an agent causes the system to send record entry content from one (EHR/PHR/other) system to another."; 292 case UNLINK: return "Occurs when an agent causes the system to disconnect two or more record entries previously connected, rendering them separate (disconnected) again."; 293 case UNMERGE: return "Occurs when an agent causes the system to reverse a previous record entry merge operation, rendering them separate again."; 294 case VERIFY: 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."; 295 default: return "?"; 296 } 297 } 298 public String getDisplay() { 299 switch (this) { 300 case ACCESS: return "Access/View Record Lifecycle Event"; 301 case HOLD: return "Add Legal Hold Record Lifecycle Event"; 302 case AMEND: return "Amend (Update) Record Lifecycle Event"; 303 case ARCHIVE: return "Archive Record Lifecycle Event"; 304 case ATTEST: return "Attest Record Lifecycle Event"; 305 case DECRYPT: return "Decrypt Record Lifecycle Event"; 306 case DEIDENTIFY: return "De-Identify (Anononymize) Record Lifecycle Event"; 307 case DEPRECATE: return "Deprecate Record Lifecycle Event"; 308 case DESTROY: return "Destroy/Delete Record Lifecycle Event"; 309 case DISCLOSE: return "Disclose Record Lifecycle Event"; 310 case ENCRYPT: return "Encrypt Record Lifecycle Event"; 311 case EXTRACT: return "Extract Record Lifecycle Event"; 312 case LINK: return "Link Record Lifecycle Event"; 313 case MERGE: return "Merge Record Lifecycle Event"; 314 case ORIGINATE: return "Originate/Retain Record Lifecycle Event"; 315 case PSEUDONYMIZE: return "Pseudonymize Record Lifecycle Event"; 316 case REACTIVATE: return "Re-activate Record Lifecycle Event"; 317 case RECEIVE: return "Receive/Retain Record Lifecycle Event"; 318 case REIDENTIFY: return "Re-identify Record Lifecycle Event"; 319 case UNHOLD: return "Remove Legal Hold Record Lifecycle Event"; 320 case REPORT: return "Report (Output) Record Lifecycle Event"; 321 case RESTORE: return "Restore Record Lifecycle Event"; 322 case TRANSFORM: return "Transform/Translate Record Lifecycle Event"; 323 case TRANSMIT: return "Transmit Record Lifecycle Event"; 324 case UNLINK: return "Unlink Record Lifecycle Event"; 325 case UNMERGE: return "Unmerge Record Lifecycle Event"; 326 case VERIFY: return "Verify Record Lifecycle Event"; 327 default: return "?"; 328 } 329 } 330 331 332} 333