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