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