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 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 cannot be reached temporarily.
060         */
061        TEMPNOTATTAINABLE, 
062        /**
063         * Goal cannot be reached permanently.
064         */
065        PERMANENTNOTATTAINABLE, 
066        /**
067         * Goal cannot be reached due to financial barrier or reason.
068         */
069        FINANCIALBARRIER, 
070        /**
071         * Goal cannot be reached due to a lack of transportation.
072         */
073        LACKOFTRANSPORTATION, 
074        /**
075         * Goal cannot 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            default: return "?";
117          }
118        }
119        public String getSystem() {
120          return "http://hl7.org/fhir/goal-status-reason";
121        }
122        public String getDefinition() {
123          switch (this) {
124            case SURGERY: return "Goal suspended or ended because of a surgical procedure.";
125            case LIFEEVENT: return "Goal suspended or ended because of a significant life event (marital change, bereavement, etc.).";
126            case REPLACED: return "Goal has been superseded by a new goal.";
127            case PATIENTREQUEST: return "Patient wishes the goal to be set aside, at least temporarily.";
128            case TEMPNOTATTAINABLE: return "Goal cannot be reached temporarily.";
129            case PERMANENTNOTATTAINABLE: return "Goal cannot be reached permanently.";
130            case FINANCIALBARRIER: return "Goal cannot be reached due to financial barrier or reason.";
131            case LACKOFTRANSPORTATION: return "Goal cannot be reached due to a lack of transportation.";
132            case LACKOFSOCIALSUPPORT: return "Goal cannot be reached due to a lack of social support.";
133            default: return "?";
134          }
135        }
136        public String getDisplay() {
137          switch (this) {
138            case SURGERY: return "Surgery";
139            case LIFEEVENT: return "Life Event";
140            case REPLACED: return "Replaced";
141            case PATIENTREQUEST: return "Patient Request";
142            case TEMPNOTATTAINABLE: return "Goal Not Attainable Temporarily";
143            case PERMANENTNOTATTAINABLE: return "Goal Not Attainable Permanently";
144            case FINANCIALBARRIER: return "Financial Reason";
145            case LACKOFTRANSPORTATION: return "Lack Of Transportation";
146            case LACKOFSOCIALSUPPORT: return "Lack Of Social Support";
147            default: return "?";
148          }
149    }
150
151
152}