001package org.hl7.fhir.dstu3.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 Sat, Mar 25, 2017 21:03-0400 for FHIR v3.0.0
036
037
038import org.hl7.fhir.exceptions.FHIRException;
039
040public enum GoalStatusReason {
041
042        /**
043         * Goal suspended or ended because of a surgical procedure.
044         */
045        SURGERY, 
046        /**
047         * Goal suspended or ended because of a significant life event (marital change, bereavement, etc.).
048         */
049        LIFEEVENT, 
050        /**
051         * Goal has been superseded by a new goal.
052         */
053        REPLACED, 
054        /**
055         * Patient wishes the goal to be set aside, at least temporarily.
056         */
057        PATIENTREQUEST, 
058        /**
059         * Goal can not be reached temporarily.
060         */
061        TEMPNOTATTAINABLE, 
062        /**
063         * Goal can not be reached permanently.
064         */
065        PERMANENTNOTATTAINABLE, 
066        /**
067         * Goal can not be reached due to financial barrier or reason.
068         */
069        FINANCIALBARRIER, 
070        /**
071         * Goal can not be reached due to a lack of transportation.
072         */
073        LACKOFTRANSPORTATION, 
074        /**
075         * Goal can not be reached due to a lack of social support.
076         */
077        LACKOFSOCIALSUPPORT, 
078        /**
079         * added to help the parsers
080         */
081        NULL;
082        public static GoalStatusReason fromCode(String codeString) throws FHIRException {
083            if (codeString == null || "".equals(codeString))
084                return null;
085        if ("surgery".equals(codeString))
086          return SURGERY;
087        if ("life-event".equals(codeString))
088          return LIFEEVENT;
089        if ("replaced".equals(codeString))
090          return REPLACED;
091        if ("patient-request".equals(codeString))
092          return PATIENTREQUEST;
093        if ("temp-not-attainable".equals(codeString))
094          return TEMPNOTATTAINABLE;
095        if ("permanent-not-attainable".equals(codeString))
096          return PERMANENTNOTATTAINABLE;
097        if ("financial-barrier".equals(codeString))
098          return FINANCIALBARRIER;
099        if ("lack-of-transportation".equals(codeString))
100          return LACKOFTRANSPORTATION;
101        if ("lack-of-social-support".equals(codeString))
102          return LACKOFSOCIALSUPPORT;
103        throw new FHIRException("Unknown GoalStatusReason code '"+codeString+"'");
104        }
105        public String toCode() {
106          switch (this) {
107            case SURGERY: return "surgery";
108            case LIFEEVENT: return "life-event";
109            case REPLACED: return "replaced";
110            case PATIENTREQUEST: return "patient-request";
111            case TEMPNOTATTAINABLE: return "temp-not-attainable";
112            case PERMANENTNOTATTAINABLE: return "permanent-not-attainable";
113            case FINANCIALBARRIER: return "financial-barrier";
114            case LACKOFTRANSPORTATION: return "lack-of-transportation";
115            case LACKOFSOCIALSUPPORT: return "lack-of-social-support";
116            case NULL: return null;
117            default: return "?";
118          }
119        }
120        public String getSystem() {
121          return "http://hl7.org/fhir/goal-status-reason";
122        }
123        public String getDefinition() {
124          switch (this) {
125            case SURGERY: return "Goal suspended or ended because of a surgical procedure.";
126            case LIFEEVENT: return "Goal suspended or ended because of a significant life event (marital change, bereavement, etc.).";
127            case REPLACED: return "Goal has been superseded by a new goal.";
128            case PATIENTREQUEST: return "Patient wishes the goal to be set aside, at least temporarily.";
129            case TEMPNOTATTAINABLE: return "Goal can not be reached temporarily.";
130            case PERMANENTNOTATTAINABLE: return "Goal can not be reached permanently.";
131            case FINANCIALBARRIER: return "Goal can not be reached due to financial barrier or reason.";
132            case LACKOFTRANSPORTATION: return "Goal can not be reached due to a lack of transportation.";
133            case LACKOFSOCIALSUPPORT: return "Goal can not be reached due to a lack of social support.";
134            case NULL: return null;
135            default: return "?";
136          }
137        }
138        public String getDisplay() {
139          switch (this) {
140            case SURGERY: return "Surgery";
141            case LIFEEVENT: return "Life Event";
142            case REPLACED: return "Replaced";
143            case PATIENTREQUEST: return "Patient Request";
144            case TEMPNOTATTAINABLE: return "Goal Not Attainable Temporarily";
145            case PERMANENTNOTATTAINABLE: return "Goal Not Attainable Permanently";
146            case FINANCIALBARRIER: return "Financial Reason";
147            case LACKOFTRANSPORTATION: return "Lack Of Transportation";
148            case LACKOFSOCIALSUPPORT: return "Lack Of Social Support";
149            case NULL: return null;
150            default: return "?";
151          }
152    }
153
154
155}