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 V3ActRelationshipSubset {
038
039        /**
040         * Used to indicate that the participation is a filtered subset of the total participations of the same type owned by the Act. 
041
042                        Used when there is a need to limit the participations to the first, the last, the next or some other filtered subset.
043         */
044        _PARTICIPATIONSUBSET, 
045        /**
046         * An occurrence that is scheduled to occur in the future. An Act whose effective time is greater than 'now', where 'now' is the time the instance is authored.
047         */
048        FUTURE, 
049        /**
050         * Represents a 'summary' of all acts that are scheduled to occur in the future (whose effective time is greater than 'now' where is the time the instance is authored.). The effectiveTime represents the outer boundary of all occurrences, repeatNumber represents the total number of repetitions, etc.
051         */
052        FUTSUM, 
053        /**
054         * Restricted to the latest known occurrence that is scheduled to occur. The Act with the highest known effective time.
055         */
056        LAST, 
057        /**
058         * Restricted to the nearest recent known occurrence scheduled to occur in the future. The Act with the lowest effective time, still greater than 'now'. ('now' is the time the instance is authored.)
059         */
060        NEXT, 
061        /**
062         * An occurrence that occurred or was scheduled to occur in the past. An Act whose effective time is less than 'now'. ('now' is the time the instance is authored.)
063         */
064        PAST, 
065        /**
066         * Restricted to the earliest known occurrence that occurred or was scheduled to occur in the past. The Act with the lowest effective time. ('now' is the time the instance is authored.)
067         */
068        FIRST, 
069        /**
070         * Represents a 'summary' of all acts that previously occurred or were scheduled to occur. The effectiveTime represents the outer boundary of all occurrences, repeatNumber represents the total number of repetitions, etc. ('now' is the time the instance is authored.)
071         */
072        PREVSUM, 
073        /**
074         * Restricted to the most recent known occurrence that occurred or was scheduled to occur in the past. The Act with the most recent effective time, still less than 'now'. ('now' is the time the instance is authored.)
075         */
076        RECENT, 
077        /**
078         * Represents a 'summary' of all acts that have occurred or were scheduled to occur and which are scheduled to occur in the future. The effectiveTime represents the outer boundary of all occurrences, repeatNumber represents the total number of repetitions, etc.
079         */
080        SUM, 
081        /**
082         * ActRelationshipExpectedSubset
083         */
084        ACTRELATIONSHIPEXPECTEDSUBSET, 
085        /**
086         * ActRelationshipPastSubset
087         */
088        ACTRELATIONSHIPPASTSUBSET, 
089        /**
090         * The occurrence whose value attribute is greater than all other occurrences at the time the instance is created.
091         */
092        MAX, 
093        /**
094         * The occurrence whose value attribute is less than all other occurrences at the time the instance is created.
095         */
096        MIN, 
097        /**
098         * added to help the parsers
099         */
100        NULL;
101        public static V3ActRelationshipSubset fromCode(String codeString) throws FHIRException {
102            if (codeString == null || "".equals(codeString))
103                return null;
104        if ("_ParticipationSubset".equals(codeString))
105          return _PARTICIPATIONSUBSET;
106        if ("FUTURE".equals(codeString))
107          return FUTURE;
108        if ("FUTSUM".equals(codeString))
109          return FUTSUM;
110        if ("LAST".equals(codeString))
111          return LAST;
112        if ("NEXT".equals(codeString))
113          return NEXT;
114        if ("PAST".equals(codeString))
115          return PAST;
116        if ("FIRST".equals(codeString))
117          return FIRST;
118        if ("PREVSUM".equals(codeString))
119          return PREVSUM;
120        if ("RECENT".equals(codeString))
121          return RECENT;
122        if ("SUM".equals(codeString))
123          return SUM;
124        if ("ActRelationshipExpectedSubset".equals(codeString))
125          return ACTRELATIONSHIPEXPECTEDSUBSET;
126        if ("ActRelationshipPastSubset".equals(codeString))
127          return ACTRELATIONSHIPPASTSUBSET;
128        if ("MAX".equals(codeString))
129          return MAX;
130        if ("MIN".equals(codeString))
131          return MIN;
132        throw new FHIRException("Unknown V3ActRelationshipSubset code '"+codeString+"'");
133        }
134        public String toCode() {
135          switch (this) {
136            case _PARTICIPATIONSUBSET: return "_ParticipationSubset";
137            case FUTURE: return "FUTURE";
138            case FUTSUM: return "FUTSUM";
139            case LAST: return "LAST";
140            case NEXT: return "NEXT";
141            case PAST: return "PAST";
142            case FIRST: return "FIRST";
143            case PREVSUM: return "PREVSUM";
144            case RECENT: return "RECENT";
145            case SUM: return "SUM";
146            case ACTRELATIONSHIPEXPECTEDSUBSET: return "ActRelationshipExpectedSubset";
147            case ACTRELATIONSHIPPASTSUBSET: return "ActRelationshipPastSubset";
148            case MAX: return "MAX";
149            case MIN: return "MIN";
150            default: return "?";
151          }
152        }
153        public String getSystem() {
154          return "http://terminology.hl7.org/CodeSystem/v3-ActRelationshipSubset";
155        }
156        public String getDefinition() {
157          switch (this) {
158            case _PARTICIPATIONSUBSET: return "Used to indicate that the participation is a filtered subset of the total participations of the same type owned by the Act. \r\n\n                        Used when there is a need to limit the participations to the first, the last, the next or some other filtered subset.";
159            case FUTURE: return "An occurrence that is scheduled to occur in the future. An Act whose effective time is greater than 'now', where 'now' is the time the instance is authored.";
160            case FUTSUM: return "Represents a 'summary' of all acts that are scheduled to occur in the future (whose effective time is greater than 'now' where is the time the instance is authored.). The effectiveTime represents the outer boundary of all occurrences, repeatNumber represents the total number of repetitions, etc.";
161            case LAST: return "Restricted to the latest known occurrence that is scheduled to occur. The Act with the highest known effective time.";
162            case NEXT: return "Restricted to the nearest recent known occurrence scheduled to occur in the future. The Act with the lowest effective time, still greater than 'now'. ('now' is the time the instance is authored.)";
163            case PAST: return "An occurrence that occurred or was scheduled to occur in the past. An Act whose effective time is less than 'now'. ('now' is the time the instance is authored.)";
164            case FIRST: return "Restricted to the earliest known occurrence that occurred or was scheduled to occur in the past. The Act with the lowest effective time. ('now' is the time the instance is authored.)";
165            case PREVSUM: return "Represents a 'summary' of all acts that previously occurred or were scheduled to occur. The effectiveTime represents the outer boundary of all occurrences, repeatNumber represents the total number of repetitions, etc. ('now' is the time the instance is authored.)";
166            case RECENT: return "Restricted to the most recent known occurrence that occurred or was scheduled to occur in the past. The Act with the most recent effective time, still less than 'now'. ('now' is the time the instance is authored.)";
167            case SUM: return "Represents a 'summary' of all acts that have occurred or were scheduled to occur and which are scheduled to occur in the future. The effectiveTime represents the outer boundary of all occurrences, repeatNumber represents the total number of repetitions, etc.";
168            case ACTRELATIONSHIPEXPECTEDSUBSET: return "ActRelationshipExpectedSubset";
169            case ACTRELATIONSHIPPASTSUBSET: return "ActRelationshipPastSubset";
170            case MAX: return "The occurrence whose value attribute is greater than all other occurrences at the time the instance is created.";
171            case MIN: return "The occurrence whose value attribute is less than all other occurrences at the time the instance is created.";
172            default: return "?";
173          }
174        }
175        public String getDisplay() {
176          switch (this) {
177            case _PARTICIPATIONSUBSET: return "ParticipationSubset";
178            case FUTURE: return "expected future";
179            case FUTSUM: return "future summary";
180            case LAST: return "expected last";
181            case NEXT: return "expected next";
182            case PAST: return "previous";
183            case FIRST: return "first known";
184            case PREVSUM: return "previous summary";
185            case RECENT: return "most recent";
186            case SUM: return "summary";
187            case ACTRELATIONSHIPEXPECTEDSUBSET: return "ActRelationshipExpectedSubset";
188            case ACTRELATIONSHIPPASTSUBSET: return "ActRelationshipPastSubset";
189            case MAX: return "maximum";
190            case MIN: return "minimum";
191            default: return "?";
192          }
193    }
194
195
196}
197