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 V3Hl7CMETAttribution {
038
039        /**
040         * Description: Provides sufficient information to allow the object identified to be contacted. This is likely to have the content of identified and confirmable plus telephone number.
041         */
042        CONTACT, 
043        /**
044         * Description: This variant is a proper subset of universal and is intended to provide sufficient information to identify the object(s) modeled by the CMET. This variant is only suitable for use within TIGHTLY COUPLED SYSTEMS ONLY. This variant provides ONLY the ID (and code where applicable) and Name. Other variants may not be substituted at runtime.
045         */
046        IDENTIFIED, 
047        /**
048         * Description: This extends the identified variant by adding just sufficient additional information to allow the identity of object modeled to be confirmed by a number of corroborating items of data; for instance a patient's date of birth and current address. However, specific contact information, such as telephone number, are not viewed as confirming information.
049         */
050        IDENTIFIEDCONFIRMABLE, 
051        /**
052         * Description: Generally the same information content as "contactable" but using new "informational" CMETs as dependant CMETs. This flavor allows expression of the CMET when non-focal class information is not known.
053         */
054        IDENTIFIEDINFORMATIONAL, 
055        /**
056         * Description: Generally the same information content as "contactable", but with required (not mandatory) ids on entry point class. This flavor allows expression of the CMET even when mandatory information is not known.
057         */
058        INFORMATIONAL, 
059        /**
060         * Description: Provides more than identified, but not as much as universal. There are not expected to be many of these.
061         */
062        MINIMAL, 
063        /**
064         * Description: This variant includes all attributes and associations present in the R-MIM. Any of non-mandatory and non-required attributes and/or associations may be present or absent, as permitted in the cardinality constraints.
065         */
066        UNIVERSAL, 
067        /**
068         * added to help the parsers
069         */
070        NULL;
071        public static V3Hl7CMETAttribution fromCode(String codeString) throws FHIRException {
072            if (codeString == null || "".equals(codeString))
073                return null;
074        if ("contact".equals(codeString))
075          return CONTACT;
076        if ("identified".equals(codeString))
077          return IDENTIFIED;
078        if ("identified-confirmable".equals(codeString))
079          return IDENTIFIEDCONFIRMABLE;
080        if ("identified-informational".equals(codeString))
081          return IDENTIFIEDINFORMATIONAL;
082        if ("informational".equals(codeString))
083          return INFORMATIONAL;
084        if ("minimal".equals(codeString))
085          return MINIMAL;
086        if ("universal".equals(codeString))
087          return UNIVERSAL;
088        throw new FHIRException("Unknown V3Hl7CMETAttribution code '"+codeString+"'");
089        }
090        public String toCode() {
091          switch (this) {
092            case CONTACT: return "contact";
093            case IDENTIFIED: return "identified";
094            case IDENTIFIEDCONFIRMABLE: return "identified-confirmable";
095            case IDENTIFIEDINFORMATIONAL: return "identified-informational";
096            case INFORMATIONAL: return "informational";
097            case MINIMAL: return "minimal";
098            case UNIVERSAL: return "universal";
099            default: return "?";
100          }
101        }
102        public String getSystem() {
103          return "http://terminology.hl7.org/CodeSystem/v3-hl7CMETAttribution";
104        }
105        public String getDefinition() {
106          switch (this) {
107            case CONTACT: return "Description: Provides sufficient information to allow the object identified to be contacted. This is likely to have the content of identified and confirmable plus telephone number.";
108            case IDENTIFIED: return "Description: This variant is a proper subset of universal and is intended to provide sufficient information to identify the object(s) modeled by the CMET. This variant is only suitable for use within TIGHTLY COUPLED SYSTEMS ONLY. This variant provides ONLY the ID (and code where applicable) and Name. Other variants may not be substituted at runtime.";
109            case IDENTIFIEDCONFIRMABLE: return "Description: This extends the identified variant by adding just sufficient additional information to allow the identity of object modeled to be confirmed by a number of corroborating items of data; for instance a patient's date of birth and current address. However, specific contact information, such as telephone number, are not viewed as confirming information.";
110            case IDENTIFIEDINFORMATIONAL: return "Description: Generally the same information content as \"contactable\" but using new \"informational\" CMETs as dependant CMETs. This flavor allows expression of the CMET when non-focal class information is not known.";
111            case INFORMATIONAL: return "Description: Generally the same information content as \"contactable\", but with required (not mandatory) ids on entry point class. This flavor allows expression of the CMET even when mandatory information is not known.";
112            case MINIMAL: return "Description: Provides more than identified, but not as much as universal. There are not expected to be many of these.";
113            case UNIVERSAL: return "Description: This variant includes all attributes and associations present in the R-MIM. Any of non-mandatory and non-required attributes and/or associations may be present or absent, as permitted in the cardinality constraints.";
114            default: return "?";
115          }
116        }
117        public String getDisplay() {
118          switch (this) {
119            case CONTACT: return "contact";
120            case IDENTIFIED: return "identified";
121            case IDENTIFIEDCONFIRMABLE: return "identified-confirmable";
122            case IDENTIFIEDINFORMATIONAL: return "identified-informational";
123            case INFORMATIONAL: return "informational";
124            case MINIMAL: return "minimal";
125            case UNIVERSAL: return "universal";
126            default: return "?";
127          }
128    }
129
130
131}
132