001package org.hl7.fhir.r4.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 Wed, Jan 30, 2019 16:19-0500 for FHIR v4.0.0
036
037
038import org.hl7.fhir.exceptions.FHIRException;
039
040public enum ActionRelationshipType {
041
042        /**
043         * The action must be performed before the start of the related action.
044         */
045        BEFORESTART, 
046        /**
047         * The action must be performed before the related action.
048         */
049        BEFORE, 
050        /**
051         * The action must be performed before the end of the related action.
052         */
053        BEFOREEND, 
054        /**
055         * The action must be performed concurrent with the start of the related action.
056         */
057        CONCURRENTWITHSTART, 
058        /**
059         * The action must be performed concurrent with the related action.
060         */
061        CONCURRENT, 
062        /**
063         * The action must be performed concurrent with the end of the related action.
064         */
065        CONCURRENTWITHEND, 
066        /**
067         * The action must be performed after the start of the related action.
068         */
069        AFTERSTART, 
070        /**
071         * The action must be performed after the related action.
072         */
073        AFTER, 
074        /**
075         * The action must be performed after the end of the related action.
076         */
077        AFTEREND, 
078        /**
079         * added to help the parsers
080         */
081        NULL;
082        public static ActionRelationshipType fromCode(String codeString) throws FHIRException {
083            if (codeString == null || "".equals(codeString))
084                return null;
085        if ("before-start".equals(codeString))
086          return BEFORESTART;
087        if ("before".equals(codeString))
088          return BEFORE;
089        if ("before-end".equals(codeString))
090          return BEFOREEND;
091        if ("concurrent-with-start".equals(codeString))
092          return CONCURRENTWITHSTART;
093        if ("concurrent".equals(codeString))
094          return CONCURRENT;
095        if ("concurrent-with-end".equals(codeString))
096          return CONCURRENTWITHEND;
097        if ("after-start".equals(codeString))
098          return AFTERSTART;
099        if ("after".equals(codeString))
100          return AFTER;
101        if ("after-end".equals(codeString))
102          return AFTEREND;
103        throw new FHIRException("Unknown ActionRelationshipType code '"+codeString+"'");
104        }
105        public String toCode() {
106          switch (this) {
107            case BEFORESTART: return "before-start";
108            case BEFORE: return "before";
109            case BEFOREEND: return "before-end";
110            case CONCURRENTWITHSTART: return "concurrent-with-start";
111            case CONCURRENT: return "concurrent";
112            case CONCURRENTWITHEND: return "concurrent-with-end";
113            case AFTERSTART: return "after-start";
114            case AFTER: return "after";
115            case AFTEREND: return "after-end";
116            default: return "?";
117          }
118        }
119        public String getSystem() {
120          return "http://hl7.org/fhir/action-relationship-type";
121        }
122        public String getDefinition() {
123          switch (this) {
124            case BEFORESTART: return "The action must be performed before the start of the related action.";
125            case BEFORE: return "The action must be performed before the related action.";
126            case BEFOREEND: return "The action must be performed before the end of the related action.";
127            case CONCURRENTWITHSTART: return "The action must be performed concurrent with the start of the related action.";
128            case CONCURRENT: return "The action must be performed concurrent with the related action.";
129            case CONCURRENTWITHEND: return "The action must be performed concurrent with the end of the related action.";
130            case AFTERSTART: return "The action must be performed after the start of the related action.";
131            case AFTER: return "The action must be performed after the related action.";
132            case AFTEREND: return "The action must be performed after the end of the related action.";
133            default: return "?";
134          }
135        }
136        public String getDisplay() {
137          switch (this) {
138            case BEFORESTART: return "Before Start";
139            case BEFORE: return "Before";
140            case BEFOREEND: return "Before End";
141            case CONCURRENTWITHSTART: return "Concurrent With Start";
142            case CONCURRENT: return "Concurrent";
143            case CONCURRENTWITHEND: return "Concurrent With End";
144            case AFTERSTART: return "After Start";
145            case AFTER: return "After";
146            case AFTEREND: return "After End";
147            default: return "?";
148          }
149    }
150
151
152}