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 Wed, Jan 30, 2019 16:19-0500 for FHIR v4.0.0
033
034import org.hl7.fhir.exceptions.FHIRException;
035
036public enum V3Hl7Realm {
037
038  /**
039   * Description: Concepts that can be used as Binding Realms when creating
040   * Binding Statements. These codes are permitted to appear in the
041   * InfrastructureRoot.realmCode attribute.
042   */
043  BINDINGREALMS,
044  /**
045   * Description: Realm codes for official HL7 organizational bodies. This
046   * includes both the HL7 International organization as well as all recognized
047   * international affiliates (past and present). These groups have the ability to
048   * bind vocabulary and develop artifacts. As well, they have the ability to have
049   * "ownership" over other binding realms and namespace realms via the
050   * owningAffiliate property of those other realm codes.
051   */
052  AFFILIATEREALMS,
053  /**
054   * Description: Realm code for use of Argentina
055   */
056  AR,
057  /**
058   * Description: Realm code for use of Austria
059   */
060  AT,
061  /**
062   * Description: Realm code for use of Australia
063   */
064  AU,
065  /**
066   * Description: Realm code for use of Brazil
067   */
068  BR,
069  /**
070   * Description: Realm code for use of Canada
071   */
072  CA,
073  /**
074   * Description: Realm code for use of Switzerland
075   */
076  CH,
077  /**
078   * Description: Realm code for use of Chile
079   */
080  CL,
081  /**
082   * Description: Realm code for use of China
083   */
084  CN,
085  /**
086   * Description: Realm code for use of Localized Version
087   */
088  CO,
089  /**
090   * Description: Realm code for use of Czech Republic
091   */
092  CZ,
093  /**
094   * Description: Realm code for use of Germany
095   */
096  DE,
097  /**
098   * Description: Realm code for use of Denmark
099   */
100  DK,
101  /**
102   * Description: Realm code for use of Spain
103   */
104  ES,
105  /**
106   * Description: Realm code for use of Finland
107   */
108  FI,
109  /**
110   * Description: Realm code for use of France
111   */
112  FR,
113  /**
114   * Description: Realm code for use of Greece
115   */
116  GR,
117  /**
118   * Description: Realm code for use of Croatia
119   */
120  HR,
121  /**
122   * Description: Realm code for use of Ireland
123   */
124  IE,
125  /**
126   * Description: Realm code for use of India
127   */
128  IN,
129  /**
130   * Description: Realm code for use of Italy
131   */
132  IT,
133  /**
134   * Description: Realm code for use of Japan
135   */
136  JP,
137  /**
138   * Description: Realm code for use of Korea
139   */
140  KR,
141  /**
142   * Description: Realm code for use of Lithuania
143   */
144  LT,
145  /**
146   * Description: Realm code for use of Mexico
147   */
148  MX,
149  /**
150   * Description: Realm code for use of The Netherlands
151   */
152  NL,
153  /**
154   * Description: Realm code for use of New Zealand
155   */
156  NZ,
157  /**
158   * Description: Realm code for use of Romania
159   */
160  RO,
161  /**
162   * Description: Realm code for use of Russian Federation
163   */
164  RU,
165  /**
166   * Description: Realm code for use of Sweden
167   */
168  SE,
169  /**
170   * Description: Realm code for use of Localized Version
171   */
172  SG,
173  /**
174   * Description: Realm code for use of Southern Africa
175   */
176  SOA,
177  /**
178   * Description: Realm code for use of Turkey
179   */
180  TR,
181  /**
182   * Description: Realm code for use of Taiwan
183   */
184  TW,
185  /**
186   * Description: Realm code for use of United Kingdom
187   */
188  UK,
189  /**
190   * Description: Realm code for use of United States of America
191   */
192  US,
193  /**
194   * Description: Realm code for use of Universal realm or context, used in every
195   * instance
196   */
197  UV,
198  /**
199   * Description: Realm code for use of Uruguay
200   */
201  UY,
202  /**
203   * Description: Realm code for use of Unclassified Realm
204   */
205  C1,
206  /**
207   * Description: Realm code for use of Great Britain
208   */
209  GB,
210  /**
211   * Description: Realm code for use of Representative Realm
212   */
213  R1,
214  /**
215   * Description: Realm code for use of Example Realm
216   */
217  X1,
218  /**
219   * Description: Codes that can be used in the "realm" portion of HL7 v3 artifact
220   * identifiers.
221   */
222  NAMESPACEREALMS,
223  /**
224   * Description: An artifact created for local use only. This realm namespace has
225   * no owning affiliate. Its use is uncontrolled, i.e. anyone can create
226   * artifacts using this realm namespace. Because of this, there is a significant
227   * likelihood of artifact identifier collisions. Implementers are encouraged to
228   * register their artifacts under an affiliate owned and controlled namespace to
229   * avoid such collision problems where possible.
230   */
231  ZZ,
232  /**
233   * added to help the parsers
234   */
235  NULL;
236
237  public static V3Hl7Realm fromCode(String codeString) throws FHIRException {
238    if (codeString == null || "".equals(codeString))
239      return null;
240    if ("BindingRealms".equals(codeString))
241      return BINDINGREALMS;
242    if ("AffiliateRealms".equals(codeString))
243      return AFFILIATEREALMS;
244    if ("AR".equals(codeString))
245      return AR;
246    if ("AT".equals(codeString))
247      return AT;
248    if ("AU".equals(codeString))
249      return AU;
250    if ("BR".equals(codeString))
251      return BR;
252    if ("CA".equals(codeString))
253      return CA;
254    if ("CH".equals(codeString))
255      return CH;
256    if ("CL".equals(codeString))
257      return CL;
258    if ("CN".equals(codeString))
259      return CN;
260    if ("CO".equals(codeString))
261      return CO;
262    if ("CZ".equals(codeString))
263      return CZ;
264    if ("DE".equals(codeString))
265      return DE;
266    if ("DK".equals(codeString))
267      return DK;
268    if ("ES".equals(codeString))
269      return ES;
270    if ("FI".equals(codeString))
271      return FI;
272    if ("FR".equals(codeString))
273      return FR;
274    if ("GR".equals(codeString))
275      return GR;
276    if ("HR".equals(codeString))
277      return HR;
278    if ("IE".equals(codeString))
279      return IE;
280    if ("IN".equals(codeString))
281      return IN;
282    if ("IT".equals(codeString))
283      return IT;
284    if ("JP".equals(codeString))
285      return JP;
286    if ("KR".equals(codeString))
287      return KR;
288    if ("LT".equals(codeString))
289      return LT;
290    if ("MX".equals(codeString))
291      return MX;
292    if ("NL".equals(codeString))
293      return NL;
294    if ("NZ".equals(codeString))
295      return NZ;
296    if ("RO".equals(codeString))
297      return RO;
298    if ("RU".equals(codeString))
299      return RU;
300    if ("SE".equals(codeString))
301      return SE;
302    if ("SG".equals(codeString))
303      return SG;
304    if ("SOA".equals(codeString))
305      return SOA;
306    if ("TR".equals(codeString))
307      return TR;
308    if ("TW".equals(codeString))
309      return TW;
310    if ("UK".equals(codeString))
311      return UK;
312    if ("US".equals(codeString))
313      return US;
314    if ("UV".equals(codeString))
315      return UV;
316    if ("UY".equals(codeString))
317      return UY;
318    if ("C1".equals(codeString))
319      return C1;
320    if ("GB".equals(codeString))
321      return GB;
322    if ("R1".equals(codeString))
323      return R1;
324    if ("X1".equals(codeString))
325      return X1;
326    if ("NamespaceRealms".equals(codeString))
327      return NAMESPACEREALMS;
328    if ("ZZ".equals(codeString))
329      return ZZ;
330    throw new FHIRException("Unknown V3Hl7Realm code '" + codeString + "'");
331  }
332
333  public String toCode() {
334    switch (this) {
335    case BINDINGREALMS:
336      return "BindingRealms";
337    case AFFILIATEREALMS:
338      return "AffiliateRealms";
339    case AR:
340      return "AR";
341    case AT:
342      return "AT";
343    case AU:
344      return "AU";
345    case BR:
346      return "BR";
347    case CA:
348      return "CA";
349    case CH:
350      return "CH";
351    case CL:
352      return "CL";
353    case CN:
354      return "CN";
355    case CO:
356      return "CO";
357    case CZ:
358      return "CZ";
359    case DE:
360      return "DE";
361    case DK:
362      return "DK";
363    case ES:
364      return "ES";
365    case FI:
366      return "FI";
367    case FR:
368      return "FR";
369    case GR:
370      return "GR";
371    case HR:
372      return "HR";
373    case IE:
374      return "IE";
375    case IN:
376      return "IN";
377    case IT:
378      return "IT";
379    case JP:
380      return "JP";
381    case KR:
382      return "KR";
383    case LT:
384      return "LT";
385    case MX:
386      return "MX";
387    case NL:
388      return "NL";
389    case NZ:
390      return "NZ";
391    case RO:
392      return "RO";
393    case RU:
394      return "RU";
395    case SE:
396      return "SE";
397    case SG:
398      return "SG";
399    case SOA:
400      return "SOA";
401    case TR:
402      return "TR";
403    case TW:
404      return "TW";
405    case UK:
406      return "UK";
407    case US:
408      return "US";
409    case UV:
410      return "UV";
411    case UY:
412      return "UY";
413    case C1:
414      return "C1";
415    case GB:
416      return "GB";
417    case R1:
418      return "R1";
419    case X1:
420      return "X1";
421    case NAMESPACEREALMS:
422      return "NamespaceRealms";
423    case ZZ:
424      return "ZZ";
425    case NULL:
426      return null;
427    default:
428      return "?";
429    }
430  }
431
432  public String getSystem() {
433    return "http://terminology.hl7.org/CodeSystem/v3-hl7Realm";
434  }
435
436  public String getDefinition() {
437    switch (this) {
438    case BINDINGREALMS:
439      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.";
440    case AFFILIATEREALMS:
441      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.";
442    case AR:
443      return "Description: Realm code for use of Argentina";
444    case AT:
445      return "Description: Realm code for use of Austria";
446    case AU:
447      return "Description: Realm code for use of Australia";
448    case BR:
449      return "Description: Realm code for use of Brazil";
450    case CA:
451      return "Description: Realm code for use of Canada";
452    case CH:
453      return "Description: Realm code for use of Switzerland";
454    case CL:
455      return "Description: Realm code for use of Chile";
456    case CN:
457      return "Description: Realm code for use of China";
458    case CO:
459      return "Description: Realm code for use of Localized Version";
460    case CZ:
461      return "Description: Realm code for use of Czech Republic";
462    case DE:
463      return "Description: Realm code for use of Germany";
464    case DK:
465      return "Description: Realm code for use of Denmark";
466    case ES:
467      return "Description: Realm code for use of Spain";
468    case FI:
469      return "Description: Realm code for use of Finland";
470    case FR:
471      return "Description: Realm code for use of France";
472    case GR:
473      return "Description: Realm code for use of Greece";
474    case HR:
475      return "Description: Realm code for use of Croatia";
476    case IE:
477      return "Description: Realm code for use of Ireland";
478    case IN:
479      return "Description: Realm code for use of India";
480    case IT:
481      return "Description: Realm code for use of Italy";
482    case JP:
483      return "Description: Realm code for use of Japan";
484    case KR:
485      return "Description: Realm code for use of Korea";
486    case LT:
487      return "Description: Realm code for use of Lithuania";
488    case MX:
489      return "Description: Realm code for use of Mexico";
490    case NL:
491      return "Description: Realm code for use of The Netherlands";
492    case NZ:
493      return "Description: Realm code for use of New Zealand";
494    case RO:
495      return "Description: Realm code for use of Romania";
496    case RU:
497      return "Description: Realm code for use of Russian Federation";
498    case SE:
499      return "Description: Realm code for use of Sweden";
500    case SG:
501      return "Description: Realm code for use of Localized Version";
502    case SOA:
503      return "Description: Realm code for use of Southern Africa";
504    case TR:
505      return "Description: Realm code for use of Turkey";
506    case TW:
507      return "Description: Realm code for use of Taiwan";
508    case UK:
509      return "Description: Realm code for use of United Kingdom";
510    case US:
511      return "Description: Realm code for use of United States of America";
512    case UV:
513      return "Description: Realm code for use of Universal realm or context, used in every instance";
514    case UY:
515      return "Description: Realm code for use of Uruguay";
516    case C1:
517      return "Description: Realm code for use of Unclassified Realm";
518    case GB:
519      return "Description: Realm code for use of Great Britain";
520    case R1:
521      return "Description: Realm code for use of Representative Realm";
522    case X1:
523      return "Description: Realm code for use of Example Realm";
524    case NAMESPACEREALMS:
525      return "Description: Codes that can be used in the \"realm\" portion of HL7 v3 artifact identifiers.";
526    case ZZ:
527      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.";
528    case NULL:
529      return null;
530    default:
531      return "?";
532    }
533  }
534
535  public String getDisplay() {
536    switch (this) {
537    case BINDINGREALMS:
538      return "binding realms";
539    case AFFILIATEREALMS:
540      return "Affiliate Realms";
541    case AR:
542      return "Argentina";
543    case AT:
544      return "Austria";
545    case AU:
546      return "Australia";
547    case BR:
548      return "Brazil";
549    case CA:
550      return "Canada";
551    case CH:
552      return "Switzerland";
553    case CL:
554      return "Chile";
555    case CN:
556      return "China";
557    case CO:
558      return "Columbia";
559    case CZ:
560      return "Czech Republic";
561    case DE:
562      return "Germany";
563    case DK:
564      return "Denmark";
565    case ES:
566      return "Spain";
567    case FI:
568      return "Finland";
569    case FR:
570      return "France";
571    case GR:
572      return "Greece";
573    case HR:
574      return "Croatia";
575    case IE:
576      return "Ireland";
577    case IN:
578      return "India";
579    case IT:
580      return "Italy";
581    case JP:
582      return "Japan";
583    case KR:
584      return "Korea";
585    case LT:
586      return "Lithuania";
587    case MX:
588      return "Mexico";
589    case NL:
590      return "The Netherlands";
591    case NZ:
592      return "New Zealand";
593    case RO:
594      return "Romania";
595    case RU:
596      return "Russian Federation";
597    case SE:
598      return "Sweden";
599    case SG:
600      return "Singapore";
601    case SOA:
602      return "Southern Africa";
603    case TR:
604      return "Turkey";
605    case TW:
606      return "Taiwan";
607    case UK:
608      return "United Kingdom";
609    case US:
610      return "United States of America";
611    case UV:
612      return "Universal";
613    case UY:
614      return "Uruguay";
615    case C1:
616      return "Unclassified Realm";
617    case GB:
618      return "Great Britain";
619    case R1:
620      return "Representative Realm";
621    case X1:
622      return "Example Realm";
623    case NAMESPACEREALMS:
624      return "namespace realms";
625    case ZZ:
626      return "Localized Version";
627    case NULL:
628      return null;
629    default:
630      return "?";
631    }
632  }
633
634}