001package org.hl7.fhir.dstu3.model.codesystems; 002 003 004 005 006/* 007 Copyright (c) 2011+, HL7, Inc. 008 All rights reserved. 009 010 Redistribution and use in source and binary forms, with or without modification, 011 are permitted provided that the following conditions are met: 012 013 * Redistributions of source code must retain the above copyright notice, this 014 list of conditions and the following disclaimer. 015 * Redistributions in binary form must reproduce the above copyright notice, 016 this list of conditions and the following disclaimer in the documentation 017 and/or other materials provided with the distribution. 018 * Neither the name of HL7 nor the names of its contributors may be used to 019 endorse or promote products derived from this software without specific 020 prior written permission. 021 022 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 023 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 024 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 025 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 026 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 027 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 028 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 029 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 030 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 031 POSSIBILITY OF SUCH DAMAGE. 032 033*/ 034 035// Generated on Sat, Mar 25, 2017 21:03-0400 for FHIR v3.0.0 036 037 038import org.hl7.fhir.exceptions.FHIRException; 039 040public enum ReferenceHandlingPolicy { 041 042 /** 043 * The server supports and populates Literal references where they are known (this code does not guarantee that all references are literal; see 'enforced') 044 */ 045 LITERAL, 046 /** 047 * The server allows logical references 048 */ 049 LOGICAL, 050 /** 051 * The server will attempt to resolve logical references to literal references (if resolution fails, the server may still accept resources; see logical) 052 */ 053 RESOLVES, 054 /** 055 * The server enforces that references have integrity - e.g. it ensures that references can always be resolved. This is typically the case for clinical record systems, but often not the case for middleware/proxy systems 056 */ 057 ENFORCED, 058 /** 059 * The server does not support references that point to other servers 060 */ 061 LOCAL, 062 /** 063 * added to help the parsers 064 */ 065 NULL; 066 public static ReferenceHandlingPolicy fromCode(String codeString) throws FHIRException { 067 if (codeString == null || "".equals(codeString)) 068 return null; 069 if ("literal".equals(codeString)) 070 return LITERAL; 071 if ("logical".equals(codeString)) 072 return LOGICAL; 073 if ("resolves".equals(codeString)) 074 return RESOLVES; 075 if ("enforced".equals(codeString)) 076 return ENFORCED; 077 if ("local".equals(codeString)) 078 return LOCAL; 079 throw new FHIRException("Unknown ReferenceHandlingPolicy code '"+codeString+"'"); 080 } 081 public String toCode() { 082 switch (this) { 083 case LITERAL: return "literal"; 084 case LOGICAL: return "logical"; 085 case RESOLVES: return "resolves"; 086 case ENFORCED: return "enforced"; 087 case LOCAL: return "local"; 088 case NULL: return null; 089 default: return "?"; 090 } 091 } 092 public String getSystem() { 093 return "http://hl7.org/fhir/reference-handling-policy"; 094 } 095 public String getDefinition() { 096 switch (this) { 097 case LITERAL: return "The server supports and populates Literal references where they are known (this code does not guarantee that all references are literal; see 'enforced')"; 098 case LOGICAL: return "The server allows logical references"; 099 case RESOLVES: return "The server will attempt to resolve logical references to literal references (if resolution fails, the server may still accept resources; see logical)"; 100 case ENFORCED: return "The server enforces that references have integrity - e.g. it ensures that references can always be resolved. This is typically the case for clinical record systems, but often not the case for middleware/proxy systems"; 101 case LOCAL: return "The server does not support references that point to other servers"; 102 case NULL: return null; 103 default: return "?"; 104 } 105 } 106 public String getDisplay() { 107 switch (this) { 108 case LITERAL: return "Literal References"; 109 case LOGICAL: return "Logical References"; 110 case RESOLVES: return "Resolves References"; 111 case ENFORCED: return "Reference Integrity Enforced"; 112 case LOCAL: return "Local References Only"; 113 case NULL: return null; 114 default: return "?"; 115 } 116 } 117 118 119}