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 MedicationdispenseStatus {
041
042        /**
043         * The core event has not started yet, but some staging activities have begun (e.g. initial compounding or packaging of medication). Preparation stages may be tracked for billing purposes.
044         */
045        PREPARATION, 
046        /**
047         * The dispensed product is ready for pickup.
048         */
049        INPROGRESS, 
050        /**
051         * The dispensed product was not and will never be picked up by the patient.
052         */
053        CANCELLED, 
054        /**
055         * The dispense process is paused while waiting for an external event to reactivate the dispense.  For example, new stock has arrived or the prescriber has called.
056         */
057        ONHOLD, 
058        /**
059         * The dispensed product has been picked up.
060         */
061        COMPLETED, 
062        /**
063         * The dispense was entered in error and therefore nullified.
064         */
065        ENTEREDINERROR, 
066        /**
067         * Actions implied by the dispense have been permanently halted, before all of them occurred.
068         */
069        STOPPED, 
070        /**
071         * The dispense was declined and not performed.
072         */
073        DECLINED, 
074        /**
075         * The authoring system does not know which of the status values applies for this medication dispense.  Note: this concept is not to be used for other - one of the listed statuses is presumed to apply, it's just now known which one.
076         */
077        UNKNOWN, 
078        /**
079         * added to help the parsers
080         */
081        NULL;
082        public static MedicationdispenseStatus fromCode(String codeString) throws FHIRException {
083            if (codeString == null || "".equals(codeString))
084                return null;
085        if ("preparation".equals(codeString))
086          return PREPARATION;
087        if ("in-progress".equals(codeString))
088          return INPROGRESS;
089        if ("cancelled".equals(codeString))
090          return CANCELLED;
091        if ("on-hold".equals(codeString))
092          return ONHOLD;
093        if ("completed".equals(codeString))
094          return COMPLETED;
095        if ("entered-in-error".equals(codeString))
096          return ENTEREDINERROR;
097        if ("stopped".equals(codeString))
098          return STOPPED;
099        if ("declined".equals(codeString))
100          return DECLINED;
101        if ("unknown".equals(codeString))
102          return UNKNOWN;
103        throw new FHIRException("Unknown MedicationdispenseStatus code '"+codeString+"'");
104        }
105        public String toCode() {
106          switch (this) {
107            case PREPARATION: return "preparation";
108            case INPROGRESS: return "in-progress";
109            case CANCELLED: return "cancelled";
110            case ONHOLD: return "on-hold";
111            case COMPLETED: return "completed";
112            case ENTEREDINERROR: return "entered-in-error";
113            case STOPPED: return "stopped";
114            case DECLINED: return "declined";
115            case UNKNOWN: return "unknown";
116            case NULL: return null;
117            default: return "?";
118          }
119        }
120        public String getSystem() {
121          return "http://terminology.hl7.org/CodeSystem/medicationdispense-status";
122        }
123        public String getDefinition() {
124          switch (this) {
125            case PREPARATION: return "The core event has not started yet, but some staging activities have begun (e.g. initial compounding or packaging of medication). Preparation stages may be tracked for billing purposes.";
126            case INPROGRESS: return "The dispensed product is ready for pickup.";
127            case CANCELLED: return "The dispensed product was not and will never be picked up by the patient.";
128            case ONHOLD: return "The dispense process is paused while waiting for an external event to reactivate the dispense.  For example, new stock has arrived or the prescriber has called.";
129            case COMPLETED: return "The dispensed product has been picked up.";
130            case ENTEREDINERROR: return "The dispense was entered in error and therefore nullified.";
131            case STOPPED: return "Actions implied by the dispense have been permanently halted, before all of them occurred.";
132            case DECLINED: return "The dispense was declined and not performed.";
133            case UNKNOWN: return "The authoring system does not know which of the status values applies for this medication dispense.  Note: this concept is not to be used for other - one of the listed statuses is presumed to apply, it's just now known which one.";
134            case NULL: return null;
135            default: return "?";
136          }
137        }
138        public String getDisplay() {
139          switch (this) {
140            case PREPARATION: return "Preparation";
141            case INPROGRESS: return "In Progress";
142            case CANCELLED: return "Cancelled";
143            case ONHOLD: return "On Hold";
144            case COMPLETED: return "Completed";
145            case ENTEREDINERROR: return "Entered in Error";
146            case STOPPED: return "Stopped";
147            case DECLINED: return "Declined";
148            case UNKNOWN: return "Unknown";
149            case NULL: return null;
150            default: return "?";
151          }
152    }
153
154
155}