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 GenderIdentity {
038
039        /**
040         * the patient identifies as transgender male-to-female
041         */
042        TRANSGENDERFEMALE, 
043        /**
044         * the patient identifies as transgender female-to-male
045         */
046        TRANSGENDERMALE, 
047        /**
048         * the patient identifies with neither/both female and male
049         */
050        NONBINARY, 
051        /**
052         * the patient identifies as male
053         */
054        MALE, 
055        /**
056         * the patient identifies as female
057         */
058        FEMALE, 
059        /**
060         * other gender identity
061         */
062        OTHER, 
063        /**
064         * the patient does not wish to disclose his gender identity
065         */
066        NONDISCLOSE, 
067        /**
068         * added to help the parsers
069         */
070        NULL;
071        public static GenderIdentity fromCode(String codeString) throws FHIRException {
072            if (codeString == null || "".equals(codeString))
073                return null;
074        if ("transgender-female".equals(codeString))
075          return TRANSGENDERFEMALE;
076        if ("transgender-male".equals(codeString))
077          return TRANSGENDERMALE;
078        if ("non-binary".equals(codeString))
079          return NONBINARY;
080        if ("male".equals(codeString))
081          return MALE;
082        if ("female".equals(codeString))
083          return FEMALE;
084        if ("other".equals(codeString))
085          return OTHER;
086        if ("non-disclose".equals(codeString))
087          return NONDISCLOSE;
088        throw new FHIRException("Unknown GenderIdentity code '"+codeString+"'");
089        }
090        public String toCode() {
091          switch (this) {
092            case TRANSGENDERFEMALE: return "transgender-female";
093            case TRANSGENDERMALE: return "transgender-male";
094            case NONBINARY: return "non-binary";
095            case MALE: return "male";
096            case FEMALE: return "female";
097            case OTHER: return "other";
098            case NONDISCLOSE: return "non-disclose";
099            default: return "?";
100          }
101        }
102        public String getSystem() {
103          return "http://hl7.org/fhir/gender-identity";
104        }
105        public String getDefinition() {
106          switch (this) {
107            case TRANSGENDERFEMALE: return "the patient identifies as transgender male-to-female";
108            case TRANSGENDERMALE: return "the patient identifies as transgender female-to-male";
109            case NONBINARY: return "the patient identifies with neither/both female and male";
110            case MALE: return "the patient identifies as male";
111            case FEMALE: return "the patient identifies as female";
112            case OTHER: return "other gender identity";
113            case NONDISCLOSE: return "the patient does not wish to disclose his gender identity";
114            default: return "?";
115          }
116        }
117        public String getDisplay() {
118          switch (this) {
119            case TRANSGENDERFEMALE: return "transgender female";
120            case TRANSGENDERMALE: return "transgender male";
121            case NONBINARY: return "non-binary";
122            case MALE: return "male";
123            case FEMALE: return "female";
124            case OTHER: return "other";
125            case NONDISCLOSE: return "does not wish to disclose";
126            default: return "?";
127          }
128    }
129
130
131}
132