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 Thu, Sep 13, 2018 09:04-0400 for FHIR v3.5.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         * 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.
109         */
110        EXPRESSION, 
111        /**
112         * Optional Extension Element - found in all resources.
113         */
114        EXTENSION, 
115        /**
116         * A human's name with the ability to identify parts and usage.
117         */
118        HUMANNAME, 
119        /**
120         * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
121         */
122        IDENTIFIER, 
123        /**
124         * 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.
125         */
126        MARKETINGSTATUS, 
127        /**
128         * 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.
129         */
130        META, 
131        /**
132         * An amount of economic utility in some recognized currency.
133         */
134        MONEY, 
135        /**
136         * null
137         */
138        MONEYQUANTITY, 
139        /**
140         * A human-readable formatted text, including images.
141         */
142        NARRATIVE, 
143        /**
144         * 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.
145         */
146        PARAMETERDEFINITION, 
147        /**
148         * A time period defined by a start and end date and optionally time.
149         */
150        PERIOD, 
151        /**
152         * 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.
153         */
154        PRODCHARACTERISTIC, 
155        /**
156         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
157         */
158        PRODUCTSHELFLIFE, 
159        /**
160         * 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.
161         */
162        QUANTITY, 
163        /**
164         * A set of ordered Quantities defined by a low and high limit.
165         */
166        RANGE, 
167        /**
168         * A relationship of two Quantity values - expressed as a numerator and a denominator.
169         */
170        RATIO, 
171        /**
172         * A reference from one resource to another.
173         */
174        REFERENCE, 
175        /**
176         * Related artifacts such as additional documentation, justification, or bibliographic references.
177         */
178        RELATEDARTIFACT, 
179        /**
180         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
181         */
182        SAMPLEDDATA, 
183        /**
184         * 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.
185         */
186        SIGNATURE, 
187        /**
188         * null
189         */
190        SIMPLEQUANTITY, 
191        /**
192         * 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.
193         */
194        SUBSTANCEAMOUNT, 
195        /**
196         * 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.
197         */
198        SUBSTANCEMOIETY, 
199        /**
200         * 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.
201         */
202        TIMING, 
203        /**
204         * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
205         */
206        TRIGGERDEFINITION, 
207        /**
208         * 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).
209         */
210        USAGECONTEXT, 
211        /**
212         * A stream of bytes
213         */
214        BASE64BINARY, 
215        /**
216         * Value of "true" or "false"
217         */
218        BOOLEAN, 
219        /**
220         * A URI that is a reference to a canonical URI on a FHIR resource
221         */
222        CANONICAL, 
223        /**
224         * 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
225         */
226        CODE, 
227        /**
228         * 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.
229         */
230        DATE, 
231        /**
232         * 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.
233         */
234        DATETIME, 
235        /**
236         * A rational number with implicit precision
237         */
238        DECIMAL, 
239        /**
240         * 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.
241         */
242        ID, 
243        /**
244         * An instant in time - known at least to the second
245         */
246        INSTANT, 
247        /**
248         * A whole number
249         */
250        INTEGER, 
251        /**
252         * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
253         */
254        MARKDOWN, 
255        /**
256         * An OID represented as a URI
257         */
258        OID, 
259        /**
260         * An integer with a value that is positive (e.g. >0)
261         */
262        POSITIVEINT, 
263        /**
264         * A sequence of Unicode characters
265         */
266        STRING, 
267        /**
268         * A time during the day, with no date specified
269         */
270        TIME, 
271        /**
272         * An integer with a value that is not negative (e.g. >= 0)
273         */
274        UNSIGNEDINT, 
275        /**
276         * String of characters used to identify a name or a resource
277         */
278        URI, 
279        /**
280         * A URI that is a literal reference
281         */
282        URL, 
283        /**
284         * A UUID, represented as a URI
285         */
286        UUID, 
287        /**
288         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
289         */
290        XHTML, 
291        /**
292         * added to help the parsers
293         */
294        NULL;
295        public static DataTypes fromCode(String codeString) throws FHIRException {
296            if (codeString == null || "".equals(codeString))
297                return null;
298        if ("Address".equals(codeString))
299          return ADDRESS;
300        if ("Age".equals(codeString))
301          return AGE;
302        if ("Annotation".equals(codeString))
303          return ANNOTATION;
304        if ("Attachment".equals(codeString))
305          return ATTACHMENT;
306        if ("BackboneElement".equals(codeString))
307          return BACKBONEELEMENT;
308        if ("CodeableConcept".equals(codeString))
309          return CODEABLECONCEPT;
310        if ("Coding".equals(codeString))
311          return CODING;
312        if ("ContactDetail".equals(codeString))
313          return CONTACTDETAIL;
314        if ("ContactPoint".equals(codeString))
315          return CONTACTPOINT;
316        if ("Contributor".equals(codeString))
317          return CONTRIBUTOR;
318        if ("Count".equals(codeString))
319          return COUNT;
320        if ("DataRequirement".equals(codeString))
321          return DATAREQUIREMENT;
322        if ("Distance".equals(codeString))
323          return DISTANCE;
324        if ("Dosage".equals(codeString))
325          return DOSAGE;
326        if ("Duration".equals(codeString))
327          return DURATION;
328        if ("Element".equals(codeString))
329          return ELEMENT;
330        if ("ElementDefinition".equals(codeString))
331          return ELEMENTDEFINITION;
332        if ("Expression".equals(codeString))
333          return EXPRESSION;
334        if ("Extension".equals(codeString))
335          return EXTENSION;
336        if ("HumanName".equals(codeString))
337          return HUMANNAME;
338        if ("Identifier".equals(codeString))
339          return IDENTIFIER;
340        if ("MarketingStatus".equals(codeString))
341          return MARKETINGSTATUS;
342        if ("Meta".equals(codeString))
343          return META;
344        if ("Money".equals(codeString))
345          return MONEY;
346        if ("MoneyQuantity".equals(codeString))
347          return MONEYQUANTITY;
348        if ("Narrative".equals(codeString))
349          return NARRATIVE;
350        if ("ParameterDefinition".equals(codeString))
351          return PARAMETERDEFINITION;
352        if ("Period".equals(codeString))
353          return PERIOD;
354        if ("ProdCharacteristic".equals(codeString))
355          return PRODCHARACTERISTIC;
356        if ("ProductShelfLife".equals(codeString))
357          return PRODUCTSHELFLIFE;
358        if ("Quantity".equals(codeString))
359          return QUANTITY;
360        if ("Range".equals(codeString))
361          return RANGE;
362        if ("Ratio".equals(codeString))
363          return RATIO;
364        if ("Reference".equals(codeString))
365          return REFERENCE;
366        if ("RelatedArtifact".equals(codeString))
367          return RELATEDARTIFACT;
368        if ("SampledData".equals(codeString))
369          return SAMPLEDDATA;
370        if ("Signature".equals(codeString))
371          return SIGNATURE;
372        if ("SimpleQuantity".equals(codeString))
373          return SIMPLEQUANTITY;
374        if ("SubstanceAmount".equals(codeString))
375          return SUBSTANCEAMOUNT;
376        if ("SubstanceMoiety".equals(codeString))
377          return SUBSTANCEMOIETY;
378        if ("Timing".equals(codeString))
379          return TIMING;
380        if ("TriggerDefinition".equals(codeString))
381          return TRIGGERDEFINITION;
382        if ("UsageContext".equals(codeString))
383          return USAGECONTEXT;
384        if ("base64Binary".equals(codeString))
385          return BASE64BINARY;
386        if ("boolean".equals(codeString))
387          return BOOLEAN;
388        if ("canonical".equals(codeString))
389          return CANONICAL;
390        if ("code".equals(codeString))
391          return CODE;
392        if ("date".equals(codeString))
393          return DATE;
394        if ("dateTime".equals(codeString))
395          return DATETIME;
396        if ("decimal".equals(codeString))
397          return DECIMAL;
398        if ("id".equals(codeString))
399          return ID;
400        if ("instant".equals(codeString))
401          return INSTANT;
402        if ("integer".equals(codeString))
403          return INTEGER;
404        if ("markdown".equals(codeString))
405          return MARKDOWN;
406        if ("oid".equals(codeString))
407          return OID;
408        if ("positiveInt".equals(codeString))
409          return POSITIVEINT;
410        if ("string".equals(codeString))
411          return STRING;
412        if ("time".equals(codeString))
413          return TIME;
414        if ("unsignedInt".equals(codeString))
415          return UNSIGNEDINT;
416        if ("uri".equals(codeString))
417          return URI;
418        if ("url".equals(codeString))
419          return URL;
420        if ("uuid".equals(codeString))
421          return UUID;
422        if ("xhtml".equals(codeString))
423          return XHTML;
424        throw new FHIRException("Unknown DataTypes code '"+codeString+"'");
425        }
426        public String toCode() {
427          switch (this) {
428            case ADDRESS: return "Address";
429            case AGE: return "Age";
430            case ANNOTATION: return "Annotation";
431            case ATTACHMENT: return "Attachment";
432            case BACKBONEELEMENT: return "BackboneElement";
433            case CODEABLECONCEPT: return "CodeableConcept";
434            case CODING: return "Coding";
435            case CONTACTDETAIL: return "ContactDetail";
436            case CONTACTPOINT: return "ContactPoint";
437            case CONTRIBUTOR: return "Contributor";
438            case COUNT: return "Count";
439            case DATAREQUIREMENT: return "DataRequirement";
440            case DISTANCE: return "Distance";
441            case DOSAGE: return "Dosage";
442            case DURATION: return "Duration";
443            case ELEMENT: return "Element";
444            case ELEMENTDEFINITION: return "ElementDefinition";
445            case EXPRESSION: return "Expression";
446            case EXTENSION: return "Extension";
447            case HUMANNAME: return "HumanName";
448            case IDENTIFIER: return "Identifier";
449            case MARKETINGSTATUS: return "MarketingStatus";
450            case META: return "Meta";
451            case MONEY: return "Money";
452            case MONEYQUANTITY: return "MoneyQuantity";
453            case NARRATIVE: return "Narrative";
454            case PARAMETERDEFINITION: return "ParameterDefinition";
455            case PERIOD: return "Period";
456            case PRODCHARACTERISTIC: return "ProdCharacteristic";
457            case PRODUCTSHELFLIFE: return "ProductShelfLife";
458            case QUANTITY: return "Quantity";
459            case RANGE: return "Range";
460            case RATIO: return "Ratio";
461            case REFERENCE: return "Reference";
462            case RELATEDARTIFACT: return "RelatedArtifact";
463            case SAMPLEDDATA: return "SampledData";
464            case SIGNATURE: return "Signature";
465            case SIMPLEQUANTITY: return "SimpleQuantity";
466            case SUBSTANCEAMOUNT: return "SubstanceAmount";
467            case SUBSTANCEMOIETY: return "SubstanceMoiety";
468            case TIMING: return "Timing";
469            case TRIGGERDEFINITION: return "TriggerDefinition";
470            case USAGECONTEXT: return "UsageContext";
471            case BASE64BINARY: return "base64Binary";
472            case BOOLEAN: return "boolean";
473            case CANONICAL: return "canonical";
474            case CODE: return "code";
475            case DATE: return "date";
476            case DATETIME: return "dateTime";
477            case DECIMAL: return "decimal";
478            case ID: return "id";
479            case INSTANT: return "instant";
480            case INTEGER: return "integer";
481            case MARKDOWN: return "markdown";
482            case OID: return "oid";
483            case POSITIVEINT: return "positiveInt";
484            case STRING: return "string";
485            case TIME: return "time";
486            case UNSIGNEDINT: return "unsignedInt";
487            case URI: return "uri";
488            case URL: return "url";
489            case UUID: return "uuid";
490            case XHTML: return "xhtml";
491            default: return "?";
492          }
493        }
494        public String getSystem() {
495          return "http://hl7.org/fhir/data-types";
496        }
497        public String getDefinition() {
498          switch (this) {
499            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.";
500            case AGE: return "A duration of time during which an organism (or a process) has existed.";
501            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
502            case ATTACHMENT: return "For referring to data content defined in other formats.";
503            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
504            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
505            case CODING: return "A reference to a code defined by a terminology system.";
506            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
507            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
508            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
509            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.";
510            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.";
511            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
512            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
513            case DURATION: return "A length of time.";
514            case ELEMENT: return "Base definition for all elements in a resource.";
515            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
516            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.";
517            case EXTENSION: return "Optional Extension Element - found in all resources.";
518            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
519            case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
520            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.";
521            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.";
522            case MONEY: return "An amount of economic utility in some recognized currency.";
523            case MONEYQUANTITY: return "";
524            case NARRATIVE: return "A human-readable formatted text, including images.";
525            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.";
526            case PERIOD: return "A time period defined by a start and end date and optionally time.";
527            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.";
528            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
529            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.";
530            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
531            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
532            case REFERENCE: return "A reference from one resource to another.";
533            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
534            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.";
535            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.";
536            case SIMPLEQUANTITY: return "";
537            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.";
538            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.";
539            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.";
540            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.";
541            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).";
542            case BASE64BINARY: return "A stream of bytes";
543            case BOOLEAN: return "Value of \"true\" or \"false\"";
544            case CANONICAL: return "A URI that is a reference to a canonical URI on a FHIR resource";
545            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";
546            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.";
547            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.";
548            case DECIMAL: return "A rational number with implicit precision";
549            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.";
550            case INSTANT: return "An instant in time - known at least to the second";
551            case INTEGER: return "A whole number";
552            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
553            case OID: return "An OID represented as a URI";
554            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
555            case STRING: return "A sequence of Unicode characters";
556            case TIME: return "A time during the day, with no date specified";
557            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
558            case URI: return "String of characters used to identify a name or a resource";
559            case URL: return "A URI that is a literal reference";
560            case UUID: return "A UUID, represented as a URI";
561            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
562            default: return "?";
563          }
564        }
565        public String getDisplay() {
566          switch (this) {
567            case ADDRESS: return "Address";
568            case AGE: return "Age";
569            case ANNOTATION: return "Annotation";
570            case ATTACHMENT: return "Attachment";
571            case BACKBONEELEMENT: return "BackboneElement";
572            case CODEABLECONCEPT: return "CodeableConcept";
573            case CODING: return "Coding";
574            case CONTACTDETAIL: return "ContactDetail";
575            case CONTACTPOINT: return "ContactPoint";
576            case CONTRIBUTOR: return "Contributor";
577            case COUNT: return "Count";
578            case DATAREQUIREMENT: return "DataRequirement";
579            case DISTANCE: return "Distance";
580            case DOSAGE: return "Dosage";
581            case DURATION: return "Duration";
582            case ELEMENT: return "Element";
583            case ELEMENTDEFINITION: return "ElementDefinition";
584            case EXPRESSION: return "Expression";
585            case EXTENSION: return "Extension";
586            case HUMANNAME: return "HumanName";
587            case IDENTIFIER: return "Identifier";
588            case MARKETINGSTATUS: return "MarketingStatus";
589            case META: return "Meta";
590            case MONEY: return "Money";
591            case MONEYQUANTITY: return "MoneyQuantity";
592            case NARRATIVE: return "Narrative";
593            case PARAMETERDEFINITION: return "ParameterDefinition";
594            case PERIOD: return "Period";
595            case PRODCHARACTERISTIC: return "ProdCharacteristic";
596            case PRODUCTSHELFLIFE: return "ProductShelfLife";
597            case QUANTITY: return "Quantity";
598            case RANGE: return "Range";
599            case RATIO: return "Ratio";
600            case REFERENCE: return "Reference";
601            case RELATEDARTIFACT: return "RelatedArtifact";
602            case SAMPLEDDATA: return "SampledData";
603            case SIGNATURE: return "Signature";
604            case SIMPLEQUANTITY: return "SimpleQuantity";
605            case SUBSTANCEAMOUNT: return "SubstanceAmount";
606            case SUBSTANCEMOIETY: return "SubstanceMoiety";
607            case TIMING: return "Timing";
608            case TRIGGERDEFINITION: return "TriggerDefinition";
609            case USAGECONTEXT: return "UsageContext";
610            case BASE64BINARY: return "base64Binary";
611            case BOOLEAN: return "boolean";
612            case CANONICAL: return "canonical";
613            case CODE: return "code";
614            case DATE: return "date";
615            case DATETIME: return "dateTime";
616            case DECIMAL: return "decimal";
617            case ID: return "id";
618            case INSTANT: return "instant";
619            case INTEGER: return "integer";
620            case MARKDOWN: return "markdown";
621            case OID: return "oid";
622            case POSITIVEINT: return "positiveInt";
623            case STRING: return "string";
624            case TIME: return "time";
625            case UNSIGNEDINT: return "unsignedInt";
626            case URI: return "uri";
627            case URL: return "url";
628            case UUID: return "uuid";
629            case XHTML: return "XHTML";
630            default: return "?";
631          }
632    }
633
634
635}
636