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