001package org.hl7.fhir.r4.model.codesystems;
002
003/*
004  Copyright (c) 2011+, HL7, Inc.
005  All rights reserved.
006  
007  Redistribution and use in source and binary forms, with or without modification, 
008  are permitted provided that the following conditions are met:
009  
010   * Redistributions of source code must retain the above copyright notice, this 
011     list of conditions and the following disclaimer.
012   * Redistributions in binary form must reproduce the above copyright notice, 
013     this list of conditions and the following disclaimer in the documentation 
014     and/or other materials provided with the distribution.
015   * Neither the name of HL7 nor the names of its contributors may be used to 
016     endorse or promote products derived from this software without specific 
017     prior written permission.
018  
019  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
020  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
021  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
022  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
023  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
024  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
025  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
026  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
027  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
028  POSSIBILITY OF SUCH DAMAGE.
029  
030*/
031
032// Generated on Thu, Sep 13, 2018 09:04-0400 for FHIR v3.5.0
033
034
035import org.hl7.fhir.exceptions.FHIRException;
036
037public enum ChargeitemStatus {
038
039        /**
040         * The charge item has been entered, but the charged service is not  yet complete, so it shall not be billed yet but might be used in the context of pre-authorization.
041         */
042        PLANNED, 
043        /**
044         * The charge item is ready for billing.
045         */
046        BILLABLE, 
047        /**
048         * The charge item has been determined to be not billable (e.g. due to rules associated with the billing code).
049         */
050        NOTBILLABLE, 
051        /**
052         * The processing of the charge was aborted.
053         */
054        ABORTED, 
055        /**
056         * The charge item has been billed (e.g. a billing engine has generated financial transactions by applying the associated ruled for the charge item to the context of the Encounter, and placed them into Claims/Invoices.
057         */
058        BILLED, 
059        /**
060         * The charge item has been entered in error and should not be processed for billing.
061         */
062        ENTEREDINERROR, 
063        /**
064         * The authoring system does not know which of the status values currently applies for this charge item  Note: This concept is not to be used for "other" - one of the listed statuses is presumed to apply, it's just not known which one.
065         */
066        UNKNOWN, 
067        /**
068         * added to help the parsers
069         */
070        NULL;
071        public static ChargeitemStatus fromCode(String codeString) throws FHIRException {
072            if (codeString == null || "".equals(codeString))
073                return null;
074        if ("planned".equals(codeString))
075          return PLANNED;
076        if ("billable".equals(codeString))
077          return BILLABLE;
078        if ("not-billable".equals(codeString))
079          return NOTBILLABLE;
080        if ("aborted".equals(codeString))
081          return ABORTED;
082        if ("billed".equals(codeString))
083          return BILLED;
084        if ("entered-in-error".equals(codeString))
085          return ENTEREDINERROR;
086        if ("unknown".equals(codeString))
087          return UNKNOWN;
088        throw new FHIRException("Unknown ChargeitemStatus code '"+codeString+"'");
089        }
090        public String toCode() {
091          switch (this) {
092            case PLANNED: return "planned";
093            case BILLABLE: return "billable";
094            case NOTBILLABLE: return "not-billable";
095            case ABORTED: return "aborted";
096            case BILLED: return "billed";
097            case ENTEREDINERROR: return "entered-in-error";
098            case UNKNOWN: return "unknown";
099            default: return "?";
100          }
101        }
102        public String getSystem() {
103          return "http://hl7.org/fhir/chargeitem-status";
104        }
105        public String getDefinition() {
106          switch (this) {
107            case PLANNED: return "The charge item has been entered, but the charged service is not  yet complete, so it shall not be billed yet but might be used in the context of pre-authorization.";
108            case BILLABLE: return "The charge item is ready for billing.";
109            case NOTBILLABLE: return "The charge item has been determined to be not billable (e.g. due to rules associated with the billing code).";
110            case ABORTED: return "The processing of the charge was aborted.";
111            case BILLED: return "The charge item has been billed (e.g. a billing engine has generated financial transactions by applying the associated ruled for the charge item to the context of the Encounter, and placed them into Claims/Invoices.";
112            case ENTEREDINERROR: return "The charge item has been entered in error and should not be processed for billing.";
113            case UNKNOWN: return "The authoring system does not know which of the status values currently applies for this charge item  Note: This concept is not to be used for \"other\" - one of the listed statuses is presumed to apply, it's just not known which one.";
114            default: return "?";
115          }
116        }
117        public String getDisplay() {
118          switch (this) {
119            case PLANNED: return "Planned";
120            case BILLABLE: return "Billable";
121            case NOTBILLABLE: return "Not billable";
122            case ABORTED: return "Aborted";
123            case BILLED: return "Billed";
124            case ENTEREDINERROR: return "Entered in Error";
125            case UNKNOWN: return "Unknown";
126            default: return "?";
127          }
128    }
129
130
131}
132