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 GoalAchievement {
041
042        /**
043         * The goal is being sought but has not yet been reached. (Also applies if the goal was reached in the past but there has been regression and the goal is again being sought).
044         */
045        INPROGRESS, 
046        /**
047         * The goal is being sought, and is progressing.
048         */
049        IMPROVING, 
050        /**
051         * The goal is being sought, but is regressing.
052         */
053        WORSENING, 
054        /**
055         * The goal is being sought, but the trend is flat.
056         */
057        NOCHANGE, 
058        /**
059         * The goal has been met.
060         */
061        ACHIEVED, 
062        /**
063         * The goal has been met, but ongoing activity is needed to sustain the goal objective.
064         */
065        SUSTAINING, 
066        /**
067         * The goal has not been met and there might or might not have been progress towards target.
068         */
069        NOTACHIEVED, 
070        /**
071         * The goal has not been met and little to no progress towards target.
072         */
073        NOPROGRESS, 
074        /**
075         * The goal is not possible to be met.
076         */
077        NOTATTAINABLE, 
078        /**
079         * added to help the parsers
080         */
081        NULL;
082        public static GoalAchievement fromCode(String codeString) throws FHIRException {
083            if (codeString == null || "".equals(codeString))
084                return null;
085        if ("in-progress".equals(codeString))
086          return INPROGRESS;
087        if ("improving".equals(codeString))
088          return IMPROVING;
089        if ("worsening".equals(codeString))
090          return WORSENING;
091        if ("no-change".equals(codeString))
092          return NOCHANGE;
093        if ("achieved".equals(codeString))
094          return ACHIEVED;
095        if ("sustaining".equals(codeString))
096          return SUSTAINING;
097        if ("not-achieved".equals(codeString))
098          return NOTACHIEVED;
099        if ("no-progress".equals(codeString))
100          return NOPROGRESS;
101        if ("not-attainable".equals(codeString))
102          return NOTATTAINABLE;
103        throw new FHIRException("Unknown GoalAchievement code '"+codeString+"'");
104        }
105        public String toCode() {
106          switch (this) {
107            case INPROGRESS: return "in-progress";
108            case IMPROVING: return "improving";
109            case WORSENING: return "worsening";
110            case NOCHANGE: return "no-change";
111            case ACHIEVED: return "achieved";
112            case SUSTAINING: return "sustaining";
113            case NOTACHIEVED: return "not-achieved";
114            case NOPROGRESS: return "no-progress";
115            case NOTATTAINABLE: return "not-attainable";
116            case NULL: return null;
117            default: return "?";
118          }
119        }
120        public String getSystem() {
121          return "http://terminology.hl7.org/CodeSystem/goal-achievement";
122        }
123        public String getDefinition() {
124          switch (this) {
125            case INPROGRESS: return "The goal is being sought but has not yet been reached. (Also applies if the goal was reached in the past but there has been regression and the goal is again being sought).";
126            case IMPROVING: return "The goal is being sought, and is progressing.";
127            case WORSENING: return "The goal is being sought, but is regressing.";
128            case NOCHANGE: return "The goal is being sought, but the trend is flat.";
129            case ACHIEVED: return "The goal has been met.";
130            case SUSTAINING: return "The goal has been met, but ongoing activity is needed to sustain the goal objective.";
131            case NOTACHIEVED: return "The goal has not been met and there might or might not have been progress towards target.";
132            case NOPROGRESS: return "The goal has not been met and little to no progress towards target.";
133            case NOTATTAINABLE: return "The goal is not possible to be met.";
134            case NULL: return null;
135            default: return "?";
136          }
137        }
138        public String getDisplay() {
139          switch (this) {
140            case INPROGRESS: return "In Progress";
141            case IMPROVING: return "Improving";
142            case WORSENING: return "Worsening";
143            case NOCHANGE: return "No Change";
144            case ACHIEVED: return "Achieved";
145            case SUSTAINING: return "Sustaining";
146            case NOTACHIEVED: return "Not Achieved";
147            case NOPROGRESS: return "No Progress";
148            case NOTATTAINABLE: return "Not Attainable";
149            case NULL: return null;
150            default: return "?";
151          }
152    }
153
154
155}