001package org.hl7.fhir.r4.model.codesystems; 002 003 004 005 006/* 007 Copyright (c) 2011+, HL7, Inc. 008 All rights reserved. 009 010 Redistribution and use in source and binary forms, with or without modification, 011 are permitted provided that the following conditions are met: 012 013 * Redistributions of source code must retain the above copyright notice, this 014 list of conditions and the following disclaimer. 015 * Redistributions in binary form must reproduce the above copyright notice, 016 this list of conditions and the following disclaimer in the documentation 017 and/or other materials provided with the distribution. 018 * Neither the name of HL7 nor the names of its contributors may be used to 019 endorse or promote products derived from this software without specific 020 prior written permission. 021 022 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 023 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 024 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 025 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 026 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 027 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 028 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 029 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 030 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 031 POSSIBILITY OF SUCH DAMAGE. 032 033*/ 034 035// Generated on Wed, Jan 30, 2019 16:19-0500 for FHIR v4.0.0 036 037 038import org.hl7.fhir.exceptions.FHIRException; 039 040public enum Iso21089Lifecycle { 041 042 /** 043 * Occurs when an agent causes the system to obtain and open a record entry for inspection or review. 044 */ 045 ACCESS, 046 /** 047 * 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”. 048 */ 049 HOLD, 050 /** 051 * Occurs when an agent makes any change to record entry content currently residing in storage considered permanent (persistent). 052 */ 053 AMEND, 054 /** 055 * Occurs when an agent causes the system to create and move archive artifacts containing record entry content, typically to long-term offline storage. 056 */ 057 ARCHIVE, 058 /** 059 * Occurs when an agent causes the system to capture the agent’s digital signature (or equivalent indication) during formal validation of record entry content. 060 */ 061 ATTEST, 062 /** 063 * Occurs when an agent causes the system to decode record entry content from a cipher. 064 */ 065 DECRYPT, 066 /** 067 * 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. 068 */ 069 DEIDENTIFY, 070 /** 071 * Occurs when an agent causes the system to tag record entry(ies) as obsolete, erroneous or untrustworthy, to warn against its future use. 072 */ 073 DEPRECATE, 074 /** 075 * Occurs when an agent causes the system to permanently erase record entry content from the system. 076 */ 077 DESTROY, 078 /** 079 * Occurs when an agent causes the system to release, transfer, provision access to, or otherwise divulge record entry content. 080 */ 081 DISCLOSE, 082 /** 083 * Occurs when an agent causes the system to encode record entry content in a cipher. 084 */ 085 ENCRYPT, 086 /** 087 * Occurs when an agent causes the system to selectively pull out a subset of record entry content, based on explicit criteria. 088 */ 089 EXTRACT, 090 /** 091 * Occurs when an agent causes the system to connect related record entries. 092 */ 093 LINK, 094 /** 095 * 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. 096 */ 097 MERGE, 098 /** 099 * 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. 100 */ 101 ORIGINATE, 102 /** 103 * 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. 104 */ 105 PSEUDONYMIZE, 106 /** 107 * Occurs when an agent causes the system to recreate or restore full status to record entries previously deleted or deprecated. 108 */ 109 REACTIVATE, 110 /** 111 * 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. 112 */ 113 RECEIVE, 114 /** 115 * Occurs when an agent causes the system to restore information to data that allows identification of information source and/or information subject. 116 */ 117 REIDENTIFY, 118 /** 119 * 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”. 120 */ 121 UNHOLD, 122 /** 123 * Occurs when an agent causes the system to produce and deliver record entry content in a particular form and manner. 124 */ 125 REPORT, 126 /** 127 * Occurs when an agent causes the system to recreate record entries and their content from a previous created archive artefact. 128 */ 129 RESTORE, 130 /** 131 * Occurs when an agent causes the system to change the form, language or code system used to represent record entry content. 132 */ 133 TRANSFORM, 134 /** 135 * Occurs when an agent causes the system to send record entry content from one (EHR/PHR/other) system to another. 136 */ 137 TRANSMIT, 138 /** 139 * Occurs when an agent causes the system to disconnect two or more record entries previously connected, rendering them separate (disconnected) again. 140 */ 141 UNLINK, 142 /** 143 * Occurs when an agent causes the system to reverse a previous record entry merge operation, rendering them separate again. 144 */ 145 UNMERGE, 146 /** 147 * 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. 148 */ 149 VERIFY, 150 /** 151 * added to help the parsers 152 */ 153 NULL; 154 public static Iso21089Lifecycle fromCode(String codeString) throws FHIRException { 155 if (codeString == null || "".equals(codeString)) 156 return null; 157 if ("access".equals(codeString)) 158 return ACCESS; 159 if ("hold".equals(codeString)) 160 return HOLD; 161 if ("amend".equals(codeString)) 162 return AMEND; 163 if ("archive".equals(codeString)) 164 return ARCHIVE; 165 if ("attest".equals(codeString)) 166 return ATTEST; 167 if ("decrypt".equals(codeString)) 168 return DECRYPT; 169 if ("deidentify".equals(codeString)) 170 return DEIDENTIFY; 171 if ("deprecate".equals(codeString)) 172 return DEPRECATE; 173 if ("destroy".equals(codeString)) 174 return DESTROY; 175 if ("disclose".equals(codeString)) 176 return DISCLOSE; 177 if ("encrypt".equals(codeString)) 178 return ENCRYPT; 179 if ("extract".equals(codeString)) 180 return EXTRACT; 181 if ("link".equals(codeString)) 182 return LINK; 183 if ("merge".equals(codeString)) 184 return MERGE; 185 if ("originate".equals(codeString)) 186 return ORIGINATE; 187 if ("pseudonymize".equals(codeString)) 188 return PSEUDONYMIZE; 189 if ("reactivate".equals(codeString)) 190 return REACTIVATE; 191 if ("receive".equals(codeString)) 192 return RECEIVE; 193 if ("reidentify".equals(codeString)) 194 return REIDENTIFY; 195 if ("unhold".equals(codeString)) 196 return UNHOLD; 197 if ("report".equals(codeString)) 198 return REPORT; 199 if ("restore".equals(codeString)) 200 return RESTORE; 201 if ("transform".equals(codeString)) 202 return TRANSFORM; 203 if ("transmit".equals(codeString)) 204 return TRANSMIT; 205 if ("unlink".equals(codeString)) 206 return UNLINK; 207 if ("unmerge".equals(codeString)) 208 return UNMERGE; 209 if ("verify".equals(codeString)) 210 return VERIFY; 211 throw new FHIRException("Unknown Iso21089Lifecycle code '"+codeString+"'"); 212 } 213 public String toCode() { 214 switch (this) { 215 case ACCESS: return "access"; 216 case HOLD: return "hold"; 217 case AMEND: return "amend"; 218 case ARCHIVE: return "archive"; 219 case ATTEST: return "attest"; 220 case DECRYPT: return "decrypt"; 221 case DEIDENTIFY: return "deidentify"; 222 case DEPRECATE: return "deprecate"; 223 case DESTROY: return "destroy"; 224 case DISCLOSE: return "disclose"; 225 case ENCRYPT: return "encrypt"; 226 case EXTRACT: return "extract"; 227 case LINK: return "link"; 228 case MERGE: return "merge"; 229 case ORIGINATE: return "originate"; 230 case PSEUDONYMIZE: return "pseudonymize"; 231 case REACTIVATE: return "reactivate"; 232 case RECEIVE: return "receive"; 233 case REIDENTIFY: return "reidentify"; 234 case UNHOLD: return "unhold"; 235 case REPORT: return "report"; 236 case RESTORE: return "restore"; 237 case TRANSFORM: return "transform"; 238 case TRANSMIT: return "transmit"; 239 case UNLINK: return "unlink"; 240 case UNMERGE: return "unmerge"; 241 case VERIFY: return "verify"; 242 default: return "?"; 243 } 244 } 245 public String getSystem() { 246 return "http://terminology.hl7.org/CodeSystem/iso-21089-lifecycle"; 247 } 248 public String getDefinition() { 249 switch (this) { 250 case ACCESS: return "Occurs when an agent causes the system to obtain and open a record entry for inspection or review."; 251 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”."; 252 case AMEND: return "Occurs when an agent makes any change to record entry content currently residing in storage considered permanent (persistent)."; 253 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."; 254 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."; 255 case DECRYPT: return "Occurs when an agent causes the system to decode record entry content from a cipher."; 256 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."; 257 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."; 258 case DESTROY: return "Occurs when an agent causes the system to permanently erase record entry content from the system."; 259 case DISCLOSE: return "Occurs when an agent causes the system to release, transfer, provision access to, or otherwise divulge record entry content."; 260 case ENCRYPT: return "Occurs when an agent causes the system to encode record entry content in a cipher."; 261 case EXTRACT: return "Occurs when an agent causes the system to selectively pull out a subset of record entry content, based on explicit criteria."; 262 case LINK: return "Occurs when an agent causes the system to connect related record entries."; 263 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."; 264 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."; 265 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."; 266 case REACTIVATE: return "Occurs when an agent causes the system to recreate or restore full status to record entries previously deleted or deprecated."; 267 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."; 268 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."; 269 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”."; 270 case REPORT: return "Occurs when an agent causes the system to produce and deliver record entry content in a particular form and manner."; 271 case RESTORE: return "Occurs when an agent causes the system to recreate record entries and their content from a previous created archive artefact."; 272 case TRANSFORM: return "Occurs when an agent causes the system to change the form, language or code system used to represent record entry content."; 273 case TRANSMIT: return "Occurs when an agent causes the system to send record entry content from one (EHR/PHR/other) system to another."; 274 case UNLINK: return "Occurs when an agent causes the system to disconnect two or more record entries previously connected, rendering them separate (disconnected) again."; 275 case UNMERGE: return "Occurs when an agent causes the system to reverse a previous record entry merge operation, rendering them separate again."; 276 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."; 277 default: return "?"; 278 } 279 } 280 public String getDisplay() { 281 switch (this) { 282 case ACCESS: return "Access/View Record Lifecycle Event"; 283 case HOLD: return "Add Legal Hold Record Lifecycle Event"; 284 case AMEND: return "Amend (Update) Record Lifecycle Event"; 285 case ARCHIVE: return "Archive Record Lifecycle Event"; 286 case ATTEST: return "Attest Record Lifecycle Event"; 287 case DECRYPT: return "Decrypt Record Lifecycle Event"; 288 case DEIDENTIFY: return "De-Identify (Anononymize) Record Lifecycle Event"; 289 case DEPRECATE: return "Deprecate Record Lifecycle Event"; 290 case DESTROY: return "Destroy/Delete Record Lifecycle Event"; 291 case DISCLOSE: return "Disclose Record Lifecycle Event"; 292 case ENCRYPT: return "Encrypt Record Lifecycle Event"; 293 case EXTRACT: return "Extract Record Lifecycle Event"; 294 case LINK: return "Link Record Lifecycle Event"; 295 case MERGE: return "Merge Record Lifecycle Event"; 296 case ORIGINATE: return "Originate/Retain Record Lifecycle Event"; 297 case PSEUDONYMIZE: return "Pseudonymize Record Lifecycle Event"; 298 case REACTIVATE: return "Re-activate Record Lifecycle Event"; 299 case RECEIVE: return "Receive/Retain Record Lifecycle Event"; 300 case REIDENTIFY: return "Re-identify Record Lifecycle Event"; 301 case UNHOLD: return "Remove Legal Hold Record Lifecycle Event"; 302 case REPORT: return "Report (Output) Record Lifecycle Event"; 303 case RESTORE: return "Restore Record Lifecycle Event"; 304 case TRANSFORM: return "Transform/Translate Record Lifecycle Event"; 305 case TRANSMIT: return "Transmit Record Lifecycle Event"; 306 case UNLINK: return "Unlink Record Lifecycle Event"; 307 case UNMERGE: return "Unmerge Record Lifecycle Event"; 308 case VERIFY: return "Verify Record Lifecycle Event"; 309 default: return "?"; 310 } 311 } 312 313 314}