001package org.hl7.fhir.r4.model.codesystems;
002
003/*-
004 * #%L
005 * org.hl7.fhir.r4
006 * %%
007 * Copyright (C) 2014 - 2019 Health Level 7
008 * %%
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 * 
013 *      http://www.apache.org/licenses/LICENSE-2.0
014 * 
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 * #L%
021 */
022
023
024/*
025  Copyright (c) 2011+, HL7, Inc.
026  All rights reserved.
027  
028  Redistribution and use in source and binary forms, with or without modification, 
029  are permitted provided that the following conditions are met:
030  
031   * Redistributions of source code must retain the above copyright notice, this 
032     list of conditions and the following disclaimer.
033   * Redistributions in binary form must reproduce the above copyright notice, 
034     this list of conditions and the following disclaimer in the documentation 
035     and/or other materials provided with the distribution.
036   * Neither the name of HL7 nor the names of its contributors may be used to 
037     endorse or promote products derived from this software without specific 
038     prior written permission.
039  
040  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
041  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
042  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
043  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
044  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
045  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
046  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
047  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
048  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
049  POSSIBILITY OF SUCH DAMAGE.
050  
051*/
052
053// Generated on Wed, Jan 30, 2019 16:19-0500 for FHIR v4.0.0
054
055
056import org.hl7.fhir.exceptions.FHIRException;
057
058public enum V3Hl7Realm {
059
060        /**
061         * Description: Concepts that can be used as Binding Realms when creating Binding Statements.  These codes are permitted to appear in the InfrastructureRoot.realmCode attribute.
062         */
063        BINDINGREALMS, 
064        /**
065         * 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.
066         */
067        AFFILIATEREALMS, 
068        /**
069         * Description: Realm code for use of Argentina
070         */
071        AR, 
072        /**
073         * Description: Realm code for use of Austria
074         */
075        AT, 
076        /**
077         * Description: Realm code for use of Australia
078         */
079        AU, 
080        /**
081         * Description: Realm code for use of Brazil
082         */
083        BR, 
084        /**
085         * Description: Realm code for use of Canada
086         */
087        CA, 
088        /**
089         * Description: Realm code for use of Switzerland
090         */
091        CH, 
092        /**
093         * Description: Realm code for use of Chile
094         */
095        CL, 
096        /**
097         * Description: Realm code for use of China
098         */
099        CN, 
100        /**
101         * Description: Realm code for use of Localized Version
102         */
103        CO, 
104        /**
105         * Description: Realm code for use of Czech Republic
106         */
107        CZ, 
108        /**
109         * Description: Realm code for use of Germany
110         */
111        DE, 
112        /**
113         * Description: Realm code for use of Denmark
114         */
115        DK, 
116        /**
117         * Description: Realm code for use of Spain
118         */
119        ES, 
120        /**
121         * Description: Realm code for use of Finland
122         */
123        FI, 
124        /**
125         * Description: Realm code for use of France
126         */
127        FR, 
128        /**
129         * Description: Realm code for use of Greece
130         */
131        GR, 
132        /**
133         * Description: Realm code for use of Croatia
134         */
135        HR, 
136        /**
137         * Description: Realm code for use of Ireland
138         */
139        IE, 
140        /**
141         * Description: Realm code for use of India
142         */
143        IN, 
144        /**
145         * Description: Realm code for use of Italy
146         */
147        IT, 
148        /**
149         * Description: Realm code for use of Japan
150         */
151        JP, 
152        /**
153         * Description: Realm code for use of Korea
154         */
155        KR, 
156        /**
157         * Description: Realm code for use of Lithuania
158         */
159        LT, 
160        /**
161         * Description: Realm code for use of Mexico
162         */
163        MX, 
164        /**
165         * Description: Realm code for use of The Netherlands
166         */
167        NL, 
168        /**
169         * Description: Realm code for use of New Zealand
170         */
171        NZ, 
172        /**
173         * Description: Realm code for use of Romania
174         */
175        RO, 
176        /**
177         * Description: Realm code for use of Russian Federation
178         */
179        RU, 
180        /**
181         * Description: Realm code for use of Sweden
182         */
183        SE, 
184        /**
185         * Description: Realm code for use of Localized Version
186         */
187        SG, 
188        /**
189         * Description: Realm code for use of Southern Africa
190         */
191        SOA, 
192        /**
193         * Description: Realm code for use of Turkey
194         */
195        TR, 
196        /**
197         * Description: Realm code for use of Taiwan
198         */
199        TW, 
200        /**
201         * Description: Realm code for use of United Kingdom
202         */
203        UK, 
204        /**
205         * Description: Realm code for use of United States of America
206         */
207        US, 
208        /**
209         * Description: Realm code for use of Universal realm or context, used in every instance
210         */
211        UV, 
212        /**
213         * Description: Realm code for use of Uruguay
214         */
215        UY, 
216        /**
217         * Description: Realm code for use of Unclassified Realm
218         */
219        C1, 
220        /**
221         * Description: Realm code for use of Great Britain
222         */
223        GB, 
224        /**
225         * Description: Realm code for use of Representative Realm
226         */
227        R1, 
228        /**
229         * Description: Realm code for use of Example Realm
230         */
231        X1, 
232        /**
233         * Description: Codes that can be used in the "realm" portion of HL7 v3 artifact identifiers.
234         */
235        NAMESPACEREALMS, 
236        /**
237         * 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.
238         */
239        ZZ, 
240        /**
241         * added to help the parsers
242         */
243        NULL;
244        public static V3Hl7Realm fromCode(String codeString) throws FHIRException {
245            if (codeString == null || "".equals(codeString))
246                return null;
247        if ("BindingRealms".equals(codeString))
248          return BINDINGREALMS;
249        if ("AffiliateRealms".equals(codeString))
250          return AFFILIATEREALMS;
251        if ("AR".equals(codeString))
252          return AR;
253        if ("AT".equals(codeString))
254          return AT;
255        if ("AU".equals(codeString))
256          return AU;
257        if ("BR".equals(codeString))
258          return BR;
259        if ("CA".equals(codeString))
260          return CA;
261        if ("CH".equals(codeString))
262          return CH;
263        if ("CL".equals(codeString))
264          return CL;
265        if ("CN".equals(codeString))
266          return CN;
267        if ("CO".equals(codeString))
268          return CO;
269        if ("CZ".equals(codeString))
270          return CZ;
271        if ("DE".equals(codeString))
272          return DE;
273        if ("DK".equals(codeString))
274          return DK;
275        if ("ES".equals(codeString))
276          return ES;
277        if ("FI".equals(codeString))
278          return FI;
279        if ("FR".equals(codeString))
280          return FR;
281        if ("GR".equals(codeString))
282          return GR;
283        if ("HR".equals(codeString))
284          return HR;
285        if ("IE".equals(codeString))
286          return IE;
287        if ("IN".equals(codeString))
288          return IN;
289        if ("IT".equals(codeString))
290          return IT;
291        if ("JP".equals(codeString))
292          return JP;
293        if ("KR".equals(codeString))
294          return KR;
295        if ("LT".equals(codeString))
296          return LT;
297        if ("MX".equals(codeString))
298          return MX;
299        if ("NL".equals(codeString))
300          return NL;
301        if ("NZ".equals(codeString))
302          return NZ;
303        if ("RO".equals(codeString))
304          return RO;
305        if ("RU".equals(codeString))
306          return RU;
307        if ("SE".equals(codeString))
308          return SE;
309        if ("SG".equals(codeString))
310          return SG;
311        if ("SOA".equals(codeString))
312          return SOA;
313        if ("TR".equals(codeString))
314          return TR;
315        if ("TW".equals(codeString))
316          return TW;
317        if ("UK".equals(codeString))
318          return UK;
319        if ("US".equals(codeString))
320          return US;
321        if ("UV".equals(codeString))
322          return UV;
323        if ("UY".equals(codeString))
324          return UY;
325        if ("C1".equals(codeString))
326          return C1;
327        if ("GB".equals(codeString))
328          return GB;
329        if ("R1".equals(codeString))
330          return R1;
331        if ("X1".equals(codeString))
332          return X1;
333        if ("NamespaceRealms".equals(codeString))
334          return NAMESPACEREALMS;
335        if ("ZZ".equals(codeString))
336          return ZZ;
337        throw new FHIRException("Unknown V3Hl7Realm code '"+codeString+"'");
338        }
339        public String toCode() {
340          switch (this) {
341            case BINDINGREALMS: return "BindingRealms";
342            case AFFILIATEREALMS: return "AffiliateRealms";
343            case AR: return "AR";
344            case AT: return "AT";
345            case AU: return "AU";
346            case BR: return "BR";
347            case CA: return "CA";
348            case CH: return "CH";
349            case CL: return "CL";
350            case CN: return "CN";
351            case CO: return "CO";
352            case CZ: return "CZ";
353            case DE: return "DE";
354            case DK: return "DK";
355            case ES: return "ES";
356            case FI: return "FI";
357            case FR: return "FR";
358            case GR: return "GR";
359            case HR: return "HR";
360            case IE: return "IE";
361            case IN: return "IN";
362            case IT: return "IT";
363            case JP: return "JP";
364            case KR: return "KR";
365            case LT: return "LT";
366            case MX: return "MX";
367            case NL: return "NL";
368            case NZ: return "NZ";
369            case RO: return "RO";
370            case RU: return "RU";
371            case SE: return "SE";
372            case SG: return "SG";
373            case SOA: return "SOA";
374            case TR: return "TR";
375            case TW: return "TW";
376            case UK: return "UK";
377            case US: return "US";
378            case UV: return "UV";
379            case UY: return "UY";
380            case C1: return "C1";
381            case GB: return "GB";
382            case R1: return "R1";
383            case X1: return "X1";
384            case NAMESPACEREALMS: return "NamespaceRealms";
385            case ZZ: return "ZZ";
386            default: return "?";
387          }
388        }
389        public String getSystem() {
390          return "http://terminology.hl7.org/CodeSystem/v3-hl7Realm";
391        }
392        public String getDefinition() {
393          switch (this) {
394            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.";
395            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.";
396            case AR: return "Description: Realm code for use of Argentina";
397            case AT: return "Description: Realm code for use of Austria";
398            case AU: return "Description: Realm code for use of Australia";
399            case BR: return "Description: Realm code for use of Brazil";
400            case CA: return "Description: Realm code for use of Canada";
401            case CH: return "Description: Realm code for use of Switzerland";
402            case CL: return "Description: Realm code for use of Chile";
403            case CN: return "Description: Realm code for use of China";
404            case CO: return "Description: Realm code for use of Localized Version";
405            case CZ: return "Description: Realm code for use of Czech Republic";
406            case DE: return "Description: Realm code for use of Germany";
407            case DK: return "Description: Realm code for use of Denmark";
408            case ES: return "Description: Realm code for use of Spain";
409            case FI: return "Description: Realm code for use of Finland";
410            case FR: return "Description: Realm code for use of France";
411            case GR: return "Description: Realm code for use of Greece";
412            case HR: return "Description: Realm code for use of Croatia";
413            case IE: return "Description: Realm code for use of Ireland";
414            case IN: return "Description: Realm code for use of India";
415            case IT: return "Description: Realm code for use of Italy";
416            case JP: return "Description: Realm code for use of Japan";
417            case KR: return "Description: Realm code for use of Korea";
418            case LT: return "Description: Realm code for use of Lithuania";
419            case MX: return "Description: Realm code for use of Mexico";
420            case NL: return "Description: Realm code for use of The Netherlands";
421            case NZ: return "Description: Realm code for use of New Zealand";
422            case RO: return "Description: Realm code for use of Romania";
423            case RU: return "Description: Realm code for use of Russian Federation";
424            case SE: return "Description: Realm code for use of Sweden";
425            case SG: return "Description: Realm code for use of Localized Version";
426            case SOA: return "Description: Realm code for use of Southern Africa";
427            case TR: return "Description: Realm code for use of Turkey";
428            case TW: return "Description: Realm code for use of Taiwan";
429            case UK: return "Description: Realm code for use of United Kingdom";
430            case US: return "Description: Realm code for use of United States of America";
431            case UV: return "Description: Realm code for use of Universal realm or context, used in every instance";
432            case UY: return "Description: Realm code for use of Uruguay";
433            case C1: return "Description: Realm code for use of Unclassified Realm";
434            case GB: return "Description: Realm code for use of Great Britain";
435            case R1: return "Description: Realm code for use of Representative Realm";
436            case X1: return "Description: Realm code for use of Example Realm";
437            case NAMESPACEREALMS: return "Description: Codes that can be used in the \"realm\" portion of HL7 v3 artifact identifiers.";
438            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.";
439            default: return "?";
440          }
441        }
442        public String getDisplay() {
443          switch (this) {
444            case BINDINGREALMS: return "binding realms";
445            case AFFILIATEREALMS: return "Affiliate Realms";
446            case AR: return "Argentina";
447            case AT: return "Austria";
448            case AU: return "Australia";
449            case BR: return "Brazil";
450            case CA: return "Canada";
451            case CH: return "Switzerland";
452            case CL: return "Chile";
453            case CN: return "China";
454            case CO: return "Columbia";
455            case CZ: return "Czech Republic";
456            case DE: return "Germany";
457            case DK: return "Denmark";
458            case ES: return "Spain";
459            case FI: return "Finland";
460            case FR: return "France";
461            case GR: return "Greece";
462            case HR: return "Croatia";
463            case IE: return "Ireland";
464            case IN: return "India";
465            case IT: return "Italy";
466            case JP: return "Japan";
467            case KR: return "Korea";
468            case LT: return "Lithuania";
469            case MX: return "Mexico";
470            case NL: return "The Netherlands";
471            case NZ: return "New Zealand";
472            case RO: return "Romania";
473            case RU: return "Russian Federation";
474            case SE: return "Sweden";
475            case SG: return "Singapore";
476            case SOA: return "Southern Africa";
477            case TR: return "Turkey";
478            case TW: return "Taiwan";
479            case UK: return "United Kingdom";
480            case US: return "United States of America";
481            case UV: return "Universal";
482            case UY: return "Uruguay";
483            case C1: return "Unclassified Realm";
484            case GB: return "Great Britain";
485            case R1: return "Representative Realm";
486            case X1: return "Example Realm";
487            case NAMESPACEREALMS: return "namespace realms";
488            case ZZ: return "Localized Version";
489            default: return "?";
490          }
491    }
492
493
494}
495