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 V3RoleStatus {
037
038  /**
039   * The 'typical' state. Excludes "nullified" which represents the termination
040   * state of a Role instance that was created in error.
041   */
042  NORMAL,
043  /**
044   * The state representing the fact that the Entity is currently active in the
045   * Role.
046   */
047  ACTIVE,
048  /**
049   * The terminal state resulting from cancellation of the role prior to
050   * activation.
051   */
052  CANCELLED,
053  /**
054   * The state representing that fact that the role has not yet become active.
055   */
056  PENDING,
057  /**
058   * The state that represents a suspension of the Entity playing the Role. This
059   * state is arrived at from the "active" state.
060   */
061  SUSPENDED,
062  /**
063   * The state representing the successful termination of the Role.
064   */
065  TERMINATED,
066  /**
067   * The state representing the termination of a Role instance that was created in
068   * error.
069   */
070  NULLIFIED,
071  /**
072   * added to help the parsers
073   */
074  NULL;
075
076  public static V3RoleStatus fromCode(String codeString) throws FHIRException {
077    if (codeString == null || "".equals(codeString))
078      return null;
079    if ("normal".equals(codeString))
080      return NORMAL;
081    if ("active".equals(codeString))
082      return ACTIVE;
083    if ("cancelled".equals(codeString))
084      return CANCELLED;
085    if ("pending".equals(codeString))
086      return PENDING;
087    if ("suspended".equals(codeString))
088      return SUSPENDED;
089    if ("terminated".equals(codeString))
090      return TERMINATED;
091    if ("nullified".equals(codeString))
092      return NULLIFIED;
093    throw new FHIRException("Unknown V3RoleStatus code '" + codeString + "'");
094  }
095
096  public String toCode() {
097    switch (this) {
098    case NORMAL:
099      return "normal";
100    case ACTIVE:
101      return "active";
102    case CANCELLED:
103      return "cancelled";
104    case PENDING:
105      return "pending";
106    case SUSPENDED:
107      return "suspended";
108    case TERMINATED:
109      return "terminated";
110    case NULLIFIED:
111      return "nullified";
112    case NULL:
113      return null;
114    default:
115      return "?";
116    }
117  }
118
119  public String getSystem() {
120    return "http://terminology.hl7.org/CodeSystem/v3-RoleStatus";
121  }
122
123  public String getDefinition() {
124    switch (this) {
125    case NORMAL:
126      return "The 'typical' state. Excludes \"nullified\" which represents the termination state of a Role instance that was created in error.";
127    case ACTIVE:
128      return "The state representing the fact that the Entity is currently active in the Role.";
129    case CANCELLED:
130      return "The terminal state resulting from cancellation of the role prior to activation.";
131    case PENDING:
132      return "The state representing that fact that the role has not yet become active.";
133    case SUSPENDED:
134      return "The state that represents a suspension of the Entity playing the Role. This state is arrived at from the \"active\" state.";
135    case TERMINATED:
136      return "The state representing the successful termination of the Role.";
137    case NULLIFIED:
138      return "The state representing the termination of a Role instance that was created in error.";
139    case NULL:
140      return null;
141    default:
142      return "?";
143    }
144  }
145
146  public String getDisplay() {
147    switch (this) {
148    case NORMAL:
149      return "normal";
150    case ACTIVE:
151      return "active";
152    case CANCELLED:
153      return "cancelled";
154    case PENDING:
155      return "pending";
156    case SUSPENDED:
157      return "suspended";
158    case TERMINATED:
159      return "terminated";
160    case NULLIFIED:
161      return "nullified";
162    case NULL:
163      return null;
164    default:
165      return "?";
166    }
167  }
168
169}