001package org.hl7.fhir.r4.model.codesystems;
002
003/*-
004 * #%L
005 * org.hl7.fhir.r4
006 * %%
007 * Copyright (C) 2014 - 2019 Health Level 7
008 * %%
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 * 
013 *      http://www.apache.org/licenses/LICENSE-2.0
014 * 
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 * #L%
021 */
022
023
024/*
025  Copyright (c) 2011+, HL7, Inc.
026  All rights reserved.
027  
028  Redistribution and use in source and binary forms, with or without modification, 
029  are permitted provided that the following conditions are met:
030  
031   * Redistributions of source code must retain the above copyright notice, this 
032     list of conditions and the following disclaimer.
033   * Redistributions in binary form must reproduce the above copyright notice, 
034     this list of conditions and the following disclaimer in the documentation 
035     and/or other materials provided with the distribution.
036   * Neither the name of HL7 nor the names of its contributors may be used to 
037     endorse or promote products derived from this software without specific 
038     prior written permission.
039  
040  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
041  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
042  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
043  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
044  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
045  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
046  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
047  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
048  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
049  POSSIBILITY OF SUCH DAMAGE.
050  
051*/
052
053// Generated on Wed, Jan 30, 2019 16:19-0500 for FHIR v4.0.0
054
055
056import org.hl7.fhir.exceptions.FHIRException;
057
058public enum Appointmentstatus {
059
060        /**
061         * None of the participant(s) have finalized their acceptance of the appointment request, and the start/end time might not be set yet.
062         */
063        PROPOSED, 
064        /**
065         * Some or all of the participant(s) have not finalized their acceptance of the appointment request.
066         */
067        PENDING, 
068        /**
069         * All participant(s) have been considered and the appointment is confirmed to go ahead at the date/times specified.
070         */
071        BOOKED, 
072        /**
073         * The patient/patients has/have arrived and is/are waiting to be seen.
074         */
075        ARRIVED, 
076        /**
077         * The planning stages of the appointment are now complete, the encounter resource will exist and will track further status changes. Note that an encounter may exist before the appointment status is fulfilled for many reasons.
078         */
079        FULFILLED, 
080        /**
081         * The appointment has been cancelled.
082         */
083        CANCELLED, 
084        /**
085         * Some or all of the participant(s) have not/did not appear for the appointment (usually the patient).
086         */
087        NOSHOW, 
088        /**
089         * This instance should not have been part of this patient's medical record.
090         */
091        ENTEREDINERROR, 
092        /**
093         * When checked in, all pre-encounter administrative work is complete, and the encounter may begin. (where multiple patients are involved, they are all present).
094         */
095        CHECKEDIN, 
096        /**
097         * The appointment has been placed on a waitlist, to be scheduled/confirmed in the future when a slot/service is available.
098A specific time might or might not be pre-allocated.
099         */
100        WAITLIST, 
101        /**
102         * added to help the parsers
103         */
104        NULL;
105        public static Appointmentstatus fromCode(String codeString) throws FHIRException {
106            if (codeString == null || "".equals(codeString))
107                return null;
108        if ("proposed".equals(codeString))
109          return PROPOSED;
110        if ("pending".equals(codeString))
111          return PENDING;
112        if ("booked".equals(codeString))
113          return BOOKED;
114        if ("arrived".equals(codeString))
115          return ARRIVED;
116        if ("fulfilled".equals(codeString))
117          return FULFILLED;
118        if ("cancelled".equals(codeString))
119          return CANCELLED;
120        if ("noshow".equals(codeString))
121          return NOSHOW;
122        if ("entered-in-error".equals(codeString))
123          return ENTEREDINERROR;
124        if ("checked-in".equals(codeString))
125          return CHECKEDIN;
126        if ("waitlist".equals(codeString))
127          return WAITLIST;
128        throw new FHIRException("Unknown Appointmentstatus code '"+codeString+"'");
129        }
130        public String toCode() {
131          switch (this) {
132            case PROPOSED: return "proposed";
133            case PENDING: return "pending";
134            case BOOKED: return "booked";
135            case ARRIVED: return "arrived";
136            case FULFILLED: return "fulfilled";
137            case CANCELLED: return "cancelled";
138            case NOSHOW: return "noshow";
139            case ENTEREDINERROR: return "entered-in-error";
140            case CHECKEDIN: return "checked-in";
141            case WAITLIST: return "waitlist";
142            default: return "?";
143          }
144        }
145        public String getSystem() {
146          return "http://hl7.org/fhir/appointmentstatus";
147        }
148        public String getDefinition() {
149          switch (this) {
150            case PROPOSED: return "None of the participant(s) have finalized their acceptance of the appointment request, and the start/end time might not be set yet.";
151            case PENDING: return "Some or all of the participant(s) have not finalized their acceptance of the appointment request.";
152            case BOOKED: return "All participant(s) have been considered and the appointment is confirmed to go ahead at the date/times specified.";
153            case ARRIVED: return "The patient/patients has/have arrived and is/are waiting to be seen.";
154            case FULFILLED: return "The planning stages of the appointment are now complete, the encounter resource will exist and will track further status changes. Note that an encounter may exist before the appointment status is fulfilled for many reasons.";
155            case CANCELLED: return "The appointment has been cancelled.";
156            case NOSHOW: return "Some or all of the participant(s) have not/did not appear for the appointment (usually the patient).";
157            case ENTEREDINERROR: return "This instance should not have been part of this patient's medical record.";
158            case CHECKEDIN: return "When checked in, all pre-encounter administrative work is complete, and the encounter may begin. (where multiple patients are involved, they are all present).";
159            case WAITLIST: return "The appointment has been placed on a waitlist, to be scheduled/confirmed in the future when a slot/service is available.\nA specific time might or might not be pre-allocated.";
160            default: return "?";
161          }
162        }
163        public String getDisplay() {
164          switch (this) {
165            case PROPOSED: return "Proposed";
166            case PENDING: return "Pending";
167            case BOOKED: return "Booked";
168            case ARRIVED: return "Arrived";
169            case FULFILLED: return "Fulfilled";
170            case CANCELLED: return "Cancelled";
171            case NOSHOW: return "No Show";
172            case ENTEREDINERROR: return "Entered in error";
173            case CHECKEDIN: return "Checked In";
174            case WAITLIST: return "Waitlisted";
175            default: return "?";
176          }
177    }
178
179
180}
181