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 Appointmentstatus {
041
042        /**
043         * None of the participant(s) have finalized their acceptance of the appointment request, and the start/end time might not be set yet.
044         */
045        PROPOSED, 
046        /**
047         * Some or all of the participant(s) have not finalized their acceptance of the appointment request.
048         */
049        PENDING, 
050        /**
051         * All participant(s) have been considered and the appointment is confirmed to go ahead at the date/times specified.
052         */
053        BOOKED, 
054        /**
055         * The patient/patients has/have arrived and is/are waiting to be seen.
056         */
057        ARRIVED, 
058        /**
059         * 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.
060         */
061        FULFILLED, 
062        /**
063         * The appointment has been cancelled.
064         */
065        CANCELLED, 
066        /**
067         * Some or all of the participant(s) have not/did not appear for the appointment (usually the patient).
068         */
069        NOSHOW, 
070        /**
071         * This instance should not have been part of this patient's medical record.
072         */
073        ENTEREDINERROR, 
074        /**
075         * When checked in, all pre-encounter administrative work is complete, and the encounter may begin. (where multiple patients are involved, they are all present).
076         */
077        CHECKEDIN, 
078        /**
079         * The appointment has been placed on a waitlist, to be scheduled/confirmed in the future when a slot/service is available.
080A specific time might or might not be pre-allocated.
081         */
082        WAITLIST, 
083        /**
084         * added to help the parsers
085         */
086        NULL;
087        public static Appointmentstatus fromCode(String codeString) throws FHIRException {
088            if (codeString == null || "".equals(codeString))
089                return null;
090        if ("proposed".equals(codeString))
091          return PROPOSED;
092        if ("pending".equals(codeString))
093          return PENDING;
094        if ("booked".equals(codeString))
095          return BOOKED;
096        if ("arrived".equals(codeString))
097          return ARRIVED;
098        if ("fulfilled".equals(codeString))
099          return FULFILLED;
100        if ("cancelled".equals(codeString))
101          return CANCELLED;
102        if ("noshow".equals(codeString))
103          return NOSHOW;
104        if ("entered-in-error".equals(codeString))
105          return ENTEREDINERROR;
106        if ("checked-in".equals(codeString))
107          return CHECKEDIN;
108        if ("waitlist".equals(codeString))
109          return WAITLIST;
110        throw new FHIRException("Unknown Appointmentstatus code '"+codeString+"'");
111        }
112        public String toCode() {
113          switch (this) {
114            case PROPOSED: return "proposed";
115            case PENDING: return "pending";
116            case BOOKED: return "booked";
117            case ARRIVED: return "arrived";
118            case FULFILLED: return "fulfilled";
119            case CANCELLED: return "cancelled";
120            case NOSHOW: return "noshow";
121            case ENTEREDINERROR: return "entered-in-error";
122            case CHECKEDIN: return "checked-in";
123            case WAITLIST: return "waitlist";
124            default: return "?";
125          }
126        }
127        public String getSystem() {
128          return "http://hl7.org/fhir/appointmentstatus";
129        }
130        public String getDefinition() {
131          switch (this) {
132            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.";
133            case PENDING: return "Some or all of the participant(s) have not finalized their acceptance of the appointment request.";
134            case BOOKED: return "All participant(s) have been considered and the appointment is confirmed to go ahead at the date/times specified.";
135            case ARRIVED: return "The patient/patients has/have arrived and is/are waiting to be seen.";
136            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.";
137            case CANCELLED: return "The appointment has been cancelled.";
138            case NOSHOW: return "Some or all of the participant(s) have not/did not appear for the appointment (usually the patient).";
139            case ENTEREDINERROR: return "This instance should not have been part of this patient's medical record.";
140            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).";
141            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.";
142            default: return "?";
143          }
144        }
145        public String getDisplay() {
146          switch (this) {
147            case PROPOSED: return "Proposed";
148            case PENDING: return "Pending";
149            case BOOKED: return "Booked";
150            case ARRIVED: return "Arrived";
151            case FULFILLED: return "Fulfilled";
152            case CANCELLED: return "Cancelled";
153            case NOSHOW: return "No Show";
154            case ENTEREDINERROR: return "Entered in error";
155            case CHECKEDIN: return "Checked In";
156            case WAITLIST: return "Waitlisted";
157            default: return "?";
158          }
159    }
160
161
162}