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 ObjectRole {
036
037        /**
038         * This object is the patient that is the subject of care related to this event.  It is identifiable by patient ID or equivalent.  The patient may be either human or animal.
039         */
040        _1, 
041        /**
042         * This is a location identified as related to the event.  This is usually the location where the event took place.  Note that for shipping, the usual events are arrival at a location or departure from a location.
043         */
044        _2, 
045        /**
046         * This object is any kind of persistent document created as a result of the event.  This could be a paper report, film, electronic report, DICOM Study, etc.  Issues related to medical records life cycle management are conveyed elsewhere.
047         */
048        _3, 
049        /**
050         * A logical object related to a health record event.  This is any healthcare  specific resource (object) not restricted to FHIR defined Resources.
051         */
052        _4, 
053        /**
054         * This is any configurable file used to control creation of documents.  Examples include the objects maintained by the HL7 Master File transactions, Value Sets, etc.
055         */
056        _5, 
057        /**
058         * A human participant not otherwise identified by some other category.
059         */
060        _6, 
061        /**
062         * (deprecated)
063         */
064        _7, 
065        /**
066         * Typically a licensed person who is providing or performing care related to the event, generally a physician.   The key distinction between doctor and practitioner is with regards to their role, not the licensing.  The doctor is the human who actually performed the work.  The practitioner is the human or organization that is responsible for the work.
067         */
068        _8, 
069        /**
070         * A person or system that is being notified as part of the event.  This is relevant in situations where automated systems provide notifications to other parties when an event took place.
071         */
072        _9, 
073        /**
074         * Insurance company, or any other organization who accepts responsibility for paying for the healthcare event.
075         */
076        _10, 
077        /**
078         * A person or active system object involved in the event with a security role.
079         */
080        _11, 
081        /**
082         * A person or system object involved in the event with the authority to modify security roles of other objects.
083         */
084        _12, 
085        /**
086         * A passive object, such as a role table, that is relevant to the event.
087         */
088        _13, 
089        /**
090         * (deprecated)  Relevant to certain RBAC security methodologies.
091         */
092        _14, 
093        /**
094         * Any person or organization responsible for providing care.  This encompasses all forms of care, licensed or otherwise, and all sorts of teams and care groups. Note, the distinction between practitioners and the doctor that actually provided the care to the patient.
095         */
096        _15, 
097        /**
098         * The source or destination for data transfer, when it does not match some other role.
099         */
100        _16, 
101        /**
102         * A source or destination for data transfer that acts as an archive, database, or similar role.
103         */
104        _17, 
105        /**
106         * An object that holds schedule information.  This could be an appointment book, availability information, etc.
107         */
108        _18, 
109        /**
110         * An organization or person that is the recipient of services.  This could be an organization that is buying services for a patient, or a person that is buying services for an animal.
111         */
112        _19, 
113        /**
114         * An order, task, work item, procedure step, or other description of work to be performed; e.g. a particular instance of an MPPS.
115         */
116        _20, 
117        /**
118         * A list of jobs or a system that provides lists of jobs; e.g. an MWL SCP.
119         */
120        _21, 
121        /**
122         * (Deprecated)
123         */
124        _22, 
125        /**
126         * An object that specifies or controls the routing or delivery of items.  For example, a distribution list is the routing criteria for mail.  The items delivered may be documents, jobs, or other objects.
127         */
128        _23, 
129        /**
130         * The contents of a query.  This is used to capture the contents of any kind of query.  For security surveillance purposes knowing the queries being made is very important.
131         */
132        _24, 
133        /**
134         * added to help the parsers
135         */
136        NULL;
137        public static ObjectRole fromCode(String codeString) throws Exception {
138            if (codeString == null || "".equals(codeString))
139                return null;
140        if ("1".equals(codeString))
141          return _1;
142        if ("2".equals(codeString))
143          return _2;
144        if ("3".equals(codeString))
145          return _3;
146        if ("4".equals(codeString))
147          return _4;
148        if ("5".equals(codeString))
149          return _5;
150        if ("6".equals(codeString))
151          return _6;
152        if ("7".equals(codeString))
153          return _7;
154        if ("8".equals(codeString))
155          return _8;
156        if ("9".equals(codeString))
157          return _9;
158        if ("10".equals(codeString))
159          return _10;
160        if ("11".equals(codeString))
161          return _11;
162        if ("12".equals(codeString))
163          return _12;
164        if ("13".equals(codeString))
165          return _13;
166        if ("14".equals(codeString))
167          return _14;
168        if ("15".equals(codeString))
169          return _15;
170        if ("16".equals(codeString))
171          return _16;
172        if ("17".equals(codeString))
173          return _17;
174        if ("18".equals(codeString))
175          return _18;
176        if ("19".equals(codeString))
177          return _19;
178        if ("20".equals(codeString))
179          return _20;
180        if ("21".equals(codeString))
181          return _21;
182        if ("22".equals(codeString))
183          return _22;
184        if ("23".equals(codeString))
185          return _23;
186        if ("24".equals(codeString))
187          return _24;
188        throw new Exception("Unknown ObjectRole code '"+codeString+"'");
189        }
190        public String toCode() {
191          switch (this) {
192            case _1: return "1";
193            case _2: return "2";
194            case _3: return "3";
195            case _4: return "4";
196            case _5: return "5";
197            case _6: return "6";
198            case _7: return "7";
199            case _8: return "8";
200            case _9: return "9";
201            case _10: return "10";
202            case _11: return "11";
203            case _12: return "12";
204            case _13: return "13";
205            case _14: return "14";
206            case _15: return "15";
207            case _16: return "16";
208            case _17: return "17";
209            case _18: return "18";
210            case _19: return "19";
211            case _20: return "20";
212            case _21: return "21";
213            case _22: return "22";
214            case _23: return "23";
215            case _24: return "24";
216            default: return "?";
217          }
218        }
219        public String getSystem() {
220          return "http://hl7.org/fhir/object-role";
221        }
222        public String getDefinition() {
223          switch (this) {
224            case _1: return "This object is the patient that is the subject of care related to this event.  It is identifiable by patient ID or equivalent.  The patient may be either human or animal.";
225            case _2: return "This is a location identified as related to the event.  This is usually the location where the event took place.  Note that for shipping, the usual events are arrival at a location or departure from a location.";
226            case _3: return "This object is any kind of persistent document created as a result of the event.  This could be a paper report, film, electronic report, DICOM Study, etc.  Issues related to medical records life cycle management are conveyed elsewhere.";
227            case _4: return "A logical object related to a health record event.  This is any healthcare  specific resource (object) not restricted to FHIR defined Resources.";
228            case _5: return "This is any configurable file used to control creation of documents.  Examples include the objects maintained by the HL7 Master File transactions, Value Sets, etc.";
229            case _6: return "A human participant not otherwise identified by some other category.";
230            case _7: return "(deprecated)";
231            case _8: return "Typically a licensed person who is providing or performing care related to the event, generally a physician.   The key distinction between doctor and practitioner is with regards to their role, not the licensing.  The doctor is the human who actually performed the work.  The practitioner is the human or organization that is responsible for the work.";
232            case _9: return "A person or system that is being notified as part of the event.  This is relevant in situations where automated systems provide notifications to other parties when an event took place.";
233            case _10: return "Insurance company, or any other organization who accepts responsibility for paying for the healthcare event.";
234            case _11: return "A person or active system object involved in the event with a security role.";
235            case _12: return "A person or system object involved in the event with the authority to modify security roles of other objects.";
236            case _13: return "A passive object, such as a role table, that is relevant to the event.";
237            case _14: return "(deprecated)  Relevant to certain RBAC security methodologies.";
238            case _15: return "Any person or organization responsible for providing care.  This encompasses all forms of care, licensed or otherwise, and all sorts of teams and care groups. Note, the distinction between practitioners and the doctor that actually provided the care to the patient.";
239            case _16: return "The source or destination for data transfer, when it does not match some other role.";
240            case _17: return "A source or destination for data transfer that acts as an archive, database, or similar role.";
241            case _18: return "An object that holds schedule information.  This could be an appointment book, availability information, etc.";
242            case _19: return "An organization or person that is the recipient of services.  This could be an organization that is buying services for a patient, or a person that is buying services for an animal.";
243            case _20: return "An order, task, work item, procedure step, or other description of work to be performed; e.g. a particular instance of an MPPS.";
244            case _21: return "A list of jobs or a system that provides lists of jobs; e.g. an MWL SCP.";
245            case _22: return "(Deprecated)";
246            case _23: return "An object that specifies or controls the routing or delivery of items.  For example, a distribution list is the routing criteria for mail.  The items delivered may be documents, jobs, or other objects.";
247            case _24: return "The contents of a query.  This is used to capture the contents of any kind of query.  For security surveillance purposes knowing the queries being made is very important.";
248            default: return "?";
249          }
250        }
251        public String getDisplay() {
252          switch (this) {
253            case _1: return "Patient";
254            case _2: return "Location";
255            case _3: return "Report";
256            case _4: return "Domain Resource";
257            case _5: return "Master file";
258            case _6: return "User";
259            case _7: return "List";
260            case _8: return "Doctor";
261            case _9: return "Subscriber";
262            case _10: return "Guarantor";
263            case _11: return "Security User Entity";
264            case _12: return "Security User Group";
265            case _13: return "Security Resource";
266            case _14: return "Security Granularity Definition";
267            case _15: return "Practitioner";
268            case _16: return "Data Destination";
269            case _17: return "Data Repository";
270            case _18: return "Schedule";
271            case _19: return "Customer";
272            case _20: return "Job";
273            case _21: return "Job Stream";
274            case _22: return "Table";
275            case _23: return "Routing Criteria";
276            case _24: return "Query";
277            default: return "?";
278          }
279    }
280
281
282}
283