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 DataTypes {
038
039        /**
040         * An address expressed using postal conventions (as opposed to GPS or other location definition formats).  This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery.  There are a variety of postal address formats defined around the world.
041         */
042        ADDRESS, 
043        /**
044         * A duration of time during which an organism (or a process) has existed.
045         */
046        AGE, 
047        /**
048         * A  text note which also  contains information about who made the statement and when.
049         */
050        ANNOTATION, 
051        /**
052         * For referring to data content defined in other formats.
053         */
054        ATTACHMENT, 
055        /**
056         * Base definition for all elements that are defined inside a resource - but not those in a data type.
057         */
058        BACKBONEELEMENT, 
059        /**
060         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
061         */
062        CODEABLECONCEPT, 
063        /**
064         * A reference to a code defined by a terminology system.
065         */
066        CODING, 
067        /**
068         * Specifies contact information for a person or organization.
069         */
070        CONTACTDETAIL, 
071        /**
072         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
073         */
074        CONTACTPOINT, 
075        /**
076         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
077         */
078        CONTRIBUTOR, 
079        /**
080         * A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.
081         */
082        COUNT, 
083        /**
084         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
085         */
086        DATAREQUIREMENT, 
087        /**
088         * A length - a value with a unit that is a physical distance.
089         */
090        DISTANCE, 
091        /**
092         * Indicates how the medication is/was taken or should be taken by the patient.
093         */
094        DOSAGE, 
095        /**
096         * A length of time.
097         */
098        DURATION, 
099        /**
100         * Base definition for all elements in a resource.
101         */
102        ELEMENT, 
103        /**
104         * Captures constraints on each element within the resource, profile, or extension.
105         */
106        ELEMENTDEFINITION, 
107        /**
108         * Optional Extension Element - found in all resources.
109         */
110        EXTENSION, 
111        /**
112         * A human's name with the ability to identify parts and usage.
113         */
114        HUMANNAME, 
115        /**
116         * A technical identifier - identifies some entity uniquely and unambiguously.
117         */
118        IDENTIFIER, 
119        /**
120         * The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available.
121         */
122        MARKETINGSTATUS, 
123        /**
124         * The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
125         */
126        META, 
127        /**
128         * An amount of economic utility in some recognized currency.
129         */
130        MONEY, 
131        /**
132         * A human-readable formatted text, including images.
133         */
134        NARRATIVE, 
135        /**
136         * The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse.
137         */
138        PARAMETERDEFINITION, 
139        /**
140         * A time period defined by a start and end date and optionally time.
141         */
142        PERIOD, 
143        /**
144         * The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available.
145         */
146        PRODCHARACTERISTIC, 
147        /**
148         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
149         */
150        PRODUCTSHELFLIFE, 
151        /**
152         * A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.
153         */
154        QUANTITY, 
155        /**
156         * A set of ordered Quantities defined by a low and high limit.
157         */
158        RANGE, 
159        /**
160         * A relationship of two Quantity values - expressed as a numerator and a denominator.
161         */
162        RATIO, 
163        /**
164         * A reference from one resource to another.
165         */
166        REFERENCE, 
167        /**
168         * Related artifacts such as additional documentation, justification, or bibliographic references.
169         */
170        RELATEDARTIFACT, 
171        /**
172         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
173         */
174        SAMPLEDDATA, 
175        /**
176         * A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities.
177         */
178        SIGNATURE, 
179        /**
180         * null
181         */
182        SIMPLEQUANTITY, 
183        /**
184         * Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID.
185         */
186        SUBSTANCEAMOUNT, 
187        /**
188         * Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID.
189         */
190        SUBSTANCEMOIETY, 
191        /**
192         * Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out.
193         */
194        TIMING, 
195        /**
196         * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
197         */
198        TRIGGERDEFINITION, 
199        /**
200         * Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care).
201         */
202        USAGECONTEXT, 
203        /**
204         * A stream of bytes
205         */
206        BASE64BINARY, 
207        /**
208         * Value of "true" or "false"
209         */
210        BOOLEAN, 
211        /**
212         * A URI that is a reference to a canonical URI on a FHIR resource
213         */
214        CANONICAL, 
215        /**
216         * A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents
217         */
218        CODE, 
219        /**
220         * A date or partial date (e.g. just year or year + month). There is no time zone. The format is a union of the schema types gYear, gYearMonth and date.  Dates SHALL be valid dates.
221         */
222        DATE, 
223        /**
224         * A date, date-time or partial date (e.g. just year or year + month).  If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored.                 Dates SHALL be valid dates.
225         */
226        DATETIME, 
227        /**
228         * A rational number with implicit precision
229         */
230        DECIMAL, 
231        /**
232         * Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters.  (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.)  Ids are case-insensitive.
233         */
234        ID, 
235        /**
236         * An instant in time - known at least to the second
237         */
238        INSTANT, 
239        /**
240         * A whole number
241         */
242        INTEGER, 
243        /**
244         * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
245         */
246        MARKDOWN, 
247        /**
248         * An OID represented as a URI
249         */
250        OID, 
251        /**
252         * An integer with a value that is positive (e.g. >0)
253         */
254        POSITIVEINT, 
255        /**
256         * A sequence of Unicode characters
257         */
258        STRING, 
259        /**
260         * A time during the day, with no date specified
261         */
262        TIME, 
263        /**
264         * An integer with a value that is not negative (e.g. >= 0)
265         */
266        UNSIGNEDINT, 
267        /**
268         * String of characters used to identify a name or a resource
269         */
270        URI, 
271        /**
272         * A URI that is a literal reference
273         */
274        URL, 
275        /**
276         * A UUID, represented as a URI
277         */
278        UUID, 
279        /**
280         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
281         */
282        XHTML, 
283        /**
284         * added to help the parsers
285         */
286        NULL;
287        public static DataTypes fromCode(String codeString) throws FHIRException {
288            if (codeString == null || "".equals(codeString))
289                return null;
290        if ("Address".equals(codeString))
291          return ADDRESS;
292        if ("Age".equals(codeString))
293          return AGE;
294        if ("Annotation".equals(codeString))
295          return ANNOTATION;
296        if ("Attachment".equals(codeString))
297          return ATTACHMENT;
298        if ("BackboneElement".equals(codeString))
299          return BACKBONEELEMENT;
300        if ("CodeableConcept".equals(codeString))
301          return CODEABLECONCEPT;
302        if ("Coding".equals(codeString))
303          return CODING;
304        if ("ContactDetail".equals(codeString))
305          return CONTACTDETAIL;
306        if ("ContactPoint".equals(codeString))
307          return CONTACTPOINT;
308        if ("Contributor".equals(codeString))
309          return CONTRIBUTOR;
310        if ("Count".equals(codeString))
311          return COUNT;
312        if ("DataRequirement".equals(codeString))
313          return DATAREQUIREMENT;
314        if ("Distance".equals(codeString))
315          return DISTANCE;
316        if ("Dosage".equals(codeString))
317          return DOSAGE;
318        if ("Duration".equals(codeString))
319          return DURATION;
320        if ("Element".equals(codeString))
321          return ELEMENT;
322        if ("ElementDefinition".equals(codeString))
323          return ELEMENTDEFINITION;
324        if ("Extension".equals(codeString))
325          return EXTENSION;
326        if ("HumanName".equals(codeString))
327          return HUMANNAME;
328        if ("Identifier".equals(codeString))
329          return IDENTIFIER;
330        if ("MarketingStatus".equals(codeString))
331          return MARKETINGSTATUS;
332        if ("Meta".equals(codeString))
333          return META;
334        if ("Money".equals(codeString))
335          return MONEY;
336        if ("Narrative".equals(codeString))
337          return NARRATIVE;
338        if ("ParameterDefinition".equals(codeString))
339          return PARAMETERDEFINITION;
340        if ("Period".equals(codeString))
341          return PERIOD;
342        if ("ProdCharacteristic".equals(codeString))
343          return PRODCHARACTERISTIC;
344        if ("ProductShelfLife".equals(codeString))
345          return PRODUCTSHELFLIFE;
346        if ("Quantity".equals(codeString))
347          return QUANTITY;
348        if ("Range".equals(codeString))
349          return RANGE;
350        if ("Ratio".equals(codeString))
351          return RATIO;
352        if ("Reference".equals(codeString))
353          return REFERENCE;
354        if ("RelatedArtifact".equals(codeString))
355          return RELATEDARTIFACT;
356        if ("SampledData".equals(codeString))
357          return SAMPLEDDATA;
358        if ("Signature".equals(codeString))
359          return SIGNATURE;
360        if ("SimpleQuantity".equals(codeString))
361          return SIMPLEQUANTITY;
362        if ("SubstanceAmount".equals(codeString))
363          return SUBSTANCEAMOUNT;
364        if ("SubstanceMoiety".equals(codeString))
365          return SUBSTANCEMOIETY;
366        if ("Timing".equals(codeString))
367          return TIMING;
368        if ("TriggerDefinition".equals(codeString))
369          return TRIGGERDEFINITION;
370        if ("UsageContext".equals(codeString))
371          return USAGECONTEXT;
372        if ("base64Binary".equals(codeString))
373          return BASE64BINARY;
374        if ("boolean".equals(codeString))
375          return BOOLEAN;
376        if ("canonical".equals(codeString))
377          return CANONICAL;
378        if ("code".equals(codeString))
379          return CODE;
380        if ("date".equals(codeString))
381          return DATE;
382        if ("dateTime".equals(codeString))
383          return DATETIME;
384        if ("decimal".equals(codeString))
385          return DECIMAL;
386        if ("id".equals(codeString))
387          return ID;
388        if ("instant".equals(codeString))
389          return INSTANT;
390        if ("integer".equals(codeString))
391          return INTEGER;
392        if ("markdown".equals(codeString))
393          return MARKDOWN;
394        if ("oid".equals(codeString))
395          return OID;
396        if ("positiveInt".equals(codeString))
397          return POSITIVEINT;
398        if ("string".equals(codeString))
399          return STRING;
400        if ("time".equals(codeString))
401          return TIME;
402        if ("unsignedInt".equals(codeString))
403          return UNSIGNEDINT;
404        if ("uri".equals(codeString))
405          return URI;
406        if ("url".equals(codeString))
407          return URL;
408        if ("uuid".equals(codeString))
409          return UUID;
410        if ("xhtml".equals(codeString))
411          return XHTML;
412        throw new FHIRException("Unknown DataTypes code '"+codeString+"'");
413        }
414        public String toCode() {
415          switch (this) {
416            case ADDRESS: return "Address";
417            case AGE: return "Age";
418            case ANNOTATION: return "Annotation";
419            case ATTACHMENT: return "Attachment";
420            case BACKBONEELEMENT: return "BackboneElement";
421            case CODEABLECONCEPT: return "CodeableConcept";
422            case CODING: return "Coding";
423            case CONTACTDETAIL: return "ContactDetail";
424            case CONTACTPOINT: return "ContactPoint";
425            case CONTRIBUTOR: return "Contributor";
426            case COUNT: return "Count";
427            case DATAREQUIREMENT: return "DataRequirement";
428            case DISTANCE: return "Distance";
429            case DOSAGE: return "Dosage";
430            case DURATION: return "Duration";
431            case ELEMENT: return "Element";
432            case ELEMENTDEFINITION: return "ElementDefinition";
433            case EXTENSION: return "Extension";
434            case HUMANNAME: return "HumanName";
435            case IDENTIFIER: return "Identifier";
436            case MARKETINGSTATUS: return "MarketingStatus";
437            case META: return "Meta";
438            case MONEY: return "Money";
439            case NARRATIVE: return "Narrative";
440            case PARAMETERDEFINITION: return "ParameterDefinition";
441            case PERIOD: return "Period";
442            case PRODCHARACTERISTIC: return "ProdCharacteristic";
443            case PRODUCTSHELFLIFE: return "ProductShelfLife";
444            case QUANTITY: return "Quantity";
445            case RANGE: return "Range";
446            case RATIO: return "Ratio";
447            case REFERENCE: return "Reference";
448            case RELATEDARTIFACT: return "RelatedArtifact";
449            case SAMPLEDDATA: return "SampledData";
450            case SIGNATURE: return "Signature";
451            case SIMPLEQUANTITY: return "SimpleQuantity";
452            case SUBSTANCEAMOUNT: return "SubstanceAmount";
453            case SUBSTANCEMOIETY: return "SubstanceMoiety";
454            case TIMING: return "Timing";
455            case TRIGGERDEFINITION: return "TriggerDefinition";
456            case USAGECONTEXT: return "UsageContext";
457            case BASE64BINARY: return "base64Binary";
458            case BOOLEAN: return "boolean";
459            case CANONICAL: return "canonical";
460            case CODE: return "code";
461            case DATE: return "date";
462            case DATETIME: return "dateTime";
463            case DECIMAL: return "decimal";
464            case ID: return "id";
465            case INSTANT: return "instant";
466            case INTEGER: return "integer";
467            case MARKDOWN: return "markdown";
468            case OID: return "oid";
469            case POSITIVEINT: return "positiveInt";
470            case STRING: return "string";
471            case TIME: return "time";
472            case UNSIGNEDINT: return "unsignedInt";
473            case URI: return "uri";
474            case URL: return "url";
475            case UUID: return "uuid";
476            case XHTML: return "xhtml";
477            default: return "?";
478          }
479        }
480        public String getSystem() {
481          return "http://hl7.org/fhir/data-types";
482        }
483        public String getDefinition() {
484          switch (this) {
485            case ADDRESS: return "An address expressed using postal conventions (as opposed to GPS or other location definition formats).  This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery.  There are a variety of postal address formats defined around the world.";
486            case AGE: return "A duration of time during which an organism (or a process) has existed.";
487            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
488            case ATTACHMENT: return "For referring to data content defined in other formats.";
489            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
490            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
491            case CODING: return "A reference to a code defined by a terminology system.";
492            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
493            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
494            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
495            case COUNT: return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.";
496            case DATAREQUIREMENT: return "Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.";
497            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
498            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
499            case DURATION: return "A length of time.";
500            case ELEMENT: return "Base definition for all elements in a resource.";
501            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
502            case EXTENSION: return "Optional Extension Element - found in all resources.";
503            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
504            case IDENTIFIER: return "A technical identifier - identifies some entity uniquely and unambiguously.";
505            case MARKETINGSTATUS: return "The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available.";
506            case META: return "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.";
507            case MONEY: return "An amount of economic utility in some recognized currency.";
508            case NARRATIVE: return "A human-readable formatted text, including images.";
509            case PARAMETERDEFINITION: return "The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse.";
510            case PERIOD: return "A time period defined by a start and end date and optionally time.";
511            case PRODCHARACTERISTIC: return "The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available.";
512            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
513            case QUANTITY: return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.";
514            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
515            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
516            case REFERENCE: return "A reference from one resource to another.";
517            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
518            case SAMPLEDDATA: return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.";
519            case SIGNATURE: return "A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities.";
520            case SIMPLEQUANTITY: return "";
521            case SUBSTANCEAMOUNT: return "Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID.";
522            case SUBSTANCEMOIETY: return "Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID.";
523            case TIMING: return "Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out.";
524            case TRIGGERDEFINITION: return "A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.";
525            case USAGECONTEXT: return "Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care).";
526            case BASE64BINARY: return "A stream of bytes";
527            case BOOLEAN: return "Value of \"true\" or \"false\"";
528            case CANONICAL: return "A URI that is a reference to a canonical URI on a FHIR resource";
529            case CODE: return "A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents";
530            case DATE: return "A date or partial date (e.g. just year or year + month). There is no time zone. The format is a union of the schema types gYear, gYearMonth and date.  Dates SHALL be valid dates.";
531            case DATETIME: return "A date, date-time or partial date (e.g. just year or year + month).  If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored.                 Dates SHALL be valid dates.";
532            case DECIMAL: return "A rational number with implicit precision";
533            case ID: return "Any combination of letters, numerals, \"-\" and \".\", with a length limit of 64 characters.  (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.)  Ids are case-insensitive.";
534            case INSTANT: return "An instant in time - known at least to the second";
535            case INTEGER: return "A whole number";
536            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
537            case OID: return "An OID represented as a URI";
538            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
539            case STRING: return "A sequence of Unicode characters";
540            case TIME: return "A time during the day, with no date specified";
541            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
542            case URI: return "String of characters used to identify a name or a resource";
543            case URL: return "A URI that is a literal reference";
544            case UUID: return "A UUID, represented as a URI";
545            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
546            default: return "?";
547          }
548        }
549        public String getDisplay() {
550          switch (this) {
551            case ADDRESS: return "Address";
552            case AGE: return "Age";
553            case ANNOTATION: return "Annotation";
554            case ATTACHMENT: return "Attachment";
555            case BACKBONEELEMENT: return "BackboneElement";
556            case CODEABLECONCEPT: return "CodeableConcept";
557            case CODING: return "Coding";
558            case CONTACTDETAIL: return "ContactDetail";
559            case CONTACTPOINT: return "ContactPoint";
560            case CONTRIBUTOR: return "Contributor";
561            case COUNT: return "Count";
562            case DATAREQUIREMENT: return "DataRequirement";
563            case DISTANCE: return "Distance";
564            case DOSAGE: return "Dosage";
565            case DURATION: return "Duration";
566            case ELEMENT: return "Element";
567            case ELEMENTDEFINITION: return "ElementDefinition";
568            case EXTENSION: return "Extension";
569            case HUMANNAME: return "HumanName";
570            case IDENTIFIER: return "Identifier";
571            case MARKETINGSTATUS: return "MarketingStatus";
572            case META: return "Meta";
573            case MONEY: return "Money";
574            case NARRATIVE: return "Narrative";
575            case PARAMETERDEFINITION: return "ParameterDefinition";
576            case PERIOD: return "Period";
577            case PRODCHARACTERISTIC: return "ProdCharacteristic";
578            case PRODUCTSHELFLIFE: return "ProductShelfLife";
579            case QUANTITY: return "Quantity";
580            case RANGE: return "Range";
581            case RATIO: return "Ratio";
582            case REFERENCE: return "Reference";
583            case RELATEDARTIFACT: return "RelatedArtifact";
584            case SAMPLEDDATA: return "SampledData";
585            case SIGNATURE: return "Signature";
586            case SIMPLEQUANTITY: return "SimpleQuantity";
587            case SUBSTANCEAMOUNT: return "SubstanceAmount";
588            case SUBSTANCEMOIETY: return "SubstanceMoiety";
589            case TIMING: return "Timing";
590            case TRIGGERDEFINITION: return "TriggerDefinition";
591            case USAGECONTEXT: return "UsageContext";
592            case BASE64BINARY: return "base64Binary";
593            case BOOLEAN: return "boolean";
594            case CANONICAL: return "canonical";
595            case CODE: return "code";
596            case DATE: return "date";
597            case DATETIME: return "dateTime";
598            case DECIMAL: return "decimal";
599            case ID: return "id";
600            case INSTANT: return "instant";
601            case INTEGER: return "integer";
602            case MARKDOWN: return "markdown";
603            case OID: return "oid";
604            case POSITIVEINT: return "positiveInt";
605            case STRING: return "string";
606            case TIME: return "time";
607            case UNSIGNEDINT: return "unsignedInt";
608            case URI: return "uri";
609            case URL: return "url";
610            case UUID: return "uuid";
611            case XHTML: return "XHTML";
612            default: return "?";
613          }
614    }
615
616
617}
618