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 Wed, Jan 30, 2019 16:19-0500 for FHIR v4.0.0
033
034import org.hl7.fhir.exceptions.FHIRException;
035
036public enum DataTypes {
037
038  /**
039   * An address expressed using postal conventions (as opposed to GPS or other
040   * location definition formats). This data type may be used to convey addresses
041   * for use in delivering mail as well as for visiting locations which might not
042   * be valid for mail delivery. There are a variety of postal address formats
043   * 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
052   * when.
053   */
054  ANNOTATION,
055  /**
056   * For referring to data content defined in other formats.
057   */
058  ATTACHMENT,
059  /**
060   * Base definition for all elements that are defined inside a resource - but not
061   * those in a data type.
062   */
063  BACKBONEELEMENT,
064  /**
065   * A concept that may be defined by a formal reference to a terminology or
066   * ontology or may be provided by text.
067   */
068  CODEABLECONCEPT,
069  /**
070   * A reference to a code defined by a terminology system.
071   */
072  CODING,
073  /**
074   * Specifies contact information for a person or organization.
075   */
076  CONTACTDETAIL,
077  /**
078   * Details for all kinds of technology mediated contact points for a person or
079   * organization, including telephone, email, etc.
080   */
081  CONTACTPOINT,
082  /**
083   * A contributor to the content of a knowledge asset, including authors,
084   * editors, reviewers, and endorsers.
085   */
086  CONTRIBUTOR,
087  /**
088   * A measured amount (or an amount that can potentially be measured). Note that
089   * measured amounts include amounts that are not precisely quantified, including
090   * amounts involving arbitrary units and floating currencies.
091   */
092  COUNT,
093  /**
094   * Describes a required data item for evaluation in terms of the type of data,
095   * and optional code or date-based filters of the data.
096   */
097  DATAREQUIREMENT,
098  /**
099   * A length - a value with a unit that is a physical distance.
100   */
101  DISTANCE,
102  /**
103   * Indicates how the medication is/was taken or should be taken by the patient.
104   */
105  DOSAGE,
106  /**
107   * A length of time.
108   */
109  DURATION,
110  /**
111   * Base definition for all elements in a resource.
112   */
113  ELEMENT,
114  /**
115   * Captures constraints on each element within the resource, profile, or
116   * extension.
117   */
118  ELEMENTDEFINITION,
119  /**
120   * A expression that is evaluated in a specified context and returns a value.
121   * The context of use of the expression must specify the context in which the
122   * expression is evaluated, and how the result of the expression is used.
123   */
124  EXPRESSION,
125  /**
126   * Optional Extension Element - found in all resources.
127   */
128  EXTENSION,
129  /**
130   * A human's name with the ability to identify parts and usage.
131   */
132  HUMANNAME,
133  /**
134   * An identifier - identifies some entity uniquely and unambiguously. Typically
135   * this is used for business identifiers.
136   */
137  IDENTIFIER,
138  /**
139   * The marketing status describes the date when a medicinal product is actually
140   * put on the market or the date as of which it is no longer available.
141   */
142  MARKETINGSTATUS,
143  /**
144   * The metadata about a resource. This is content in the resource that is
145   * maintained by the infrastructure. Changes to the content might not always be
146   * associated with version changes to the resource.
147   */
148  META,
149  /**
150   * An amount of economic utility in some recognized currency.
151   */
152  MONEY,
153  /**
154   * null
155   */
156  MONEYQUANTITY,
157  /**
158   * A human-readable summary of the resource conveying the essential clinical and
159   * business information for the resource.
160   */
161  NARRATIVE,
162  /**
163   * The parameters to the module. This collection specifies both the input and
164   * output parameters. Input parameters are provided by the caller as part of the
165   * $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
178   * put on the market or the date as of which it is no longer available.
179   */
180  PRODCHARACTERISTIC,
181  /**
182   * The shelf-life and storage information for a medicinal product item or
183   * container can be described using this class.
184   */
185  PRODUCTSHELFLIFE,
186  /**
187   * A measured amount (or an amount that can potentially be measured). Note that
188   * measured amounts include amounts that are not precisely quantified, including
189   * amounts involving arbitrary units and floating currencies.
190   */
191  QUANTITY,
192  /**
193   * A set of ordered Quantities defined by a low and high limit.
194   */
195  RANGE,
196  /**
197   * A relationship of two Quantity values - expressed as a numerator and a
198   * denominator.
199   */
200  RATIO,
201  /**
202   * A reference from one resource to another.
203   */
204  REFERENCE,
205  /**
206   * Related artifacts such as additional documentation, justification, or
207   * bibliographic references.
208   */
209  RELATEDARTIFACT,
210  /**
211   * A series of measurements taken by a device, with upper and lower limits.
212   * There may be more than one dimension in the data.
213   */
214  SAMPLEDDATA,
215  /**
216   * A signature along with supporting context. The signature may be a digital
217   * signature that is cryptographic in nature, or some other signature acceptable
218   * to the domain. This other signature may be as simple as a graphical image
219   * representing a hand-written signature, or a signature ceremony Different
220   * signature approaches have different utilities.
221   */
222  SIGNATURE,
223  /**
224   * null
225   */
226  SIMPLEQUANTITY,
227  /**
228   * Chemical substances are a single substance type whose primary defining
229   * element is the molecular structure. Chemical substances shall be defined on
230   * the basis of their complete covalent molecular structure; the presence of a
231   * salt (counter-ion) and/or solvates (water, alcohols) is also captured.
232   * Purity, grade, physical form or particle size are not taken into account in
233   * the definition of a chemical substance or in the assignment of a Substance
234   * ID.
235   */
236  SUBSTANCEAMOUNT,
237  /**
238   * Specifies an event that may occur multiple times. Timing schedules are used
239   * to record when things are planned, expected or requested to occur. The most
240   * common usage is in dosage instructions for medications. They are also used
241   * when planning care of various kinds, and may be used for reporting the
242   * schedule to which past regular activities were carried out.
243   */
244  TIMING,
245  /**
246   * A description of a triggering event. Triggering events can be named events,
247   * data events, or periodic, as determined by the type element.
248   */
249  TRIGGERDEFINITION,
250  /**
251   * Specifies clinical/business/etc. metadata that can be used to retrieve, index
252   * and/or categorize an artifact. This metadata can either be specific to the
253   * applicable population (e.g., age category, DRG) or the specific context of
254   * care (e.g., venue, care setting, provider of care).
255   */
256  USAGECONTEXT,
257  /**
258   * A stream of bytes
259   */
260  BASE64BINARY,
261  /**
262   * Value of "true" or "false"
263   */
264  BOOLEAN,
265  /**
266   * A URI that is a reference to a canonical URL on a FHIR resource
267   */
268  CANONICAL,
269  /**
270   * A string which has at least one character and no leading or trailing
271   * whitespace and where there is no whitespace other than single spaces in the
272   * contents
273   */
274  CODE,
275  /**
276   * A date or partial date (e.g. just year or year + month). There is no time
277   * zone. The format is a union of the schema types gYear, gYearMonth and date.
278   * Dates SHALL be valid dates.
279   */
280  DATE,
281  /**
282   * A date, date-time or partial date (e.g. just year or year + month). If hours
283   * and minutes are specified, a time zone SHALL be populated. The format is a
284   * union of the schema types gYear, gYearMonth, date and dateTime. Seconds must
285   * be provided due to schema type constraints but may be zero-filled and may be
286   * ignored. Dates SHALL be valid dates.
287   */
288  DATETIME,
289  /**
290   * A rational number with implicit precision
291   */
292  DECIMAL,
293  /**
294   * Any combination of letters, numerals, "-" and ".", with a length limit of 64
295   * characters. (This might be an integer, an unprefixed OID, UUID or any other
296   * identifier pattern that meets these constraints.) Ids are case-insensitive.
297   */
298  ID,
299  /**
300   * An instant in time - known at least to the second
301   */
302  INSTANT,
303  /**
304   * A whole number
305   */
306  INTEGER,
307  /**
308   * A string that may contain Github Flavored Markdown syntax for optional
309   * processing by a mark down presentation engine
310   */
311  MARKDOWN,
312  /**
313   * An OID represented as a URI
314   */
315  OID,
316  /**
317   * An integer with a value that is positive (e.g. >0)
318   */
319  POSITIVEINT,
320  /**
321   * A sequence of Unicode characters
322   */
323  STRING,
324  /**
325   * A time during the day, with no date specified
326   */
327  TIME,
328  /**
329   * An integer with a value that is not negative (e.g. >= 0)
330   */
331  UNSIGNEDINT,
332  /**
333   * String of characters used to identify a name or a resource
334   */
335  URI,
336  /**
337   * A URI that is a literal reference
338   */
339  URL,
340  /**
341   * A UUID, represented as a URI
342   */
343  UUID,
344  /**
345   * XHTML format, as defined by W3C, but restricted usage (mainly, no active
346   * content)
347   */
348  XHTML,
349  /**
350   * added to help the parsers
351   */
352  NULL;
353
354  public static DataTypes fromCode(String codeString) throws FHIRException {
355    if (codeString == null || "".equals(codeString))
356      return null;
357    if ("Address".equals(codeString))
358      return ADDRESS;
359    if ("Age".equals(codeString))
360      return AGE;
361    if ("Annotation".equals(codeString))
362      return ANNOTATION;
363    if ("Attachment".equals(codeString))
364      return ATTACHMENT;
365    if ("BackboneElement".equals(codeString))
366      return BACKBONEELEMENT;
367    if ("CodeableConcept".equals(codeString))
368      return CODEABLECONCEPT;
369    if ("Coding".equals(codeString))
370      return CODING;
371    if ("ContactDetail".equals(codeString))
372      return CONTACTDETAIL;
373    if ("ContactPoint".equals(codeString))
374      return CONTACTPOINT;
375    if ("Contributor".equals(codeString))
376      return CONTRIBUTOR;
377    if ("Count".equals(codeString))
378      return COUNT;
379    if ("DataRequirement".equals(codeString))
380      return DATAREQUIREMENT;
381    if ("Distance".equals(codeString))
382      return DISTANCE;
383    if ("Dosage".equals(codeString))
384      return DOSAGE;
385    if ("Duration".equals(codeString))
386      return DURATION;
387    if ("Element".equals(codeString))
388      return ELEMENT;
389    if ("ElementDefinition".equals(codeString))
390      return ELEMENTDEFINITION;
391    if ("Expression".equals(codeString))
392      return EXPRESSION;
393    if ("Extension".equals(codeString))
394      return EXTENSION;
395    if ("HumanName".equals(codeString))
396      return HUMANNAME;
397    if ("Identifier".equals(codeString))
398      return IDENTIFIER;
399    if ("MarketingStatus".equals(codeString))
400      return MARKETINGSTATUS;
401    if ("Meta".equals(codeString))
402      return META;
403    if ("Money".equals(codeString))
404      return MONEY;
405    if ("MoneyQuantity".equals(codeString))
406      return MONEYQUANTITY;
407    if ("Narrative".equals(codeString))
408      return NARRATIVE;
409    if ("ParameterDefinition".equals(codeString))
410      return PARAMETERDEFINITION;
411    if ("Period".equals(codeString))
412      return PERIOD;
413    if ("Population".equals(codeString))
414      return POPULATION;
415    if ("ProdCharacteristic".equals(codeString))
416      return PRODCHARACTERISTIC;
417    if ("ProductShelfLife".equals(codeString))
418      return PRODUCTSHELFLIFE;
419    if ("Quantity".equals(codeString))
420      return QUANTITY;
421    if ("Range".equals(codeString))
422      return RANGE;
423    if ("Ratio".equals(codeString))
424      return RATIO;
425    if ("Reference".equals(codeString))
426      return REFERENCE;
427    if ("RelatedArtifact".equals(codeString))
428      return RELATEDARTIFACT;
429    if ("SampledData".equals(codeString))
430      return SAMPLEDDATA;
431    if ("Signature".equals(codeString))
432      return SIGNATURE;
433    if ("SimpleQuantity".equals(codeString))
434      return SIMPLEQUANTITY;
435    if ("SubstanceAmount".equals(codeString))
436      return SUBSTANCEAMOUNT;
437    if ("Timing".equals(codeString))
438      return TIMING;
439    if ("TriggerDefinition".equals(codeString))
440      return TRIGGERDEFINITION;
441    if ("UsageContext".equals(codeString))
442      return USAGECONTEXT;
443    if ("base64Binary".equals(codeString))
444      return BASE64BINARY;
445    if ("boolean".equals(codeString))
446      return BOOLEAN;
447    if ("canonical".equals(codeString))
448      return CANONICAL;
449    if ("code".equals(codeString))
450      return CODE;
451    if ("date".equals(codeString))
452      return DATE;
453    if ("dateTime".equals(codeString))
454      return DATETIME;
455    if ("decimal".equals(codeString))
456      return DECIMAL;
457    if ("id".equals(codeString))
458      return ID;
459    if ("instant".equals(codeString))
460      return INSTANT;
461    if ("integer".equals(codeString))
462      return INTEGER;
463    if ("markdown".equals(codeString))
464      return MARKDOWN;
465    if ("oid".equals(codeString))
466      return OID;
467    if ("positiveInt".equals(codeString))
468      return POSITIVEINT;
469    if ("string".equals(codeString))
470      return STRING;
471    if ("time".equals(codeString))
472      return TIME;
473    if ("unsignedInt".equals(codeString))
474      return UNSIGNEDINT;
475    if ("uri".equals(codeString))
476      return URI;
477    if ("url".equals(codeString))
478      return URL;
479    if ("uuid".equals(codeString))
480      return UUID;
481    if ("xhtml".equals(codeString))
482      return XHTML;
483    throw new FHIRException("Unknown DataTypes code '" + codeString + "'");
484  }
485
486  public String toCode() {
487    switch (this) {
488    case ADDRESS:
489      return "Address";
490    case AGE:
491      return "Age";
492    case ANNOTATION:
493      return "Annotation";
494    case ATTACHMENT:
495      return "Attachment";
496    case BACKBONEELEMENT:
497      return "BackboneElement";
498    case CODEABLECONCEPT:
499      return "CodeableConcept";
500    case CODING:
501      return "Coding";
502    case CONTACTDETAIL:
503      return "ContactDetail";
504    case CONTACTPOINT:
505      return "ContactPoint";
506    case CONTRIBUTOR:
507      return "Contributor";
508    case COUNT:
509      return "Count";
510    case DATAREQUIREMENT:
511      return "DataRequirement";
512    case DISTANCE:
513      return "Distance";
514    case DOSAGE:
515      return "Dosage";
516    case DURATION:
517      return "Duration";
518    case ELEMENT:
519      return "Element";
520    case ELEMENTDEFINITION:
521      return "ElementDefinition";
522    case EXPRESSION:
523      return "Expression";
524    case EXTENSION:
525      return "Extension";
526    case HUMANNAME:
527      return "HumanName";
528    case IDENTIFIER:
529      return "Identifier";
530    case MARKETINGSTATUS:
531      return "MarketingStatus";
532    case META:
533      return "Meta";
534    case MONEY:
535      return "Money";
536    case MONEYQUANTITY:
537      return "MoneyQuantity";
538    case NARRATIVE:
539      return "Narrative";
540    case PARAMETERDEFINITION:
541      return "ParameterDefinition";
542    case PERIOD:
543      return "Period";
544    case POPULATION:
545      return "Population";
546    case PRODCHARACTERISTIC:
547      return "ProdCharacteristic";
548    case PRODUCTSHELFLIFE:
549      return "ProductShelfLife";
550    case QUANTITY:
551      return "Quantity";
552    case RANGE:
553      return "Range";
554    case RATIO:
555      return "Ratio";
556    case REFERENCE:
557      return "Reference";
558    case RELATEDARTIFACT:
559      return "RelatedArtifact";
560    case SAMPLEDDATA:
561      return "SampledData";
562    case SIGNATURE:
563      return "Signature";
564    case SIMPLEQUANTITY:
565      return "SimpleQuantity";
566    case SUBSTANCEAMOUNT:
567      return "SubstanceAmount";
568    case TIMING:
569      return "Timing";
570    case TRIGGERDEFINITION:
571      return "TriggerDefinition";
572    case USAGECONTEXT:
573      return "UsageContext";
574    case BASE64BINARY:
575      return "base64Binary";
576    case BOOLEAN:
577      return "boolean";
578    case CANONICAL:
579      return "canonical";
580    case CODE:
581      return "code";
582    case DATE:
583      return "date";
584    case DATETIME:
585      return "dateTime";
586    case DECIMAL:
587      return "decimal";
588    case ID:
589      return "id";
590    case INSTANT:
591      return "instant";
592    case INTEGER:
593      return "integer";
594    case MARKDOWN:
595      return "markdown";
596    case OID:
597      return "oid";
598    case POSITIVEINT:
599      return "positiveInt";
600    case STRING:
601      return "string";
602    case TIME:
603      return "time";
604    case UNSIGNEDINT:
605      return "unsignedInt";
606    case URI:
607      return "uri";
608    case URL:
609      return "url";
610    case UUID:
611      return "uuid";
612    case XHTML:
613      return "xhtml";
614    case NULL:
615      return null;
616    default:
617      return "?";
618    }
619  }
620
621  public String getSystem() {
622    return "http://hl7.org/fhir/data-types";
623  }
624
625  public String getDefinition() {
626    switch (this) {
627    case ADDRESS:
628      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.";
629    case AGE:
630      return "A duration of time during which an organism (or a process) has existed.";
631    case ANNOTATION:
632      return "A  text note which also  contains information about who made the statement and when.";
633    case ATTACHMENT:
634      return "For referring to data content defined in other formats.";
635    case BACKBONEELEMENT:
636      return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
637    case CODEABLECONCEPT:
638      return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
639    case CODING:
640      return "A reference to a code defined by a terminology system.";
641    case CONTACTDETAIL:
642      return "Specifies contact information for a person or organization.";
643    case CONTACTPOINT:
644      return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
645    case CONTRIBUTOR:
646      return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
647    case COUNT:
648      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.";
649    case DATAREQUIREMENT:
650      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.";
651    case DISTANCE:
652      return "A length - a value with a unit that is a physical distance.";
653    case DOSAGE:
654      return "Indicates how the medication is/was taken or should be taken by the patient.";
655    case DURATION:
656      return "A length of time.";
657    case ELEMENT:
658      return "Base definition for all elements in a resource.";
659    case ELEMENTDEFINITION:
660      return "Captures constraints on each element within the resource, profile, or extension.";
661    case EXPRESSION:
662      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.";
663    case EXTENSION:
664      return "Optional Extension Element - found in all resources.";
665    case HUMANNAME:
666      return "A human's name with the ability to identify parts and usage.";
667    case IDENTIFIER:
668      return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
669    case MARKETINGSTATUS:
670      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.";
671    case META:
672      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.";
673    case MONEY:
674      return "An amount of economic utility in some recognized currency.";
675    case MONEYQUANTITY:
676      return "";
677    case NARRATIVE:
678      return "A human-readable summary of the resource conveying the essential clinical and business information for the resource.";
679    case PARAMETERDEFINITION:
680      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.";
681    case PERIOD:
682      return "A time period defined by a start and end date and optionally time.";
683    case POPULATION:
684      return "A populatioof people with some set of grouping criteria.";
685    case PRODCHARACTERISTIC:
686      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.";
687    case PRODUCTSHELFLIFE:
688      return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
689    case QUANTITY:
690      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.";
691    case RANGE:
692      return "A set of ordered Quantities defined by a low and high limit.";
693    case RATIO:
694      return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
695    case REFERENCE:
696      return "A reference from one resource to another.";
697    case RELATEDARTIFACT:
698      return "Related artifacts such as additional documentation, justification, or bibliographic references.";
699    case SAMPLEDDATA:
700      return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.";
701    case SIGNATURE:
702      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.";
703    case SIMPLEQUANTITY:
704      return "";
705    case SUBSTANCEAMOUNT:
706      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.";
707    case TIMING:
708      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.";
709    case TRIGGERDEFINITION:
710      return "A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.";
711    case USAGECONTEXT:
712      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).";
713    case BASE64BINARY:
714      return "A stream of bytes";
715    case BOOLEAN:
716      return "Value of \"true\" or \"false\"";
717    case CANONICAL:
718      return "A URI that is a reference to a canonical URL on a FHIR resource";
719    case CODE:
720      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";
721    case DATE:
722      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.";
723    case DATETIME:
724      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.";
725    case DECIMAL:
726      return "A rational number with implicit precision";
727    case ID:
728      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.";
729    case INSTANT:
730      return "An instant in time - known at least to the second";
731    case INTEGER:
732      return "A whole number";
733    case MARKDOWN:
734      return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
735    case OID:
736      return "An OID represented as a URI";
737    case POSITIVEINT:
738      return "An integer with a value that is positive (e.g. >0)";
739    case STRING:
740      return "A sequence of Unicode characters";
741    case TIME:
742      return "A time during the day, with no date specified";
743    case UNSIGNEDINT:
744      return "An integer with a value that is not negative (e.g. >= 0)";
745    case URI:
746      return "String of characters used to identify a name or a resource";
747    case URL:
748      return "A URI that is a literal reference";
749    case UUID:
750      return "A UUID, represented as a URI";
751    case XHTML:
752      return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
753    case NULL:
754      return null;
755    default:
756      return "?";
757    }
758  }
759
760  public String getDisplay() {
761    switch (this) {
762    case ADDRESS:
763      return "Address";
764    case AGE:
765      return "Age";
766    case ANNOTATION:
767      return "Annotation";
768    case ATTACHMENT:
769      return "Attachment";
770    case BACKBONEELEMENT:
771      return "BackboneElement";
772    case CODEABLECONCEPT:
773      return "CodeableConcept";
774    case CODING:
775      return "Coding";
776    case CONTACTDETAIL:
777      return "ContactDetail";
778    case CONTACTPOINT:
779      return "ContactPoint";
780    case CONTRIBUTOR:
781      return "Contributor";
782    case COUNT:
783      return "Count";
784    case DATAREQUIREMENT:
785      return "DataRequirement";
786    case DISTANCE:
787      return "Distance";
788    case DOSAGE:
789      return "Dosage";
790    case DURATION:
791      return "Duration";
792    case ELEMENT:
793      return "Element";
794    case ELEMENTDEFINITION:
795      return "ElementDefinition";
796    case EXPRESSION:
797      return "Expression";
798    case EXTENSION:
799      return "Extension";
800    case HUMANNAME:
801      return "HumanName";
802    case IDENTIFIER:
803      return "Identifier";
804    case MARKETINGSTATUS:
805      return "MarketingStatus";
806    case META:
807      return "Meta";
808    case MONEY:
809      return "Money";
810    case MONEYQUANTITY:
811      return "MoneyQuantity";
812    case NARRATIVE:
813      return "Narrative";
814    case PARAMETERDEFINITION:
815      return "ParameterDefinition";
816    case PERIOD:
817      return "Period";
818    case POPULATION:
819      return "Population";
820    case PRODCHARACTERISTIC:
821      return "ProdCharacteristic";
822    case PRODUCTSHELFLIFE:
823      return "ProductShelfLife";
824    case QUANTITY:
825      return "Quantity";
826    case RANGE:
827      return "Range";
828    case RATIO:
829      return "Ratio";
830    case REFERENCE:
831      return "Reference";
832    case RELATEDARTIFACT:
833      return "RelatedArtifact";
834    case SAMPLEDDATA:
835      return "SampledData";
836    case SIGNATURE:
837      return "Signature";
838    case SIMPLEQUANTITY:
839      return "SimpleQuantity";
840    case SUBSTANCEAMOUNT:
841      return "SubstanceAmount";
842    case TIMING:
843      return "Timing";
844    case TRIGGERDEFINITION:
845      return "TriggerDefinition";
846    case USAGECONTEXT:
847      return "UsageContext";
848    case BASE64BINARY:
849      return "base64Binary";
850    case BOOLEAN:
851      return "boolean";
852    case CANONICAL:
853      return "canonical";
854    case CODE:
855      return "code";
856    case DATE:
857      return "date";
858    case DATETIME:
859      return "dateTime";
860    case DECIMAL:
861      return "decimal";
862    case ID:
863      return "id";
864    case INSTANT:
865      return "instant";
866    case INTEGER:
867      return "integer";
868    case MARKDOWN:
869      return "markdown";
870    case OID:
871      return "oid";
872    case POSITIVEINT:
873      return "positiveInt";
874    case STRING:
875      return "string";
876    case TIME:
877      return "time";
878    case UNSIGNEDINT:
879      return "unsignedInt";
880    case URI:
881      return "uri";
882    case URL:
883      return "url";
884    case UUID:
885      return "uuid";
886    case XHTML:
887      return "XHTML";
888    case NULL:
889      return null;
890    default:
891      return "?";
892    }
893  }
894
895}