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 Wed, Jan 30, 2019 16:19-0500 for FHIR v4.0.0
033
034import org.hl7.fhir.exceptions.FHIRException;
035
036public enum ProvenanceEntityRole {
037
038  /**
039   * A transformation of an entity into another, an update of an entity resulting
040   * in a new one, or the construction of a new entity based on a pre-existing
041   * entity.
042   */
043  DERIVATION,
044  /**
045   * A derivation for which the resulting entity is a revised version of some
046   * original.
047   */
048  REVISION,
049  /**
050   * The repeat of (some or all of) an entity, such as text or image, by someone
051   * who might or might not be its original author.
052   */
053  QUOTATION,
054  /**
055   * A primary source for a topic refers to something produced by some agent with
056   * direct experience and knowledge about the topic, at the time of the topic's
057   * study, without benefit from hindsight.
058   */
059  SOURCE,
060  /**
061   * A derivation for which the entity is removed from accessibility usually
062   * through the use of the Delete operation.
063   */
064  REMOVAL,
065  /**
066   * added to help the parsers
067   */
068  NULL;
069
070  public static ProvenanceEntityRole fromCode(String codeString) throws FHIRException {
071    if (codeString == null || "".equals(codeString))
072      return null;
073    if ("derivation".equals(codeString))
074      return DERIVATION;
075    if ("revision".equals(codeString))
076      return REVISION;
077    if ("quotation".equals(codeString))
078      return QUOTATION;
079    if ("source".equals(codeString))
080      return SOURCE;
081    if ("removal".equals(codeString))
082      return REMOVAL;
083    throw new FHIRException("Unknown ProvenanceEntityRole code '" + codeString + "'");
084  }
085
086  public String toCode() {
087    switch (this) {
088    case DERIVATION:
089      return "derivation";
090    case REVISION:
091      return "revision";
092    case QUOTATION:
093      return "quotation";
094    case SOURCE:
095      return "source";
096    case REMOVAL:
097      return "removal";
098    case NULL:
099      return null;
100    default:
101      return "?";
102    }
103  }
104
105  public String getSystem() {
106    return "http://hl7.org/fhir/provenance-entity-role";
107  }
108
109  public String getDefinition() {
110    switch (this) {
111    case DERIVATION:
112      return "A transformation of an entity into another, an update of an entity resulting in a new one, or the construction of a new entity based on a pre-existing entity.";
113    case REVISION:
114      return "A derivation for which the resulting entity is a revised version of some original.";
115    case QUOTATION:
116      return "The repeat of (some or all of) an entity, such as text or image, by someone who might or might not be its original author.";
117    case SOURCE:
118      return "A primary source for a topic refers to something produced by some agent with direct experience and knowledge about the topic, at the time of the topic's study, without benefit from hindsight.";
119    case REMOVAL:
120      return "A derivation for which the entity is removed from accessibility usually through the use of the Delete operation.";
121    case NULL:
122      return null;
123    default:
124      return "?";
125    }
126  }
127
128  public String getDisplay() {
129    switch (this) {
130    case DERIVATION:
131      return "Derivation";
132    case REVISION:
133      return "Revision";
134    case QUOTATION:
135      return "Quotation";
136    case SOURCE:
137      return "Source";
138    case REMOVAL:
139      return "Removal";
140    case NULL:
141      return null;
142    default:
143      return "?";
144    }
145  }
146
147}