001package org.hl7.fhir.dstu3.model.codesystems; 002 003/*- 004 * #%L 005 * org.hl7.fhir.dstu3 006 * %% 007 * Copyright (C) 2014 - 2019 Health Level 7 008 * %% 009 * Licensed under the Apache License, Version 2.0 (the "License"); 010 * you may not use this file except in compliance with the License. 011 * You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, software 016 * distributed under the License is distributed on an "AS IS" BASIS, 017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 018 * See the License for the specific language governing permissions and 019 * limitations under the License. 020 * #L% 021 */ 022 023 024/* 025 Copyright (c) 2011+, HL7, Inc. 026 All rights reserved. 027 028 Redistribution and use in source and binary forms, with or without modification, 029 are permitted provided that the following conditions are met: 030 031 * Redistributions of source code must retain the above copyright notice, this 032 list of conditions and the following disclaimer. 033 * Redistributions in binary form must reproduce the above copyright notice, 034 this list of conditions and the following disclaimer in the documentation 035 and/or other materials provided with the distribution. 036 * Neither the name of HL7 nor the names of its contributors may be used to 037 endorse or promote products derived from this software without specific 038 prior written permission. 039 040 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 041 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 042 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 043 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 044 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 045 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 046 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 047 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 048 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 049 POSSIBILITY OF SUCH DAMAGE. 050 051*/ 052 053// Generated on Sat, Mar 25, 2017 21:03-0400 for FHIR v3.0.0 054 055 056import org.hl7.fhir.exceptions.FHIRException; 057 058public enum DataelementStringency { 059 060 /** 061 * The data element is sufficiently well-constrained that multiple pieces of data captured according to the constraints of the data element will be comparable (though in some cases, a degree of automated conversion/normalization may be required). 062 */ 063 COMPARABLE, 064 /** 065 * The data element is fully specified down to a single value set, single unit of measure, single data type, etc. Multiple pieces of data associated with this data element are fully comparable. 066 */ 067 FULLYSPECIFIED, 068 /** 069 * The data element allows multiple units of measure having equivalent meaning; e.g. "cc" (cubic centimeter) and "mL" (milliliter). 070 */ 071 EQUIVALENT, 072 /** 073 * The data element allows multiple units of measure that are convertable between each other (e.g. inches and centimeters) and/or allows data to be captured in multiple value sets for which a known mapping exists allowing conversion of meaning. 074 */ 075 CONVERTABLE, 076 /** 077 * A convertable data element where unit conversions are different only by a power of 10; e.g. g, mg, kg. 078 */ 079 SCALEABLE, 080 /** 081 * The data element is unconstrained in units, choice of data types and/or choice of vocabulary such that automated comparison of data captured using the data element is not possible. 082 */ 083 FLEXIBLE, 084 /** 085 * added to help the parsers 086 */ 087 NULL; 088 public static DataelementStringency fromCode(String codeString) throws FHIRException { 089 if (codeString == null || "".equals(codeString)) 090 return null; 091 if ("comparable".equals(codeString)) 092 return COMPARABLE; 093 if ("fully-specified".equals(codeString)) 094 return FULLYSPECIFIED; 095 if ("equivalent".equals(codeString)) 096 return EQUIVALENT; 097 if ("convertable".equals(codeString)) 098 return CONVERTABLE; 099 if ("scaleable".equals(codeString)) 100 return SCALEABLE; 101 if ("flexible".equals(codeString)) 102 return FLEXIBLE; 103 throw new FHIRException("Unknown DataelementStringency code '"+codeString+"'"); 104 } 105 public String toCode() { 106 switch (this) { 107 case COMPARABLE: return "comparable"; 108 case FULLYSPECIFIED: return "fully-specified"; 109 case EQUIVALENT: return "equivalent"; 110 case CONVERTABLE: return "convertable"; 111 case SCALEABLE: return "scaleable"; 112 case FLEXIBLE: return "flexible"; 113 default: return "?"; 114 } 115 } 116 public String getSystem() { 117 return "http://hl7.org/fhir/dataelement-stringency"; 118 } 119 public String getDefinition() { 120 switch (this) { 121 case COMPARABLE: return "The data element is sufficiently well-constrained that multiple pieces of data captured according to the constraints of the data element will be comparable (though in some cases, a degree of automated conversion/normalization may be required)."; 122 case FULLYSPECIFIED: return "The data element is fully specified down to a single value set, single unit of measure, single data type, etc. Multiple pieces of data associated with this data element are fully comparable."; 123 case EQUIVALENT: return "The data element allows multiple units of measure having equivalent meaning; e.g. \"cc\" (cubic centimeter) and \"mL\" (milliliter)."; 124 case CONVERTABLE: return "The data element allows multiple units of measure that are convertable between each other (e.g. inches and centimeters) and/or allows data to be captured in multiple value sets for which a known mapping exists allowing conversion of meaning."; 125 case SCALEABLE: return "A convertable data element where unit conversions are different only by a power of 10; e.g. g, mg, kg."; 126 case FLEXIBLE: return "The data element is unconstrained in units, choice of data types and/or choice of vocabulary such that automated comparison of data captured using the data element is not possible."; 127 default: return "?"; 128 } 129 } 130 public String getDisplay() { 131 switch (this) { 132 case COMPARABLE: return "Comparable"; 133 case FULLYSPECIFIED: return "Fully Specified"; 134 case EQUIVALENT: return "Equivalent"; 135 case CONVERTABLE: return "Convertable"; 136 case SCALEABLE: return "Scaleable"; 137 case FLEXIBLE: return "Flexible"; 138 default: return "?"; 139 } 140 } 141 142 143} 144