@medplum/fhirtypes
Version:
Medplum FHIR Type Definitions
1,285 lines (1,145 loc) • 117 kB
TypeScript
/*
* This is a generated file
* Do not edit manually.
*/
import { Address } from './Address';
import { Age } from './Age';
import { Annotation } from './Annotation';
import { Attachment } from './Attachment';
import { CodeableConcept } from './CodeableConcept';
import { Coding } from './Coding';
import { ContactDetail } from './ContactDetail';
import { ContactPoint } from './ContactPoint';
import { Contributor } from './Contributor';
import { Count } from './Count';
import { DataRequirement } from './DataRequirement';
import { Distance } from './Distance';
import { Dosage } from './Dosage';
import { Duration } from './Duration';
import { Expression } from './Expression';
import { Extension } from './Extension';
import { HumanName } from './HumanName';
import { Identifier } from './Identifier';
import { Meta } from './Meta';
import { Money } from './Money';
import { ParameterDefinition } from './ParameterDefinition';
import { Period } from './Period';
import { Quantity } from './Quantity';
import { Range } from './Range';
import { Ratio } from './Ratio';
import { Reference } from './Reference';
import { RelatedArtifact } from './RelatedArtifact';
import { SampledData } from './SampledData';
import { Signature } from './Signature';
import { Timing } from './Timing';
import { TriggerDefinition } from './TriggerDefinition';
import { UsageContext } from './UsageContext';
/**
* Captures constraints on each element within the resource, profile, or
* extension.
*/
export interface ElementDefinition {
/**
* Unique id for the element within a resource (for internal references).
* This may be any string value that does not contain spaces.
*/
id?: string;
/**
* May be used to represent additional information that is not part of
* the basic definition of the element. To make the use of extensions
* safe and manageable, there is a strict set of governance applied to
* the definition and use of extensions. Though any implementer can
* define an extension, there is a set of requirements that SHALL be met
* as part of the definition of the extension.
*/
extension?: Extension[];
/**
* May be used to represent additional information that is not part of
* the basic definition of the element and that modifies the
* understanding of the element in which it is contained and/or the
* understanding of the containing element's descendants. Usually
* modifier elements provide negation or qualification. To make the use
* of extensions safe and manageable, there is a strict set of governance
* applied to the definition and use of extensions. Though any
* implementer can define an extension, there is a set of requirements
* that SHALL be met as part of the definition of the extension.
* Applications processing a resource are required to check for modifier
* extensions.
*
* Modifier extensions SHALL NOT change the meaning of any elements on
* Resource or DomainResource (including cannot change the meaning of
* modifierExtension itself).
*/
modifierExtension?: Extension[];
/**
* The path identifies the element and is expressed as a "."-separated
* list of ancestor elements, beginning with the name of the resource or
* extension.
*/
path: string;
/**
* Codes that define how this element is represented in instances, when
* the deviation varies from the normal case.
*/
representation?: ('xmlAttr' | 'xmlText' | 'typeAttr' | 'cdaText' | 'xhtml')[];
/**
* The name of this element definition slice, when slicing is working.
* The name must be a token with no dots or spaces. This is a unique name
* referring to a specific set of constraints applied to this element,
* used to provide a name to different slices of the same element.
*/
sliceName?: string;
/**
* If true, indicates that this slice definition is constraining a slice
* definition with the same name in an inherited profile. If false, the
* slice is not overriding any slice in an inherited profile. If missing,
* the slice might or might not be overriding a slice in an inherited
* profile, depending on the sliceName.
*/
sliceIsConstraining?: boolean;
/**
* A single preferred label which is the text to display beside the
* element indicating its meaning or to use to prompt for the element in
* a user display or form.
*/
label?: string;
/**
* A code that has the same meaning as the element in a particular
* terminology.
*/
code?: Coding[];
/**
* Indicates that the element is sliced into a set of alternative
* definitions (i.e. in a structure definition, there are multiple
* different constraints on a single element in the base resource).
* Slicing can be used in any resource that has cardinality ..* on the
* base resource, or any resource with a choice of types. The set of
* slices is any elements that come after this in the element sequence
* that have the same path, until a shorter path occurs (the shorter path
* terminates the set).
*/
slicing?: ElementDefinitionSlicing;
/**
* A concise description of what this element means (e.g. for use in
* autogenerated summaries).
*/
short?: string;
/**
* Provides a complete explanation of the meaning of the data element for
* human readability. For the case of elements derived from existing
* elements (e.g. constraints), the definition SHALL be consistent with
* the base definition, but convey the meaning of the element in the
* particular context of use of the resource. (Note: The text you are
* reading is specified in ElementDefinition.definition).
*/
definition?: string;
/**
* Explanatory notes and implementation guidance about the data element,
* including notes about how to use the data properly, exceptions to
* proper use, etc. (Note: The text you are reading is specified in
* ElementDefinition.comment).
*/
comment?: string;
/**
* This element is for traceability of why the element was created and
* why the constraints exist as they do. This may be used to point to
* source materials or specifications that drove the structure of this
* element.
*/
requirements?: string;
/**
* Identifies additional names by which this element might also be known.
*/
alias?: string[];
/**
* The minimum number of times this element SHALL appear in the instance.
*/
min?: number;
/**
* The maximum number of times this element is permitted to appear in the
* instance.
*/
max?: string;
/**
* Information about the base definition of the element, provided to make
* it unnecessary for tools to trace the deviation of the element through
* the derived and related profiles. When the element definition is not
* the original definition of an element - i.g. either in a constraint on
* another type, or for elements from a super type in a snap shot - then
* the information in provided in the element definition may be different
* to the base definition. On the original definition of the element, it
* will be same.
*/
base?: ElementDefinitionBase;
/**
* Identifies an element defined elsewhere in the definition whose
* content rules should be applied to the current element.
* ContentReferences bring across all the rules that are in the
* ElementDefinition for the element, including definitions, cardinality
* constraints, bindings, invariants etc.
*/
contentReference?: string;
/**
* The data type or resource that the value of this element is permitted
* to be.
*/
type?: ElementDefinitionType[];
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueBase64Binary?: string;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueBoolean?: boolean;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueCanonical?: string;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueCode?: string;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueDate?: string;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueDateTime?: string;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueDecimal?: number;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueId?: string;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueInstant?: string;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueInteger?: number;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueMarkdown?: string;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueOid?: string;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValuePositiveInt?: number;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueString?: string;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueTime?: string;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueUnsignedInt?: number;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueUri?: string;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueUrl?: string;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueUuid?: string;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueAddress?: Address;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueAge?: Age;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueAnnotation?: Annotation;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueAttachment?: Attachment;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueCodeableConcept?: CodeableConcept;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueCoding?: Coding;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueContactPoint?: ContactPoint;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueCount?: Count;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueDistance?: Distance;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueDuration?: Duration;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueHumanName?: HumanName;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueIdentifier?: Identifier;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueMoney?: Money;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValuePeriod?: Period;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueQuantity?: Quantity;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueRange?: Range;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueRatio?: Ratio;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueReference?: Reference;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueSampledData?: SampledData;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueSignature?: Signature;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueTiming?: Timing;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueContactDetail?: ContactDetail;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueContributor?: Contributor;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueDataRequirement?: DataRequirement;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueExpression?: Expression;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueParameterDefinition?: ParameterDefinition;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueRelatedArtifact?: RelatedArtifact;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueTriggerDefinition?: TriggerDefinition;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueUsageContext?: UsageContext;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueDosage?: Dosage;
/**
* The value that should be used if there is no value stated in the
* instance (e.g. 'if not otherwise specified, the abstract is false').
*/
defaultValueMeta?: Meta;
/**
* The Implicit meaning that is to be understood when this element is
* missing (e.g. 'when this element is missing, the period is ongoing').
*/
meaningWhenMissing?: string;
/**
* If present, indicates that the order of the repeating element has
* meaning and describes what that meaning is. If absent, it means that
* the order of the element has no meaning.
*/
orderMeaning?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedBase64Binary?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedBoolean?: boolean;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedCanonical?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedCode?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedDate?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedDateTime?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedDecimal?: number;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedId?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedInstant?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedInteger?: number;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedMarkdown?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedOid?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedPositiveInt?: number;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedString?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedTime?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedUnsignedInt?: number;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedUri?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedUrl?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedUuid?: string;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedAddress?: Address;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedAge?: Age;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedAnnotation?: Annotation;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedAttachment?: Attachment;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedCodeableConcept?: CodeableConcept;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedCoding?: Coding;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedContactPoint?: ContactPoint;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedCount?: Count;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedDistance?: Distance;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedDuration?: Duration;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedHumanName?: HumanName;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedIdentifier?: Identifier;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedMoney?: Money;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedPeriod?: Period;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedQuantity?: Quantity;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedRange?: Range;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedRatio?: Ratio;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedReference?: Reference;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedSampledData?: SampledData;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedSignature?: Signature;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedTiming?: Timing;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedContactDetail?: ContactDetail;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedContributor?: Contributor;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedDataRequirement?: DataRequirement;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedExpression?: Expression;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedParameterDefinition?: ParameterDefinition;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedRelatedArtifact?: RelatedArtifact;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedTriggerDefinition?: TriggerDefinition;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedUsageContext?: UsageContext;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedDosage?: Dosage;
/**
* Specifies a value that SHALL be exactly the value for this element in
* the instance. For purposes of comparison, non-significant whitespace
* is ignored, and all values must be an exact match (case and accent
* sensitive). Missing elements/attributes must also be missing.
*/
fixedMeta?: Meta;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternBase64Binary?: string;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternBoolean?: boolean;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternCanonical?: string;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternCode?: string;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternDate?: string;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternDateTime?: string;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternDecimal?: number;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternId?: string;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternInstant?: string;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternInteger?: number;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternMarkdown?: string;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternOid?: string;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternPositiveInt?: number;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternString?: string;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, any value in the pattern must be found in the instance. Other
* additional values may be found too. This is effectively constraint by
* example.
*
* When pattern[x] is used to constrain a primitive, it means that the
* value provided in the pattern[x] must match the instance value
* exactly.
*
* When pattern[x] is used to constrain an array, it means that each
* element provided in the pattern[x] array must (recursively) match at
* least one element from the instance array.
*
* When pattern[x] is used to constrain a complex object, it means that
* each property in the pattern must be present in the complex object,
* and its value must recursively match -- i.e.,
*
* 1. If primitive: it must match exactly the pattern value
* 2. If a complex object: it must match (recursively) the pattern value
* 3. If an array: it must match (recursively) the pattern value.
*/
patternTime?: string;
/**
* Specifies a value that the value in the instance SHALL follow - that
* is, a