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 SubstanceCategory {
038
039        /**
040         * A substance that causes an allergic reaction.
041         */
042        ALLERGEN, 
043        /**
044         * A substance that is produced by or extracted from a biological source.
045         */
046        BIOLOGICAL, 
047        /**
048         * A substance that comes directly from a human or an animal (e.g. blood, urine, feces, tears, etc.).
049         */
050        BODY, 
051        /**
052         * Any organic or inorganic substance of a particular molecular identity, including -- (i) any combination of such substances occurring in whole or in part as a result of a chemical reaction or occurring in nature and (ii) any element or uncombined radical (http://www.epa.gov/opptintr/import-export/pubs/importguide.pdf).
053         */
054        CHEMICAL, 
055        /**
056         * A food, dietary ingredient, or dietary supplement for human or animal.
057         */
058        FOOD, 
059        /**
060         * A substance intended for use in the diagnosis, cure, mitigation, treatment, or prevention of disease in man or other animals (Federal Food Drug and Cosmetic Act).
061         */
062        DRUG, 
063        /**
064         * A finished product which is not normally ingested, absorbed or injected (e.g. steel, iron, wood, plastic and paper).
065         */
066        MATERIAL, 
067        /**
068         * added to help the parsers
069         */
070        NULL;
071        public static SubstanceCategory fromCode(String codeString) throws FHIRException {
072            if (codeString == null || "".equals(codeString))
073                return null;
074        if ("allergen".equals(codeString))
075          return ALLERGEN;
076        if ("biological".equals(codeString))
077          return BIOLOGICAL;
078        if ("body".equals(codeString))
079          return BODY;
080        if ("chemical".equals(codeString))
081          return CHEMICAL;
082        if ("food".equals(codeString))
083          return FOOD;
084        if ("drug".equals(codeString))
085          return DRUG;
086        if ("material".equals(codeString))
087          return MATERIAL;
088        throw new FHIRException("Unknown SubstanceCategory code '"+codeString+"'");
089        }
090        public String toCode() {
091          switch (this) {
092            case ALLERGEN: return "allergen";
093            case BIOLOGICAL: return "biological";
094            case BODY: return "body";
095            case CHEMICAL: return "chemical";
096            case FOOD: return "food";
097            case DRUG: return "drug";
098            case MATERIAL: return "material";
099            default: return "?";
100          }
101        }
102        public String getSystem() {
103          return "http://terminology.hl7.org/CodeSystem/substance-category";
104        }
105        public String getDefinition() {
106          switch (this) {
107            case ALLERGEN: return "A substance that causes an allergic reaction.";
108            case BIOLOGICAL: return "A substance that is produced by or extracted from a biological source.";
109            case BODY: return "A substance that comes directly from a human or an animal (e.g. blood, urine, feces, tears, etc.).";
110            case CHEMICAL: return "Any organic or inorganic substance of a particular molecular identity, including -- (i) any combination of such substances occurring in whole or in part as a result of a chemical reaction or occurring in nature and (ii) any element or uncombined radical (http://www.epa.gov/opptintr/import-export/pubs/importguide.pdf).";
111            case FOOD: return "A food, dietary ingredient, or dietary supplement for human or animal.";
112            case DRUG: return "A substance intended for use in the diagnosis, cure, mitigation, treatment, or prevention of disease in man or other animals (Federal Food Drug and Cosmetic Act).";
113            case MATERIAL: return "A finished product which is not normally ingested, absorbed or injected (e.g. steel, iron, wood, plastic and paper).";
114            default: return "?";
115          }
116        }
117        public String getDisplay() {
118          switch (this) {
119            case ALLERGEN: return "Allergen";
120            case BIOLOGICAL: return "Biological Substance";
121            case BODY: return "Body Substance";
122            case CHEMICAL: return "Chemical";
123            case FOOD: return "Dietary Substance";
124            case DRUG: return "Drug or Medicament";
125            case MATERIAL: return "Material";
126            default: return "?";
127          }
128    }
129
130
131}
132