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            default: return "?";
495          }
496        }
497        public String getSystem() {
498          return "http://hl7.org/fhir/data-types";
499        }
500        public String getDefinition() {
501          switch (this) {
502            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.";
503            case AGE: return "A duration of time during which an organism (or a process) has existed.";
504            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
505            case ATTACHMENT: return "For referring to data content defined in other formats.";
506            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
507            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
508            case CODING: return "A reference to a code defined by a terminology system.";
509            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
510            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
511            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
512            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.";
513            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.";
514            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
515            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
516            case DURATION: return "A length of time.";
517            case ELEMENT: return "Base definition for all elements in a resource.";
518            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
519            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.";
520            case EXTENSION: return "Optional Extension Element - found in all resources.";
521            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
522            case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
523            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.";
524            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.";
525            case MONEY: return "An amount of economic utility in some recognized currency.";
526            case MONEYQUANTITY: return "";
527            case NARRATIVE: return "A human-readable summary of the resource conveying the essential clinical and business information for the resource.";
528            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.";
529            case PERIOD: return "A time period defined by a start and end date and optionally time.";
530            case POPULATION: return "A populatioof people with some set of grouping criteria.";
531            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.";
532            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
533            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.";
534            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
535            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
536            case REFERENCE: return "A reference from one resource to another.";
537            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
538            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.";
539            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.";
540            case SIMPLEQUANTITY: return "";
541            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.";
542            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.";
543            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.";
544            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).";
545            case BASE64BINARY: return "A stream of bytes";
546            case BOOLEAN: return "Value of \"true\" or \"false\"";
547            case CANONICAL: return "A URI that is a reference to a canonical URL on a FHIR resource";
548            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";
549            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.";
550            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.";
551            case DECIMAL: return "A rational number with implicit precision";
552            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.";
553            case INSTANT: return "An instant in time - known at least to the second";
554            case INTEGER: return "A whole number";
555            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
556            case OID: return "An OID represented as a URI";
557            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
558            case STRING: return "A sequence of Unicode characters";
559            case TIME: return "A time during the day, with no date specified";
560            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
561            case URI: return "String of characters used to identify a name or a resource";
562            case URL: return "A URI that is a literal reference";
563            case UUID: return "A UUID, represented as a URI";
564            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
565            default: return "?";
566          }
567        }
568        public String getDisplay() {
569          switch (this) {
570            case ADDRESS: return "Address";
571            case AGE: return "Age";
572            case ANNOTATION: return "Annotation";
573            case ATTACHMENT: return "Attachment";
574            case BACKBONEELEMENT: return "BackboneElement";
575            case CODEABLECONCEPT: return "CodeableConcept";
576            case CODING: return "Coding";
577            case CONTACTDETAIL: return "ContactDetail";
578            case CONTACTPOINT: return "ContactPoint";
579            case CONTRIBUTOR: return "Contributor";
580            case COUNT: return "Count";
581            case DATAREQUIREMENT: return "DataRequirement";
582            case DISTANCE: return "Distance";
583            case DOSAGE: return "Dosage";
584            case DURATION: return "Duration";
585            case ELEMENT: return "Element";
586            case ELEMENTDEFINITION: return "ElementDefinition";
587            case EXPRESSION: return "Expression";
588            case EXTENSION: return "Extension";
589            case HUMANNAME: return "HumanName";
590            case IDENTIFIER: return "Identifier";
591            case MARKETINGSTATUS: return "MarketingStatus";
592            case META: return "Meta";
593            case MONEY: return "Money";
594            case MONEYQUANTITY: return "MoneyQuantity";
595            case NARRATIVE: return "Narrative";
596            case PARAMETERDEFINITION: return "ParameterDefinition";
597            case PERIOD: return "Period";
598            case POPULATION: return "Population";
599            case PRODCHARACTERISTIC: return "ProdCharacteristic";
600            case PRODUCTSHELFLIFE: return "ProductShelfLife";
601            case QUANTITY: return "Quantity";
602            case RANGE: return "Range";
603            case RATIO: return "Ratio";
604            case REFERENCE: return "Reference";
605            case RELATEDARTIFACT: return "RelatedArtifact";
606            case SAMPLEDDATA: return "SampledData";
607            case SIGNATURE: return "Signature";
608            case SIMPLEQUANTITY: return "SimpleQuantity";
609            case SUBSTANCEAMOUNT: return "SubstanceAmount";
610            case TIMING: return "Timing";
611            case TRIGGERDEFINITION: return "TriggerDefinition";
612            case USAGECONTEXT: return "UsageContext";
613            case BASE64BINARY: return "base64Binary";
614            case BOOLEAN: return "boolean";
615            case CANONICAL: return "canonical";
616            case CODE: return "code";
617            case DATE: return "date";
618            case DATETIME: return "dateTime";
619            case DECIMAL: return "decimal";
620            case ID: return "id";
621            case INSTANT: return "instant";
622            case INTEGER: return "integer";
623            case MARKDOWN: return "markdown";
624            case OID: return "oid";
625            case POSITIVEINT: return "positiveInt";
626            case STRING: return "string";
627            case TIME: return "time";
628            case UNSIGNEDINT: return "unsignedInt";
629            case URI: return "uri";
630            case URL: return "url";
631            case UUID: return "uuid";
632            case XHTML: return "XHTML";
633            default: return "?";
634          }
635    }
636
637
638}