001package org.hl7.fhir.r4.model.codesystems;
002
003
004
005
006/*
007  Copyright (c) 2011+, HL7, Inc.
008  All rights reserved.
009  
010  Redistribution and use in source and binary forms, with or without modification, 
011  are permitted provided that the following conditions are met:
012  
013   * Redistributions of source code must retain the above copyright notice, this 
014     list of conditions and the following disclaimer.
015   * Redistributions in binary form must reproduce the above copyright notice, 
016     this list of conditions and the following disclaimer in the documentation 
017     and/or other materials provided with the distribution.
018   * Neither the name of HL7 nor the names of its contributors may be used to 
019     endorse or promote products derived from this software without specific 
020     prior written permission.
021  
022  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
023  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
024  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
025  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
026  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
027  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
028  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
029  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
030  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
031  POSSIBILITY OF SUCH DAMAGE.
032  
033*/
034
035// Generated on Wed, Jan 30, 2019 16:19-0500 for FHIR v4.0.0
036
037
038import org.hl7.fhir.exceptions.FHIRException;
039
040public enum DataTypes {
041
042        /**
043         * 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.
044         */
045        ADDRESS, 
046        /**
047         * A duration of time during which an organism (or a process) has existed.
048         */
049        AGE, 
050        /**
051         * A  text note which also  contains information about who made the statement and when.
052         */
053        ANNOTATION, 
054        /**
055         * For referring to data content defined in other formats.
056         */
057        ATTACHMENT, 
058        /**
059         * Base definition for all elements that are defined inside a resource - but not those in a data type.
060         */
061        BACKBONEELEMENT, 
062        /**
063         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
064         */
065        CODEABLECONCEPT, 
066        /**
067         * A reference to a code defined by a terminology system.
068         */
069        CODING, 
070        /**
071         * Specifies contact information for a person or organization.
072         */
073        CONTACTDETAIL, 
074        /**
075         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
076         */
077        CONTACTPOINT, 
078        /**
079         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
080         */
081        CONTRIBUTOR, 
082        /**
083         * 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.
084         */
085        COUNT, 
086        /**
087         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
088         */
089        DATAREQUIREMENT, 
090        /**
091         * A length - a value with a unit that is a physical distance.
092         */
093        DISTANCE, 
094        /**
095         * Indicates how the medication is/was taken or should be taken by the patient.
096         */
097        DOSAGE, 
098        /**
099         * A length of time.
100         */
101        DURATION, 
102        /**
103         * Base definition for all elements in a resource.
104         */
105        ELEMENT, 
106        /**
107         * Captures constraints on each element within the resource, profile, or extension.
108         */
109        ELEMENTDEFINITION, 
110        /**
111         * A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.
112         */
113        EXPRESSION, 
114        /**
115         * Optional Extension Element - found in all resources.
116         */
117        EXTENSION, 
118        /**
119         * A human's name with the ability to identify parts and usage.
120         */
121        HUMANNAME, 
122        /**
123         * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
124         */
125        IDENTIFIER, 
126        /**
127         * 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.
128         */
129        MARKETINGSTATUS, 
130        /**
131         * 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.
132         */
133        META, 
134        /**
135         * An amount of economic utility in some recognized currency.
136         */
137        MONEY, 
138        /**
139         * null
140         */
141        MONEYQUANTITY, 
142        /**
143         * A human-readable summary of the resource conveying the essential clinical and business information for the resource.
144         */
145        NARRATIVE, 
146        /**
147         * 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.
148         */
149        PARAMETERDEFINITION, 
150        /**
151         * A time period defined by a start and end date and optionally time.
152         */
153        PERIOD, 
154        /**
155         * A populatioof people with some set of grouping criteria.
156         */
157        POPULATION, 
158        /**
159         * 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.
160         */
161        PRODCHARACTERISTIC, 
162        /**
163         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
164         */
165        PRODUCTSHELFLIFE, 
166        /**
167         * 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.
168         */
169        QUANTITY, 
170        /**
171         * A set of ordered Quantities defined by a low and high limit.
172         */
173        RANGE, 
174        /**
175         * A relationship of two Quantity values - expressed as a numerator and a denominator.
176         */
177        RATIO, 
178        /**
179         * A reference from one resource to another.
180         */
181        REFERENCE, 
182        /**
183         * Related artifacts such as additional documentation, justification, or bibliographic references.
184         */
185        RELATEDARTIFACT, 
186        /**
187         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
188         */
189        SAMPLEDDATA, 
190        /**
191         * 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.
192         */
193        SIGNATURE, 
194        /**
195         * null
196         */
197        SIMPLEQUANTITY, 
198        /**
199         * 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.
200         */
201        SUBSTANCEAMOUNT, 
202        /**
203         * 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.
204         */
205        TIMING, 
206        /**
207         * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
208         */
209        TRIGGERDEFINITION, 
210        /**
211         * 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).
212         */
213        USAGECONTEXT, 
214        /**
215         * A stream of bytes
216         */
217        BASE64BINARY, 
218        /**
219         * Value of "true" or "false"
220         */
221        BOOLEAN, 
222        /**
223         * A URI that is a reference to a canonical URL on a FHIR resource
224         */
225        CANONICAL, 
226        /**
227         * 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
228         */
229        CODE, 
230        /**
231         * 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.
232         */
233        DATE, 
234        /**
235         * 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.
236         */
237        DATETIME, 
238        /**
239         * A rational number with implicit precision
240         */
241        DECIMAL, 
242        /**
243         * 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.
244         */
245        ID, 
246        /**
247         * An instant in time - known at least to the second
248         */
249        INSTANT, 
250        /**
251         * A whole number
252         */
253        INTEGER, 
254        /**
255         * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
256         */
257        MARKDOWN, 
258        /**
259         * An OID represented as a URI
260         */
261        OID, 
262        /**
263         * An integer with a value that is positive (e.g. >0)
264         */
265        POSITIVEINT, 
266        /**
267         * A sequence of Unicode characters
268         */
269        STRING, 
270        /**
271         * A time during the day, with no date specified
272         */
273        TIME, 
274        /**
275         * An integer with a value that is not negative (e.g. >= 0)
276         */
277        UNSIGNEDINT, 
278        /**
279         * String of characters used to identify a name or a resource
280         */
281        URI, 
282        /**
283         * A URI that is a literal reference
284         */
285        URL, 
286        /**
287         * A UUID, represented as a URI
288         */
289        UUID, 
290        /**
291         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
292         */
293        XHTML, 
294        /**
295         * added to help the parsers
296         */
297        NULL;
298        public static DataTypes fromCode(String codeString) throws FHIRException {
299            if (codeString == null || "".equals(codeString))
300                return null;
301        if ("Address".equals(codeString))
302          return ADDRESS;
303        if ("Age".equals(codeString))
304          return AGE;
305        if ("Annotation".equals(codeString))
306          return ANNOTATION;
307        if ("Attachment".equals(codeString))
308          return ATTACHMENT;
309        if ("BackboneElement".equals(codeString))
310          return BACKBONEELEMENT;
311        if ("CodeableConcept".equals(codeString))
312          return CODEABLECONCEPT;
313        if ("Coding".equals(codeString))
314          return CODING;
315        if ("ContactDetail".equals(codeString))
316          return CONTACTDETAIL;
317        if ("ContactPoint".equals(codeString))
318          return CONTACTPOINT;
319        if ("Contributor".equals(codeString))
320          return CONTRIBUTOR;
321        if ("Count".equals(codeString))
322          return COUNT;
323        if ("DataRequirement".equals(codeString))
324          return DATAREQUIREMENT;
325        if ("Distance".equals(codeString))
326          return DISTANCE;
327        if ("Dosage".equals(codeString))
328          return DOSAGE;
329        if ("Duration".equals(codeString))
330          return DURATION;
331        if ("Element".equals(codeString))
332          return ELEMENT;
333        if ("ElementDefinition".equals(codeString))
334          return ELEMENTDEFINITION;
335        if ("Expression".equals(codeString))
336          return EXPRESSION;
337        if ("Extension".equals(codeString))
338          return EXTENSION;
339        if ("HumanName".equals(codeString))
340          return HUMANNAME;
341        if ("Identifier".equals(codeString))
342          return IDENTIFIER;
343        if ("MarketingStatus".equals(codeString))
344          return MARKETINGSTATUS;
345        if ("Meta".equals(codeString))
346          return META;
347        if ("Money".equals(codeString))
348          return MONEY;
349        if ("MoneyQuantity".equals(codeString))
350          return MONEYQUANTITY;
351        if ("Narrative".equals(codeString))
352          return NARRATIVE;
353        if ("ParameterDefinition".equals(codeString))
354          return PARAMETERDEFINITION;
355        if ("Period".equals(codeString))
356          return PERIOD;
357        if ("Population".equals(codeString))
358          return POPULATION;
359        if ("ProdCharacteristic".equals(codeString))
360          return PRODCHARACTERISTIC;
361        if ("ProductShelfLife".equals(codeString))
362          return PRODUCTSHELFLIFE;
363        if ("Quantity".equals(codeString))
364          return QUANTITY;
365        if ("Range".equals(codeString))
366          return RANGE;
367        if ("Ratio".equals(codeString))
368          return RATIO;
369        if ("Reference".equals(codeString))
370          return REFERENCE;
371        if ("RelatedArtifact".equals(codeString))
372          return RELATEDARTIFACT;
373        if ("SampledData".equals(codeString))
374          return SAMPLEDDATA;
375        if ("Signature".equals(codeString))
376          return SIGNATURE;
377        if ("SimpleQuantity".equals(codeString))
378          return SIMPLEQUANTITY;
379        if ("SubstanceAmount".equals(codeString))
380          return SUBSTANCEAMOUNT;
381        if ("Timing".equals(codeString))
382          return TIMING;
383        if ("TriggerDefinition".equals(codeString))
384          return TRIGGERDEFINITION;
385        if ("UsageContext".equals(codeString))
386          return USAGECONTEXT;
387        if ("base64Binary".equals(codeString))
388          return BASE64BINARY;
389        if ("boolean".equals(codeString))
390          return BOOLEAN;
391        if ("canonical".equals(codeString))
392          return CANONICAL;
393        if ("code".equals(codeString))
394          return CODE;
395        if ("date".equals(codeString))
396          return DATE;
397        if ("dateTime".equals(codeString))
398          return DATETIME;
399        if ("decimal".equals(codeString))
400          return DECIMAL;
401        if ("id".equals(codeString))
402          return ID;
403        if ("instant".equals(codeString))
404          return INSTANT;
405        if ("integer".equals(codeString))
406          return INTEGER;
407        if ("markdown".equals(codeString))
408          return MARKDOWN;
409        if ("oid".equals(codeString))
410          return OID;
411        if ("positiveInt".equals(codeString))
412          return POSITIVEINT;
413        if ("string".equals(codeString))
414          return STRING;
415        if ("time".equals(codeString))
416          return TIME;
417        if ("unsignedInt".equals(codeString))
418          return UNSIGNEDINT;
419        if ("uri".equals(codeString))
420          return URI;
421        if ("url".equals(codeString))
422          return URL;
423        if ("uuid".equals(codeString))
424          return UUID;
425        if ("xhtml".equals(codeString))
426          return XHTML;
427        throw new FHIRException("Unknown DataTypes code '"+codeString+"'");
428        }
429        public String toCode() {
430          switch (this) {
431            case ADDRESS: return "Address";
432            case AGE: return "Age";
433            case ANNOTATION: return "Annotation";
434            case ATTACHMENT: return "Attachment";
435            case BACKBONEELEMENT: return "BackboneElement";
436            case CODEABLECONCEPT: return "CodeableConcept";
437            case CODING: return "Coding";
438            case CONTACTDETAIL: return "ContactDetail";
439            case CONTACTPOINT: return "ContactPoint";
440            case CONTRIBUTOR: return "Contributor";
441            case COUNT: return "Count";
442            case DATAREQUIREMENT: return "DataRequirement";
443            case DISTANCE: return "Distance";
444            case DOSAGE: return "Dosage";
445            case DURATION: return "Duration";
446            case ELEMENT: return "Element";
447            case ELEMENTDEFINITION: return "ElementDefinition";
448            case EXPRESSION: return "Expression";
449            case EXTENSION: return "Extension";
450            case HUMANNAME: return "HumanName";
451            case IDENTIFIER: return "Identifier";
452            case MARKETINGSTATUS: return "MarketingStatus";
453            case META: return "Meta";
454            case MONEY: return "Money";
455            case MONEYQUANTITY: return "MoneyQuantity";
456            case NARRATIVE: return "Narrative";
457            case PARAMETERDEFINITION: return "ParameterDefinition";
458            case PERIOD: return "Period";
459            case POPULATION: return "Population";
460            case PRODCHARACTERISTIC: return "ProdCharacteristic";
461            case PRODUCTSHELFLIFE: return "ProductShelfLife";
462            case QUANTITY: return "Quantity";
463            case RANGE: return "Range";
464            case RATIO: return "Ratio";
465            case REFERENCE: return "Reference";
466            case RELATEDARTIFACT: return "RelatedArtifact";
467            case SAMPLEDDATA: return "SampledData";
468            case SIGNATURE: return "Signature";
469            case SIMPLEQUANTITY: return "SimpleQuantity";
470            case SUBSTANCEAMOUNT: return "SubstanceAmount";
471            case TIMING: return "Timing";
472            case TRIGGERDEFINITION: return "TriggerDefinition";
473            case USAGECONTEXT: return "UsageContext";
474            case BASE64BINARY: return "base64Binary";
475            case BOOLEAN: return "boolean";
476            case CANONICAL: return "canonical";
477            case CODE: return "code";
478            case DATE: return "date";
479            case DATETIME: return "dateTime";
480            case DECIMAL: return "decimal";
481            case ID: return "id";
482            case INSTANT: return "instant";
483            case INTEGER: return "integer";
484            case MARKDOWN: return "markdown";
485            case OID: return "oid";
486            case POSITIVEINT: return "positiveInt";
487            case STRING: return "string";
488            case TIME: return "time";
489            case UNSIGNEDINT: return "unsignedInt";
490            case URI: return "uri";
491            case URL: return "url";
492            case UUID: return "uuid";
493            case XHTML: return "xhtml";
494            case NULL: return null;
495            default: return "?";
496          }
497        }
498        public String getSystem() {
499          return "http://hl7.org/fhir/data-types";
500        }
501        public String getDefinition() {
502          switch (this) {
503            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.";
504            case AGE: return "A duration of time during which an organism (or a process) has existed.";
505            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
506            case ATTACHMENT: return "For referring to data content defined in other formats.";
507            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
508            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
509            case CODING: return "A reference to a code defined by a terminology system.";
510            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
511            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
512            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
513            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.";
514            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.";
515            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
516            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
517            case DURATION: return "A length of time.";
518            case ELEMENT: return "Base definition for all elements in a resource.";
519            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
520            case EXPRESSION: return "A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.";
521            case EXTENSION: return "Optional Extension Element - found in all resources.";
522            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
523            case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
524            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.";
525            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.";
526            case MONEY: return "An amount of economic utility in some recognized currency.";
527            case MONEYQUANTITY: return "";
528            case NARRATIVE: return "A human-readable summary of the resource conveying the essential clinical and business information for the resource.";
529            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.";
530            case PERIOD: return "A time period defined by a start and end date and optionally time.";
531            case POPULATION: return "A populatioof people with some set of grouping criteria.";
532            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.";
533            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
534            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.";
535            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
536            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
537            case REFERENCE: return "A reference from one resource to another.";
538            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
539            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.";
540            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.";
541            case SIMPLEQUANTITY: return "";
542            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.";
543            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.";
544            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.";
545            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).";
546            case BASE64BINARY: return "A stream of bytes";
547            case BOOLEAN: return "Value of \"true\" or \"false\"";
548            case CANONICAL: return "A URI that is a reference to a canonical URL on a FHIR resource";
549            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";
550            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.";
551            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.";
552            case DECIMAL: return "A rational number with implicit precision";
553            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.";
554            case INSTANT: return "An instant in time - known at least to the second";
555            case INTEGER: return "A whole number";
556            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
557            case OID: return "An OID represented as a URI";
558            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
559            case STRING: return "A sequence of Unicode characters";
560            case TIME: return "A time during the day, with no date specified";
561            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
562            case URI: return "String of characters used to identify a name or a resource";
563            case URL: return "A URI that is a literal reference";
564            case UUID: return "A UUID, represented as a URI";
565            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
566            case NULL: return null;
567            default: return "?";
568          }
569        }
570        public String getDisplay() {
571          switch (this) {
572            case ADDRESS: return "Address";
573            case AGE: return "Age";
574            case ANNOTATION: return "Annotation";
575            case ATTACHMENT: return "Attachment";
576            case BACKBONEELEMENT: return "BackboneElement";
577            case CODEABLECONCEPT: return "CodeableConcept";
578            case CODING: return "Coding";
579            case CONTACTDETAIL: return "ContactDetail";
580            case CONTACTPOINT: return "ContactPoint";
581            case CONTRIBUTOR: return "Contributor";
582            case COUNT: return "Count";
583            case DATAREQUIREMENT: return "DataRequirement";
584            case DISTANCE: return "Distance";
585            case DOSAGE: return "Dosage";
586            case DURATION: return "Duration";
587            case ELEMENT: return "Element";
588            case ELEMENTDEFINITION: return "ElementDefinition";
589            case EXPRESSION: return "Expression";
590            case EXTENSION: return "Extension";
591            case HUMANNAME: return "HumanName";
592            case IDENTIFIER: return "Identifier";
593            case MARKETINGSTATUS: return "MarketingStatus";
594            case META: return "Meta";
595            case MONEY: return "Money";
596            case MONEYQUANTITY: return "MoneyQuantity";
597            case NARRATIVE: return "Narrative";
598            case PARAMETERDEFINITION: return "ParameterDefinition";
599            case PERIOD: return "Period";
600            case POPULATION: return "Population";
601            case PRODCHARACTERISTIC: return "ProdCharacteristic";
602            case PRODUCTSHELFLIFE: return "ProductShelfLife";
603            case QUANTITY: return "Quantity";
604            case RANGE: return "Range";
605            case RATIO: return "Ratio";
606            case REFERENCE: return "Reference";
607            case RELATEDARTIFACT: return "RelatedArtifact";
608            case SAMPLEDDATA: return "SampledData";
609            case SIGNATURE: return "Signature";
610            case SIMPLEQUANTITY: return "SimpleQuantity";
611            case SUBSTANCEAMOUNT: return "SubstanceAmount";
612            case TIMING: return "Timing";
613            case TRIGGERDEFINITION: return "TriggerDefinition";
614            case USAGECONTEXT: return "UsageContext";
615            case BASE64BINARY: return "base64Binary";
616            case BOOLEAN: return "boolean";
617            case CANONICAL: return "canonical";
618            case CODE: return "code";
619            case DATE: return "date";
620            case DATETIME: return "dateTime";
621            case DECIMAL: return "decimal";
622            case ID: return "id";
623            case INSTANT: return "instant";
624            case INTEGER: return "integer";
625            case MARKDOWN: return "markdown";
626            case OID: return "oid";
627            case POSITIVEINT: return "positiveInt";
628            case STRING: return "string";
629            case TIME: return "time";
630            case UNSIGNEDINT: return "unsignedInt";
631            case URI: return "uri";
632            case URL: return "url";
633            case UUID: return "uuid";
634            case XHTML: return "XHTML";
635            case NULL: return null;
636            default: return "?";
637          }
638    }
639
640
641}