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 V3Hl7Realm {
036
037        /**
038         * Description: Concepts that can be used as Binding Realms when creating Binding Statements.  These codes are permitted to appear in the InfrastructureRoot.realmCode attribute.
039         */
040        BINDINGREALMS, 
041        /**
042         * Description: Realm codes for official HL7 organizational bodies.  This includes both the HL7 International organization as well as all recognized international affiliates (past and present).  These groups have the ability to bind vocabulary and develop artifacts.  As well, they have the ability to have "ownership" over other binding realms and namespace realms via the owningAffiliate property of those other realm codes.
043         */
044        AFFILIATEREALMS, 
045        /**
046         * Description: Realm code for use of Argentina
047         */
048        AR, 
049        /**
050         * Description: Realm code for use of Austria
051         */
052        AT, 
053        /**
054         * Description: Realm code for use of Australia
055         */
056        AU, 
057        /**
058         * Description: Realm code for use of Brazil
059         */
060        BR, 
061        /**
062         * Description: Realm code for use of Canada
063         */
064        CA, 
065        /**
066         * Description: Realm code for use of Switzerland
067         */
068        CH, 
069        /**
070         * Description: Realm code for use of Chile
071         */
072        CL, 
073        /**
074         * Description: Realm code for use of China
075         */
076        CN, 
077        /**
078         * Description: Realm code for use of Localized Version
079         */
080        CO, 
081        /**
082         * Description: Realm code for use of Czech Republic
083         */
084        CZ, 
085        /**
086         * Description: Realm code for use of Germany
087         */
088        DE, 
089        /**
090         * Description: Realm code for use of Denmark
091         */
092        DK, 
093        /**
094         * Description: Realm code for use of Spain
095         */
096        ES, 
097        /**
098         * Description: Realm code for use of Finland
099         */
100        FI, 
101        /**
102         * Description: Realm code for use of France
103         */
104        FR, 
105        /**
106         * Description: Realm code for use of Greece
107         */
108        GR, 
109        /**
110         * Description: Realm code for use of Croatia
111         */
112        HR, 
113        /**
114         * Description: Realm code for use of Ireland
115         */
116        IE, 
117        /**
118         * Description: Realm code for use of India
119         */
120        IN, 
121        /**
122         * Description: Realm code for use of Italy
123         */
124        IT, 
125        /**
126         * Description: Realm code for use of Japan
127         */
128        JP, 
129        /**
130         * Description: Realm code for use of Korea
131         */
132        KR, 
133        /**
134         * Description: Realm code for use of Lithuania
135         */
136        LT, 
137        /**
138         * Description: Realm code for use of Mexico
139         */
140        MX, 
141        /**
142         * Description: Realm code for use of The Netherlands
143         */
144        NL, 
145        /**
146         * Description: Realm code for use of New Zealand
147         */
148        NZ, 
149        /**
150         * Description: Realm code for use of Romania
151         */
152        RO, 
153        /**
154         * Description: Realm code for use of Russian Federation
155         */
156        RU, 
157        /**
158         * Description: Realm code for use of Sweden
159         */
160        SE, 
161        /**
162         * Description: Realm code for use of Localized Version
163         */
164        SG, 
165        /**
166         * Description: Realm code for use of Southern Africa
167         */
168        SOA, 
169        /**
170         * Description: Realm code for use of Turkey
171         */
172        TR, 
173        /**
174         * Description: Realm code for use of Taiwan
175         */
176        TW, 
177        /**
178         * Description: Realm code for use of United Kingdom
179         */
180        UK, 
181        /**
182         * Description: Realm code for use of United States of America
183         */
184        US, 
185        /**
186         * Description: Realm code for use of Universal realm or context, used in every instance
187         */
188        UV, 
189        /**
190         * Description: Realm code for use of Uruguay
191         */
192        UY, 
193        /**
194         * Description: Realm code for use of Unclassified Realm
195         */
196        C1, 
197        /**
198         * Description: Realm code for use of Great Britain
199         */
200        GB, 
201        /**
202         * Description: Realm code for use of Representative Realm
203         */
204        R1, 
205        /**
206         * Description: Realm code for use of Example Realm
207         */
208        X1, 
209        /**
210         * Description: Codes that can be used in the "realm" portion of HL7 v3 artifact identifiers.
211         */
212        NAMESPACEREALMS, 
213        /**
214         * Description: An artifact created for local use only.  This realm namespace has no owning affiliate.  Its use is uncontrolled, i.e. anyone can create artifacts using this realm namespace.  Because of this, there is a significant likelihood of artifact identifier collisions.  Implementers are encouraged to register their artifacts under an affiliate owned and controlled namespace to avoid such collision problems where possible.
215         */
216        ZZ, 
217        /**
218         * added to help the parsers
219         */
220        NULL;
221        public static V3Hl7Realm fromCode(String codeString) throws Exception {
222            if (codeString == null || "".equals(codeString))
223                return null;
224        if ("BindingRealms".equals(codeString))
225          return BINDINGREALMS;
226        if ("AffiliateRealms".equals(codeString))
227          return AFFILIATEREALMS;
228        if ("AR".equals(codeString))
229          return AR;
230        if ("AT".equals(codeString))
231          return AT;
232        if ("AU".equals(codeString))
233          return AU;
234        if ("BR".equals(codeString))
235          return BR;
236        if ("CA".equals(codeString))
237          return CA;
238        if ("CH".equals(codeString))
239          return CH;
240        if ("CL".equals(codeString))
241          return CL;
242        if ("CN".equals(codeString))
243          return CN;
244        if ("CO".equals(codeString))
245          return CO;
246        if ("CZ".equals(codeString))
247          return CZ;
248        if ("DE".equals(codeString))
249          return DE;
250        if ("DK".equals(codeString))
251          return DK;
252        if ("ES".equals(codeString))
253          return ES;
254        if ("FI".equals(codeString))
255          return FI;
256        if ("FR".equals(codeString))
257          return FR;
258        if ("GR".equals(codeString))
259          return GR;
260        if ("HR".equals(codeString))
261          return HR;
262        if ("IE".equals(codeString))
263          return IE;
264        if ("IN".equals(codeString))
265          return IN;
266        if ("IT".equals(codeString))
267          return IT;
268        if ("JP".equals(codeString))
269          return JP;
270        if ("KR".equals(codeString))
271          return KR;
272        if ("LT".equals(codeString))
273          return LT;
274        if ("MX".equals(codeString))
275          return MX;
276        if ("NL".equals(codeString))
277          return NL;
278        if ("NZ".equals(codeString))
279          return NZ;
280        if ("RO".equals(codeString))
281          return RO;
282        if ("RU".equals(codeString))
283          return RU;
284        if ("SE".equals(codeString))
285          return SE;
286        if ("SG".equals(codeString))
287          return SG;
288        if ("SOA".equals(codeString))
289          return SOA;
290        if ("TR".equals(codeString))
291          return TR;
292        if ("TW".equals(codeString))
293          return TW;
294        if ("UK".equals(codeString))
295          return UK;
296        if ("US".equals(codeString))
297          return US;
298        if ("UV".equals(codeString))
299          return UV;
300        if ("UY".equals(codeString))
301          return UY;
302        if ("C1".equals(codeString))
303          return C1;
304        if ("GB".equals(codeString))
305          return GB;
306        if ("R1".equals(codeString))
307          return R1;
308        if ("X1".equals(codeString))
309          return X1;
310        if ("NamespaceRealms".equals(codeString))
311          return NAMESPACEREALMS;
312        if ("ZZ".equals(codeString))
313          return ZZ;
314        throw new Exception("Unknown V3Hl7Realm code '"+codeString+"'");
315        }
316        public String toCode() {
317          switch (this) {
318            case BINDINGREALMS: return "BindingRealms";
319            case AFFILIATEREALMS: return "AffiliateRealms";
320            case AR: return "AR";
321            case AT: return "AT";
322            case AU: return "AU";
323            case BR: return "BR";
324            case CA: return "CA";
325            case CH: return "CH";
326            case CL: return "CL";
327            case CN: return "CN";
328            case CO: return "CO";
329            case CZ: return "CZ";
330            case DE: return "DE";
331            case DK: return "DK";
332            case ES: return "ES";
333            case FI: return "FI";
334            case FR: return "FR";
335            case GR: return "GR";
336            case HR: return "HR";
337            case IE: return "IE";
338            case IN: return "IN";
339            case IT: return "IT";
340            case JP: return "JP";
341            case KR: return "KR";
342            case LT: return "LT";
343            case MX: return "MX";
344            case NL: return "NL";
345            case NZ: return "NZ";
346            case RO: return "RO";
347            case RU: return "RU";
348            case SE: return "SE";
349            case SG: return "SG";
350            case SOA: return "SOA";
351            case TR: return "TR";
352            case TW: return "TW";
353            case UK: return "UK";
354            case US: return "US";
355            case UV: return "UV";
356            case UY: return "UY";
357            case C1: return "C1";
358            case GB: return "GB";
359            case R1: return "R1";
360            case X1: return "X1";
361            case NAMESPACEREALMS: return "NamespaceRealms";
362            case ZZ: return "ZZ";
363            default: return "?";
364          }
365        }
366        public String getSystem() {
367          return "http://hl7.org/fhir/v3/hl7Realm";
368        }
369        public String getDefinition() {
370          switch (this) {
371            case BINDINGREALMS: return "Description: Concepts that can be used as Binding Realms when creating Binding Statements.  These codes are permitted to appear in the InfrastructureRoot.realmCode attribute.";
372            case AFFILIATEREALMS: return "Description: Realm codes for official HL7 organizational bodies.  This includes both the HL7 International organization as well as all recognized international affiliates (past and present).  These groups have the ability to bind vocabulary and develop artifacts.  As well, they have the ability to have \"ownership\" over other binding realms and namespace realms via the owningAffiliate property of those other realm codes.";
373            case AR: return "Description: Realm code for use of Argentina";
374            case AT: return "Description: Realm code for use of Austria";
375            case AU: return "Description: Realm code for use of Australia";
376            case BR: return "Description: Realm code for use of Brazil";
377            case CA: return "Description: Realm code for use of Canada";
378            case CH: return "Description: Realm code for use of Switzerland";
379            case CL: return "Description: Realm code for use of Chile";
380            case CN: return "Description: Realm code for use of China";
381            case CO: return "Description: Realm code for use of Localized Version";
382            case CZ: return "Description: Realm code for use of Czech Republic";
383            case DE: return "Description: Realm code for use of Germany";
384            case DK: return "Description: Realm code for use of Denmark";
385            case ES: return "Description: Realm code for use of Spain";
386            case FI: return "Description: Realm code for use of Finland";
387            case FR: return "Description: Realm code for use of France";
388            case GR: return "Description: Realm code for use of Greece";
389            case HR: return "Description: Realm code for use of Croatia";
390            case IE: return "Description: Realm code for use of Ireland";
391            case IN: return "Description: Realm code for use of India";
392            case IT: return "Description: Realm code for use of Italy";
393            case JP: return "Description: Realm code for use of Japan";
394            case KR: return "Description: Realm code for use of Korea";
395            case LT: return "Description: Realm code for use of Lithuania";
396            case MX: return "Description: Realm code for use of Mexico";
397            case NL: return "Description: Realm code for use of The Netherlands";
398            case NZ: return "Description: Realm code for use of New Zealand";
399            case RO: return "Description: Realm code for use of Romania";
400            case RU: return "Description: Realm code for use of Russian Federation";
401            case SE: return "Description: Realm code for use of Sweden";
402            case SG: return "Description: Realm code for use of Localized Version";
403            case SOA: return "Description: Realm code for use of Southern Africa";
404            case TR: return "Description: Realm code for use of Turkey";
405            case TW: return "Description: Realm code for use of Taiwan";
406            case UK: return "Description: Realm code for use of United Kingdom";
407            case US: return "Description: Realm code for use of United States of America";
408            case UV: return "Description: Realm code for use of Universal realm or context, used in every instance";
409            case UY: return "Description: Realm code for use of Uruguay";
410            case C1: return "Description: Realm code for use of Unclassified Realm";
411            case GB: return "Description: Realm code for use of Great Britain";
412            case R1: return "Description: Realm code for use of Representative Realm";
413            case X1: return "Description: Realm code for use of Example Realm";
414            case NAMESPACEREALMS: return "Description: Codes that can be used in the \"realm\" portion of HL7 v3 artifact identifiers.";
415            case ZZ: return "Description: An artifact created for local use only.  This realm namespace has no owning affiliate.  Its use is uncontrolled, i.e. anyone can create artifacts using this realm namespace.  Because of this, there is a significant likelihood of artifact identifier collisions.  Implementers are encouraged to register their artifacts under an affiliate owned and controlled namespace to avoid such collision problems where possible.";
416            default: return "?";
417          }
418        }
419        public String getDisplay() {
420          switch (this) {
421            case BINDINGREALMS: return "binding realms";
422            case AFFILIATEREALMS: return "Affiliate Realms";
423            case AR: return "Argentina";
424            case AT: return "Austria";
425            case AU: return "Australia";
426            case BR: return "Brazil";
427            case CA: return "Canada";
428            case CH: return "Switzerland";
429            case CL: return "Chile";
430            case CN: return "China";
431            case CO: return "Columbia";
432            case CZ: return "Czech Republic";
433            case DE: return "Germany";
434            case DK: return "Denmark";
435            case ES: return "Spain";
436            case FI: return "Finland";
437            case FR: return "France";
438            case GR: return "Greece";
439            case HR: return "Croatia";
440            case IE: return "Ireland";
441            case IN: return "India";
442            case IT: return "Italy";
443            case JP: return "Japan";
444            case KR: return "Korea";
445            case LT: return "Lithuania";
446            case MX: return "Mexico";
447            case NL: return "The Netherlands";
448            case NZ: return "New Zealand";
449            case RO: return "Romania";
450            case RU: return "Russian Federation";
451            case SE: return "Sweden";
452            case SG: return "Singapore";
453            case SOA: return "Southern Africa";
454            case TR: return "Turkey";
455            case TW: return "Taiwan";
456            case UK: return "United Kingdom";
457            case US: return "United States of America";
458            case UV: return "Universal";
459            case UY: return "Uruguay";
460            case C1: return "Unclassified Realm";
461            case GB: return "Great Britain";
462            case R1: return "Representative Realm";
463            case X1: return "Example Realm";
464            case NAMESPACEREALMS: return "namespace realms";
465            case ZZ: return "Localized Version";
466            default: return "?";
467          }
468    }
469
470
471}
472