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 GuideParameterCode {
038
039        /**
040         * If the value of this boolean 0..1 parameter is "true" then all conformance resources will have any specified [Resource].version overwritten with the ImplementationGuide.version
041         */
042        APPLYBUSINESSVERSION, 
043        /**
044         * If the value of this boolean 0..1 parameter is "true" then all conformance resources will have any specified [Resource].jurisdiction overwritten with the ImplementationGuide.jurisdiction
045         */
046        APPLYJURISDICTION, 
047        /**
048         * The value of this string 0..* parameter is a subfolder of the build context's location that is to be scanned to load resources. Scope is (if present) a particular resource type
049         */
050        PATHRESOURCE, 
051        /**
052         * The value of this string 0..1 parameter is a subfolder of the build context's location that contains files that are part of the html content processed by the builder
053         */
054        PATHPAGES, 
055        /**
056         * The value of this string 0..1 parameter is a subfolder of the build context's location that is used as the terminology cache. If this is not present, the terminology cache is on the local system, not under version control
057         */
058        PATHTXCACHE, 
059        /**
060         * The value of this string 0..1 parameter is a path to the ExpansionProfile used when expanding value sets for this implementation guide. This is particularly used to specify the versions of published terminologies such as SNOMED CT
061         */
062        EXPANSIONPROFILE, 
063        /**
064         * The value of this string 0..1 parameter is either "warning" or "error" (default = "error"). If the value is "warning" then IG build tools allow the IG to be considered successfully build even when there is no internal broken links
065         */
066        RULEBROKENLINKS, 
067        /**
068         * The value of this boolean 0..1 parameter specifies whether the IG publisher creates examples in XML format. If not present, the Publication Tool decides whether to generate XML
069         */
070        GENERATEXML, 
071        /**
072         * The value of this boolean 0..1 parameter specifies whether the IG publisher creates examples in JSON format. If not present, the Publication Tool decides whether to generate JSON
073         */
074        GENERATEJSON, 
075        /**
076         * The value of this boolean 0..1 parameter specifies whether the IG publisher creates examples in Turtle format. If not present, the Publication Tool decides whether to generate Turtle
077         */
078        GENERATETURTLE, 
079        /**
080         * The value of this string singleton parameter is the name of the file to use as the builder template for each generated page (see templating)
081         */
082        HTMLTEMPLATE, 
083        /**
084         * added to help the parsers
085         */
086        NULL;
087        public static GuideParameterCode fromCode(String codeString) throws FHIRException {
088            if (codeString == null || "".equals(codeString))
089                return null;
090        if ("apply-business-version".equals(codeString))
091          return APPLYBUSINESSVERSION;
092        if ("apply-jurisdiction".equals(codeString))
093          return APPLYJURISDICTION;
094        if ("path-resource".equals(codeString))
095          return PATHRESOURCE;
096        if ("path-pages".equals(codeString))
097          return PATHPAGES;
098        if ("path-tx-cache".equals(codeString))
099          return PATHTXCACHE;
100        if ("expansion-profile".equals(codeString))
101          return EXPANSIONPROFILE;
102        if ("rule-broken-links".equals(codeString))
103          return RULEBROKENLINKS;
104        if ("generate-xml".equals(codeString))
105          return GENERATEXML;
106        if ("generate-json".equals(codeString))
107          return GENERATEJSON;
108        if ("generate-turtle".equals(codeString))
109          return GENERATETURTLE;
110        if ("html-template".equals(codeString))
111          return HTMLTEMPLATE;
112        throw new FHIRException("Unknown GuideParameterCode code '"+codeString+"'");
113        }
114        public String toCode() {
115          switch (this) {
116            case APPLYBUSINESSVERSION: return "apply-business-version";
117            case APPLYJURISDICTION: return "apply-jurisdiction";
118            case PATHRESOURCE: return "path-resource";
119            case PATHPAGES: return "path-pages";
120            case PATHTXCACHE: return "path-tx-cache";
121            case EXPANSIONPROFILE: return "expansion-profile";
122            case RULEBROKENLINKS: return "rule-broken-links";
123            case GENERATEXML: return "generate-xml";
124            case GENERATEJSON: return "generate-json";
125            case GENERATETURTLE: return "generate-turtle";
126            case HTMLTEMPLATE: return "html-template";
127            default: return "?";
128          }
129        }
130        public String getSystem() {
131          return "http://hl7.org/fhir/guide-parameter-code";
132        }
133        public String getDefinition() {
134          switch (this) {
135            case APPLYBUSINESSVERSION: return "If the value of this boolean 0..1 parameter is \"true\" then all conformance resources will have any specified [Resource].version overwritten with the ImplementationGuide.version";
136            case APPLYJURISDICTION: return "If the value of this boolean 0..1 parameter is \"true\" then all conformance resources will have any specified [Resource].jurisdiction overwritten with the ImplementationGuide.jurisdiction";
137            case PATHRESOURCE: return "The value of this string 0..* parameter is a subfolder of the build context's location that is to be scanned to load resources. Scope is (if present) a particular resource type";
138            case PATHPAGES: return "The value of this string 0..1 parameter is a subfolder of the build context's location that contains files that are part of the html content processed by the builder";
139            case PATHTXCACHE: return "The value of this string 0..1 parameter is a subfolder of the build context's location that is used as the terminology cache. If this is not present, the terminology cache is on the local system, not under version control";
140            case EXPANSIONPROFILE: return "The value of this string 0..1 parameter is a path to the ExpansionProfile used when expanding value sets for this implementation guide. This is particularly used to specify the versions of published terminologies such as SNOMED CT";
141            case RULEBROKENLINKS: return "The value of this string 0..1 parameter is either \"warning\" or \"error\" (default = \"error\"). If the value is \"warning\" then IG build tools allow the IG to be considered successfully build even when there is no internal broken links";
142            case GENERATEXML: return "The value of this boolean 0..1 parameter specifies whether the IG publisher creates examples in XML format. If not present, the Publication Tool decides whether to generate XML";
143            case GENERATEJSON: return "The value of this boolean 0..1 parameter specifies whether the IG publisher creates examples in JSON format. If not present, the Publication Tool decides whether to generate JSON";
144            case GENERATETURTLE: return "The value of this boolean 0..1 parameter specifies whether the IG publisher creates examples in Turtle format. If not present, the Publication Tool decides whether to generate Turtle";
145            case HTMLTEMPLATE: return "The value of this string singleton parameter is the name of the file to use as the builder template for each generated page (see templating)";
146            default: return "?";
147          }
148        }
149        public String getDisplay() {
150          switch (this) {
151            case APPLYBUSINESSVERSION: return "Apply Business Version";
152            case APPLYJURISDICTION: return "Apply Jurisdiction";
153            case PATHRESOURCE: return "Resource Path";
154            case PATHPAGES: return "Pages Path";
155            case PATHTXCACHE: return "Terminology Cache Path";
156            case EXPANSIONPROFILE: return "Expansion Profile";
157            case RULEBROKENLINKS: return "Broken Links Rule";
158            case GENERATEXML: return "Generate XML";
159            case GENERATEJSON: return "Generate JSON";
160            case GENERATETURTLE: return "Generate Turtle";
161            case HTMLTEMPLATE: return "HTML Template";
162            default: return "?";
163          }
164    }
165
166
167}
168