001package org.hl7.fhir.instance.model.valuesets;
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 Wed, Nov 11, 2015 10:54-0500 for FHIR v1.0.2
033
034
035public enum ListOrder {
036
037        /**
038         * The list was sorted by a user. The criteria the user used are not specified.
039         */
040        USER, 
041        /**
042         * The list was sorted by the system. The criteria the user used are not specified; define additional codes to specify a particular order (or use other defined codes).
043         */
044        SYSTEM, 
045        /**
046         * The list is sorted by the data of the event. This can be used when the list has items which are dates with past or future events.
047         */
048        EVENTDATE, 
049        /**
050         * The list is sorted by the date the item was added to the list. Note that the date added to the list is not explicit in the list itself.
051         */
052        ENTRYDATE, 
053        /**
054         * The list is sorted by priority. The exact method in which priority has been determined is not specified.
055         */
056        PRIORITY, 
057        /**
058         * The list is sorted alphabetically by an unspecified property of the items in the list.
059         */
060        ALPHABETIC, 
061        /**
062         * The list is sorted categorically by an unspecified property of the items in the list.
063         */
064        CATEGORY, 
065        /**
066         * The list is sorted by patient, with items for each patient grouped together.
067         */
068        PATIENT, 
069        /**
070         * added to help the parsers
071         */
072        NULL;
073        public static ListOrder fromCode(String codeString) throws Exception {
074            if (codeString == null || "".equals(codeString))
075                return null;
076        if ("user".equals(codeString))
077          return USER;
078        if ("system".equals(codeString))
079          return SYSTEM;
080        if ("event-date".equals(codeString))
081          return EVENTDATE;
082        if ("entry-date".equals(codeString))
083          return ENTRYDATE;
084        if ("priority".equals(codeString))
085          return PRIORITY;
086        if ("alphabetic".equals(codeString))
087          return ALPHABETIC;
088        if ("category".equals(codeString))
089          return CATEGORY;
090        if ("patient".equals(codeString))
091          return PATIENT;
092        throw new Exception("Unknown ListOrder code '"+codeString+"'");
093        }
094        public String toCode() {
095          switch (this) {
096            case USER: return "user";
097            case SYSTEM: return "system";
098            case EVENTDATE: return "event-date";
099            case ENTRYDATE: return "entry-date";
100            case PRIORITY: return "priority";
101            case ALPHABETIC: return "alphabetic";
102            case CATEGORY: return "category";
103            case PATIENT: return "patient";
104            default: return "?";
105          }
106        }
107        public String getSystem() {
108          return "http://hl7.org/fhir/list-order";
109        }
110        public String getDefinition() {
111          switch (this) {
112            case USER: return "The list was sorted by a user. The criteria the user used are not specified.";
113            case SYSTEM: return "The list was sorted by the system. The criteria the user used are not specified; define additional codes to specify a particular order (or use other defined codes).";
114            case EVENTDATE: return "The list is sorted by the data of the event. This can be used when the list has items which are dates with past or future events.";
115            case ENTRYDATE: return "The list is sorted by the date the item was added to the list. Note that the date added to the list is not explicit in the list itself.";
116            case PRIORITY: return "The list is sorted by priority. The exact method in which priority has been determined is not specified.";
117            case ALPHABETIC: return "The list is sorted alphabetically by an unspecified property of the items in the list.";
118            case CATEGORY: return "The list is sorted categorically by an unspecified property of the items in the list.";
119            case PATIENT: return "The list is sorted by patient, with items for each patient grouped together.";
120            default: return "?";
121          }
122        }
123        public String getDisplay() {
124          switch (this) {
125            case USER: return "Sorted by User";
126            case SYSTEM: return "Sorted by System";
127            case EVENTDATE: return "Sorted by Event Date";
128            case ENTRYDATE: return "Sorted by Item Date";
129            case PRIORITY: return "Sorted by Priority";
130            case ALPHABETIC: return "Sorted Alphabetically";
131            case CATEGORY: return "Sorted by Category";
132            case PATIENT: return "Sorted by Patient";
133            default: return "?";
134          }
135    }
136
137
138}
139