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 Sun, May 6, 2018 17:51-0400 for FHIR v3.4.0
033
034
035import org.hl7.fhir.exceptions.FHIRException;
036
037public enum ReferencerangeMeaning {
038
039        /**
040         * General types of reference range.
041         */
042        TYPE, 
043        /**
044         * Based on 95th percentile for the relevant control population.
045         */
046        NORMAL, 
047        /**
048         * The range that is recommended by a relevant professional body.
049         */
050        RECOMMENDED, 
051        /**
052         * The range at which treatment would/should be considered.
053         */
054        TREATMENT, 
055        /**
056         * The optimal range for best therapeutic outcomes.
057         */
058        THERAPEUTIC, 
059        /**
060         * The optimal range for best therapeutic outcomes for a specimen taken immediately before administration.
061         */
062        PRE, 
063        /**
064         * The optimal range for best therapeutic outcomes for a specimen taken immediately after administration.
065         */
066        POST, 
067        /**
068         * Endocrine related states that change the expected value.
069         */
070        ENDOCRINE, 
071        /**
072         * An expected range in an individual prior to puberty.
073         */
074        PREPUBERTY, 
075        /**
076         * An expected range in an individual during the follicular stage of the cycle.
077         */
078        FOLLICULAR, 
079        /**
080         * An expected range in an individual during the follicular stage of the cycle.
081         */
082        MIDCYCLE, 
083        /**
084         * An expected range in an individual during the luteal stage of the cycle.
085         */
086        LUTEAL, 
087        /**
088         * An expected range in an individual post-menopause.
089         */
090        POSTMENOPAUSAL, 
091        /**
092         * added to help the parsers
093         */
094        NULL;
095        public static ReferencerangeMeaning fromCode(String codeString) throws FHIRException {
096            if (codeString == null || "".equals(codeString))
097                return null;
098        if ("type".equals(codeString))
099          return TYPE;
100        if ("normal".equals(codeString))
101          return NORMAL;
102        if ("recommended".equals(codeString))
103          return RECOMMENDED;
104        if ("treatment".equals(codeString))
105          return TREATMENT;
106        if ("therapeutic".equals(codeString))
107          return THERAPEUTIC;
108        if ("pre".equals(codeString))
109          return PRE;
110        if ("post".equals(codeString))
111          return POST;
112        if ("endocrine".equals(codeString))
113          return ENDOCRINE;
114        if ("pre-puberty".equals(codeString))
115          return PREPUBERTY;
116        if ("follicular".equals(codeString))
117          return FOLLICULAR;
118        if ("midcycle".equals(codeString))
119          return MIDCYCLE;
120        if ("luteal".equals(codeString))
121          return LUTEAL;
122        if ("postmenopausal".equals(codeString))
123          return POSTMENOPAUSAL;
124        throw new FHIRException("Unknown ReferencerangeMeaning code '"+codeString+"'");
125        }
126        public String toCode() {
127          switch (this) {
128            case TYPE: return "type";
129            case NORMAL: return "normal";
130            case RECOMMENDED: return "recommended";
131            case TREATMENT: return "treatment";
132            case THERAPEUTIC: return "therapeutic";
133            case PRE: return "pre";
134            case POST: return "post";
135            case ENDOCRINE: return "endocrine";
136            case PREPUBERTY: return "pre-puberty";
137            case FOLLICULAR: return "follicular";
138            case MIDCYCLE: return "midcycle";
139            case LUTEAL: return "luteal";
140            case POSTMENOPAUSAL: return "postmenopausal";
141            default: return "?";
142          }
143        }
144        public String getSystem() {
145          return "http://hl7.org/fhir/referencerange-meaning";
146        }
147        public String getDefinition() {
148          switch (this) {
149            case TYPE: return "General types of reference range.";
150            case NORMAL: return "Based on 95th percentile for the relevant control population.";
151            case RECOMMENDED: return "The range that is recommended by a relevant professional body.";
152            case TREATMENT: return "The range at which treatment would/should be considered.";
153            case THERAPEUTIC: return "The optimal range for best therapeutic outcomes.";
154            case PRE: return "The optimal range for best therapeutic outcomes for a specimen taken immediately before administration.";
155            case POST: return "The optimal range for best therapeutic outcomes for a specimen taken immediately after administration.";
156            case ENDOCRINE: return "Endocrine related states that change the expected value.";
157            case PREPUBERTY: return "An expected range in an individual prior to puberty.";
158            case FOLLICULAR: return "An expected range in an individual during the follicular stage of the cycle.";
159            case MIDCYCLE: return "An expected range in an individual during the follicular stage of the cycle.";
160            case LUTEAL: return "An expected range in an individual during the luteal stage of the cycle.";
161            case POSTMENOPAUSAL: return "An expected range in an individual post-menopause.";
162            default: return "?";
163          }
164        }
165        public String getDisplay() {
166          switch (this) {
167            case TYPE: return "Type";
168            case NORMAL: return "Normal Range";
169            case RECOMMENDED: return "Recommended Range";
170            case TREATMENT: return "Treatment Range";
171            case THERAPEUTIC: return "Therapeutic Desired Level";
172            case PRE: return "Pre Therapeutic Desired Level";
173            case POST: return "Post Therapeutic Desired Level";
174            case ENDOCRINE: return "Endocrine";
175            case PREPUBERTY: return "Pre-Puberty";
176            case FOLLICULAR: return "Follicular Stage";
177            case MIDCYCLE: return "MidCycle";
178            case LUTEAL: return "Luteal";
179            case POSTMENOPAUSAL: return "Post-Menopause";
180            default: return "?";
181          }
182    }
183
184
185}
186